mcpbeat

Claudemap Runtime Skill for Claude

Internal ClaudeMap runtime for turning a repository into a live architecture map and driving that map during walkthroughs. Prefer the public commands in .claude/commands for normal use.

75k tokens
context cost
the whole folder, loaded on every use
64
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
285
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/QuinnAho/claudemap --skill claudemap-runtime

The instruction itself

as written by the author

ClaudeMap is a repo-to-architecture-map workflow.

High-level model:

  • snapshot the repository
  • ask @claudemap-architect to 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 $ARGUMENTS as 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.js for the target project root.
  • Read ${CLAUDE_SKILL_DIR}/skill/prompts/enrichment.txt.
  • Use the @claudemap-architect subagent 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.js for 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-refresh only 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-claudemap once the architect issue is resolved.
  • Let the bundled launcher start the app unless the user explicitly asks not to.

10. 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/*).

11. End the graph-generation flow with a short feedback prompt such as: Does this map look right, or should I refine it?

12. If the user says the map is good, stop there.

13. If the user asks for refinement, reuse the current target project's claudemap-cache.json graph and file snapshot as context when available instead of starting from a blank prompt again.

14. 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.js with --enrichment-file so the graph iterates in place.

15. 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 cachePath when one exists so the architect can refine rather than rebuild.
  • Call the @claudemap-architect subagent 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.json and run ${CLAUDE_SKILL_DIR}/skill/commands/create-map.js with --enrichment-file (plus --scope-json and optional --instructions). The command deletes the tmp file after it reads it.
  • If the architect pass fails, the command can still fall back to buildScopedGraphFromRoot by 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's priorGraph option) and rerun the architect. Save the refined JSON to the tmp file and rerun create-map.js with the same --scope-json payload plus --enrichment-file.
  • After the refined scoped graph renders, ask the same short feedback prompt again.

/refresh is change-aware for scoped maps:

  • The root graph is always diffed against the cached snapshot.
  • For each scoped map, if none of its files were in the diff and its cached graph was produced by the architect (meta.source === 'claude-scoped'), the scoped map is preserved untouched — no rebuild, no filter fallback.
  • If the scoped map's files were touched, it is rebuilt from the updated root graph filter and marked needsRebuild: true so the next /create-map pass knows to rerun the architect for that scope.
  • If a scope can no longer be resolved in the new root graph, it is marked stale: true and needsRebuild: true and left for the user to confirm.

Important details:

  • The bundled runtime lives inside this skill directory, so keep all paths anchored to ${CLAUDE_SKILL_DIR}.
  • /setup-claudemap should treat the @claudemap-architect path as the primary path, not an optional extra.
  • The packaged project includes a claudemap-architect subagent in .claude/agents/ for system identification, graph refinement, and human-first graph restructuring.
  • If a cached Claude-authored graph already exists, do not replace it with a heuristic regeneration unless the user explicitly asks for --force-refresh.
  • If the user only wants to reopen the existing map UI, use /open-claudemap instead of rerunning setup.
  • Follow-up refreshes should use the /refresh command shipped in .claude/commands/refresh.md.
  • Graph refinements should prefer ${CLAUDE_SKILL_DIR}/skill/commands/refresh.js --enrichment-file ... over rerunning setup so the current graph context is reused.
  • /show should be treated as a presentation-direction command, not just a low-level transport wrapper.

Other skills for the same job

different authors, same section of the catalogue
MCP Builder
by anthropics
vendor ×13

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

30k tokens scripts
Changelog Generator
by frostant
×9

Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.

774 tokens
Finishing A Development Branch
by ZhanlinCui
×7

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup

1k tokens
MCP Builder
by JayZeeDesign
×7

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

37k tokens scripts
Vercel React Native Skills
by vercel-labs
vendor ×6

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

39k tokens
Vercel React Best Practices
by ratacat
×5

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

34k tokens
Next Best Practices
by vercel-labs
vendor ×4

Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling

20k tokens
Using Git Worktrees
by ZhanlinCui
×4

Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification

1k tokens

How to use it

Copy the folder

Take quinnaho/claudemap-runtime from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.