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 QuinnAho/claudemap --skill skillgit clone --depth 1 https://github.com/QuinnAho/claudemapWrote 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/quinnaho/claudemap/skill)<a href="https://agentmods.dev/skills/quinnaho/claudemap/skill"><img src="https://agentmods.dev/badge/skills/quinnaho/claudemap/skill.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.00040 | $0.01736 |
| Opus 5 | $0.00020 | $0.00868 |
| Sonnet 5 | $0.00008 | $0.00347 |
| Haiku 4.5 | $0.00004 | $0.00174 |
Grade A, and why
claudemap-runtime 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 — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ClaudeMap is a repo-to-architecture-map workflow.
High-level model:
- snapshot the repository
- ask
@claudemap-architectto turn that snapshot into a detailed, human-legible graph - render the graph in the bundled ClaudeMap UI
- keep the graph and presentation state updated as the user explores the codebase
Public commands:
/setup-claudemap: build or rebuild the map for the current repository/open-claudemap: reopen the existing UI without rebuilding/create-map: create or refresh a scoped subsystem map from the current root graph/refresh: update the graph after code changes/explain: run a guided walkthrough through the live map/show: direct the live map for highlights, focus, presentation, and flows
If this skill is invoked directly, default to the setup workflow.
Target repository:
- If the user passed an argument to the invoked skill command, use
$ARGUMENTSas the project root. - If no argument was passed, use the current working directory.
Execution rules:
- Resolve the bundled ClaudeMap workspace from
${CLAUDE_SKILL_DIR}. - Generate a raw repo snapshot by running
${CLAUDE_SKILL_DIR}/skill/commands/snapshot.jsfor the target project root. - Read
${CLAUDE_SKILL_DIR}/skill/prompts/enrichment.txt. - Use the
@claudemap-architectsubagent explicitly. Give it:- the raw snapshot JSON
- the graph schema contract from the enrichment prompt
- instructions to return only valid graph JSON
- instructions to optimize for a detailed graph with intuitive human grouping
- Wait for the subagent Task call to fully return, then save the returned JSON to
${CLAUDE_SKILL_DIR}/tmp/claudemap-enrichment.json. Do not run the setup JS command until after this file has been written with non-empty valid graph JSON. Do not run setup in parallel with the subagent call. - Run
${CLAUDE_SKILL_DIR}/skill/commands/setup-claudemap.jsfor the target project root with--enrichment-file ${CLAUDE_SKILL_DIR}/tmp/claudemap-enrichment.json. The setup command is strict: if the file is missing, empty, or unparseable it will exit non-zero and refuse to render a heuristic graph. Do not retry setup without fixing the enrichment file first. - Add
--force-refreshonly when the user explicitly asks for a fresh rebuild. - If the subagent fails to return valid JSON after two attempts, tell the user the architect pass failed and stop. Do not silently rerun setup without
--enrichment-file— that would render a heuristic graph and pollute the cache. The user should rerun/setup-claudemaponce the architect issue is resolved. - Let the bundled launcher start the app unless the user explicitly asks not to.
- Summarize the analyzed file count, system count, graph source, render transport, and app readiness. Runtime graph outputs land in
${CLAUDE_SKILL_DIR}/app/public/graph/(served by the bundled Vite app as/graph/*). - End the graph-generation flow with a short feedback prompt such as:
Does this map look right, or should I refine it? - If the user says the map is good, stop there.
- If the user asks for refinement, reuse the current target project's
claudemap-cache.jsongraph and file snapshot as context when available instead of starting from a blank prompt again. - For refinement passes, send the existing graph plus the user's requested changes back through
@claudemap-architect, save the refined JSON to${CLAUDE_SKILL_DIR}/tmp/claudemap-enrichment.json, and run${CLAUDE_SKILL_DIR}/skill/commands/refresh.jswith--enrichment-fileso the graph iterates in place. - After the refined graph renders, ask the same short feedback prompt again.
/create-map runs an architect-first scoped pipeline:
- Resolve the target scope from the user's request (either a scope JSON payload copied from the UI, or a natural language description of a subsystem the architect should locate in the root graph).
- Read
${CLAUDE_SKILL_DIR}/skill/prompts/scoped-enrichment.txt. This is a dedicated scoped prompt — do not reuse the root enrichment prompt. - Build a scoped snapshot by filtering the root graph's file list to the files inside the target subsystem. Include any prior scoped graph from the target map's
cachePathwhen one exists so the architect can refine rather than rebuild. - Call the
@claudemap-architectsubagent with the scoped snapshot, the scoped prompt, and any user instructions. Instruct it to emit a richer internal breakdown (2-6 internal subsystems, tighter edges, function nodes welcome) and to decide between edit-in-place and rebuild based on the intent of the request. - Save the returned JSON to
${CLAUDE_SKILL_DIR}/tmp/claudemap-enrichment.jsonand run${CLAUDE_SKILL_DIR}/skill/commands/create-map.jswith--enrichment-file(plus--scope-jsonand optional--instructions). The command deletes the tmp file after it reads it. - If the architect pass fails, the command can still fall back to
buildScopedGraphFromRootby running without--enrichment-file, but warn the user the scoped map will be a plain filter view and suggest rerunning with architect enrichment for richer grouping. - After the scoped map renders, ask the same short feedback prompt (
Does this map look right, or should I refine it?). - If the user asks for refinement, reuse the scoped map's own cache as prior graph context (via
buildScopedSnapshot'spriorGraphoption) and rerun the architect. Save the refined JSON to the tmp file and reruncreate-map.jswith the same--scope-jsonpayload plus--enrichment-file. - After the refined scoped graph renders, ask the same short feedback prompt again.
What ships with it
60 files 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.
- commands/create-map.js 11 KB runs code
- commands/open-claudemap.js 3.8 KB runs code
- commands/refresh.js 11 KB runs code
- commands/setup-claudemap.js 8.8 KB runs code
- commands/show.js 19 KB runs code
- commands/snapshot.js 1.5 KB runs code
- lib/active-map.js 1.4 KB runs code
- lib/cache.js 2.1 KB runs code
- lib/command-harness/enrichment-io.js 1.1 KB runs code
- lib/command-harness/log.js 1014 B runs code
- lib/command-harness/parse-args.js 4.8 KB runs code
- lib/command-harness/project-root.js 640 B runs code
- lib/command-harness/render-slash-template.js 2.5 KB runs code
- lib/command-harness/run-command.js 5.0 KB runs code
- lib/command-harness/slash-only-descriptors.js 2.4 KB runs code
- lib/command-harness/with-mcp.js 960 B runs code
- lib/contracts/errors.js 2.8 KB runs code
- lib/contracts/graph-sources.js 1.3 KB runs code
- lib/contracts/index.js 307 B runs code
- lib/contracts/paths.js 11 KB runs code
- lib/contracts/paths.test.js 11 KB runs code
- lib/contracts/presentation.js 716 B runs code
- lib/contracts/schemas/cache.js 750 B runs code
- lib/contracts/schemas/graph.js 1.2 KB runs code
- lib/contracts/schemas/index.js 3.2 KB runs code
- lib/contracts/schemas/install-record.js 1.7 KB runs code
- lib/contracts/schemas/manifest.js 1.2 KB runs code
- lib/contracts/schemas/runtime-envelope.js 1.3 KB runs code
- lib/contracts/schemas/schemas.test.js 11 KB runs code
- lib/contracts/schemas/shared.js 2.5 KB runs code
- lib/contracts/versions.js 4.4 KB runs code
- lib/contracts/versions.test.js 8.8 KB runs code
- lib/differ.js 2.6 KB runs code
- lib/differ.test.js 12 KB runs code
- lib/enrichment.js 949 B runs code
- lib/enrichment/enrichment.test.js 11 KB runs code
- lib/enrichment/graph-validation.js 2.4 KB runs code
- lib/enrichment/health.js 1.8 KB runs code
- lib/enrichment/icons.js 1.4 KB runs code
- lib/enrichment/index.js 8.4 KB runs code
- lib/enrichment/prompts.js 2.1 KB runs code
- lib/enrichment/source-priority.js 2.3 KB runs code
- lib/file-walker.js 7.1 KB runs code
- lib/import-resolution.js 3.6 KB runs code
- lib/launcher.js 2.4 KB runs code
- lib/manifest/fingerprint.js 3.4 KB runs code
- lib/manifest/index.js 1.6 KB runs code
- lib/manifest/io.js 1.8 KB runs code
- lib/manifest/migrations.js 2.2 KB runs code
- lib/manifest/normalize.js 3.3 KB runs code
- lib/manifest/scope-resolution.js 3.3 KB runs code
- lib/manifest/scope-resolution.test.js 11 KB runs code
- lib/map-manifest.js 1.6 KB runs code
- lib/mcp-client.js 24 KB runs code
- lib/runtime-location.js 4.4 KB runs code
- lib/runtime-location.test.js 3.9 KB runs code
- lib/runtime-paths.js 2.8 KB runs code
- lib/scoped-map.js 6.7 KB runs code
- lib/show-helpers.test.js 7.9 KB runs code
- package.json 768 B
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 · 82 lines · 40 tokens per session scan A 7bfe7e6972f1
claudemap-runtime is a skill published in the GitHub repository QuinnAho/claudemap (289 stars, last pushed 4mo ago), licensed MIT. It adds 40 tokens to every session and 1,736 once invoked, about $0.0002 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-30.
Other skills, from other repositories
code-transfer
Transfer code between files with line-based precision. Use when users request copying code from one location to another, moving functions or classes between files, extracting code blocks, or inserting code at specific line numbers.
ensemble-solving
Generate multiple diverse solutions in parallel and select the best. Use for architecture decisions, code generation with multiple valid approaches, or creative tasks where exploring alternatives improves quality.
conversation-analyzer
Analyzes your Claude Code conversation history to identify patterns, common mistakes, and opportunities for workflow improvement. Use when user wants to understand usage patterns, optimize workflow, identify automation opportunities, or check if they're following best practices.
code-execution
Execute Python code locally with marketplace API access for 90%+ token savings on bulk operations. Activates when user requests bulk operations (10+ files), complex multi-step workflows, iterative processing, or mentions efficiency/performance.
code-refactor
Perform bulk code refactoring operations like renaming variables/functions across files, replacing patterns, and updating API calls. Use when users request renaming identifiers, replacing deprecated code patterns, updating method calls, or making consistent changes across multiple locations.
feature-planning
Break down feature requests into detailed, implementable plans with clear tasks. Use when user requests a new feature, enhancement, or complex change.