Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when you need to ask questions about a codebase or understand code using a knowledge graph
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 103% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -31% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 108% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-06 | ✓→✗ | ▼ Worse | -17% | 0% |
Answer questions about this codebase using the knowledge graph in the project's data directory (.ua/knowledge-graph.json, or the legacy .understand-anything/knowledge-graph.json when that directory is present).
The knowledge graph JSON has this structure:
project — {name, description, languages, frameworks, analyzedAt, gitCommitHash}nodes[] — each has {id, type, name, filePath?, summary, tags], complexity, languageNotes?}file:path, function:path:name, config:path, article:pathedges[] — each has {source, target, type, direction, weight}layers[] — each has {id, name, description, nodeIds]}tour[] — each has {order, title, description, nodeIds]}$UA_DIR. Run UA_DIR=$([ -d .understand-anything ] && echo .understand-anything || echo .ua) — this is the legacy .understand-anything/ when it already exists, otherwise the new .ua/. Check that $UA_DIR/knowledge-graph.json exists in the current project root. If not, tell the user to run /understand first.project.gitCommitHash from the graph metadata as GRAPH_COMMIT_RAW. Resolve it as a commit before using it in any Git diff, then compare it with git rev-parse HEAD and inspect project-scoped committed and working-tree changes from the project root:bash GRAPH_COMMIT=$(git rev-parse --verify --end-of-options "${GRAPH_COMMIT_RAW}^{commit}" 2>/dev/null) git rev-parse HEAD git diff --name-only "$GRAPH_COMMIT" HEAD -- . git diff --cached --name-only -- . git diff --name-only -- . git ls-files --others --exclude-standard -- .
-- . pathspec is required: commits that only touch a sibling monorepo project must not make this graph stale. A hash mismatch alone is not stale when the project diff is empty..ua/ or legacy .understand-anything/) in every command's output because it contains generated graph artifacts, not project source drift./understand to refresh the graph.GRAPH_COMMIT_RAW resolves successfully. If the graph commit or Git metadata is missing, invalid, or unavailable, give a brief best-effort warning and continue instead of blocking."project" section from the top of the file for context (name, description, languages, frameworks)."name" fields: grep -i "query_keyword" in the graph file"summary" fields for semantic matches"tags" arrays for topic matchesid values of all matching nodesedges section to find:"layers" to understand which architectural layers the matched nodes belong to.Other measured skills in the registry, with their headline benchmark lift.