From Prism
Navigate a codebase structurally with the prism-mcp tools (nav_repo_map, nav_nodes_at, nav_callers, nav_callees, nav_ego_graph, nav_module_deps) instead of grepping. Use when you need to know who calls a symbol, what a symbol calls, what breaks if you change it, the call/dependency graph around it, or the repo's module structure — i.e. "find callers/callees", "impact of changing X", "what depends on Y", "who uses Z", "module dependencies", "trace the call graph". Requires the prism MCP server (tools named mcp__prism__nav_* for Claude/Codex, bare nav_* for Kiro).
How this skill is triggered — by the user, by Claude, or both
Slash command
/prism:prism-code-navigationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Prism's MCP server answers **structural** questions over a Code Property Graph of the repo. Reach for it
Prism's MCP server answers structural questions over a Code Property Graph of the repo. Reach for it instead of grep whenever the question is "who/what is connected to this symbol" rather than "where does this text appear." It resolves calls and imports across files — grep can't.
| Question | Tool | Don't grep because |
|---|---|---|
| "Where am I? what's the module structure?" | nav_repo_map | grep can't build a dependency graph |
| "What's defined / called at this line?" | nav_nodes_at | resolves the actual symbol, not the text |
"Who calls X? what breaks if I change it?" | nav_callers | finds call sites across files, not name matches |
"What does X call / depend on?" | nav_callees | follows resolved edges, not string hits |
"Show the local graph around X." | nav_ego_graph | one call gives the neighborhood |
| "What does this file import/depend on?" | nav_module_deps | module edges, not import-line text |
Use grep/Read when you want literal text, comments, strings, config values, or a symbol prism can't resolve (see Gotchas).
nav_repo_map (no args) once, if you don't already know the layout.{kind: "symbol", name: "process_order"} (add {file} to disambiguate a common name).nav_nodes_at({file, line}) → take a node from the result and seed the graph tools with it.nav_callers for impact-of-change,
nav_callees for dependencies, nav_ego_graph for the neighborhood. One hop is usually enough.file:line, then act (read the specific sites, make the change, etc.).This is a sharpening step, not a goal. A couple of calls should answer most structural questions.
nav_nodes_at matches the exact line. Empty result ⇒ you're a line or two
off — aim at the symbol's definition line or a call line, not a blank/comment/brace line.nav_nodes_at first)
for a specific variable or an overloaded/ambiguous name.Evidence JSON envelope: a list of evidence items, each with a
location (file, start_line, end_line) and a symbol/reason. Read location to jump to the site.--repo). It cannot see
sibling repos, third-party dependencies, or the standard library. Callers/callees outside the tree
simply aren't there — that's not "no callers," it's "out of scope."max_results (~200 nodes). A returned nav_ego_graph/nav_repo_map may be a
partial view. If it looks clipped, narrow the seed rather than trusting it as complete.::-qualified, use-imported, and free-function calls. The known gaps:
Type::method where the type name differs from the file stem, and cross-file method/receiver calls
(obj.method() where obj's type lives elsewhere). For those, callers/callees may be incomplete
or point at a same-named method on the wrong type. Verify a method-dispatch edge by reading the site
before relying on it for a refactor.docs/MCP.md.)slicing CLI (see
the prism-code-slicing skill). The MCP server navigates a whole repo; it does not take a patch."What breaks if I change the signature of
build_cfg_edges?"
nav_callers({kind: "symbol", name: "build_cfg_edges"})file:line call sites; each is a caller that must be updated.Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
npx claudepluginhub shoedog/prism --plugin prism