install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/Lum1104/Understand-Anything/understand-explain" ~/.claude/skills/comeonoliver-skillshub-understand-explain && rm -rf "$T"
manifest:
skills/Lum1104/Understand-Anything/understand-explain/SKILL.mdsource content
/understand-explain
Provide a thorough, in-depth explanation of a specific code component.
Graph Structure Reference
The knowledge graph JSON has this structure:
— {name, description, languages, frameworks, analyzedAt, gitCommitHash}project
— each has {id, type, name, filePath, summary, tags[], complexity, languageNotes?}nodes[]- Node types: file, function, class, module, concept
- IDs:
,file:path
,func:path:nameclass:path:name
— each has {source, target, type, direction, weight}edges[]- Key types: imports, contains, calls, depends_on
— each has {id, name, description, nodeIds[]}layers[]
— each has {order, title, description, nodeIds[]}tour[]
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
-
Check that
exists. If not, tell the user to run.understand-anything/knowledge-graph.json
first./understand -
Find the target node — use Grep to search the knowledge graph for the component: "$ARGUMENTS"
- For file paths (e.g.,
): search forsrc/auth/login.ts
matches"filePath" - For function notation (e.g.,
): search for the function name insrc/auth/login.ts:verifyToken
fields filtered by the file path"name" - Note the exact node
,id
,type
,summary
, andtagscomplexity
- For file paths (e.g.,
-
Find all connected edges — Grep for the target node's ID in the edges section:
matches → things this node calls/imports/depends on (outgoing)"source"
matches → things that call/import/depend on this node (incoming)"target"- Note the connected node IDs and edge types
-
Read connected nodes — for each connected node ID from step 3, Grep for those IDs in the nodes section to get their
,name
, andsummary
. This builds the component's neighborhood.type -
Identify the layer — Grep for the target node's ID in the
section to find which architectural layer it belongs to and that layer's description."layers" -
Read the actual source file — Read the source file at the node's
for the deep-dive analysis.filePath -
Explain the component in context:
- Its role in the architecture (which layer, why it exists)
- Internal structure (functions, classes it contains — from
edges)contains - External connections (what it imports, what calls it, what it depends on — from edges)
- Data flow (inputs → processing → outputs — from source code)
- Explain clearly, assuming the reader may not know the programming language
- Highlight any patterns, idioms, or complexity worth understanding