setup-indexinglisted
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