mcpbeat

Validate

microsoft/validate

Validate Copilot Studio agent YAML files using the LSP binary's full diagnostics (YAML structure, Power Fx, schema, cross-file references). Use when the user asks to check, validate, or verify YAML files.

566 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
386
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/skills-for-copilot-studio --skill validate

What it tells the agent to use

found in the instruction text
Bash runs shell commands — read the instruction before connecting

The instruction itself

2 sections, as written by the author

Validate Agent YAML

Validate Copilot Studio agent YAML files using the LanguageServerHost binary's full diagnostics — the same validation engine used by the VS Code Copilot Studio extension.

Instructions

  • Locate the agent workspace. Find the directory containing .mcs/conn.json. If a specific file was requested, use the workspace that contains it.
  • Run LSP-based validation:
   node ${CLAUDE_SKILL_DIR}/../../scripts/manage-agent.bundle.js validate \
     --workspace "<path-to-agent-folder>" \
     --tenant-id "<tenantId>" \
     --environment-id "<envId>" \
     --environment-url "<envUrl>" \
     --agent-mgmt-url "<mgmtUrl>"

This validates all .mcs.yml files in the workspace using the LSP binary's full diagnostics: YAML structure, Power Fx expressions, schema validation, cross-file references, and environment-specific checks.

Connection details come from .mcs/conn.json — read it to get tenant-id, environment-id, environment-url, and agent-mgmt-url.

  • Parse the JSON output:
  • valid: true → all files pass (may still have warnings)
  • valid: false + summary.errors > 0 → report errors as FAIL items
  • summary.warnings > 0 → report as WARN items
  • Each file with diagnostics is listed with severity, message, code, and line range
  • If the user asked about a specific file, filter the output to show only that file's diagnostics.
  • For additional context on specific errors, use schema lookup:
   node ${CLAUDE_SKILL_DIR}/../../scripts/schema-lookup.bundle.js resolve <kind>
  • Report findings:
   Validation Results for: <agent-name>

   [PASS] <filename> — no issues
   [FAIL] <filename> — <error message> (line X)
   [WARN] <filename> — <warning message> (line X)

   Summary: X files checked, Y errors, Z warnings

How to use it

Copy the folder

Take microsoft/validate from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.