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 tamnguyendinh/Anvien --skill api-surfacegit clone --depth 1 https://github.com/tamnguyendinh/AnvienWrote 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/tamnguyendinh/anvien/api-surface)<a href="https://agentmods.dev/skills/tamnguyendinh/anvien/api-surface"><img src="https://agentmods.dev/badge/skills/tamnguyendinh/anvien/api-surface.svg" alt="Measured on agentmods" 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.00016 | $0.00759 |
| Opus 5 | $0.00008 | $0.00380 |
| Sonnet 5 | $0.00003 | $0.00152 |
| Haiku 4.5 | $0.00002 | $0.00076 |
Grade A, and why
api-surface 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.
How it starts
The opening of the file, as written. The whole thing — 49 lines — stays where its author put it; the contents beside it link to each section on GitHub.
API Surface With Anvien
Use this skill for route handlers, MCP/RPC tool handlers, generated contracts, response shape drift, route consumers, and API-impact decisions.
This skill is a workflow gate for API-surface work. It is not a command router. When a concrete Anvien command is needed, choose it directly from the generated Command Selection Guide.
Command Choices
| Need | CLI | MCP |
|---|---|---|
| Route handlers, consumers, middleware, flows | anvien api route-map [route] --repo <repo> --json |
route_map |
| MCP/tool definitions and linked flows | anvien api tool-map [tool] --repo <repo> --json |
tool_map |
| Response shape drift against consumers | anvien api shape-check [route] --repo <repo> --json |
shape_check |
| Route/API blast radius | anvien api impact [route] --repo <repo> --json |
api_impact |
| Route impact via generic impact | anvien impact route <route> --repo <repo> --json |
impact with target_type=route |
| MCP tool impact via generic impact | anvien impact tool <tool> --repo <repo> --json |
impact with target_type=tool |
| Exact handler file context | anvien context file <path> --repo <repo> |
context with target_type=file |
| Exact handler symbol context | anvien context symbol "<handler>" --repo <repo> |
context with target_type=symbol |
| Broad API discovery | anvien query api "<concept>" --repo <repo> |
query with target_type=api |
MCP tool names use underscores: route_map, tool_map, shape_check, api_impact. CLI commands use hyphenated subcommands under anvien api. Do not invent CLI commands by reusing MCP underscore names as top-level Anvien commands.
Workflow
- Refresh the graph with
anvien analyze --forcebefore graph-based API work. - Use
query apifor broad route/tool discovery only when the exact route or tool is unknown. - Use route-map/tool-map to find handlers, consumers, flows, and handler-file
handlerFileprojection data. - Open handler files with
context filewhen you need symbol tree, file dependencies, linked tests, or unresolved handler-file sites. - Use shape-check before changing response contracts or generated Web contracts.
- Use API impact before editing handlers, schemas, contracts, or shared API helpers. Use
impact routeorimpact toolwhen the route/tool is the change target and you need the generic impact report shape. - Validate with focused backend tests and Web contract/client tests when consumers are affected.
- Run
detect-changes --scope allbefore commit.
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 · 49 lines · 16 tokens per session scan A a59c8a6f7afb
api-surface is a skill published in the GitHub repository tamnguyendinh/Anvien (9 stars, last pushed today), licensed MIT. It adds 16 tokens to every session and 759 once invoked, about $0.0001 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
booboo-deploy
Stand up a Booboo brain end to end — scaffold the project, write booboo.config.yaml against a real Postgres/Supabase or JSON source, build the snapshot, then wire the REST API, the MCP server, the 3D viewer and the panel. Use when someone wants a brain built for the first time, wants to point Booboo at their own…
booboo-adapter
Feed data into a Booboo brain that the built-in postgres and json adapters do not cover — write a small config-driven adapter against the spec instead of forking the builder. Use when a source is Neo4j, an API, a CSV export, a proprietary store, or any shape the standard config cannot express.
python-sdk
Implement or modify Python SDK behavior under python/composio, including tools, toolkits, sessions, auth configs, connected accounts, client integration, and shared Python models. Use for Python core runtime/API work; pair with python-testing and cross-sdk-parity when TypeScript must match.
potpie-infra-architecture
Use for project infra and architecture context: environments, adapters, runtime configuration, deployments, service dependencies, datastores, API contracts, ownership, incidents, and dependency blast radius.
memstack-automation-webhook-designer
Use this skill when the user says 'webhook', 'webhook handler', 'webhook endpoint', 'receive events', 'HMAC verification', 'idempotency', or needs secure webhook handlers with signature verification, retry handling, and dead letter queues. Do NOT use for full n8n workflows or scheduled tasks.
telegram
Owner-only Telegram text bridge and Mini App gateway for the existing Ouroboros interface.