Execute test sets on draft Copilot Studio agents to validate performance without publishing.

Install

mkdir -p .claude/skills/run-eval && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17098" && unzip -o skill.zip -d .claude/skills/run-eval && rm skill.zip

Installs to .claude/skills/run-eval

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Run evaluations against a Copilot Studio agent via the Power Platform Evaluation API. Works on DRAFT agents — no publish step required. Lists test sets, starts a run, polls until complete, fetches results, and proposes YAML fixes for failures. Use when the user wants to test agent changes without publishing.
309 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Run evaluations against Copilot Studio draft agents
  • List available test sets
  • Start an evaluation run
  • Poll for run completion status
  • Fetch and analyze evaluation results
  • Propose YAML fixes for failures

How it works

The skill uses the Power Platform Evaluation API to run tests against a draft agent, polls for results, and analyzes failures to suggest YAML code corrections.

Inputs & outputs

You give it
Workspace path, client ID, test set ID, and optional connection ID
You get back
Evaluation run summary, detailed failure analysis, and proposed YAML fixes

When to use run-eval

  • Run agent evaluations
  • Test draft agent changes
  • Analyze test run results

About this skill

Run Evaluation (PPAPI)

Run evaluations against a Copilot Studio agent's draft — no publish needed.

The caller (test agent) must provide --client-id and --workspace. If you don't have the client ID, return immediately and tell the caller to run test-auth first.

All eval-api commands run in the foreground. NEVER use run_in_background.

Step 1: List test sets and let the user choose

node ${CLAUDE_SKILL_DIR}/../../scripts/eval-api.bundle.js list-testsets --workspace <path> --client-id <id>
  • No test sets found: Tell the user to create one in Copilot Studio (Evaluate tab > New evaluation). Stop.
  • One test set: Tell the user which one you're using and proceed.
  • Multiple test sets: Show them all and ask the user to pick. Do not proceed until they answer.

Step 2: Ask about authenticated execution — MANDATORY, do not skip

You MUST ask this question and wait for the user's answer before starting the run.

Ask the user:

Does your agent use authenticated knowledge sources or connector actions (tools) that require user identity? If so, you'll need to provide a connection ID — without it, the eval runs anonymously and tools and knowledge sources will not be used.

How to obtain the connection ID:

  1. Go to https://make.powerautomate.com
  2. Open Connections from the side menu
  3. Select the relevant Microsoft Copilot Studio connection
  4. Copy the connection ID from the URL (the GUID segment after /connections/)

If your agent doesn't use authenticated knowledge or tools, you can skip this.

Do not proceed to Step 3 until the user responds.

Step 3: Start the run

node ${CLAUDE_SKILL_DIR}/../../scripts/eval-api.bundle.js start-run --workspace <path> --client-id <id> --testset-id <id> --run-name "Draft eval <date>"

Add --connection-id <id> if the user provided a connection ID in Step 2.

Add --published only if the user explicitly asked for published-bot testing.

Step 4: Poll until complete

node ${CLAUDE_SKILL_DIR}/../../scripts/eval-api.bundle.js get-run --workspace <path> --client-id <id> --run-id <runId>

Poll every 15-30 seconds. Report progress: "Processing: 3/10 test cases..."

Stop when state is Completed, Failed, Abandoned, or Cancelled.

Step 5: Fetch and analyze results

node ${CLAUDE_SKILL_DIR}/../../scripts/eval-api.bundle.js get-results --workspace <path> --client-id <id> --run-id <runId>

Present a summary table (total, passed, failed, errors). For failures:

MetricWhat to check
GeneralQuality FailWhich of relevance/completeness/groundedness/abstention failed
ExactMatch FailScore 0.0–1.0
CapabilityUse FailmissingInvocationSteps
Error statuserrorReason — often a test set config issue, not a YAML issue

Step 6: Propose fixes (if failures found)

For YAML authoring failures: find the relevant topic, read it, propose specific edits. Wait for user approval before applying.

After applying: offer to push and re-run (go back to Step 3).

When not to use it

  • When evaluating published Copilot Studio agents (unless explicitly requested)
  • When the user does not have a client ID for the workspace

Limitations

  • The skill works on DRAFT agents by default.
  • The skill requires a client ID and workspace path.
  • The skill requires user input for authenticated execution.

How it compares

This skill automates the entire evaluation workflow for Copilot Studio agents, providing structured feedback and proposed fixes, unlike manual testing and debugging.

Compared to similar skills

run-eval side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
run-eval (this skill)04moReviewIntermediate
webapp-testing3533moReviewIntermediate
dev-browser535moReviewIntermediate
playwright-browser-automation298moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by microsoft

View all by microsoft

You might also like

webapp-testing

anthropics

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

353585

dev-browser

SawyerHood

Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website", "log into", or any browser interaction request.

53176

playwright-browser-automation

lackeyjb

Complete browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing.

29146

windows-ui-automation

martinholovsky

Expert in Windows UI Automation (UIA) and Win32 APIs for desktop automation. Specializes in accessible, secure automation of Windows applications including element discovery, input simulation, and process interaction. HIGH-RISK skill requiring strict security controls for system access.

17126

unity-mcp-orchestrator

CoplayDev

Orchestrate Unity Editor via MCP (Model Context Protocol) tools and resources. Use when working with Unity projects through MCP for Unity - creating/modifying GameObjects, editing scripts, managing scenes, running tests, or any Unity Editor automation. Provides best practices, tool schemas, and workflow patterns for effective Unity-MCP integration.

1795

agent-browser

vercel-labs

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.

3075

Search skills

Search the agent skills registry