← ClaudeAtlas

setup-indexinglisted

Install a greppable code index so agents locate files/symbols without rescanning the project every session — generates an index.sh (dirs/files/symbols with file:line, per repo or workspace member), wires .gitignore + CLAUDE.md, offers a SessionStart refresh hook, then runs a validation pipeline (syntax, edge-case sandbox, measured recall check, staleness detection, optional A/B benchmark). Use whenever the user wants to set up code indexing, complains that the agent re-scans/re-explores the whole project to find things, asks to make agent search faster/cheaper, or mentions a project index, code map, symbol index, or ctags-like setup for agents.
Myra-Agents/skills · ★ 0 · Data & Documents · score 72
Install: claude install-skill Myra-Agents/skills
# Setup code indexing for agents Install a per-repo greppable index at `.claude/index/<member>.md` with three sections — `## dirs`, `## files`, `## symbols` (`path:line:definition`) — so an agent answers "where is X?" with one grep on one file instead of fanning Glob/Grep/Read across the tree. Measured effect on a real multi-repo workspace: same accuracy as free exploration, ~30% less context processed, ~40% less wall time, zero junk matches (worktree/vendored copies excluded by construction). The work has two halves and the second is not optional: **install**, then **validate with measurements**. Every gate in the validation pipeline exists because skipping it shipped a real bug at least once. ## 1. Survey the project (before writing anything) - **Layout**: single repo, or a workspace whose members are separate gitignored clones (check `.gitignore` for directory entries like `/app/`)? Each indexed unit needs its own `.git`. - **Submodules**: `cat .gitmodules` in each member. `git ls-files` does not descend into them — the template handles this, but you need to know they exist to verify they got indexed. - **Languages**: the template covers TS/JS (incl. routes), Rust, Go, shell, Python, and extensionless node/sh/python shebang executables. Anything else (Ruby, Java, C#…) needs a `PAT_*` + an `all_symbols` line — POSIX ERE only (must run on BSD grep), anchor definitions, favor recall over precision. - **Existing tooling**: if the project already has ctags/LSP