Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Knowledge graph integration for token-efficient codebase understanding. Uses codebase-memory MCP for AST indexing, dependency graphs, and smart context selection. 6-71x token savings vs raw file reading.
.claude/skills/knowledge-graph/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 100% | 12 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-19 | ✗→✓ | ▲ Improved | — | — |
| case-05 | ✗→✓ | ▲ Improved | — | — |
| case-01 | ✗→✓ | ▲ Improved | — | — |
| case-13 | ✗→✓ | ▲ Improved | — | — |
| case-12 | ✗→✓ | ▲ Improved | — | — |
Transform any codebase into a queryable knowledge graph using codebase-memory MCP server. Instead of reading entire files, query the graph for exactly the context you need.
Token savings: 6-71x reduction compared to raw file reading.
~/bin/codebase-memory-mcp or via npm)~/.mcp.json:json{ "mcpServers": { "codebase-memory": { "command": "/path/to/codebase-memory-mcp", "args": [] } } }
mcp__codebase-memory__index_repository
project_name: "my-project"
repo_path: "/path/to/repo"First index takes 30-120s depending on repo size. Subsequent updates are incremental.
mcp__codebase-memory__index_status
project_name: "my-project"mcp__codebase-memory__search_code
project_name: "my-project"
query: "authentication middleware"Returns relevant code snippets without reading entire files.
mcp__codebase-memory__get_architecture
project_name: "my-project"Returns high-level architecture: modules, dependencies, entry points.
mcp__codebase-memory__trace_call_path
project_name: "my-project"
from_symbol: "handleLogin"
to_symbol: "validateToken"mcp__codebase-memory__query_graph
project_name: "my-project"
query: "what depends on auth module?"| Scenario | Without Graph | With Graph | |----------|--------------|------------| | Code review | Read all changed files + imports | Query impact of changes | | Bug investigation | Read 10-20 files manually | Trace call path to bug | | Refactoring | Read entire module | Query all dependents | | Architecture review | Read project top-down | Get architecture overview |
Before reviewing, query the graph for the blast radius of changes:
search_code("functions that call {changed_function}")Get architecture overview before proposing changes:
get_architecture("project")Trace call paths to understand bug propagation:
trace_call_path("buggy_function", "entry_point")| Operation | Raw Reading | Graph Query | Savings | |-----------|-----------|-------------|---------| | Find all callers of function | ~50K tokens | ~700 tokens | 71x | | Architecture overview | ~200K tokens | ~3K tokens | 67x | | Impact analysis for PR | ~30K tokens | ~2K tokens | 15x | | Find related tests | ~20K tokens | ~1.5K tokens | 13x |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
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 19 counted toward the lift figure. The other 3 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 +59 percentage points is the difference between those two pass rates over the 19 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.