recon · prathamdby — Claude Code skill: what it does and how to install
recon reads a saved repository map, creates one from the current codebase, or refreshes it after changes. It helps agents navigate an unfamiliar project.
npx skills add prathamdby/skills --skill recon -a claude-codeWhat recon does
recon routes each request to one of three modes: read an existing report, map the repository from scratch, or update a stored map. The report covers layout, entry points, modules, data flows, commands, conventions, gotchas, and evidence for each claim. A read operation presents the saved state without inspecting source files to refresh it.
The skill keeps memory in memory/ outside the target repository and checks HEAD, dirty paths, and the real Git common directory. Mapping uses a ledger, writes snapshots through temporary files, and replaces them atomically. Reports show coverage, stale metadata, drift, and the dirty overlay. If a request combines read and rebuild instructions, the terminal status is BLOCKED.
What it helps with
- read a saved codebase map
- map the current repository
- refresh the map after code changes
- compare stored
HEADwith the current commit - show dirty paths over the saved map
Example prompts for the agent
- Read the saved codebase map and show its limitations.
- Refresh the repository map after the latest changes.
- Rebuild the current repository map from scratch and cite the evidence.
How to install recon
1Skills CLI (Vercel)
npx skills add prathamdby/skills --skill recon -a claude-code2Manually: put the files in place
~/.claude/skills/recon/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/recon/
1Skills CLI (Vercel)
npx skills add prathamdby/skills --skill recon -a codex2Manually: put the files in place
.agents/skills/recon/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add prathamdby/skills --skill recon -a cursor2Manually: put the files in place
.cursor/skills/recon/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install prathamdby/skills recon2Manually: put the files in place
.github/skills/recon/SKILL.md1Skills CLI (Vercel)
npx skills add prathamdby/skills --skill recon -a gemini-cli2Platform CLI
gemini skills install https://github.com/prathamdby/skills --path skills/engineering/reconManually: put the files in place
.devin/skills/recon/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add prathamdby/skills --skill recon -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about recon
How do I install recon in Claude Code?
Run npx skills add prathamdby/skills --skill recon -a claude-code. The skill file is available at ~/.claude/skills/recon/SKILL.md.
What does recon do?
It reads an existing repository map, creates a new map, or updates one after changes. The report connects claims to evidence and exposes its coverage.
What happens when a request asks for both reading and rebuilding?
The request ends with the BLOCKED status. A read request alone does not refresh claims or change files.
Source text
SKILL.md · MIT
--- name: recon description: > recon to read a saved codebase map, map the current repo, or refresh it after changes. --- # Recon ## Route and memory Default: patch existing memory, otherwise map cold. "Read the existing report" or "show the saved map" selects **read**, never refresh or rebuild. "Refresh", "rebuild", or "from scratch" selects rebuild. A named area is the focus. Conflicting read/rebuild or rebuild/patch wording is `BLOCKED`. Resolve `<anchor>` as this skill's absolute directory; memory stays in `<anchor>/memory/`, outside the target repo. Resolve repo root, HEAD, dirty paths, and the real absolute Git common directory. A shared-checkout key is `<label>-<hash8>.md`: hash the common directory with SHA-256; take eight digits. Label is its parent's basename for `.git`, otherwise its own basename. Try that key first, then legacy keys hashing the current root and the primary checkout root from `git worktree list --porcelain`. For each candidate, verify frontmatter `repo` resolves to this same common directory. A matching SHA alone does not establish repository identity. Unverifiable identity is `BLOCKED`. Prefer the shared key; multiple legacy candidates with different heads require an explicit path. A supplied report path must pass the same identity check. Frontmatter: `repo` (primary checkout root), full commit `head`, ISO `updated`. Sections: Layout, Entry points, Modules, Data flows, Commands, Conventions, Gotchas, Evidence. Every claim cites evidence; at most ten bullets per section and 200 lines total. Validate, write a sibling `.tmp`, then rename atomically. ## 1. Locate Record `route | memory | stored head | HEAD | dirty | current | pending | terminal`. For **read**, open only existing memory: create no directory, ledger, or snapshot. For map/rebuild, persist the ledger at `<memory>.ledger` through atomic rename after each item; delete it on success. Done when route and candidates are fixed. ## 2. Read or map **Read:** return the saved map with snapshot path/date/head, coverage, and dirty overlay. Compare stored head to HEAD; disclose stale or unresolvable metadata, but do not repair it or inspect source to refresh claims. No report → `NO_REPORT`, naming searched paths. Done with `READ` when the saved map and limitations are presented and no file changed. **Map:** use `references/mapping.md` for cold/rebuild exploration or committed warm drift. A missing/unresolvable head takes the cold path. Reuse verified legacy memory, but write new snapshots to the shared key; leave legacy files untouched. Done when every section has evidence or `None found`, limits hold, and the stored head equals current HEAD. ## 3. Resume and report After interruption, recompute HEAD and changed paths; restart affected work when the ledger differs. Resume the first pending item. Present the map in thread, labeling sections rebuilt, patched, or representative-only; cite its path, focus, drift, unverified areas, and dirty overlay. Warm maps end with `Drift since last recon`. Done when each claim's coverage is disclosed. Terminals: `READ`, `NO_REPORT`, `SUCCESS`, `BLOCKED`. Stored `head` always names a real commit on writes. Memory is a map, not an inventory or history.
© prathamdby · MIT · prathamdby/skills
Similar skills
SKILL.md skills catalog →recon by other authors comes first.