← ClaudeAtlas

analyzelisted

Generate or refresh the project map — the structural overview an agent reads before touching unfamiliar parts of the codebase. Use when the user says /analyze, after a structural change, or when the map has gone stale.
oldmilky/luno-for-cc · ★ 0 · AI & Automation · score 75
Install: claude install-skill oldmilky/luno-for-cc
Write `.claude/project-map.md`: what lives where, what talks to what, and where the load-bearing pieces are. Optional `$ARGUMENTS` narrows the refresh to one area instead of the whole tree. The map is **not auto-loaded** — `CLAUDE.md` is. This is the file an agent reads on demand before working somewhere it has not been, which is why it must be short enough to actually read and honest about size. ## What to gather Measure, do not recall: ```bash git ls-files -- src webview/src | xargs wc -l | sort -rn | head -20 git ls-files -- src webview/src | wc -l ``` - **Both halves.** `src/` is the extension host, `webview/src/` is the React app. They are separate builds joined by `postMessage`, and that seam is the single most important thing on the map. - **The protocol.** Enumerate the message union in `webview/src/lib/rpc.ts` by area — chat, permissions, plan, skills, MCP, checkpoints — with a count each, both directions. A reader wants to know the shape, not all hundred names. Then say **what enforces it**: `HandlerTable` in `src/ui/messages.ts` makes a missing handler a compile error, and `test/unit/protocol-contract.test.ts` fails when the two declarations drift. That answer changes over time and is the most useful sentence on the map — check it, do not copy it forward. - **Entry points.** `extension.ts`, `panel.ts`, `main.tsx`, and what each owns. - **The pure core.** `src/core/*` imports no VS Code API and is unit-tested in isolation — say so, because it