[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-m365-agent-evaluator":3,"mdc--17pqt7-key":39,"related-org-microsoft-m365-agent-evaluator":1623,"related-repo-microsoft-m365-agent-evaluator":1818},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":28,"repoUrl":29,"updatedAt":30,"license":31,"forks":32,"topics":33,"repo":34,"sourceUrl":37,"mdContent":38},"m365-agent-evaluator","evaluate Microsoft 365 Copilot agents","Use this skill when a user wants to create, run, or analyze evaluation suites for Microsoft 365 Copilot declarative agents with the public @microsoft\u002Fm365-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\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Copilot","copilot","tag",{"name":17,"slug":18,"type":15},"Evals","evals",{"name":20,"slug":21,"type":15},"CLI","cli",{"name":23,"slug":24,"type":15},"Microsoft 365","microsoft-365",{"name":26,"slug":27,"type":15},"Agents","agents",947,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fwork-iq","2026-07-03T16:32:03.855752",null,109,[],{"repoUrl":29,"stars":28,"forks":32,"topics":35,"description":36},[],"MCP Server and CLI for accessing Work IQ","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fwork-iq\u002Ftree\u002FHEAD\u002Fplugins\u002Fmicrosoft-365-agents-toolkit\u002Fskills\u002Fm365-agent-evaluator","---\nname: m365-agent-evaluator\ndescription: >\n  Use this skill when a user wants to create, run, or analyze evaluation suites for Microsoft 365 Copilot declarative agents with the public @microsoft\u002Fm365-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\".\n---\n\n# M365 Agent Evaluator\n\nUse this skill to help users evaluate Microsoft 365 Copilot declarative agents with `@microsoft\u002Fm365-copilot-eval`. The skill designs schema-compatible eval datasets, runs the public preview CLI, analyzes results, and recommends targeted fixes.\n\nDefault 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`.\n\n## Always use this CLI invocation\n\n```powershell\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals\n```\n\nDo not recommend the old private `aka.ms` installer, global installs, bare `runevals`, bare `npx runevals`, `--input`, or `--html`.\n\n## Activation workflow\n\n1. Identify the user goal: setup, dataset authoring, running evals, analyzing results, or updating an existing eval suite.\n2. Load only the reference needed for the current goal:\n   - `references\u002Fworkflow.md` for the end-to-end operator workflow and CLI commands.\n   - `references\u002Fazure-setup.md` for prerequisites, env files, and secret handling.\n   - `references\u002Feval-templates.md` when creating or editing eval datasets.\n   - `references\u002Fpra-framework.md` when deciding what scenarios to generate.\n   - `references\u002Fresult-analysis.md` after JSON\u002FCSV\u002FHTML results exist.\n   - `references\u002Fguardrails.md` before writing files, handling secrets, clearing cache, signing out, or troubleshooting.\n3. Detect project shape:\n   - ATK: `.env.local`, `.env.local.user`, `env\\.env.local.user`, `m365agents.yml`, or `appPackage\\declarativeAgent.json`.\n   - Non-ATK: an eval dataset plus `M365_AGENT_ID`, `--m365-agent-id`, or a named environment file such as `env\\.env.dev`.\n4. Verify prerequisites without exposing values:\n   - Node.js 24.12.0 or newer.\n   - Microsoft 365 Copilot license and a deployed M365 Copilot agent.\n   - Tenant admin consent for the WorkIQ Client App.\n   - `TENANT_ID`, Azure OpenAI in Foundry Models endpoint\u002Fkey, and recommended\u002Fdefault `gpt-4o-mini` deployment.\n5. Choose the workflow:\n   - No dataset: create `evals\\evals.json`.\n   - Existing dataset: run, analyze prior results, or propose changes.\n   - Quick check: use inline prompts.\n   - Exploration: use interactive mode.\n\n## Current dataset contract\n\nGenerate schema version `1.2.0` documents with a root `items` array. Do not generate the old `PromptsObject` or root `prompts` format.\n\nMinimum shape:\n\n```json\n{\n  \"schemaVersion\": \"1.2.0\",\n  \"metadata\": {\n    \"name\": \"Agent evaluation suite\",\n    \"tags\": [\"starter\"]\n  },\n  \"default_evaluators\": {\n    \"Relevance\": {},\n    \"Coherence\": {}\n  },\n  \"items\": [\n    {\n      \"prompt\": \"What can this agent help me with?\",\n      \"expected_response\": \"The agent explains its supported scope without inventing unsupported capabilities.\"\n    }\n  ]\n}\n```\n\nUse `references\\prompts-schema.json` as the local schema source and `references\\eval-templates.md` for copyable single-turn, multi-turn, evaluator, and threshold examples.\n\n## Public evaluator names\n\nEvaluator names are case-sensitive. Use only the public configurable evaluator names unless a newer authoritative source proves otherwise.\n\n| Evaluator | Semantics |\n|---|---|\n| `Relevance` | LLM score from 1-5; default threshold 3. |\n| `Coherence` | LLM score from 1-5; default threshold 3. |\n| `Groundedness` | LLM score from 1-5 against `context`\u002Fexpected evidence; default threshold 3. |\n| `Similarity` | LLM score from 1-5 against `expected_response`; default threshold 3. |\n| `Citations` | Count-based citation check; default threshold 1. |\n| `ExactMatch` | Boolean exact string match. |\n| `PartialMatch` | String similarity from 0.0-1.0; default threshold 0.5. |\n\nTreat `ToolCallAccuracy` as legacy\u002Fprivate for authoring. Do not add it to generated datasets unless current public CLI\u002Fschema documentation explicitly reintroduces it.\n\n## Common commands\n\n```powershell\n# Version\u002Fhelp checks\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --version\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --help\n\n# First-time setup \u002F EULA\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals accept-eula\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --init-only\n\n# Batch run with explicit JSON output\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --output .evals\\results.json\n\n# Human-review HTML or spreadsheet-friendly CSV\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --output .evals\\results.html\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --output .evals\\results.csv\n\n# Quick checks\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts \"What can you help me with?\" --expected \"The agent describes its supported scope.\"\n\n# Non-ATK or named environment\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --m365-agent-id \u003Cagent-id> --env dev\n```\n\nUse `--concurrency` only with values 1-5. Start with `1` for debugging and increase only after setup is stable.\n\n## Version and PATH safety\n\nBefore diagnosing agent behavior, confirm which executable is running:\n\n```powershell\nGet-Command runevals -All\nnpm list -g @microsoft\u002Fm365-copilot-eval --depth=0\nnpm view @microsoft\u002Fm365-copilot-eval version\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --version\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest where runevals\n```\n\nIf bare `runevals` prints `This version of the M365 Evals CLI has stopped working and must be updated`, treat it as a stale PATH\u002Fglobal install. Re-run with the `npx --package ...@latest` command above, then ask before removing global shims with `npm uninstall -g @microsoft\u002Fm365-copilot-eval`.\n\n## File conventions\n\n| Path | Purpose |\n|---|---|\n| `.env.local` | Non-secret ATK config such as `M365_TITLE_ID`. |\n| `.env.local.user` or `env\\.env.local.user` | Local secrets such as tenant ID and Azure OpenAI key. |\n| `env\\.env.\u003Cenvironment>` | Named environment config for non-ATK or explicit `--env` workflows. |\n| `evals\\evals.json` | Source-controlled eval dataset if the user wants it committed. |\n| `.evals\\` | Local run outputs; usually gitignored. |\n\nNever 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.\n\n## Generation guidance\n\nUse PRA as a scenario-design framework:\n\n- Perceive: retrieval, grounding, and source coverage.\n- Reason: instruction adherence, synthesis, ambiguity handling, and refusal behavior.\n- Act: declared capability\u002Faction behavior. Score with public evaluators such as `Relevance`, `Coherence`, `Similarity`, `ExactMatch`, or `PartialMatch`; do not use legacy `ToolCallAccuracy`.\n\nAsk before overwriting an existing dataset. When writing generated evals, write to a temporary file first and rename on success.\n\n## Result analysis guidance\n\nAnalyze only evaluator keys that are present. Missing score keys usually mean the evaluator was not configured for that item, not that it failed.\n\nUse 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\u002Fenvironment issue, or eval-quality issue.\n\nDo not run real tenant-dependent evals unless the user has provided or approved the necessary tenant, agent, and Azure OpenAI configuration.\n",{"data":40,"body":41},{"name":4,"description":6},{"type":42,"children":43},"root",[44,52,67,88,95,116,160,166,401,407,444,449,850,871,877,882,1040,1053,1059,1226,1246,1252,1257,1303,1338,1344,1469,1474,1480,1485,1540,1545,1551,1556,1612,1617],{"type":45,"tag":46,"props":47,"children":48},"element","h1",{"id":4},[49],{"type":50,"value":51},"text","M365 Agent Evaluator",{"type":45,"tag":53,"props":54,"children":55},"p",{},[56,58,65],{"type":50,"value":57},"Use this skill to help users evaluate Microsoft 365 Copilot declarative agents with ",{"type":45,"tag":59,"props":60,"children":62},"code",{"className":61},[],[63],{"type":50,"value":64},"@microsoft\u002Fm365-copilot-eval",{"type":50,"value":66},". The skill designs schema-compatible eval datasets, runs the public preview CLI, analyzes results, and recommends targeted fixes.",{"type":45,"tag":53,"props":68,"children":69},{},[70,72,78,80,86],{"type":50,"value":71},"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 ",{"type":45,"tag":59,"props":73,"children":75},{"className":74},[],[76],{"type":50,"value":77},"M365_AGENT_ID",{"type":50,"value":79}," or ",{"type":45,"tag":59,"props":81,"children":83},{"className":82},[],[84],{"type":50,"value":85},"--m365-agent-id",{"type":50,"value":87},".",{"type":45,"tag":89,"props":90,"children":92},"h2",{"id":91},"always-use-this-cli-invocation",[93],{"type":50,"value":94},"Always use this CLI invocation",{"type":45,"tag":96,"props":97,"children":102},"pre",{"className":98,"code":99,"language":100,"meta":101,"style":101},"language-powershell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals\n","powershell","",[103],{"type":45,"tag":59,"props":104,"children":105},{"__ignoreMap":101},[106],{"type":45,"tag":107,"props":108,"children":111},"span",{"class":109,"line":110},"line",1,[112],{"type":45,"tag":107,"props":113,"children":114},{},[115],{"type":50,"value":99},{"type":45,"tag":53,"props":117,"children":118},{},[119,121,127,129,135,137,143,145,151,153,159],{"type":50,"value":120},"Do not recommend the old private ",{"type":45,"tag":59,"props":122,"children":124},{"className":123},[],[125],{"type":50,"value":126},"aka.ms",{"type":50,"value":128}," installer, global installs, bare ",{"type":45,"tag":59,"props":130,"children":132},{"className":131},[],[133],{"type":50,"value":134},"runevals",{"type":50,"value":136},", bare ",{"type":45,"tag":59,"props":138,"children":140},{"className":139},[],[141],{"type":50,"value":142},"npx runevals",{"type":50,"value":144},", ",{"type":45,"tag":59,"props":146,"children":148},{"className":147},[],[149],{"type":50,"value":150},"--input",{"type":50,"value":152},", or ",{"type":45,"tag":59,"props":154,"children":156},{"className":155},[],[157],{"type":50,"value":158},"--html",{"type":50,"value":87},{"type":45,"tag":89,"props":161,"children":163},{"id":162},"activation-workflow",[164],{"type":50,"value":165},"Activation workflow",{"type":45,"tag":167,"props":168,"children":169},"ol",{},[170,176,251,324,366],{"type":45,"tag":171,"props":172,"children":173},"li",{},[174],{"type":50,"value":175},"Identify the user goal: setup, dataset authoring, running evals, analyzing results, or updating an existing eval suite.",{"type":45,"tag":171,"props":177,"children":178},{},[179,181],{"type":50,"value":180},"Load only the reference needed for the current goal:\n",{"type":45,"tag":182,"props":183,"children":184},"ul",{},[185,196,207,218,229,240],{"type":45,"tag":171,"props":186,"children":187},{},[188,194],{"type":45,"tag":59,"props":189,"children":191},{"className":190},[],[192],{"type":50,"value":193},"references\u002Fworkflow.md",{"type":50,"value":195}," for the end-to-end operator workflow and CLI commands.",{"type":45,"tag":171,"props":197,"children":198},{},[199,205],{"type":45,"tag":59,"props":200,"children":202},{"className":201},[],[203],{"type":50,"value":204},"references\u002Fazure-setup.md",{"type":50,"value":206}," for prerequisites, env files, and secret handling.",{"type":45,"tag":171,"props":208,"children":209},{},[210,216],{"type":45,"tag":59,"props":211,"children":213},{"className":212},[],[214],{"type":50,"value":215},"references\u002Feval-templates.md",{"type":50,"value":217}," when creating or editing eval datasets.",{"type":45,"tag":171,"props":219,"children":220},{},[221,227],{"type":45,"tag":59,"props":222,"children":224},{"className":223},[],[225],{"type":50,"value":226},"references\u002Fpra-framework.md",{"type":50,"value":228}," when deciding what scenarios to generate.",{"type":45,"tag":171,"props":230,"children":231},{},[232,238],{"type":45,"tag":59,"props":233,"children":235},{"className":234},[],[236],{"type":50,"value":237},"references\u002Fresult-analysis.md",{"type":50,"value":239}," after JSON\u002FCSV\u002FHTML results exist.",{"type":45,"tag":171,"props":241,"children":242},{},[243,249],{"type":45,"tag":59,"props":244,"children":246},{"className":245},[],[247],{"type":50,"value":248},"references\u002Fguardrails.md",{"type":50,"value":250}," before writing files, handling secrets, clearing cache, signing out, or troubleshooting.",{"type":45,"tag":171,"props":252,"children":253},{},[254,256],{"type":50,"value":255},"Detect project shape:\n",{"type":45,"tag":182,"props":257,"children":258},{},[259,299],{"type":45,"tag":171,"props":260,"children":261},{},[262,264,270,271,277,278,284,285,291,292,298],{"type":50,"value":263},"ATK: ",{"type":45,"tag":59,"props":265,"children":267},{"className":266},[],[268],{"type":50,"value":269},".env.local",{"type":50,"value":144},{"type":45,"tag":59,"props":272,"children":274},{"className":273},[],[275],{"type":50,"value":276},".env.local.user",{"type":50,"value":144},{"type":45,"tag":59,"props":279,"children":281},{"className":280},[],[282],{"type":50,"value":283},"env\\.env.local.user",{"type":50,"value":144},{"type":45,"tag":59,"props":286,"children":288},{"className":287},[],[289],{"type":50,"value":290},"m365agents.yml",{"type":50,"value":152},{"type":45,"tag":59,"props":293,"children":295},{"className":294},[],[296],{"type":50,"value":297},"appPackage\\declarativeAgent.json",{"type":50,"value":87},{"type":45,"tag":171,"props":300,"children":301},{},[302,304,309,310,315,317,323],{"type":50,"value":303},"Non-ATK: an eval dataset plus ",{"type":45,"tag":59,"props":305,"children":307},{"className":306},[],[308],{"type":50,"value":77},{"type":50,"value":144},{"type":45,"tag":59,"props":311,"children":313},{"className":312},[],[314],{"type":50,"value":85},{"type":50,"value":316},", or a named environment file such as ",{"type":45,"tag":59,"props":318,"children":320},{"className":319},[],[321],{"type":50,"value":322},"env\\.env.dev",{"type":50,"value":87},{"type":45,"tag":171,"props":325,"children":326},{},[327,329],{"type":50,"value":328},"Verify prerequisites without exposing values:\n",{"type":45,"tag":182,"props":330,"children":331},{},[332,337,342,347],{"type":45,"tag":171,"props":333,"children":334},{},[335],{"type":50,"value":336},"Node.js 24.12.0 or newer.",{"type":45,"tag":171,"props":338,"children":339},{},[340],{"type":50,"value":341},"Microsoft 365 Copilot license and a deployed M365 Copilot agent.",{"type":45,"tag":171,"props":343,"children":344},{},[345],{"type":50,"value":346},"Tenant admin consent for the WorkIQ Client App.",{"type":45,"tag":171,"props":348,"children":349},{},[350,356,358,364],{"type":45,"tag":59,"props":351,"children":353},{"className":352},[],[354],{"type":50,"value":355},"TENANT_ID",{"type":50,"value":357},", Azure OpenAI in Foundry Models endpoint\u002Fkey, and recommended\u002Fdefault ",{"type":45,"tag":59,"props":359,"children":361},{"className":360},[],[362],{"type":50,"value":363},"gpt-4o-mini",{"type":50,"value":365}," deployment.",{"type":45,"tag":171,"props":367,"children":368},{},[369,371],{"type":50,"value":370},"Choose the workflow:\n",{"type":45,"tag":182,"props":372,"children":373},{},[374,386,391,396],{"type":45,"tag":171,"props":375,"children":376},{},[377,379,385],{"type":50,"value":378},"No dataset: create ",{"type":45,"tag":59,"props":380,"children":382},{"className":381},[],[383],{"type":50,"value":384},"evals\\evals.json",{"type":50,"value":87},{"type":45,"tag":171,"props":387,"children":388},{},[389],{"type":50,"value":390},"Existing dataset: run, analyze prior results, or propose changes.",{"type":45,"tag":171,"props":392,"children":393},{},[394],{"type":50,"value":395},"Quick check: use inline prompts.",{"type":45,"tag":171,"props":397,"children":398},{},[399],{"type":50,"value":400},"Exploration: use interactive mode.",{"type":45,"tag":89,"props":402,"children":404},{"id":403},"current-dataset-contract",[405],{"type":50,"value":406},"Current dataset contract",{"type":45,"tag":53,"props":408,"children":409},{},[410,412,418,420,426,428,434,436,442],{"type":50,"value":411},"Generate schema version ",{"type":45,"tag":59,"props":413,"children":415},{"className":414},[],[416],{"type":50,"value":417},"1.2.0",{"type":50,"value":419}," documents with a root ",{"type":45,"tag":59,"props":421,"children":423},{"className":422},[],[424],{"type":50,"value":425},"items",{"type":50,"value":427}," array. Do not generate the old ",{"type":45,"tag":59,"props":429,"children":431},{"className":430},[],[432],{"type":50,"value":433},"PromptsObject",{"type":50,"value":435}," or root ",{"type":45,"tag":59,"props":437,"children":439},{"className":438},[],[440],{"type":50,"value":441},"prompts",{"type":50,"value":443}," format.",{"type":45,"tag":53,"props":445,"children":446},{},[447],{"type":50,"value":448},"Minimum shape:",{"type":45,"tag":96,"props":450,"children":454},{"className":451,"code":452,"language":453,"meta":101,"style":101},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"schemaVersion\": \"1.2.0\",\n  \"metadata\": {\n    \"name\": \"Agent evaluation suite\",\n    \"tags\": [\"starter\"]\n  },\n  \"default_evaluators\": {\n    \"Relevance\": {},\n    \"Coherence\": {}\n  },\n  \"items\": [\n    {\n      \"prompt\": \"What can this agent help me with?\",\n      \"expected_response\": \"The agent explains its supported scope without inventing unsupported capabilities.\"\n    }\n  ]\n}\n","json",[455],{"type":45,"tag":59,"props":456,"children":457},{"__ignoreMap":101},[458,467,511,537,577,621,630,655,681,707,715,740,749,788,823,832,841],{"type":45,"tag":107,"props":459,"children":460},{"class":109,"line":110},[461],{"type":45,"tag":107,"props":462,"children":464},{"style":463},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[465],{"type":50,"value":466},"{\n",{"type":45,"tag":107,"props":468,"children":470},{"class":109,"line":469},2,[471,476,482,487,492,497,502,506],{"type":45,"tag":107,"props":472,"children":473},{"style":463},[474],{"type":50,"value":475},"  \"",{"type":45,"tag":107,"props":477,"children":479},{"style":478},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[480],{"type":50,"value":481},"schemaVersion",{"type":45,"tag":107,"props":483,"children":484},{"style":463},[485],{"type":50,"value":486},"\"",{"type":45,"tag":107,"props":488,"children":489},{"style":463},[490],{"type":50,"value":491},":",{"type":45,"tag":107,"props":493,"children":494},{"style":463},[495],{"type":50,"value":496}," \"",{"type":45,"tag":107,"props":498,"children":500},{"style":499},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[501],{"type":50,"value":417},{"type":45,"tag":107,"props":503,"children":504},{"style":463},[505],{"type":50,"value":486},{"type":45,"tag":107,"props":507,"children":508},{"style":463},[509],{"type":50,"value":510},",\n",{"type":45,"tag":107,"props":512,"children":514},{"class":109,"line":513},3,[515,519,524,528,532],{"type":45,"tag":107,"props":516,"children":517},{"style":463},[518],{"type":50,"value":475},{"type":45,"tag":107,"props":520,"children":521},{"style":478},[522],{"type":50,"value":523},"metadata",{"type":45,"tag":107,"props":525,"children":526},{"style":463},[527],{"type":50,"value":486},{"type":45,"tag":107,"props":529,"children":530},{"style":463},[531],{"type":50,"value":491},{"type":45,"tag":107,"props":533,"children":534},{"style":463},[535],{"type":50,"value":536}," {\n",{"type":45,"tag":107,"props":538,"children":540},{"class":109,"line":539},4,[541,546,552,556,560,564,569,573],{"type":45,"tag":107,"props":542,"children":543},{"style":463},[544],{"type":50,"value":545},"    \"",{"type":45,"tag":107,"props":547,"children":549},{"style":548},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[550],{"type":50,"value":551},"name",{"type":45,"tag":107,"props":553,"children":554},{"style":463},[555],{"type":50,"value":486},{"type":45,"tag":107,"props":557,"children":558},{"style":463},[559],{"type":50,"value":491},{"type":45,"tag":107,"props":561,"children":562},{"style":463},[563],{"type":50,"value":496},{"type":45,"tag":107,"props":565,"children":566},{"style":499},[567],{"type":50,"value":568},"Agent evaluation suite",{"type":45,"tag":107,"props":570,"children":571},{"style":463},[572],{"type":50,"value":486},{"type":45,"tag":107,"props":574,"children":575},{"style":463},[576],{"type":50,"value":510},{"type":45,"tag":107,"props":578,"children":580},{"class":109,"line":579},5,[581,585,590,594,598,603,607,612,616],{"type":45,"tag":107,"props":582,"children":583},{"style":463},[584],{"type":50,"value":545},{"type":45,"tag":107,"props":586,"children":587},{"style":548},[588],{"type":50,"value":589},"tags",{"type":45,"tag":107,"props":591,"children":592},{"style":463},[593],{"type":50,"value":486},{"type":45,"tag":107,"props":595,"children":596},{"style":463},[597],{"type":50,"value":491},{"type":45,"tag":107,"props":599,"children":600},{"style":463},[601],{"type":50,"value":602}," [",{"type":45,"tag":107,"props":604,"children":605},{"style":463},[606],{"type":50,"value":486},{"type":45,"tag":107,"props":608,"children":609},{"style":499},[610],{"type":50,"value":611},"starter",{"type":45,"tag":107,"props":613,"children":614},{"style":463},[615],{"type":50,"value":486},{"type":45,"tag":107,"props":617,"children":618},{"style":463},[619],{"type":50,"value":620},"]\n",{"type":45,"tag":107,"props":622,"children":624},{"class":109,"line":623},6,[625],{"type":45,"tag":107,"props":626,"children":627},{"style":463},[628],{"type":50,"value":629},"  },\n",{"type":45,"tag":107,"props":631,"children":633},{"class":109,"line":632},7,[634,638,643,647,651],{"type":45,"tag":107,"props":635,"children":636},{"style":463},[637],{"type":50,"value":475},{"type":45,"tag":107,"props":639,"children":640},{"style":478},[641],{"type":50,"value":642},"default_evaluators",{"type":45,"tag":107,"props":644,"children":645},{"style":463},[646],{"type":50,"value":486},{"type":45,"tag":107,"props":648,"children":649},{"style":463},[650],{"type":50,"value":491},{"type":45,"tag":107,"props":652,"children":653},{"style":463},[654],{"type":50,"value":536},{"type":45,"tag":107,"props":656,"children":658},{"class":109,"line":657},8,[659,663,668,672,676],{"type":45,"tag":107,"props":660,"children":661},{"style":463},[662],{"type":50,"value":545},{"type":45,"tag":107,"props":664,"children":665},{"style":548},[666],{"type":50,"value":667},"Relevance",{"type":45,"tag":107,"props":669,"children":670},{"style":463},[671],{"type":50,"value":486},{"type":45,"tag":107,"props":673,"children":674},{"style":463},[675],{"type":50,"value":491},{"type":45,"tag":107,"props":677,"children":678},{"style":463},[679],{"type":50,"value":680}," {},\n",{"type":45,"tag":107,"props":682,"children":684},{"class":109,"line":683},9,[685,689,694,698,702],{"type":45,"tag":107,"props":686,"children":687},{"style":463},[688],{"type":50,"value":545},{"type":45,"tag":107,"props":690,"children":691},{"style":548},[692],{"type":50,"value":693},"Coherence",{"type":45,"tag":107,"props":695,"children":696},{"style":463},[697],{"type":50,"value":486},{"type":45,"tag":107,"props":699,"children":700},{"style":463},[701],{"type":50,"value":491},{"type":45,"tag":107,"props":703,"children":704},{"style":463},[705],{"type":50,"value":706}," {}\n",{"type":45,"tag":107,"props":708,"children":710},{"class":109,"line":709},10,[711],{"type":45,"tag":107,"props":712,"children":713},{"style":463},[714],{"type":50,"value":629},{"type":45,"tag":107,"props":716,"children":718},{"class":109,"line":717},11,[719,723,727,731,735],{"type":45,"tag":107,"props":720,"children":721},{"style":463},[722],{"type":50,"value":475},{"type":45,"tag":107,"props":724,"children":725},{"style":478},[726],{"type":50,"value":425},{"type":45,"tag":107,"props":728,"children":729},{"style":463},[730],{"type":50,"value":486},{"type":45,"tag":107,"props":732,"children":733},{"style":463},[734],{"type":50,"value":491},{"type":45,"tag":107,"props":736,"children":737},{"style":463},[738],{"type":50,"value":739}," [\n",{"type":45,"tag":107,"props":741,"children":743},{"class":109,"line":742},12,[744],{"type":45,"tag":107,"props":745,"children":746},{"style":463},[747],{"type":50,"value":748},"    {\n",{"type":45,"tag":107,"props":750,"children":752},{"class":109,"line":751},13,[753,758,763,767,771,775,780,784],{"type":45,"tag":107,"props":754,"children":755},{"style":463},[756],{"type":50,"value":757},"      \"",{"type":45,"tag":107,"props":759,"children":760},{"style":548},[761],{"type":50,"value":762},"prompt",{"type":45,"tag":107,"props":764,"children":765},{"style":463},[766],{"type":50,"value":486},{"type":45,"tag":107,"props":768,"children":769},{"style":463},[770],{"type":50,"value":491},{"type":45,"tag":107,"props":772,"children":773},{"style":463},[774],{"type":50,"value":496},{"type":45,"tag":107,"props":776,"children":777},{"style":499},[778],{"type":50,"value":779},"What can this agent help me with?",{"type":45,"tag":107,"props":781,"children":782},{"style":463},[783],{"type":50,"value":486},{"type":45,"tag":107,"props":785,"children":786},{"style":463},[787],{"type":50,"value":510},{"type":45,"tag":107,"props":789,"children":791},{"class":109,"line":790},14,[792,796,801,805,809,813,818],{"type":45,"tag":107,"props":793,"children":794},{"style":463},[795],{"type":50,"value":757},{"type":45,"tag":107,"props":797,"children":798},{"style":548},[799],{"type":50,"value":800},"expected_response",{"type":45,"tag":107,"props":802,"children":803},{"style":463},[804],{"type":50,"value":486},{"type":45,"tag":107,"props":806,"children":807},{"style":463},[808],{"type":50,"value":491},{"type":45,"tag":107,"props":810,"children":811},{"style":463},[812],{"type":50,"value":496},{"type":45,"tag":107,"props":814,"children":815},{"style":499},[816],{"type":50,"value":817},"The agent explains its supported scope without inventing unsupported capabilities.",{"type":45,"tag":107,"props":819,"children":820},{"style":463},[821],{"type":50,"value":822},"\"\n",{"type":45,"tag":107,"props":824,"children":826},{"class":109,"line":825},15,[827],{"type":45,"tag":107,"props":828,"children":829},{"style":463},[830],{"type":50,"value":831},"    }\n",{"type":45,"tag":107,"props":833,"children":835},{"class":109,"line":834},16,[836],{"type":45,"tag":107,"props":837,"children":838},{"style":463},[839],{"type":50,"value":840},"  ]\n",{"type":45,"tag":107,"props":842,"children":844},{"class":109,"line":843},17,[845],{"type":45,"tag":107,"props":846,"children":847},{"style":463},[848],{"type":50,"value":849},"}\n",{"type":45,"tag":53,"props":851,"children":852},{},[853,855,861,863,869],{"type":50,"value":854},"Use ",{"type":45,"tag":59,"props":856,"children":858},{"className":857},[],[859],{"type":50,"value":860},"references\\prompts-schema.json",{"type":50,"value":862}," as the local schema source and ",{"type":45,"tag":59,"props":864,"children":866},{"className":865},[],[867],{"type":50,"value":868},"references\\eval-templates.md",{"type":50,"value":870}," for copyable single-turn, multi-turn, evaluator, and threshold examples.",{"type":45,"tag":89,"props":872,"children":874},{"id":873},"public-evaluator-names",[875],{"type":50,"value":876},"Public evaluator names",{"type":45,"tag":53,"props":878,"children":879},{},[880],{"type":50,"value":881},"Evaluator names are case-sensitive. Use only the public configurable evaluator names unless a newer authoritative source proves otherwise.",{"type":45,"tag":883,"props":884,"children":885},"table",{},[886,905],{"type":45,"tag":887,"props":888,"children":889},"thead",{},[890],{"type":45,"tag":891,"props":892,"children":893},"tr",{},[894,900],{"type":45,"tag":895,"props":896,"children":897},"th",{},[898],{"type":50,"value":899},"Evaluator",{"type":45,"tag":895,"props":901,"children":902},{},[903],{"type":50,"value":904},"Semantics",{"type":45,"tag":906,"props":907,"children":908},"tbody",{},[909,926,941,966,989,1006,1023],{"type":45,"tag":891,"props":910,"children":911},{},[912,921],{"type":45,"tag":913,"props":914,"children":915},"td",{},[916],{"type":45,"tag":59,"props":917,"children":919},{"className":918},[],[920],{"type":50,"value":667},{"type":45,"tag":913,"props":922,"children":923},{},[924],{"type":50,"value":925},"LLM score from 1-5; default threshold 3.",{"type":45,"tag":891,"props":927,"children":928},{},[929,937],{"type":45,"tag":913,"props":930,"children":931},{},[932],{"type":45,"tag":59,"props":933,"children":935},{"className":934},[],[936],{"type":50,"value":693},{"type":45,"tag":913,"props":938,"children":939},{},[940],{"type":50,"value":925},{"type":45,"tag":891,"props":942,"children":943},{},[944,953],{"type":45,"tag":913,"props":945,"children":946},{},[947],{"type":45,"tag":59,"props":948,"children":950},{"className":949},[],[951],{"type":50,"value":952},"Groundedness",{"type":45,"tag":913,"props":954,"children":955},{},[956,958,964],{"type":50,"value":957},"LLM score from 1-5 against ",{"type":45,"tag":59,"props":959,"children":961},{"className":960},[],[962],{"type":50,"value":963},"context",{"type":50,"value":965},"\u002Fexpected evidence; default threshold 3.",{"type":45,"tag":891,"props":967,"children":968},{},[969,978],{"type":45,"tag":913,"props":970,"children":971},{},[972],{"type":45,"tag":59,"props":973,"children":975},{"className":974},[],[976],{"type":50,"value":977},"Similarity",{"type":45,"tag":913,"props":979,"children":980},{},[981,982,987],{"type":50,"value":957},{"type":45,"tag":59,"props":983,"children":985},{"className":984},[],[986],{"type":50,"value":800},{"type":50,"value":988},"; default threshold 3.",{"type":45,"tag":891,"props":990,"children":991},{},[992,1001],{"type":45,"tag":913,"props":993,"children":994},{},[995],{"type":45,"tag":59,"props":996,"children":998},{"className":997},[],[999],{"type":50,"value":1000},"Citations",{"type":45,"tag":913,"props":1002,"children":1003},{},[1004],{"type":50,"value":1005},"Count-based citation check; default threshold 1.",{"type":45,"tag":891,"props":1007,"children":1008},{},[1009,1018],{"type":45,"tag":913,"props":1010,"children":1011},{},[1012],{"type":45,"tag":59,"props":1013,"children":1015},{"className":1014},[],[1016],{"type":50,"value":1017},"ExactMatch",{"type":45,"tag":913,"props":1019,"children":1020},{},[1021],{"type":50,"value":1022},"Boolean exact string match.",{"type":45,"tag":891,"props":1024,"children":1025},{},[1026,1035],{"type":45,"tag":913,"props":1027,"children":1028},{},[1029],{"type":45,"tag":59,"props":1030,"children":1032},{"className":1031},[],[1033],{"type":50,"value":1034},"PartialMatch",{"type":45,"tag":913,"props":1036,"children":1037},{},[1038],{"type":50,"value":1039},"String similarity from 0.0-1.0; default threshold 0.5.",{"type":45,"tag":53,"props":1041,"children":1042},{},[1043,1045,1051],{"type":50,"value":1044},"Treat ",{"type":45,"tag":59,"props":1046,"children":1048},{"className":1047},[],[1049],{"type":50,"value":1050},"ToolCallAccuracy",{"type":50,"value":1052}," as legacy\u002Fprivate for authoring. Do not add it to generated datasets unless current public CLI\u002Fschema documentation explicitly reintroduces it.",{"type":45,"tag":89,"props":1054,"children":1056},{"id":1055},"common-commands",[1057],{"type":50,"value":1058},"Common commands",{"type":45,"tag":96,"props":1060,"children":1062},{"className":98,"code":1061,"language":100,"meta":101,"style":101},"# Version\u002Fhelp checks\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --version\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --help\n\n# First-time setup \u002F EULA\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals accept-eula\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --init-only\n\n# Batch run with explicit JSON output\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --output .evals\\results.json\n\n# Human-review HTML or spreadsheet-friendly CSV\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --output .evals\\results.html\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --output .evals\\results.csv\n\n# Quick checks\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts \"What can you help me with?\" --expected \"The agent describes its supported scope.\"\n\n# Non-ATK or named environment\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --m365-agent-id \u003Cagent-id> --env dev\n",[1063],{"type":45,"tag":59,"props":1064,"children":1065},{"__ignoreMap":101},[1066,1074,1082,1090,1099,1107,1115,1123,1130,1138,1146,1153,1161,1169,1177,1184,1192,1200,1208,1217],{"type":45,"tag":107,"props":1067,"children":1068},{"class":109,"line":110},[1069],{"type":45,"tag":107,"props":1070,"children":1071},{},[1072],{"type":50,"value":1073},"# Version\u002Fhelp checks\n",{"type":45,"tag":107,"props":1075,"children":1076},{"class":109,"line":469},[1077],{"type":45,"tag":107,"props":1078,"children":1079},{},[1080],{"type":50,"value":1081},"npx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --version\n",{"type":45,"tag":107,"props":1083,"children":1084},{"class":109,"line":513},[1085],{"type":45,"tag":107,"props":1086,"children":1087},{},[1088],{"type":50,"value":1089},"npx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --help\n",{"type":45,"tag":107,"props":1091,"children":1092},{"class":109,"line":539},[1093],{"type":45,"tag":107,"props":1094,"children":1096},{"emptyLinePlaceholder":1095},true,[1097],{"type":50,"value":1098},"\n",{"type":45,"tag":107,"props":1100,"children":1101},{"class":109,"line":579},[1102],{"type":45,"tag":107,"props":1103,"children":1104},{},[1105],{"type":50,"value":1106},"# First-time setup \u002F EULA\n",{"type":45,"tag":107,"props":1108,"children":1109},{"class":109,"line":623},[1110],{"type":45,"tag":107,"props":1111,"children":1112},{},[1113],{"type":50,"value":1114},"npx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals accept-eula\n",{"type":45,"tag":107,"props":1116,"children":1117},{"class":109,"line":632},[1118],{"type":45,"tag":107,"props":1119,"children":1120},{},[1121],{"type":50,"value":1122},"npx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --init-only\n",{"type":45,"tag":107,"props":1124,"children":1125},{"class":109,"line":657},[1126],{"type":45,"tag":107,"props":1127,"children":1128},{"emptyLinePlaceholder":1095},[1129],{"type":50,"value":1098},{"type":45,"tag":107,"props":1131,"children":1132},{"class":109,"line":683},[1133],{"type":45,"tag":107,"props":1134,"children":1135},{},[1136],{"type":50,"value":1137},"# Batch run with explicit JSON output\n",{"type":45,"tag":107,"props":1139,"children":1140},{"class":109,"line":709},[1141],{"type":45,"tag":107,"props":1142,"children":1143},{},[1144],{"type":50,"value":1145},"npx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --output .evals\\results.json\n",{"type":45,"tag":107,"props":1147,"children":1148},{"class":109,"line":717},[1149],{"type":45,"tag":107,"props":1150,"children":1151},{"emptyLinePlaceholder":1095},[1152],{"type":50,"value":1098},{"type":45,"tag":107,"props":1154,"children":1155},{"class":109,"line":742},[1156],{"type":45,"tag":107,"props":1157,"children":1158},{},[1159],{"type":50,"value":1160},"# Human-review HTML or spreadsheet-friendly CSV\n",{"type":45,"tag":107,"props":1162,"children":1163},{"class":109,"line":751},[1164],{"type":45,"tag":107,"props":1165,"children":1166},{},[1167],{"type":50,"value":1168},"npx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --output .evals\\results.html\n",{"type":45,"tag":107,"props":1170,"children":1171},{"class":109,"line":790},[1172],{"type":45,"tag":107,"props":1173,"children":1174},{},[1175],{"type":50,"value":1176},"npx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --output .evals\\results.csv\n",{"type":45,"tag":107,"props":1178,"children":1179},{"class":109,"line":825},[1180],{"type":45,"tag":107,"props":1181,"children":1182},{"emptyLinePlaceholder":1095},[1183],{"type":50,"value":1098},{"type":45,"tag":107,"props":1185,"children":1186},{"class":109,"line":834},[1187],{"type":45,"tag":107,"props":1188,"children":1189},{},[1190],{"type":50,"value":1191},"# Quick checks\n",{"type":45,"tag":107,"props":1193,"children":1194},{"class":109,"line":843},[1195],{"type":45,"tag":107,"props":1196,"children":1197},{},[1198],{"type":50,"value":1199},"npx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts \"What can you help me with?\" --expected \"The agent describes its supported scope.\"\n",{"type":45,"tag":107,"props":1201,"children":1203},{"class":109,"line":1202},18,[1204],{"type":45,"tag":107,"props":1205,"children":1206},{"emptyLinePlaceholder":1095},[1207],{"type":50,"value":1098},{"type":45,"tag":107,"props":1209,"children":1211},{"class":109,"line":1210},19,[1212],{"type":45,"tag":107,"props":1213,"children":1214},{},[1215],{"type":50,"value":1216},"# Non-ATK or named environment\n",{"type":45,"tag":107,"props":1218,"children":1220},{"class":109,"line":1219},20,[1221],{"type":45,"tag":107,"props":1222,"children":1223},{},[1224],{"type":50,"value":1225},"npx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --prompts-file evals\\evals.json --m365-agent-id \u003Cagent-id> --env dev\n",{"type":45,"tag":53,"props":1227,"children":1228},{},[1229,1230,1236,1238,1244],{"type":50,"value":854},{"type":45,"tag":59,"props":1231,"children":1233},{"className":1232},[],[1234],{"type":50,"value":1235},"--concurrency",{"type":50,"value":1237}," only with values 1-5. Start with ",{"type":45,"tag":59,"props":1239,"children":1241},{"className":1240},[],[1242],{"type":50,"value":1243},"1",{"type":50,"value":1245}," for debugging and increase only after setup is stable.",{"type":45,"tag":89,"props":1247,"children":1249},{"id":1248},"version-and-path-safety",[1250],{"type":50,"value":1251},"Version and PATH safety",{"type":45,"tag":53,"props":1253,"children":1254},{},[1255],{"type":50,"value":1256},"Before diagnosing agent behavior, confirm which executable is running:",{"type":45,"tag":96,"props":1258,"children":1260},{"className":98,"code":1259,"language":100,"meta":101,"style":101},"Get-Command runevals -All\nnpm list -g @microsoft\u002Fm365-copilot-eval --depth=0\nnpm view @microsoft\u002Fm365-copilot-eval version\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest runevals --version\nnpx -y --package @microsoft\u002Fm365-copilot-eval@latest where runevals\n",[1261],{"type":45,"tag":59,"props":1262,"children":1263},{"__ignoreMap":101},[1264,1272,1280,1288,1295],{"type":45,"tag":107,"props":1265,"children":1266},{"class":109,"line":110},[1267],{"type":45,"tag":107,"props":1268,"children":1269},{},[1270],{"type":50,"value":1271},"Get-Command runevals -All\n",{"type":45,"tag":107,"props":1273,"children":1274},{"class":109,"line":469},[1275],{"type":45,"tag":107,"props":1276,"children":1277},{},[1278],{"type":50,"value":1279},"npm list -g @microsoft\u002Fm365-copilot-eval --depth=0\n",{"type":45,"tag":107,"props":1281,"children":1282},{"class":109,"line":513},[1283],{"type":45,"tag":107,"props":1284,"children":1285},{},[1286],{"type":50,"value":1287},"npm view @microsoft\u002Fm365-copilot-eval version\n",{"type":45,"tag":107,"props":1289,"children":1290},{"class":109,"line":539},[1291],{"type":45,"tag":107,"props":1292,"children":1293},{},[1294],{"type":50,"value":1081},{"type":45,"tag":107,"props":1296,"children":1297},{"class":109,"line":579},[1298],{"type":45,"tag":107,"props":1299,"children":1300},{},[1301],{"type":50,"value":1302},"npx -y --package @microsoft\u002Fm365-copilot-eval@latest where runevals\n",{"type":45,"tag":53,"props":1304,"children":1305},{},[1306,1308,1313,1315,1321,1323,1329,1331,1337],{"type":50,"value":1307},"If bare ",{"type":45,"tag":59,"props":1309,"children":1311},{"className":1310},[],[1312],{"type":50,"value":134},{"type":50,"value":1314}," prints ",{"type":45,"tag":59,"props":1316,"children":1318},{"className":1317},[],[1319],{"type":50,"value":1320},"This version of the M365 Evals CLI has stopped working and must be updated",{"type":50,"value":1322},", treat it as a stale PATH\u002Fglobal install. Re-run with the ",{"type":45,"tag":59,"props":1324,"children":1326},{"className":1325},[],[1327],{"type":50,"value":1328},"npx --package ...@latest",{"type":50,"value":1330}," command above, then ask before removing global shims with ",{"type":45,"tag":59,"props":1332,"children":1334},{"className":1333},[],[1335],{"type":50,"value":1336},"npm uninstall -g @microsoft\u002Fm365-copilot-eval",{"type":50,"value":87},{"type":45,"tag":89,"props":1339,"children":1341},{"id":1340},"file-conventions",[1342],{"type":50,"value":1343},"File conventions",{"type":45,"tag":883,"props":1345,"children":1346},{},[1347,1363],{"type":45,"tag":887,"props":1348,"children":1349},{},[1350],{"type":45,"tag":891,"props":1351,"children":1352},{},[1353,1358],{"type":45,"tag":895,"props":1354,"children":1355},{},[1356],{"type":50,"value":1357},"Path",{"type":45,"tag":895,"props":1359,"children":1360},{},[1361],{"type":50,"value":1362},"Purpose",{"type":45,"tag":906,"props":1364,"children":1365},{},[1366,1389,1411,1436,1452],{"type":45,"tag":891,"props":1367,"children":1368},{},[1369,1377],{"type":45,"tag":913,"props":1370,"children":1371},{},[1372],{"type":45,"tag":59,"props":1373,"children":1375},{"className":1374},[],[1376],{"type":50,"value":269},{"type":45,"tag":913,"props":1378,"children":1379},{},[1380,1382,1388],{"type":50,"value":1381},"Non-secret ATK config such as ",{"type":45,"tag":59,"props":1383,"children":1385},{"className":1384},[],[1386],{"type":50,"value":1387},"M365_TITLE_ID",{"type":50,"value":87},{"type":45,"tag":891,"props":1390,"children":1391},{},[1392,1406],{"type":45,"tag":913,"props":1393,"children":1394},{},[1395,1400,1401],{"type":45,"tag":59,"props":1396,"children":1398},{"className":1397},[],[1399],{"type":50,"value":276},{"type":50,"value":79},{"type":45,"tag":59,"props":1402,"children":1404},{"className":1403},[],[1405],{"type":50,"value":283},{"type":45,"tag":913,"props":1407,"children":1408},{},[1409],{"type":50,"value":1410},"Local secrets such as tenant ID and Azure OpenAI key.",{"type":45,"tag":891,"props":1412,"children":1413},{},[1414,1423],{"type":45,"tag":913,"props":1415,"children":1416},{},[1417],{"type":45,"tag":59,"props":1418,"children":1420},{"className":1419},[],[1421],{"type":50,"value":1422},"env\\.env.\u003Cenvironment>",{"type":45,"tag":913,"props":1424,"children":1425},{},[1426,1428,1434],{"type":50,"value":1427},"Named environment config for non-ATK or explicit ",{"type":45,"tag":59,"props":1429,"children":1431},{"className":1430},[],[1432],{"type":50,"value":1433},"--env",{"type":50,"value":1435}," workflows.",{"type":45,"tag":891,"props":1437,"children":1438},{},[1439,1447],{"type":45,"tag":913,"props":1440,"children":1441},{},[1442],{"type":45,"tag":59,"props":1443,"children":1445},{"className":1444},[],[1446],{"type":50,"value":384},{"type":45,"tag":913,"props":1448,"children":1449},{},[1450],{"type":50,"value":1451},"Source-controlled eval dataset if the user wants it committed.",{"type":45,"tag":891,"props":1453,"children":1454},{},[1455,1464],{"type":45,"tag":913,"props":1456,"children":1457},{},[1458],{"type":45,"tag":59,"props":1459,"children":1461},{"className":1460},[],[1462],{"type":50,"value":1463},".evals\\",{"type":45,"tag":913,"props":1465,"children":1466},{},[1467],{"type":50,"value":1468},"Local run outputs; usually gitignored.",{"type":45,"tag":53,"props":1470,"children":1471},{},[1472],{"type":50,"value":1473},"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.",{"type":45,"tag":89,"props":1475,"children":1477},{"id":1476},"generation-guidance",[1478],{"type":50,"value":1479},"Generation guidance",{"type":45,"tag":53,"props":1481,"children":1482},{},[1483],{"type":50,"value":1484},"Use PRA as a scenario-design framework:",{"type":45,"tag":182,"props":1486,"children":1487},{},[1488,1493,1498],{"type":45,"tag":171,"props":1489,"children":1490},{},[1491],{"type":50,"value":1492},"Perceive: retrieval, grounding, and source coverage.",{"type":45,"tag":171,"props":1494,"children":1495},{},[1496],{"type":50,"value":1497},"Reason: instruction adherence, synthesis, ambiguity handling, and refusal behavior.",{"type":45,"tag":171,"props":1499,"children":1500},{},[1501,1503,1508,1509,1514,1515,1520,1521,1526,1527,1532,1534,1539],{"type":50,"value":1502},"Act: declared capability\u002Faction behavior. Score with public evaluators such as ",{"type":45,"tag":59,"props":1504,"children":1506},{"className":1505},[],[1507],{"type":50,"value":667},{"type":50,"value":144},{"type":45,"tag":59,"props":1510,"children":1512},{"className":1511},[],[1513],{"type":50,"value":693},{"type":50,"value":144},{"type":45,"tag":59,"props":1516,"children":1518},{"className":1517},[],[1519],{"type":50,"value":977},{"type":50,"value":144},{"type":45,"tag":59,"props":1522,"children":1524},{"className":1523},[],[1525],{"type":50,"value":1017},{"type":50,"value":152},{"type":45,"tag":59,"props":1528,"children":1530},{"className":1529},[],[1531],{"type":50,"value":1034},{"type":50,"value":1533},"; do not use legacy ",{"type":45,"tag":59,"props":1535,"children":1537},{"className":1536},[],[1538],{"type":50,"value":1050},{"type":50,"value":87},{"type":45,"tag":53,"props":1541,"children":1542},{},[1543],{"type":50,"value":1544},"Ask before overwriting an existing dataset. When writing generated evals, write to a temporary file first and rename on success.",{"type":45,"tag":89,"props":1546,"children":1548},{"id":1547},"result-analysis-guidance",[1549],{"type":50,"value":1550},"Result analysis guidance",{"type":45,"tag":53,"props":1552,"children":1553},{},[1554],{"type":50,"value":1555},"Analyze only evaluator keys that are present. Missing score keys usually mean the evaluator was not configured for that item, not that it failed.",{"type":45,"tag":53,"props":1557,"children":1558},{},[1559,1561,1567,1568,1574,1575,1581,1582,1588,1589,1595,1596,1602,1604,1610],{"type":50,"value":1560},"Use current score keys when present: ",{"type":45,"tag":59,"props":1562,"children":1564},{"className":1563},[],[1565],{"type":50,"value":1566},"relevance",{"type":50,"value":144},{"type":45,"tag":59,"props":1569,"children":1571},{"className":1570},[],[1572],{"type":50,"value":1573},"coherence",{"type":50,"value":144},{"type":45,"tag":59,"props":1576,"children":1578},{"className":1577},[],[1579],{"type":50,"value":1580},"groundedness",{"type":50,"value":144},{"type":45,"tag":59,"props":1583,"children":1585},{"className":1584},[],[1586],{"type":50,"value":1587},"similarity",{"type":50,"value":144},{"type":45,"tag":59,"props":1590,"children":1592},{"className":1591},[],[1593],{"type":50,"value":1594},"citations",{"type":50,"value":144},{"type":45,"tag":59,"props":1597,"children":1599},{"className":1598},[],[1600],{"type":50,"value":1601},"exactMatch",{"type":50,"value":1603},", and ",{"type":45,"tag":59,"props":1605,"children":1607},{"className":1606},[],[1608],{"type":50,"value":1609},"partialMatch",{"type":50,"value":1611},". Group failures into likely root causes: instruction issue, grounding issue, citation issue, expected-answer mismatch, capability gap, auth\u002Fenvironment issue, or eval-quality issue.",{"type":45,"tag":53,"props":1613,"children":1614},{},[1615],{"type":50,"value":1616},"Do not run real tenant-dependent evals unless the user has provided or approved the necessary tenant, agent, and Azure OpenAI configuration.",{"type":45,"tag":1618,"props":1619,"children":1620},"style",{},[1621],{"type":50,"value":1622},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1624,"total":1817},[1625,1647,1666,1687,1702,1719,1730,1743,1758,1773,1792,1805],{"slug":1626,"name":1626,"fn":1627,"description":1628,"org":1629,"tags":1630,"stars":1644,"repoUrl":1645,"updatedAt":1646},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1631,1634,1637,1638,1641],{"name":1632,"slug":1633,"type":15},"Engineering","engineering",{"name":1635,"slug":1636,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":1639,"slug":1640,"type":15},"Project Management","project-management",{"name":1642,"slug":1643,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":1648,"name":1648,"fn":1649,"description":1650,"org":1651,"tags":1652,"stars":1663,"repoUrl":1664,"updatedAt":1665},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1653,1656,1657,1660],{"name":1654,"slug":1655,"type":15},".NET","net",{"name":26,"slug":27,"type":15},{"name":1658,"slug":1659,"type":15},"Azure","azure",{"name":1661,"slug":1662,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":1667,"name":1667,"fn":1668,"description":1669,"org":1670,"tags":1671,"stars":1663,"repoUrl":1664,"updatedAt":1686},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1672,1675,1676,1679,1682,1683],{"name":1673,"slug":1674,"type":15},"Analytics","analytics",{"name":1658,"slug":1659,"type":15},{"name":1677,"slug":1678,"type":15},"Data Analysis","data-analysis",{"name":1680,"slug":1681,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":1684,"slug":1685,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":1688,"name":1688,"fn":1689,"description":1690,"org":1691,"tags":1692,"stars":1663,"repoUrl":1664,"updatedAt":1701},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1693,1696,1697,1698],{"name":1694,"slug":1695,"type":15},"AI Infrastructure","ai-infrastructure",{"name":1658,"slug":1659,"type":15},{"name":1680,"slug":1681,"type":15},{"name":1699,"slug":1700,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":1703,"name":1703,"fn":1704,"description":1705,"org":1706,"tags":1707,"stars":1663,"repoUrl":1664,"updatedAt":1718},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1708,1709,1712,1713,1714,1717],{"name":1658,"slug":1659,"type":15},{"name":1710,"slug":1711,"type":15},"Compliance","compliance",{"name":1661,"slug":1662,"type":15},{"name":9,"slug":8,"type":15},{"name":1715,"slug":1716,"type":15},"Python","python",{"name":1699,"slug":1700,"type":15},"2026-07-18T05:14:23.017504",{"slug":1720,"name":1720,"fn":1721,"description":1722,"org":1723,"tags":1724,"stars":1663,"repoUrl":1664,"updatedAt":1729},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1725,1726,1727,1728],{"name":1673,"slug":1674,"type":15},{"name":1658,"slug":1659,"type":15},{"name":1661,"slug":1662,"type":15},{"name":1715,"slug":1716,"type":15},"2026-07-31T05:54:29.068751",{"slug":1731,"name":1731,"fn":1732,"description":1733,"org":1734,"tags":1735,"stars":1663,"repoUrl":1664,"updatedAt":1742},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1736,1739,1740,1741],{"name":1737,"slug":1738,"type":15},"API Development","api-development",{"name":1658,"slug":1659,"type":15},{"name":9,"slug":8,"type":15},{"name":1715,"slug":1716,"type":15},"2026-07-18T05:14:16.988376",{"slug":1744,"name":1744,"fn":1745,"description":1746,"org":1747,"tags":1748,"stars":1663,"repoUrl":1664,"updatedAt":1757},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1749,1750,1753,1756],{"name":1658,"slug":1659,"type":15},{"name":1751,"slug":1752,"type":15},"Computer Vision","computer-vision",{"name":1754,"slug":1755,"type":15},"Images","images",{"name":1715,"slug":1716,"type":15},"2026-07-18T05:14:18.007737",{"slug":1759,"name":1759,"fn":1760,"description":1761,"org":1762,"tags":1763,"stars":1663,"repoUrl":1664,"updatedAt":1772},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1764,1765,1768,1771],{"name":1658,"slug":1659,"type":15},{"name":1766,"slug":1767,"type":15},"Configuration","configuration",{"name":1769,"slug":1770,"type":15},"Feature Flags","feature-flags",{"name":1680,"slug":1681,"type":15},"2026-07-03T16:32:01.278468",{"slug":1774,"name":1774,"fn":1775,"description":1776,"org":1777,"tags":1778,"stars":1663,"repoUrl":1664,"updatedAt":1791},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1779,1782,1785,1788],{"name":1780,"slug":1781,"type":15},"Cosmos DB","cosmos-db",{"name":1783,"slug":1784,"type":15},"Database","database",{"name":1786,"slug":1787,"type":15},"NoSQL","nosql",{"name":1789,"slug":1790,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":1793,"name":1793,"fn":1775,"description":1794,"org":1795,"tags":1796,"stars":1663,"repoUrl":1664,"updatedAt":1804},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1797,1798,1799,1800,1801],{"name":1780,"slug":1781,"type":15},{"name":1783,"slug":1784,"type":15},{"name":9,"slug":8,"type":15},{"name":1786,"slug":1787,"type":15},{"name":1802,"slug":1803,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":1806,"name":1806,"fn":1807,"description":1808,"org":1809,"tags":1810,"stars":1663,"repoUrl":1664,"updatedAt":1816},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1811,1812,1813,1814,1815],{"name":1658,"slug":1659,"type":15},{"name":1780,"slug":1781,"type":15},{"name":1783,"slug":1784,"type":15},{"name":1680,"slug":1681,"type":15},{"name":1786,"slug":1787,"type":15},"2026-05-13T06:14:17.582229",267,{"items":1819,"total":790},[1820,1840,1860,1871,1887,1901,1914],{"slug":1821,"name":1821,"fn":1822,"description":1823,"org":1824,"tags":1825,"stars":28,"repoUrl":29,"updatedAt":1839},"action-item-extractor","extract action items from meetings","Extract action items with owners, deadlines, and priorities from meeting content",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1826,1829,1830,1833,1836],{"name":1827,"slug":1828,"type":15},"Meetings","meetings",{"name":9,"slug":8,"type":15},{"name":1831,"slug":1832,"type":15},"Productivity","productivity",{"name":1834,"slug":1835,"type":15},"Summarization","summarization",{"name":1837,"slug":1838,"type":15},"Task Management","task-management","2026-04-06T18:35:30.007473",{"slug":1841,"name":1841,"fn":1842,"description":1843,"org":1844,"tags":1845,"stars":28,"repoUrl":29,"updatedAt":1859},"channel-audit","audit and clean up Microsoft Teams channels","Audit Teams channels across your teams — identify inactive channels, low‑engagement conversations, channels with no recent posts, and recommend cleanup actions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1846,1849,1852,1853,1856],{"name":1847,"slug":1848,"type":15},"Audit","audit",{"name":1850,"slug":1851,"type":15},"Messaging","messaging",{"name":9,"slug":8,"type":15},{"name":1854,"slug":1855,"type":15},"Microsoft Teams","microsoft-teams",{"name":1857,"slug":1858,"type":15},"Operations","operations","2026-04-06T18:35:22.45187",{"slug":1861,"name":1861,"fn":1862,"description":1863,"org":1864,"tags":1865,"stars":28,"repoUrl":29,"updatedAt":1870},"channel-digest","generate digests for Microsoft Teams channels","Summarize activity across multiple Teams channels into a single consolidated digest — key discussions, decisions, mentions, and action items.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1866,1867,1868,1869],{"name":1850,"slug":1851,"type":15},{"name":9,"slug":8,"type":15},{"name":1854,"slug":1855,"type":15},{"name":1834,"slug":1835,"type":15},"2026-04-06T18:35:25.021901",{"slug":1872,"name":1872,"fn":1873,"description":1874,"org":1875,"tags":1876,"stars":28,"repoUrl":29,"updatedAt":1886},"daily-outlook-triage","triage Outlook inbox and calendar daily","Get a quick summary of your day by pulling your inbox emails and calendar meetings. Helps you triage and prioritize your workday.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1877,1878,1881,1884,1885],{"name":9,"slug":8,"type":15},{"name":1879,"slug":1880,"type":15},"Outlook Calendar","outlook-calendar",{"name":1882,"slug":1883,"type":15},"Outlook Email","outlook-email",{"name":1831,"slug":1832,"type":15},{"name":1834,"slug":1835,"type":15},"2026-04-06T18:35:28.767999",{"slug":1888,"name":1888,"fn":1889,"description":1890,"org":1891,"tags":1892,"stars":28,"repoUrl":29,"updatedAt":1900},"declarative-agent-developer","build and deploy declarative agents for M365","Create, build, deploy, and localize declarative agents for M365 Copilot and Teams. USE THIS SKILL for ANY task involving a declarative agent — including localization, scaffolding, editing manifests, adding capabilities, and deploying. Localization requires tokenized manifests and language files that only this skill knows how to produce. Triggers: \"create agent\", \"create a declarative agent\", \"new declarative agent\", \"scaffold an agent\", \"new agent project\", \"add a capability\", \"add a plugin\", \"configure my agent\", \"deploy my agent\", \"fix my agent manifest\", \"edit my agent\", \"localize my agent\", \"add localization\", \"translate my agent\", \"multi-language agent\", \"add an API plugin\", \"add an MCP plugin\", \"add OAuth to my plugin\", \"review instructions\", \"improve instructions\", \"fix my instructions\"\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1893,1894,1895,1898,1899],{"name":26,"slug":27,"type":15},{"name":13,"slug":14,"type":15},{"name":1896,"slug":1897,"type":15},"Deployment","deployment",{"name":9,"slug":8,"type":15},{"name":23,"slug":24,"type":15},"2026-04-06T18:35:42.309091",{"slug":1902,"name":1902,"fn":1903,"description":1904,"org":1905,"tags":1906,"stars":28,"repoUrl":29,"updatedAt":1913},"email-analytics","analyze email volume and response patterns","Analyze your email patterns over a time period — volume trends, top senders, response time estimates, busiest days, and unread backlog statistics.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1907,1908,1911,1912],{"name":1673,"slug":1674,"type":15},{"name":1909,"slug":1910,"type":15},"Email","email",{"name":9,"slug":8,"type":15},{"name":1831,"slug":1832,"type":15},"2026-04-06T18:35:26.264312",{"slug":1915,"name":1915,"fn":1916,"description":1917,"org":1918,"tags":1919,"stars":28,"repoUrl":29,"updatedAt":1925},"install-atk","install and update M365 Agents Toolkit","Install or update the M365 Agents Toolkit (ATK) CLI and VS Code extension. Triggers: \"install atk\", \"update atk\", \"install agents toolkit\", \"update agents toolkit\", \"install the toolkit\", \"setup atk\", \"get atk\", \"install atk cli\", \"install atk extension\", \"install atk vsix\", \"update the vs code extension\", \"install latest atk\", \"upgrade atk\"\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1920,1921,1922,1923,1924],{"name":26,"slug":27,"type":15},{"name":20,"slug":21,"type":15},{"name":1635,"slug":1636,"type":15},{"name":9,"slug":8,"type":15},{"name":23,"slug":24,"type":15},"2026-04-06T18:35:40.873947"]