Analyze the current code changes against 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).
layers[] — each has {id, name, description, nodeIds[]}
tour[] — each has {order, title, description, nodeIds[]}
How to Read Efficiently
Use Grep to search within the JSON for relevant entries BEFORE reading the full file
Only read sections you need — don't dump the entire graph into context
Node names and summaries are the most useful fields for understanding
Edges tell you how components connect — follow imports and calls for dependency chains
Instructions
Resolve the data directory $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. If not, tell the user to run /understand first.
Get the changed files list (do NOT read the graph yet):
If on a branch with uncommitted changes: git diff --name-only
If on a feature branch: git diff main...HEAD --name-only (or the base branch)
If the user specifies a PR number: get the diff from that PR
Read project metadata and check graph freshness — use Grep or Read with a line limit to extract the "project" section, including gitCommitHash as GRAPH_COMMIT_RAW, then:
Resolve it as a commit before using it in any Git diff. From the project root, compare the resolved commit with git rev-parse HEAD and inspect project-scoped committed and working-tree changes:
The -- . 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.
Ignore the selected data directory (.ua/ or legacy .understand-anything/) in every command's output because it contains generated graph artifacts, not project source drift.
If the committed diff or any working-tree command reports project files, warn before impact analysis that the graph may omit those changes. Suggest: Run /understand to refresh the graph.
Run the commit diff only when 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.
Find nodes for changed files — for each changed file path, use Grep to search the knowledge graph for:
Nodes with matching "filePath" values (e.g., grep "changed/file/path")
This finds file-level nodes (including non-code types) AND function/class nodes defined in those files
Note the id values of all matched nodes
Find connected edges (1-hop) — for each matched node ID, Grep for that ID in the edges to find:
What imports or depends on the changed nodes (upstream callers)
What the changed nodes import or call (downstream dependencies)
These are the "affected components" — things that might break or need updating
Identify affected layers — Grep for the matched node IDs in the "layers" section to determine which architectural layers are touched.
Provide structured analysis:
Changed Components: What was directly modified (with summaries from matched nodes)
Affected Components: What might be impacted (from 1-hop edges)
Affected Layers: Which architectural layers are touched and cross-layer concerns
Risk Assessment: Based on node complexity values, number of cross-layer edges, and blast radius (number of affected components)
Suggest what to review carefully and any potential issues
Write diff overlay for dashboard — after producing the analysis, write the diff data to $UA_DIR/diff-overlay.json so the dashboard can visualize changed and affected components. The file contains:
{
"version": "1.0.0",
"baseBranch": "<the base branch used>",
"generatedAt": "<ISO timestamp>",
"changedFiles": ["<list of changed file paths>"],
"changedNodeIds": ["<node IDs from step 4>"],
"affectedNodeIds": ["<node IDs from step 5, excluding changedNodeIds>"]
}
After writing, tell the user they can run /understand-anything:understand-dashboard to see the diff overlay visually.
understandegonex-aiAnalyze a codebase to produce an interactive knowledge graph for understanding architecture, components, and relationships4,6004,600 instalaciones en skills.sh0
understand-dashboardegonex-aiLaunch the interactive web dashboard to visualize a codebase's knowledge graph3,4003,400 instalaciones en skills.sh0
understand-explainegonex-aiUse when you need a deep-dive explanation of a specific file, function, or module in the codebase3,4003,400 instalaciones en skills.sh0
understand-chategonex-aiUse when you need to ask questions about a codebase or understand code using a knowledge graph3,3003,300 instalaciones en skills.sh0
understand-onboardegonex-aiUse when you need to generate an onboarding guide for new team members joining a project3,3003,300 instalaciones en skills.sh0