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 sharepoint-list-formattergit 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/sharepoint-list-formatter)<a href="https://agentmods.dev/skills/microsoft/cat-agent-skills/sharepoint-list-formatter"><img src="https://agentmods.dev/badge/skills/microsoft/cat-agent-skills/sharepoint-list-formatter/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/sharepoint-list-formatter"><img src="https://agentmods.dev/badge/skills/microsoft/cat-agent-skills/sharepoint-list-formatter.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00105 | $0.01438 |
| Opus 5 | $0.00053 | $0.00719 |
| Sonnet 5 | $0.00021 | $0.00288 |
| Haiku 4.5 | $0.00011 | $0.00144 |
Grade A, and why
sharepoint-list-formatter 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 5d ago.
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 — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Reformat every SharePoint result the same way so the person always gets a predictable, scannable table instead of a one-off dump, with a one-click path to open each item.
Core columns — always present
Every table, no matter the list type, keeps these:
- Title — the item's name (task title, file name, event name, contact name, etc.), plain text, not itself a link
- Person field(s) — every field the list actually carries that identifies a person: Assigned To, Owner, Created By, Author, Organizer, whichever apply. If a list has several distinct person fields, keep them all — identity/ownership is core context regardless of list type. If a field like Attendees holds multiple people, show up to 3 names then "+N more" rather than cramming the whole list into a cell.
- Description — if the item has a description/notes-style field, show only its first sentence, never the full text (see formatting conventions below for how to trim it)
- Modified — last modified date, reformatted per the conventions below
- Open — always the last column, always a link built from the fixed URL pattern below
If the list genuinely has no person field, or no description field, just drop that column rather than leaving it empty — "always present" means "always present when the underlying field exists," not padding in blank columns.
Column order left to right: Title, Description, person field(s), any dynamic columns (see below), Modified, Open.
Everything else — judge it dynamically
Beyond the core columns, decide what to include using two signals together, don't default to a fixed template:
- What the query is actually asking about. If the person asks about deadlines, add Due Date. If they ask what's urgent, add Priority. If they ask about file size or storage, add File Size. Let their own words point at the fields that matter — a query about "what's overdue" wants Due Date front and center; a query about "who's been editing this" wants Modified By over Created By.
- What's structurally central to that type of list — the field the table would be useless without, even if the person didn't spell it out. A task list without Status is hard to scan. A calendar table without the event's Date/Time defeats the point of showing it at all. Use judgment here the way a knowledgeable coworker would, not a rigid checklist.
What ships with it
1 file 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.
- 5d ago First seen · 70 lines · 105 tokens per session scan A 10e9033ed2c6
sharepoint-list-formatter is a skill published in the GitHub repository microsoft/cat-agent-skills (66 stars, last pushed yesterday), licensed MIT. It adds 105 tokens to every session and 1,438 once invoked, about $0.0005 per session on Opus 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-09-03.
Other skills, from other repositories
orbit-notion
Open Orbit briefing skill — selected by the Orbit pipeline when Notion is the user's only connected connector, or when the user explicitly scopes their daily digest to Notion. Pulls the past 24 hours of document edits, comments, mentions, and database row changes from the user's authenticated Notion connection and…
box
Box manages cloud files, sharing, search, and metadata.
feishu
Work with Feishu or Lark bots, docs, sheets, bitables, approval flows, and OpenAPI/MCP setup without hardcoding credentials.
recipe-save-email-attachments
Find Gmail messages with attachments and save them to a Google Drive folder.
recipe-bulk-download-folder
List and download all files from a Google Drive folder.
apple-notes
Manage Apple Notes via the memo CLI on macOS (create, view, search, edit).