Codebase Knowledge Graph for Cheap Navigation
Builds a queryable code graph so Claude answers where-is and what-breaks questions by reading a few files, not the whole repo.
Before & after
Same prompt, same agent — the only difference is the skill.
Let me search the codebase for rate limiting. I'll need to look through the files. Based on common patterns, rate limiting is often found in: - Middleware files - API route handlers - A dedicated utils or lib directory Let me read through the project structure and check the most likely locations... [reads 40+ files across src/, api/, and middleware/ before answering] I found a rate limiter in src/middleware/rateLimit.ts. It appears to be used in some API routes, though I'd need to check each route to confirm which ones.
Queried the graph — no repo scan needed. rate limiting → 3 definitions, 11 call sites DEFINED lib/rate-limit.ts:14 slidingWindow() ← the real implementation lib/rate-limit.ts:52 perIpLimiter() → wraps slidingWindow middleware.ts:8 edgeLimiter() → separate, Redis-free, edge only CALLED FROM perIpLimiter → api/auth/login, api/auth/register, api/checkout (+2) edgeLimiter → middleware.ts matcher: /api/public/* slidingWindow → called directly in api/webhooks/stripe:31 ⚠ bypasses perIpLimiter's logging DEPENDS ON lib/redis.ts (ioredis) — edgeLimiter does NOT, so limits aren't shared across the two paths 3 files read instead of 40+.
About this skill
Claude keeps re-reading half your repo to answer "where is this handled?" It burns context, and it still sometimes follows the wrong function with the same name. This skill turns the repo into a persistent graph of files, symbols, imports, calls, routes, and data access. Claude traverses that graph and opens only the handful of files on the path.
What it does
- Writes an extractor for your stack. It uses real parsers first (language AST tooling, tree-sitter, ctags) and falls back to regex only as a last resort.
- Labels every edge as resolved, name-match, or inferred, so a guessed call is never presented as a confirmed one.
- Detects hub modules like loggers and utils, and keeps them from flooding every traversal.
- Checks the graph against git HEAD before each query and re-extracts only the changed files.
- Answers "where is X handled", "what breaks if I change X", and "how does data reach this table" with a cited path and a list of the files it read.
- Names the blind spots that static graphs miss: dependency injection, event buses, dynamic imports, and string-keyed routing.
What you get
The graph lives in a .codegraph/ folder: nodes and edges as JSONL, freshness metadata, and a short MAP.md that a CLAUDE.md pointer references. Each query returns a traversal path, a confidence label, the exact files and lines read, and what was not checked.
Best for
Developers using Claude Code on repos with hundreds of files or more, including monorepos. It suits anyone doing impact analysis before refactors, or anyone tired of paying context tokens to rediscover the same call chains every session.
SKILL.md preview
---
name: codebase-knowledge-graph-navigation
description: Builds and queries a persistent code graph of files, symbols, imports, calls, routes, and data access. The graph is stored as plain JSONL plus a short map file and updated incrementally from git diffs. Questions about a large repo are answered by traversing edges and reading only the 3-8 files on the path. Use when the user says "map this repo so you stop re-reading everything", "where is X handled", "what breaks if I change this function", "build a dependency graph of the codebase", "you keep burning context exploring the same files", "trace how a request flows from the API to the database", or "my code index is out of date".
---
… (sign up to view the full skill)More development skills
View all Development skills →Performance Bottleneck Profiling: Node, Python, Go
Classifies a slowdown, gives exact profiler commands, reads the output, and proves the fix with same-conditions p95/p99 numbers.
Feature Scaffolding with Working Tests
Turn a short feature spec into code, runnable tests, and integration wiring that match your existing project.
Feature Flag Rollouts and Kill Switches
Design staged flag rollouts, verify rollback paths, and audit flag debt with explicit defaults, gates, and retirement plans.
Microcontroller Firmware and RTOS Engineering
Build and debug MCU firmware with bounded ISR/RTOS timing, safe DMA ownership, and measured power budgets.