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 CitiesSkylinesModding/agents-plugins --skill scan-mcp-failuresgit clone --depth 1 https://github.com/CitiesSkylinesModding/agents-pluginsWrote 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/citiesskylinesmodding/agents-plugins/scan-mcp-failures)<a href="https://agentmods.dev/skills/citiesskylinesmodding/agents-plugins/scan-mcp-failures"><img src="https://agentmods.dev/badge/skills/citiesskylinesmodding/agents-plugins/scan-mcp-failures/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/citiesskylinesmodding/agents-plugins/scan-mcp-failures"><img src="https://agentmods.dev/badge/skills/citiesskylinesmodding/agents-plugins/scan-mcp-failures.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.00032 | $0.00948 |
| Opus 5.5 | $0.00013 | $0.00379 |
| Sonnet 5.5 | $0.00006 | $0.00190 |
| Haiku 4.5 | $0.00003 | $0.00095 |
Grade A, and why
scan-mcp-failures 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 2d 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 — 56 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Scanning transcripts for MCP failures
Every failed gameface or unity call an agent made is evidence of a gap: grammar eval lacks, a message that sent the agent the wrong way, a mode a tool is missing. This skill counts the failures no earlier run counted, and lands them in docs/ROADMAP.md as Hits on the entry each one bears on, or as new entries.
scan.ts does the mining; its header states the ledger contract. Its state lives in .scratch/mcp-failures/ and is machine-local, like the transcripts it reads.
1. Scan
Run bun .agents/skills/scan-mcp-failures/scan.ts. It prints the totals and one line per error signature, and writes every failure to .scratch/mcp-failures/failures.jsonl with its input, cleaned error and the agent's next four moves.
With no failures, go to "Record". A run with no ledger (a first run on this machine, or a wiped .scratch/) recounts failures the Hits already hold: count only those dated after an entry's as of date.
When failures run into the hundreds, hand "Group by root cause" and "Match each class to the roadmap" to a subagent with this file as its brief; it runs those two steps only, returns its classes and matches, and writes nothing.
2. Group by root cause
Read every failure in failures.jsonl and sort each into a class: one root cause, one fix.
A signature is a grouping hint and nothing more — method … not found, no … accepts these … argument(s), and its older form no overload … accepts each front several causes, so classify on the method called and its declared signature, reading the plugin source where the message leaves it open.
The next moves are the richest field: the workaround the agent reached for says what it wanted, and an abandoned call marks a gap with no workaround.
Each class takes one kind:
- Product gap: a tool or grammar limit, or a message that misled.
- Agent mistake the product could absorb: a wrong name, a reflex syntax, a trap a hint or a suggestion would catch.
- Environment: the game not running, a port closed, a user-side crash. Counted in the report, never roadmapped.
- Agent logic: an in-game exception the agent's own code raised. Counted, never roadmapped.
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.
- 2d ago Changed fa92d782726a
- 16d ago First seen · 56 lines · 32 tokens per session scan A 5b6fa24458f4
scan-mcp-failures is a skill published in the GitHub repository CitiesSkylinesModding/agents-plugins (7 stars, last pushed 2d ago), licensed MIT. It adds 32 tokens to every session and 948 once invoked, about $0.0001 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-09-30.
Other skills, from other repositories
frame-rate-stability
Use when a rendering path needs stable frame-time, CPU, GPU, and memory evidence against fixed targets. Not for one-shot profiling or visual quality review.
mastering-engineer
Guides audio mastering for streaming platforms including loudness optimization and tonal balance. Use when the user has approved tracks and wants to master audio files.
promo-writer
Generates platform-specific social media copy from album themes, track concepts, and lyrics. Use when promo/ templates need to be populated before release.
researcher
Conducts investigative-grade research with primary source analysis, cross-verification, and trial-level depth. Use when an album needs factual research, source material, or verification of claims.
session-start
Runs the session startup procedure - verifies setup, loads config and state, checks skill models, and reports project status. Use at the beginning of a fresh session.
validate-album
Validates album directory structure, file locations, and content integrity. Use before release or whenever the user wants to check an album's structural health.