egonex-ai/understand-explain
Use when you need a deep-dive explanation of a specific file, function, or module in the codebase
npx skills add https://github.com/Egonex-AI/Understand-Anything --skill understand-explain
Provide a thorough, in-depth explanation of a specific code component.
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. 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: 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.src/auth/login.ts): search for "filePath" matchessrc/auth/login.ts:verifyToken): search for the function name in "name" fields filtered by the file pathid, type, summary, tags, and complexity"source" matches → things this node calls/imports/depends on (outgoing)"target" matches → things that call/import/depend on this node (incoming)name, summary, and type. This builds the component's neighborhood."layers" section to find which architectural layer it belongs to and that layer's description.filePath for the deep-dive analysis.contains edges)Take egonex-ai/understand-explain from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.