Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Navigate a codebase by map instead of reading files wholesale — a deterministic stdlib script that emits the tree with line counts and top-level symbols, plus the read-the-map-first discipline that cuts exploration tokens by an order of magnitude. Use when asked explore this repo efficiently, stop re-reading the whole codebase, make a map of this project, or which files should the agent actually open. Produces the compact map with its token math (map vs. everything), the navigation discipline, a
.claude/skills/mohitagw15856-repo-map/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -25% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 617% | 0% |
Agents burn their context windows on exploration: reading ten files to find the one, re-reading them next session, paying full price for code that was only ever navigation. The fix is the oldest one in computing — an index. This skill generates a compact, deterministic map (tree + line counts + top-level symbols via regex, no parser dependencies, nothing leaves the machine) and installs the discipline that makes it pay: read the map first, open only the files whose names and symbols match the task. The script prints its own economics: a typical map costs ~3% of reading everything.
Ask for these if not provided:
src/ beats mapping node_modules' ancestors)--max-files guards the map's own size; a 40,000-file map defeats itself)bashpython3 scripts/repo_map.py . python3 scripts/repo_map.py src --max-files 400 --max-symbols 8
Deterministic (sorted walk), stdlib-only, local. Skips .git, node_modules, build dirs. Symbols via per-language regex — deliberately humble: top-level names, not a full graph; the point is navigation, not analysis. Header prints files, lines, and the map-vs-everything token comparison.
refund appears in billing/refunds.py → process_refund, RefundPolicy") — the map converts "read around and see" into a shortlist, and the shortlist is the saving.The script's map output]
Open: the shortlist, with the matching symbol/name per file] Skip: the big directories the task doesn't touch] If not found: the grep to run next, on the shortlist first]
--max-files and subdirectory scoping exist because a bloated map is just a slower file dumpThe codebase-as-index pattern — local knowledge graphs for agent navigation (as in Graphify, which does the full tree-sitter graph version) — distilled here into a zero-dependency, deterministic map with the read-the-map-first discipline.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→fail | 18,542 | 19,556 | +5% | 1 | 1 | 0% | 3,045 | 1,588 | -48% | 0 | 0 | — |
case-02 | pass→pass | 18,717 | 21,684 | +16% | 1 | 1 | 0% | 3,032 | 4,677 | +54% | 0 | 0 | — |
case-03 | pass→pass | 18,113 | 32,066 | +77% | 1 | 1 | 0% | 2,394 | 4,991 | +108% | 0 | 0 | — |
case-04 | pass→pass | 20,652 | 18,856 | -9% | 1 | 1 | 0% | 2,425 | 3,317 | +37% | 0 | 0 | — |
case-05 | pass→pass | 17,104 | 10,253 | -40% | 1 | 1 | 0% | 1,934 | 2,761 | +43% | 0 | 0 | — |
case-06 | fail→pass | 16,514 | 6,846 | -59% | 1 | 1 | 0% | 1,926 | 2,482 | +29% | 0 | 0 | — |
case-07 | fail→pass | 21,715 | 17,162 | -21% | 1 | 1 | 0% | 2,457 | 3,182 | +30% | 0 | 0 | — |
case-08 | fail→pass | 20,125 | 7,806 | -61% | 1 | 1 | 0% | 2,045 | 1,524 | -25% | 0 | 0 | — |
case-09 | pass→pass | 14,659 | 12,779 | -13% | 1 | 1 | 0% | 2,338 | 2,254 | -4% | 0 | 0 | — |
case-10 | pass→pass | 17,567 | 6,649 | -62% | 1 | 1 | 0% | 1,574 | 2,253 | +43% | 0 | 0 | — |
case-11 | fail→pass | 21,181 | 12,587 | -41% | 1 | 1 | 0% | 2,144 | 2,207 | +3% | 0 | 0 | — |
case-12 | pass→pass | 15,957 | 12,506 | -22% | 1 | 1 | 0% | 1,568 | 2,154 | +37% | 0 | 0 | — |
case-13 | pass→pass | 10,570 | 11,670 | +10% | 1 | 1 | 0% | 821 | 2,125 | +159% | 0 | 0 | — |
case-14 | fail→pass | 3,334 | 5,037 | +51% | 1 | 1 | 0% | 241 | 1,729 | +617% | 0 | 0 | — |
case-15 | pass→pass | 22,284 | 9,310 | -58% | 1 | 1 | 0% | 2,217 | 2,611 | +18% | 0 | 0 | — |
case-16 | pass→pass | 8,259 | 8,788 | +6% | 1 | 1 | 0% | 1,212 | 1,633 | +35% | 0 | 0 | — |
case-17 | pass→pass | 17,571 | 2,492 | -86% | 1 | 1 | 0% | 1,601 | 1,582 | -1% | 0 | 0 | — |
case-18 | pass→pass | 17,426 | 9,716 | -44% | 1 | 1 | 0% | 1,885 | 1,825 | -3% | 0 | 0 | — |
case-19 | fail→pass | 22,064 | 16,724 | -24% | 1 | 1 | 0% | 2,156 | 2,759 | +28% | 0 | 0 | — |
case-20 | pass→pass | 13,137 | 14,922 | +14% | 1 | 1 | 0% | 1,827 | 2,515 | +38% | 0 | 0 | — |
case-21 | pass→pass | 17,666 | 12,761 | -28% | 1 | 1 | 0% | 1,656 | 2,195 | +33% | 0 | 0 | — |
case-22 | pass→pass | 51,436 | 25,996 | -49% | 1 | 1 | 0% | 8,215 | 3,978 | -52% | 0 | 0 | — |
case-23 | fail→pass | 16,735 | 8,439 | -50% | 1 | 1 | 0% | 1,770 | 1,579 | -11% | 0 | 0 | — |
case-24 | pass→pass | 16,618 | 16,713 | +1% | 1 | 1 | 0% | 2,586 | 3,049 | +18% | 0 | 0 | — |
case-25 | pass→pass | 11,835 | 12,283 | +4% | 1 | 1 | 0% | 1,646 | 2,336 | +42% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted, and 24 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +24 percentage points is the difference between those two pass rates over the 24 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.