Agent skill

understand

Analyze a codebase to produce an interactive knowledge graph for understanding architecture, components, and relationships

majiayu000534★ · 1 repos on radarProfile →
claude-codeMIT
Install
npx skills add majiayu000/claude-skill-registry --skill understand-lum1104-understand-anything --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 44 KB
Bundled scripts: none
Path: skills/analysis/understand-lum1104-understand-anything/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 534
Language: HTML

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Analyze the current codebase and produce a knowledge-graph.json file in .understand-anything/. This file powers the interactive dashboard for exploring the project's architecture.

How it works

  • Accepts arguments like --full, --auto-update, --no-auto-update, --review, and --language <lang> to control analysis scope, update behavior, and language of generated content.
  • Performs Phase 0 (Pre-flight) to determine full vs incremental analysis, resolve PROJECT_ROOT, handle worktree redirects, ensure plugin build, and gather commit hash.
  • Adjusts language settings by updating or reading .understand-anything/config.json, and stores language directives for generated content.
  • Checks for and merges any *knowledge-graph*.json subdomain graphs into the main knowledge-graph.json via a bundled merge script.
  • Reads README and project manifests to assemble context (README_CONTENT, MANIFEST_CONTENT), captures a directory tree (DIR_TREE), and detects an ENTRY_POINT.
  • Manages Phase 0.5 to establish an exclude list via .understandignore, prompting user confirmation before scanning.
  • Phase 1 performs a full scan (for full analysis) by dispatching a subagent (project-scanner), passing in additional context from the main session.
  • Uses a phase-based progress reporting scheme throughout execution.

When to use it

  • Use --full to force a complete rebuild of the knowledge graph.
  • Use --auto-update to enable automatic graph updates on commit; --no-auto-update to disable.
  • Use --review to run an LLM-based graph-reviewer instead of inline validation.
  • Use --language <lang> to generate textual content in a specific language and store the preference for incremental updates.

What it can touch

  • Interacts with: .understand-anything/knowledge-graph.json, .understand-anything/config.json, .understand-anything/intermediate, .understand-anything/tmp, and potentially other generated outputs.
  • Requires: Node-based tooling (plugin/core build), Python for merge-subdomain-graphs.py, and git for change detection.

Caveats

  • Redirects output for git worktrees to the main repository root unless disabled with UNDERSTAND_NO_WORKTREE_REDIRECT.
  • The merge of subdomain graphs deduplicates nodes and edges, reporting a summary before proceeding.
  • Language changes persist in config and affect all subsequent phases.
From the SKILL.md

# /understand Analyze the current codebase and produce a `knowledge-graph.json` file in `.understand-anything/`. This file powers the interactive dashboard for exploring the project's architecture. ## Options - `$ARGUMENTS` may contain: - `--full` — Force a full rebuild, ignoring any existing graph - `--auto-update` — Enable automatic graph updates on commit (writes `autoUpdate: true` to `.understand-anything/config.json`) - `--no-auto-update` — Disable automatic graph updates (writes `autoUpdate: false` to `.understand-anything/config.json`) - `--review` — Run full LLM graph-reviewer instead of inline deterministic validation - `--language <lang>` — Generate all textual content (summaries, descriptions, tags, titles, languageNotes, languageLesson) in the specified language. Accepts ISO 639-1 codes (`zh`, `ja`, `ko`, `en`, `es`, `fr`, `de`, etc.) or friendly names (`chinese`, `japanese`, `korean`, `english`, `spanish`, etc.). Locale variants supported: `zh-TW`, `zh-HK`, etc. Defaults to `en` (English). Stores preference in `.understand-anything/config.json` for consistency across incremental updates. - A directory path (e.g. `/path/to/repo` or `../other-project`) — Analyze the give

What's inside
Steps it walks through
  1. Options
  2. Progress Reporting
  3. Phase 0 — Pre-flight
  4. Phase 0.5 — Ignore Configuration
  5. Phase 1 — SCAN (Full analysis only)
  6. Phase 1.5 — BATCH
  7. Phase 2 — ANALYZE
  8. Full analysis path
  9. Incremental update path
  10. Phase 3 — ASSEMBLE REVIEW
  11. Phase 4 — ARCHITECTURE
  12. Phase 5 — TOUR
  13. Phase 6 — REVIEW
  14. Phase 7 — SAVE
Ships with 1 file
  • metadata.json
Commands it runs
if [ -n "$COMMON_DIR" ] && [ -n "$GIT_DIR" ]; then
if [ -n "$COMMON_ABS" ] && [ "$COMMON_ABS" != "$GIT_ABS" ]; then
if [ -d "$MAIN_ROOT" ] && [ "${UNDERSTAND_NO_WORKTREE_REDIRECT:-0}" != "1" ]; then
echo "[understand] Detected git worktree at $PROJECT_ROOT"
echo "[understand] Redirecting output to main repo root: $MAIN_ROOT"
echo "[understand] (Set UNDERSTAND_NO_WORKTREE_REDIRECT=1 to keep PROJECT_ROOT as the worktree.)"
fi
for candidate in \
if [ -n "$candidate" ] && [ -f "$candidate/package.json" ] && [ -f "$candidate/pnpm-workspace.yaml" ]; then
break
More from claude-skill-registry
All skills →
About this skill
What does the understand skill do?

Analyze a codebase to produce an interactive knowledge graph for understanding architecture, components, and relationships

How do I install it?

Run `npx skills add majiayu000/claude-skill-registry --skill understand-lum1104-understand-anything --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going