microsoft/cat-agent-skills is a static website that catalogs reusable instruction sets and related packages for AI agents. People use it to search, filter, rate, and download skills for Cowork, Copilot Studio, and Scout, along with Copilot plugins and Scout automations. The catalogue entries are the skills, instructions, plugins, and settings displayed by the site.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add microsoft/cat-agent-skills --skill role-intakegit clone --depth 1 https://github.com/microsoft/cat-agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/microsoft/cat-agent-skills/role-intake)<a href="https://agentmods.dev/skills/microsoft/cat-agent-skills/role-intake"><img src="https://agentmods.dev/badge/skills/microsoft/cat-agent-skills/role-intake/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/microsoft/cat-agent-skills/role-intake"><img src="https://agentmods.dev/badge/skills/microsoft/cat-agent-skills/role-intake.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00161 | $0.02023 |
| Opus 5.5 | $0.00064 | $0.00809 |
| Sonnet 5.5 | $0.00032 | $0.00405 |
| Haiku 4.5 | $0.00016 | $0.00202 |
Grade A, and why
role-intake scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Role Intake
Purpose
Normalise the signed engagement request and SOW role extract into the ps.engagement-staffing-bench-match.v1 contract: engagement identity, client, known parent/subsidiary/affiliate names, practice, role requirements, start dates, allocations, location, language, industry context, rate band and citations.
When to use
At the start of every Engagement Staffing & Bench Match run.
When NOT to Use
- Summarising payment terms, liability caps or termination clauses of an SOW — that is contract review, not staffing.
- Normalising the bench roster — use bench-query instead.
- Scoring, ranking or naming candidates — use fit-score instead.
- Clearing conflicts or independence — use constraint-check instead.
- Drafting the partner recommendation or slate note — use slate-draft instead.
Inputs
- Staffing request email or mobilisation note.
- SOW role extract with open roles, start dates, expected duration and required skills.
- Rate-card or commercial guardrail excerpt if supplied.
Steps
- Extract
engagement{}withsource,confidenceandcitation. Include every source-backed parent, subsidiary or affiliate inengagement.affiliates[]; never infer corporate relationships. Use the engagement ID exactly as it appears in the source; if the firm's internal code is not supplied, carry the SOW ID and add an escalation. When only the SOW ID is supplied, even if the request repeats it, carry it and add the internal-code escalation. Set practice only from an explicit practice statement in the SOW or request body; never take it from a sender's signature, title or team name. If it is not stated, leave it empty and escalate; never infer it. - Extract each role into
roles[]: required and preferred skills, required certifications, seniority, start date, allocation, location,remote_ok,required_languages, duration,industry_context(the client industry as the SOW or request words it —fit_score.pyreads it for rubric #1.6 and reads "&" as "and", ignores "and", "of", "the", simple plurals and generic words such as "provider", "services" or "sector", and needs the remaining words to equal a benchindustry_experienceentry, so "healthcare provider" matches "healthcare" and "oil & gas" matches "oil and gas" but "retail banking" does not match "retail"; it escalates partial matches once per role and a role whose industry matches no candidate) and rate band. Normalize seniority to lowercase canonical values:associate,consultant,senior consultant,manager,senior manager,directororpartner.required_languagesis the SOW's stated working language plus any language the role itself names (for example "Spanish-speaking"). - Set each role's
confidenceby how far the staffing request restates the SOW row (allocation, start, duration, location, every required and preferred skill and certification): 0.96 all, 0.95 some, 0.94 none or role not named.engagement.confidenceis 0.96 when the request names the SOW client, else 0.94. Preserve uncertainty. If a role requirement is ambiguous or unstated (for example no language stated), carry it as an escalation rather than guessing. If a source-backed requirement has no contract field (for example on-site days per week), preserve its source wording and citation in a role-specific escalation; never drop it or invent a field. - Record any partner preference for a named person as an escalation note only — never as a selection. Name the person only; do not invent or look up a candidate ID.
- Hand off the contract payload to
bench-query.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 75 lines · 161 tokens per session scan A 1a6af615ec72
role-intake is a skill published in the GitHub repository microsoft/cat-agent-skills (101 stars, last pushed yesterday), licensed MIT. It adds 161 tokens to every session and 2,023 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-11-07.
role-intake compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| role-intakemicrosoft/cat-agent-skills | Skill | 101 | yesterday | MIT | A | 161 | Claude Code, Codex |
| imagegenopenai/codex | Skill | 134k | today | Apache-2.0 | A | 113 | Codex |
| local-ai-agentsmicrosoft/ai-agents-for-beginners | Skill | 79k | yesterday | MIT | A | 200 | Claude Code, Codex |
| playwright-climicrosoft/playwright | Skill | 100k | yesterday | Apache-2.0 | A | 19 | Claude Code |
| browser-automationopenclaw/openclaw | Skill | 394k | today | MIT | A | 36 | Claude Code |
| systematic-debuggingobra/superpowers | Skill | 314k | 4d ago | MIT | A | 21 | Claude Code |
| next-cache-components-adoptionvercel/next.js | Skill | 143k | today | MIT | A | 95 | Claude Code |