Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Map an indexed source-code repo into a structured overview — scale, communities, central symbols, execution flows, API surface, recent activity. Use when the user wants to explore, understand, onboard to, map, or get an overview of an indexed source-code repo, architecture, modules, or major flows. Do not use Glob, find, tree, rg, or manual file browsing as the first exploration path; Memtrace provides structured graph briefing. Do NOT use for change history / what-changed questions — use memtra
.claude/skills/syncable-dev-memtrace-codebase-exploration/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-20 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 58% | 0% |
Full codebase exploration workflow — from indexing through architectural understanding. Chains indexing, graph algorithms, community detection, and temporal analysis into a structured onboarding experience. Use this when someone is new to a codebase and needs to build a mental model.
Call list_indexed_repositories first. If the repo is already indexed, skip to step 2.
Otherwise, call index_directory with the project path, then poll check_job_status until completion.
Success criteria: Repo appears in list_indexed_repositories with non-zero node/edge counts.
Call get_repository_stats to understand scale:
Report these numbers to the user — they set expectations for the codebase's size and complexity.
Call list_communities to see how the codebase naturally clusters into logical modules.
Decision: If >10 communities, summarize the top 5–7 by size and let the user ask about specific ones.
Each community represents a cohesive module — these are the "areas" of the codebase.
Call find_central_symbols — PageRank over CALLS/REFERENCES edges (no method param):
json{ "repo_id": "<repo>", "limit": 15 }
These are the symbols that the rest of the codebase depends on most heavily. They form the "skeleton" of the architecture.
Call find_bridge_symbols to identify chokepoints — symbols that connect otherwise-separate parts of the codebase.
Decision: If bridge symbols overlap heavily with central symbols, flag them as critical infrastructure — high importance AND single point of failure.
Call list_processes to discover entry points:
This shows HOW the code is actually used at runtime, not just how it's structured.
Call find_api_endpoints to list all HTTP routes.
Decision: If multiple repos are indexed, also call get_api_topology to map service-to-service dependencies.
Call get_evolution to see recent activity:
json{ "repo_id": "<repo>", "from": "30d ago", "mode": "overview" }
Check totals.episode_count and episode boundaries. For file/symbol hotspots, switch to compound:
json{ "repo_id": "<repo>", "from": "30d ago", "mode": "compound" }
Review top_changed_files and top_touched_symbols.
Call find_most_complex_functions:
json{ "repo_id": "<repo>", "top_n": 10 }
Full parameter spec for every Memtrace tool: references/mcp-parameters.md (bundled at the memtrace-skills plugin root).
Synthesize findings into a structured overview:
The deliverable is the 7-part overview above. Skeleton (one headline per part):
EngineHandle::open (central AND bridge — flag it)top_changed_files| Mistake | Reality | |---------|---------| | Skipping indexing and using file-based grep | The knowledge graph provides structural understanding that grep cannot — callers, callees, communities, processes | | Reporting raw numbers without interpretation | "450 functions across 12 communities" means nothing; describe what each community does | | Only looking at code structure | Execution flows (processes) show how the code is actually used — always include them | | Ignoring temporal context | Recent evolution shows where active development is happening — this is where the user will likely need to work |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-19 | pass→pass | 15,096 | 10,576 | -30% | 1 | 1 | 0% | 2,149 | 2,729 | +27% | 0 | 0 | — |
case-01 | fail→fail | 5,370 | 8,270 | +54% | 1 | 1 | 0% | 333 | 1,422 | +327% | 0 | 0 | — |
case-02 | fail→fail | 4,226 | 3,465 | -18% | 1 | 1 | 0% | 185 | 1,654 | +794% | 0 | 0 | — |
case-03 | fail→fail | 21,736 | 3,799 | -83% | 1 | 1 | 0% | 424 | 1,348 | +218% | 0 | 0 | — |
case-04 | pass→pass | 15,007 | 17,168 | +14% | 1 | 1 | 0% | 3,116 | 4,613 | +48% | 0 | 0 | — |
case-05 | pass→fail | 7,738 | 2,814 | -64% | 1 | 1 | 0% | 1,366 | 1,309 | -4% | 0 | 0 | — |
case-06 | pass→fail | 12,648 | 10,061 | -20% | 1 | 1 | 0% | 2,446 | 1,612 | -34% | 0 | 0 | — |
case-20 | fail→pass | 6,844 | 1,965 | -71% | 1 | 1 | 0% | 1,112 | 1,505 | +35% | 0 | 0 | — |
case-07 | fail→pass | 8,261 | 2,244 | -73% | 1 | 1 | 0% | 1,372 | 1,509 | +10% | 0 | 0 | — |
case-08 | fail→pass | 9,260 | 4,311 | -53% | 1 | 1 | 0% | 1,421 | 1,843 | +30% | 0 | 0 | — |
case-09 | fail→pass | 7,615 | 1,521 | -80% | 1 | 1 | 0% | 1,282 | 1,391 | +9% | 0 | 0 | — |
case-10 | fail→pass | 6,930 | 4,270 | -38% | 1 | 1 | 0% | 1,231 | 1,944 | +58% | 0 | 0 | — |
case-11 | pass→pass | 8,781 | 3,292 | -63% | 1 | 1 | 0% | 1,409 | 1,686 | +20% | 0 | 0 | — |
case-12 | fail→pass | 9,413 | 2,035 | -78% | 1 | 1 | 0% | 1,678 | 1,481 | -12% | 0 | 0 | — |
case-13 | fail→pass | 8,788 | 1,583 | -82% | 1 | 1 | 0% | 1,517 | 1,420 | -6% | 0 | 0 | — |
case-14 | fail→pass | 5,911 | 1,353 | -77% | 1 | 1 | 0% | 1,008 | 1,398 | +39% | 0 | 0 | — |
case-15 | fail→fail | 14,170 | 7,996 | -44% | 1 | 1 | 0% | 2,301 | 2,049 | -11% | 0 | 0 | — |
case-16 | fail→pass | 8,651 | 3,318 | -62% | 1 | 1 | 0% | 1,466 | 1,714 | +17% | 0 | 0 | — |
case-17 | fail→fail | 8,378 | 2,168 | -74% | 1 | 1 | 0% | 1,377 | 1,456 | +6% | 0 | 0 | — |
case-18 | fail→pass | 15,208 | 2,440 | -84% | 1 | 1 | 0% | 2,505 | 1,519 | -39% | 0 | 0 | — |
case-21 | fail→pass | 8,090 | 1,599 | -80% | 1 | 1 | 0% | 1,223 | 1,377 | +13% | 0 | 0 | — |
case-22 | pass→pass | 13,363 | 2,898 | -78% | 1 | 1 | 0% | 1,814 | 1,601 | -12% | 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. 22 cases were attempted, and 17 counted toward the lift figure. The other 5 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 +41 percentage points is the difference between those two pass rates over the 17 comparable cases. 2 cases got worse with the skill loaded, and they are 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.