agent/skills/codemapper/SKILL.md
Analyzes codebases by mapping symbols (functions, classes, methods) using tree-sitter AST parsing. Use when exploring unknown code, finding bugs, understanding call graphs, or validating code health.
npx skillsauth add knoopx/pi codemapperInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
cm)Maps symbols across your codebase using tree-sitter AST parsing. Everything runs in-memory — no databases. Supports Python, JavaScript/TypeScript, Rust, Java, Go, C, Swift, and Markdown.
Start with project overview, then drill down:
cm stats . # File counts, symbol breakdown, parse timing
cm map . --level 2 --format ai # File structure with symbol counts (compact)
cm query <symbol> # Find functions, classes, methods (fuzzy search)
cm inspect ./path/to/file # Deep dive into one file
Trace the suspected code and its callers:
cm query <suspected_function> --show-body # See the implementation
cm callers <function> # Who calls this?
cm trace <entry_point> <suspected_function> # Call path A → B
cm tests <function> # Find tests for it
Understand impact before changing:
cm callers <function> # Reverse dependencies — who calls this?
cm callees <function> # Forward dependencies — what does it call?
cm tests <function> # Verify coverage exists
cm since main --breaking # Breaking changes vs main
cm entrypoints . # Public exported symbols with no internal callers
cm implements <interface> # All implementations of an interface
cm schema <DataClass> # Field structure for structs, classes, dataclasses
cm diff main # Symbol-level changes vs a commit
cm since v1.0 --breaking # Breaking API changes since a tag
cm blame <symbol> ./file.rs # Who last modified this symbol?
cm history <symbol> # Full evolution of a symbol across commits
--format ai — compact output optimized for LLM context (recommended)--show-body — include actual code, not just signatures--exact — case-sensitive matching (default is fuzzy)--no-cache — always reindexcm stats . to understand project composition before deeper queries--format ai for the most token-efficient outputtools
Inform the user what is happening — skip passive lookups
development
Renders markdown to self-contained HTML with a custom dark stylesheet and opens in browser. Use when previewing markdown documents, generating styled HTML from README or report files.
testing
Programmatic hunk selection for Jujutsu — split, commit, or squash specific hunks without interactive prompts. Use when making partial commits or selective squashes.
content-media
Manage version control with Jujutsu (jj) — no staging area, immediate changes, smart rebasing. Use when navigating history, squashing, or pushing to Git remotes.