capability-scan
Skill0 starsChanged 3 months agoMITView on GitHub
Use at startup when a project has changed since its last scan, or on demand. Searches the skills registry and the MCP/API landscape for capabilities this project should have, and writes .agentic/capabilities.md for PM review. Never installs anything.
In this repository14 other files it gives its agents.
- conveneSkill
- decision-recordSkill
- deliverySkill
- escalateSkill
- flag-checkSkill
- haltSkill
- interface-contractSkill
- merge-guardSkill
- profile-bootstrapSkill
- roster-preflightSkill
- setback-checkSkill
- setback-logSkill
- stability-checkpointSkill
- work-orderSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 29
If neither condition holds, say nothing and get on with the work.
- Distinctive: line 33
Do not search generic terms.
- Distinctive: line 83
3-5 servers maximum: Every connected server's tool schemas occupy every agent's context and measurably dilute focus.
- Distinctive: line 87
Prefer per-role assignment over global: give the dev agents the repo and docs servers, the UX and QA agents the browser server, and the …
- Very specific: line 107
Write .agentic/capabilities.md using the structure in the existing file.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Capability scan
Projects acquire needs faster than anyone re-checks what exists to meet them. A skill that would have saved a week is worth nothing if nobody looked for it after month one.
This scan looks. It never installs. Installation is a PM decision — an auto-installed skill is unreviewed third-party instructions injected into every agent's context, which is a supply-chain decision, not a convenience.
When it runs
At startup, the Scrum Master checks whether the project changed since the last scan:
.git/capability-scan-neededexists (written by the post-commit hook), or- the newest commit is newer than the
last_scanneddate in.agentic/capabilities.md
Either condition triggers a scan. At most one scan per session — a scan spawns searches and costs real money; the marker is cleared as soon as the scan completes, whatever it found.
If neither condition holds, say nothing and get on with the work.
1. Derive the project's capability needs
Do not search generic terms. Read the project first and derive 5-8 concrete needs from what it actually is:
CLAUDE.md/AGENTS.md, the profile, and the design docs — stated domain, stack, and integrations- Dependency manifests (
requirements.txt,package.json,pyproject.toml) — the real stack, not the aspirational one docs/operations/and the setback log — where this project actually bleeds- The external services it talks to — every OAuth setup doc is an integration
Each need becomes a search query. "calendar scheduling" beats "productivity".
2. Search the skills registry
npx --yes skills find "<query>"
npx --yes skills find --owner <owner> # to explore a promising sourceQuality bar — apply it, do not just report hits:
| Signal | Bar |
| Installs | prefer 1K+; treat under 100 as unvetted |
| Source | official orgs (googleworkspace, anthropics, vercel-labs, microsoft) outrank unknown authors at similar counts |
| Repo | check stars if the count is borderline |
A low-install skill from an unknown author is not a find — recommending it transfers risk to the PM while looking like diligence. Say plainly when a category has nothing worth installing; that is a real result.
Also check whether the framework's own skills already cover the need better, because they are tuned to this project and a generic skill will not be.
3. Search the MCP / API landscape
Scan for DEVELOPMENT-PROCESS servers only. Two kinds of MCP exist and only one is this scan's business:
| Kind | Example | Whose job |
| Development-process — makes the agents better at building | GitHub, Context7, Playwright, Postgres read-only | This scan. Harness-level, benefits every project. |
| Product-integration — the shipped app talks to it | the calendar API an app reads, the payment provider it charges | Not this scan. It is build work — a work order for the dev team during development. |
Recommending a product-integration MCP here is a scope error: it is a feature the product needs, not a capability the team is missing. Note it as a build dependency if it surfaces, and move on.
The size limit is a real constraint
3-5 servers maximum. Every connected server's tool schemas occupy every agent's context and measurably dilute focus. Three is the sweet spot. A scan that recommends eight servers has made the agents worse.
Prefer per-role assignment over global: give the dev agents the repo and docs servers, the UX and QA agents the browser server, and the deliberating council none. This keeps each agent under the limit while the team as a whole covers more, and it matches the least-privilege capability matrix.
Check per harness
An MCP configured on one harness does not reach agents on another:
| Harness | MCP config |
| Claude | Claude Code MCP settings |
| Codex | ~/.codex/config.toml |
| Antigravity | ~/.gemini/config/mcp_config.json |
Report per-harness, not globally — "we have GitHub" is misleading if only one of three harnesses can see it, and the agents that needed it may be on the other two.
4. Write the report
Write .agentic/capabilities.md using the structure in the existing
file. Required for every recommendation: name, install count, source, why this
project specifically, and the install command — never run it.
Include a Not recommended section with reasons. It is as valuable as the recommendations and it stops the next scan from re-surfacing the same rejects.
Set last_scanned and delete .git/capability-scan-needed.
5. Surface at the next gate
New recommendations go to the PM at the next gate, not as an interruption. A capability scan is never urgent enough to escalate.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

