- name
- code-understand
- description
- Map the load-bearing files, symbols, callers, and dependencies of an unfamiliar codebase before making changes. Use for architecture orientation, impact analysis, what-would-break questions, or finding callers. Uses CodeGraph when available and a dependency-free builtin fallback.
Code Understand — On-Demand Architecture Focus Map
You are about to work in a codebase you don't fully know yet. Instead of grepping around or
reading files at random, ask the local extractor for a focus map: the ranked symbols the
architecture hangs on, each with a file:line citation and evidence type. Read only what it
points at — this is a map, not a substitute for reading the actual code it cites.
When to reach for this
- Before editing an unfamiliar module — see what calls it and what it calls before changing its shape.
- The user asks "how does X work", "what's the impact of changing Y", "who else uses this function" for a codebase, not the wiki.
- You're about to do a large refactor and want a ranked list of load-bearing files instead of reading the whole tree.
- You already have a diff or a set of changed files and want to know their blast radius before finishing the change.
Not for: summarizing what a project does for the wiki (that's wiki-update Step 3b, which
calls this same command as part of a bigger sync flow) — use this skill directly only when you
need the focus map for your own immediate work, not to persist knowledge.
Running it
obsidian-wiki code-understand --project <dir> [--backend auto|builtin|codegraph|graphify] \
[--changed <file>...] [--since <sha>] [--max-symbols N] [--pretty]
--project— defaults to the current directory.- No
--changed/--since— seeds from every tracked file (full-project scan). --changed <file>(repeatable) — seed from specific files you already know are relevant (e.g. files in the diff you're about to make).--since <sha>— seed from everything changed since a git ref (e.g.--since HEAD~5or a base branch).--backend—auto(default) uses CodeGraph when installed, then an existing Graphify graph (graphify-out/graph.json, read only — never rebuilt), and falls back to the builtin extractor otherwise; forcebuiltinfor the dependency-free path,codegraphto require the enhanced backend (fails loudly if it's not installed rather than silently degrading), orgraphifyto require the Graphify graph.--max-symbols— cap the focus map size (default 50); keep this small for a quick orientation pass, raise it for a thorough one.