repo-maplisted
Install: claude install-skill chuckplayer/claude-agent-pack
# Repo Map
Maintain a durable, cross-session map of the codebase at **directory/module granularity** — one entry per meaningful directory, with only its 1–3 entry-point files called out by name. The map lives at `memory/architecture/repo-map.md`, so it is read by every agent via the memory rule and auto-synced to Obsidian by the memory-snapshot hook.
The map is stamped with the git commit it was last verified against (`Verified-at-commit`). That stamp is what makes it resilient: staleness is a `git diff` question, not a guess, and refreshes re-describe only the directories that actually changed.
If `memory/` does not exist in this project, report that and suggest `/setup-project` — do not create it here.
## Modes
Pick the mode from context. Default to **refresh** when the file already exists, **generate** when it does not.
### generate — no map exists yet
1. `git rev-parse --short HEAD` to capture the current commit.
2. Glob the tree (respecting `.gitignore`) to enumerate meaningful directories. Skip vendored/build/output dirs (`node_modules`, `bin`, `obj`, `dist`, `.git`, `target`, `venv`).
3. For each directory, determine its purpose from the files it contains and name the 1–3 files a newcomer would open first (entry points, orchestrators, config roots).
4. Write `memory/architecture/repo-map.md` using the format below, stamping `Verified-at-commit` with the HEAD from step 1.
### refresh — map exists (default)
1. Read the map's `Verified-at-commit` value.
2. `git d