Borrowing it
Nothing to install: this file belongs to Grinv/anilist-mcp-server. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Grinv/anilist-mcp-server/main/.agents/skills/docs-consistency-check/SKILL.mdgit clone --depth 1 https://github.com/Grinv/anilist-mcp-serverWrote 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/grinv/anilist-mcp-server/docs-consistency-check)<a href="https://agentmods.dev/skills/grinv/anilist-mcp-server/docs-consistency-check"><img src="https://agentmods.dev/badge/skills/grinv/anilist-mcp-server/docs-consistency-check/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/grinv/anilist-mcp-server/docs-consistency-check"><img src="https://agentmods.dev/badge/skills/grinv/anilist-mcp-server/docs-consistency-check.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.00056 | $0.00899 |
| Opus 5 | $0.00028 | $0.00449 |
| Sonnet 5 | $0.00011 | $0.00180 |
| Haiku 4.5 | $0.00006 | $0.00090 |
Grade A, and why
docs-consistency-check 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 8d 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.
What it actually says
Docs/metadata consistency
Check every one of these, not just a sample:
README.md's tool table matchessrc/server.ts's registrations (names, and the permission/auth column against each tool's actualrequireAuth()usage).manifest.json's andserver.json'stoolsarrays list the same tool names as what's actually registered (npm testalready asserts this viae2e.test.ts— treat a failure there as authoritative). Theirdescriptionfields are deliberately short, independent marketing-style summaries, NOT a copy of the tool's full.describe()/descriptiontext insrc/tools/*.ts— don't "fix" them to match verbatim, that's not a bug. Do re-read them for accuracy if a tool's behavior changed in a way the short summary now misrepresents.- Tool
description/field.describe()text insrc/tools/*.tsitself: does it still match the actualinputSchema/outputSchemaand the client function's real behavior? Cross-check new/edited descriptions against thetool-description-checkskill (Glama's TDQS rubric) per AGENTS.md. CHANGELOG.md's[Unreleased]section (see thechangelog-styleskill for entry style) has one line per real behavior change made in this pass — add missing entries, don't just flag them as missing.docs/api-references.md's "confirmed live" claims still match the current client code, especially any claim this pass's own fixes just invalidated.AGENTS.md'ssrc/tree (and this.agents/skills/entry) still matches the filesystem, and its convention prose doesn't name an API/pattern this pass just renamed everywhere in code (confirmed case: a.passthrough()/z.unknown()mention survived a rename to.loose()/z.json()— grep the old name inAGENTS.mdwhenever a rename touches ≥3 files).docs/clients.mdand any otherdocs/*.mdfor stale phrasing (e.g. describing something as "once published"/"upcoming" that already shipped).PRIVACY.mdandSECURITY.md: re-verify every specific claim against the actual current code, don't just skim for plausibility — which credentials exist and how each is transmitted/redacted (redact()insrc/lib/errors.ts), what is and isn't cached (cache key/TTL/what clears it, insrc/lib/cache.tsandclients/anilist.ts), the current list of read-only vs. mutating tools (grepregisterTool(insrc/tools/*.ts), and the env-configurable-endpoint/host-allowlist statement inconfig.ts. This class of drift is easy to miss because it reads fine on its own and only breaks against the code: a sibling repo'sSECURITY.md/PRIVACY.mdboth claimed "player-specific data is never cached" after a later feature added exactly that caching, and a separate claim conflated an actually-cached field with a similarly-named never-cached one — neither doc was self-evidently wrong, both required re-reading the client code to catch. Given this repo's especially broad write/social tool surface, the mutating-tool enumeration (currently 13 — seeSECURITY.md's "The mutating tool surface") is the highest-value thing to re-check here specifically; it's exactly the kind of count that silently goes stale the next time a tool is added, renamed, or removed.
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.
- 8d ago First seen · 56 lines · 56 tokens per session scan A 20cf2c09b55a
docs-consistency-check is a skill published in the GitHub repository Grinv/anilist-mcp-server (1 stars, last pushed 15d ago), licensed MIT. It adds 56 tokens to every session and 899 once invoked, about $0.0003 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-08-31.
Other skills, from other repositories
design-mcp-server
Design the tool surface, resources, and service layer for a new MCP server. Use when starting a new server, planning a major feature expansion, or when the user describes a domain/API they want to expose via MCP. Produces a design doc at docs/design.md that drives implementation.
add-tool
Scaffold a new MCP tool definition. Use when the user asks to add a tool, create a new tool, or implement a new capability for the server.
api-context
Canonical reference for the unified Context object passed to every tool and resource handler in @cyanheads/mcp-ts-core. Covers the full interface, its RequestContext base, all sub-APIs (ctx.log, ctx.state, ctx.requestInput, ctx.inputs, ctx.enrich, ctx.content), and when to use each.
api-linter
MCP definition linter rules reference. Use when bun run lint:mcp or bun run devcheck reports a lint error or warning (format-parity, schema-is-object, name-format, server-json-, etc.) and you need to understand the rule, its severity, and how to fix it. Every rule ID the linter emits has an entry in this doc.
api-canvas
DataCanvas primitive reference — a Tier 3 SQL/analytical workspace for tabular MCP servers, backed by DuckDB. Use when registering tables from upstream APIs, running ad-hoc SQL across them, and exporting results. Covers the acquire → register → query → export flow, per-table TTL, the token-sharing pattern for…
api-errors
McpError constructor, JsonRpcErrorCode reference, and error handling patterns for @cyanheads/mcp-ts-core. Use when looking up error codes, understanding where errors should be thrown vs. caught, or using ErrorHandler.tryCatch in services.