一键导入
understand-diff
Use when you need to analyze git diffs or pull requests to understand what changed, affected components, and risks
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when you need to analyze git diffs or pull requests to understand what changed, affected components, and risks
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | understand-diff |
| description | Use when you need to analyze git diffs or pull requests to understand what changed, affected components, and risks |
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).
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[]}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):
git diff --name-onlygit diff main...HEAD --name-only (or the base branch)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:
git rev-parse HEAD and inspect project-scoped committed and working-tree changes:
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.Find nodes for changed files — for each changed file path, use Grep to search the knowledge graph for:
"filePath" values (e.g., grep "changed/file/path")id values of all matched nodesFind connected edges (1-hop) — for each matched node ID, Grep for that ID in the edges to find:
Identify affected layers — Grep for the matched node IDs in the "layers" section to determine which architectural layers are touched.
Provide structured analysis:
complexity values, number of cross-layer edges, and blast radius (number of affected components)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.
Analyze a codebase to produce an interactive knowledge graph for understanding architecture, components, and relationships
Use when you need to ask questions about a codebase or understand code using a knowledge graph
Extract business domain knowledge from a codebase and generate an interactive domain flow graph. Works standalone (lightweight scan) or derives from an existing /understand knowledge graph.
Use when you need a deep-dive explanation of a specific file, function, or module in the codebase
Use when you need to generate an onboarding guide for new team members joining a project
Launch the interactive web dashboard to visualize a codebase's knowledge graph