M365 Agent Evaluator
MicrosoftOfficialPublished by Microsoft
- Skill
- Tool integration
- Software development
- MIT
- Low risk
From the skill’s files
Taken from the skill’s own files (its description, section headings and stated usage). Not an AutoGineer summary, and not written by the author as one.
Use this skill when a user wants to create, run, or analyze evaluation suites for Microsoft 365 Copilot declarative agents with the public @microsoft/m365-copilot-eval CLI. Trigger on intents such as "evaluate my agent", "test my agent", "run my evals", "create eval prompts", "add multi-turn tests", "tune evaluator thresholds", "why is my agent failing", or "set up eval environment variables". Use this skill to help users evaluate Microsoft 365 Copilot declarative agents with @microsoft/m365-copilot-eval. The skill designs schema-compatible eval datasets, runs the public preview CLI, analyzes results, and recommends targeted fixes.
What it does
- Always use this CLI invocation
- Activation workflow
- Current dataset contract
- Public evaluator names
- Common commands
- Version and PATH safety
When to use it
- Use this skill when a user wants to create, run, or analyze evaluation suites for Microsoft 365 Copilot declarative agents with the public @microsoft/m365-copilot-eval CLI.
- Trigger on intents such as "evaluate my agent", "test my agent", "run my evals", "create eval prompts", "add multi-turn tests", "tune evaluator thresholds", "why is my agent failing", or "set up…
- Identify the user goal: setup, dataset authoring, running evals, analyzing results, or updating an existing eval suite.
- Load only the reference needed for the current goal:
- references/workflow.md for the end-to-end operator workflow and CLI commands.
- references/azure-setup.md for prerequisites, env files, and secret handling.
Advantages
The skill’s files do not state this.
Usage examples
The skill’s files do not state this.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/microsoft/m365-agent-evaluator/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip m365-agent-evaluator.zip -d .agents/skills
Documentation by Microsoft
M365 Agent Evaluator
Use this skill to help users evaluate Microsoft 365 Copilot declarative agents with @microsoft/m365-copilot-eval. The skill designs schema-compatible eval datasets, runs the public preview CLI, analyzes results, and recommends targeted fixes.
Default to Microsoft 365 Agents Toolkit (ATK) projects when detected, but do not hard-stop solely because the current directory is not ATK. The CLI can also evaluate deployed agents with an explicit M365_AGENT_ID or --m365-agent-id.
Always use this CLI invocation
npx -y --package @microsoft/m365-copilot-eval@latest runevalsDo not recommend the old private aka.ms installer, global installs, bare runevals, bare npx runevals, --input, or --html.
Activation workflow
Identify the user goal: setup, dataset authoring, running evals, analyzing results, or updating an existing eval suite.
Load only the reference needed for the current goal:
references/workflow.mdfor the end-to-end operator workflow and CLI commands.references/azure-setup.mdfor prerequisites, env files, and secret handling.references/eval-templates.mdwhen creating or editing eval datasets.references/pra-framework.mdwhen deciding what scenarios to generate.references/result-analysis.mdafter JSON/CSV/HTML results exist.references/guardrails.mdbefore writing files, handling secrets, clearing cache, signing out, or troubleshooting.
Detect project shape:
ATK:
.env.local,.env.local.user,env\.env.local.user,m365agents.yml, orappPackage\declarativeAgent.json.Non-ATK: an eval dataset plus
M365_AGENT_ID,--m365-agent-id, or a named environment file such asenv\.env.dev.
Verify prerequisites without exposing values:
Node.js 24.12.0 or newer.
Microsoft 365 Copilot license and a deployed M365 Copilot agent.
Tenant admin consent for the WorkIQ Client App.
TENANT_ID, Azure OpenAI in Foundry Models endpoint/key, and recommended/defaultgpt-4o-minideployment.
Choose the workflow:
No dataset: create
evals\evals.json.Existing dataset: run, analyze prior results, or propose changes.
Quick check: use inline prompts.
Exploration: use interactive mode.
Current dataset contract
Generate schema version 1.2.0 documents with a root items array. Do not generate the old PromptsObject or root prompts format.
Minimum shape:
{
"schemaVersion": "1.2.0",
"metadata": {
"name": "Agent evaluation suite",
"tags": ["starter"]
},
"default_evaluators": {
"Relevance": {},
"Coherence": {}
},
"items": [
{
"prompt": "What can this agent help me with?",
"expected_response": "The agent explains its supported scope without inventing unsupported capabilities."
}
]
}Use references\prompts-schema.json as the local schema source and references\eval-templates.md for copyable single-turn, multi-turn, evaluator, and threshold examples.
Public evaluator names
Evaluator names are case-sensitive. Use only the public configurable evaluator names unless a newer authoritative source proves otherwise.
| Evaluator | Semantics |
|---|---|
Relevance | LLM score from 1-5; default threshold 3. |
Coherence | LLM score from 1-5; default threshold 3. |
Groundedness | LLM score from 1-5 against context/expected evidence; default threshold 3. |
Similarity | LLM score from 1-5 against expected_response; default threshold 3. |
Citations | Count-based citation check; default threshold 1. |
ExactMatch | Boolean exact string match. |
PartialMatch | String similarity from 0.0-1.0; default threshold 0.5. |
Treat ToolCallAccuracy as legacy/private for authoring. Do not add it to generated datasets unless current public CLI/schema documentation explicitly reintroduces it.
Common commands
# Version/help checks
npx -y --package @microsoft/m365-copilot-eval@latest runevals --version
npx -y --package @microsoft/m365-copilot-eval@latest runevals --help
# First-time setup / EULA
npx -y --package @microsoft/m365-copilot-eval@latest runevals accept-eula
npx -y --package @microsoft/m365-copilot-eval@latest runevals --init-only
# Batch run with explicit JSON output
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.json
# Human-review HTML or spreadsheet-friendly CSV
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.html
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --output .evals\results.csv
# Quick checks
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts "What can you help me with?" --expected "The agent describes its supported scope."
# Non-ATK or named environment
npx -y --package @microsoft/m365-copilot-eval@latest runevals --prompts-file evals\evals.json --m365-agent-id <agent-id> --env devUse --concurrency only with values 1-5. Start with 1 for debugging and increase only after setup is stable.
Version and PATH safety
Before diagnosing agent behavior, confirm which executable is running:
Get-Command runevals -All
npm list -g @microsoft/m365-copilot-eval --depth=0
npm view @microsoft/m365-copilot-eval version
npx -y --package @microsoft/m365-copilot-eval@latest runevals --version
npx -y --package @microsoft/m365-copilot-eval@latest where runevalsIf bare runevals prints This version of the M365 Evals CLI has stopped working and must be updated, treat it as a stale PATH/global install. Re-run with the npx --package ...@latest command above, then ask before removing global shims with npm uninstall -g @microsoft/m365-copilot-eval.
File conventions
| Path | Purpose |
|---|---|
.env.local | Non-secret ATK config such as M365_TITLE_ID. |
.env.local.user or env\.env.local.user | Local secrets such as tenant ID and Azure OpenAI key. |
env\.env.<environment> | Named environment config for non-ATK or explicit --env workflows. |
evals\evals.json | Source-controlled eval dataset if the user wants it committed. |
.evals\ | Local run outputs; usually gitignored. |
Never print or commit secrets, prompts containing sensitive data, retrieved content, debug logs, or raw result files unless the user explicitly asks and confirms the data is safe to share.
Generation guidance
Use PRA as a scenario-design framework:
Perceive: retrieval, grounding, and source coverage.
Reason: instruction adherence, synthesis, ambiguity handling, and refusal behavior.
Act: declared capability/action behavior. Score with public evaluators such as
Relevance,Coherence,Similarity,ExactMatch, orPartialMatch; do not use legacyToolCallAccuracy.
Ask before overwriting an existing dataset. When writing generated evals, write to a temporary file first and rename on success.
Result analysis guidance
Analyze only evaluator keys that are present. Missing score keys usually mean the evaluator was not configured for that item, not that it failed.
Use current score keys when present: relevance, coherence, groundedness, similarity, citations, exactMatch, and partialMatch. Group failures into likely root causes: instruction issue, grounding issue, citation issue, expected-answer mismatch, capability gap, auth/environment issue, or eval-quality issue.
Do not run real tenant-dependent evals unless the user has provided or approved the necessary tenant, agent, and Azure OpenAI configuration.
Files
- ATTRIBUTION.mdAdded by AutoGineer908 B
- LICENSELicence file added by AutoGineer1.1 KiB
- SKILL.md7.9 KiB
- examples/analyze-failures.md1.5 KiB
- examples/basic-generation.md1.8 KiB
- examples/iterate-on-changes.md1.3 KiB
- examples/missing-instructions.md1.5 KiB
- examples/not-atk-project.md1.4 KiB
- examples/run-and-analyze.md1.6 KiB
- references/azure-setup.md5.8 KiB
- references/eval-templates.md5.1 KiB
- references/guardrails.md4.1 KiB
- references/output-schema.json4.0 KiB
- references/output-schema.md2.6 KiB
- references/pra-framework.md3.2 KiB
- references/prompts-schema.json15.4 KiB
- references/remediation-patterns.md3.6 KiB
- references/result-analysis.md4.4 KiB
- references/workflow.md6.5 KiB
references/pra-framework.md
PRA scenario framework
Use PRA to design a balanced evaluation suite. PRA is a test-design taxonomy, not a set of evaluator names.
Perceive
Perceive scenarios test whether the agent finds, uses, and cites the right information.
Good prompts:
Summarize the latest status for the Contoso renewal and cite the source.
What risks were identified in the most recent planning discussion?
List the open action items with owners, using only available source data.Useful evaluators:
| Evaluator | Why |
|---|---|
Groundedness | Checks support from source/context. |
Citations | Checks that required citations are present. |
Relevance | Checks that the answer addresses the request. |
Common fixes: improve grounding instructions, clarify source priority, require citations, or update the agent's knowledge/action configuration.
Reason
Reason scenarios test synthesis, instruction following, ambiguity handling, and refusal behavior.
Good prompts:
Compare the two proposed launch plans and recommend the lower-risk option.
The request is ambiguous: ask one clarifying question before answering.
Create a concise executive summary from the available project context.Useful evaluators:
| Evaluator | Why |
|---|---|
Relevance | Checks that reasoning addresses the ask. |
Coherence | Checks clarity and structure. |
Similarity | Checks alignment with an expected conclusion. |
PartialMatch | Checks that key terms or decisions are present without requiring exact text. |
Common fixes: add response-format guidance, examples, ambiguity rules, refusal guidance, or priority rules for conflicting evidence.
Act
Act scenarios test declared capability behavior, such as whether the agent can produce the expected final artifact, answer, or action-oriented output.
Good prompts:
Draft a follow-up message with the three agreed actions.
Return only the escalation ticket ID.
Create a prioritized list of next steps for the renewal owner.Useful evaluators:
| Evaluator | Why |
|---|---|
ExactMatch | Best for deterministic IDs or labels. |
PartialMatch | Best for key-term coverage. |
Similarity | Best for flexible expected outputs. |
Relevance | Checks that the action output matches the prompt. |
Coherence | Checks structure and readability. |
Do not use legacy/private action-specific evaluator names in authored datasets unless the current public schema explicitly supports them.
Suite balance
A strong suite usually includes:
Happy-path prompts for the most important user jobs.
Edge cases where data is missing, ambiguous, stale, or conflicting.
Citation/grounding prompts for answers based on workplace data.
Deterministic output prompts for IDs, dates, statuses, or labels.
Multi-turn prompts that require follow-up context.
Regression prompts for bugs found in production feedback.
Use metadata.tags or item extensions to label PRA coverage.
Example item metadata:
{
"prompt": "Who owns the next step for the Contoso renewal?",
"expected_response": "The agent identifies the owner only if source data supports it.",
"evaluators": {
"Groundedness": {},
"Citations": {}
},
"extensions": {
"pra": "perceive",
"risk": "unsupported-owner"
}
}Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Microsoft
- Publisher
- Microsoft (Official)
- Source
- microsoft/skills · .github/plugins/microsoft-365-agents-toolkit/skills/m365-agent-evaluator · commit 0696600
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download m365-agent-evaluator.zip