Agent Skills › Ar9av/obsidian-wiki › code-understand

code-understand

GitHub

在修改代码前生成架构焦点图,映射关键符号、调用方及依赖关系,用于不熟悉代码库时的影响分析和架构理解。

.skills/code-understand/SKILL.md Ar9av/obsidian-wiki

Trigger Scenarios

修改不熟悉的模块前 询问功能工作原理或变更影响 准备大型重构时

Install

npx skills add Ar9av/obsidian-wiki --skill code-understand -g -y
More Options

Non-standard path

npx skills add https://github.com/Ar9av/obsidian-wiki/tree/main/.skills/code-understand -g -y

Use without installing

npx skills use Ar9av/obsidian-wiki@code-understand

指定 Agent (Claude Code)

npx skills add Ar9av/obsidian-wiki --skill code-understand -a claude-code -g -y

安装 repo 全部 skill

npx skills add Ar9av/obsidian-wiki --all -g -y

预览 repo 内 skill

npx skills add Ar9av/obsidian-wiki --list

SKILL.md

Frontmatter
{
    "name": "code-understand",
    "description": "Map the load-bearing files, symbols, callers, and dependencies of an unfamiliar codebase before making changes. Use for architecture orientation, impact analysis, what-would-break questions, or finding callers. Uses CodeGraph when available and a dependency-free builtin fallback."
}

Code Understand — On-Demand Architecture Focus Map

You are about to work in a codebase you don't fully know yet. Instead of grepping around or reading files at random, ask the local extractor for a focus map: the ranked symbols the architecture hangs on, each with a file:line citation and evidence type. Read only what it points at — this is a map, not a substitute for reading the actual code it cites.

When to reach for this

  • Before editing an unfamiliar module — see what calls it and what it calls before changing its shape.
  • The user asks "how does X work", "what's the impact of changing Y", "who else uses this function" for a codebase, not the wiki.
  • You're about to do a large refactor and want a ranked list of load-bearing files instead of reading the whole tree.
  • You already have a diff or a set of changed files and want to know their blast radius before finishing the change.

Not for: summarizing what a project does for the wiki (that's wiki-update Step 3b, which calls this same command as part of a bigger sync flow) — use this skill directly only when you need the focus map for your own immediate work, not to persist knowledge.

Running it

obsidian-wiki code-understand --project <dir> [--backend auto|builtin|codegraph] \
    [--changed <file>...] [--since <sha>] [--max-symbols N] [--pretty]
  • --project — defaults to the current directory.
  • No --changed/--since — seeds from every tracked file (full-project scan).
  • --changed <file> (repeatable) — seed from specific files you already know are relevant (e.g. files in the diff you're about to make).
  • --since <sha> — seed from everything changed since a git ref (e.g. --since HEAD~5 or a base branch).
  • --backend — auto (default) uses CodeGraph when installed, falls back to the builtin extractor otherwise; force builtin for the dependency-free path, or codegraph to require the enhanced backend (fails loudly if it's not installed rather than silently degrading).
  • --max-symbols — cap the focus map size (default 50); keep this small for a quick orientation pass, raise it for a thorough one.

GUARD: if the command is unavailable or errors, skip it and fall back to your normal exploration (grep/read) — this is an accelerant, not a dependency. Don't block work on it.

Reading the output

  1. Evidence type matters. When backend: codegraph, focus-map entries are structural facts (real call-graph edges) — cite them directly. When backend: builtin, defines/ imports/changed-file entries are facts, but rg-reference entries are text-match evidence only — open the file and confirm before treating it as a real relationship.
  2. Open what it cites, nothing else first. The focus map tells you where to read; it never contains source bodies. Go read those file:line locations before forming an opinion on the architecture.
  3. Cite it in your own output. If you explain the architecture back to the user or write it into a PR description/commit message, keep the (file:lines) citations from the focus map or from the source you opened — don't assert structure without a pointer to it.
  4. It's a cache, not a deliverable. Never write the raw JSON or .codegraph/ into the wiki vault, a PR description, or committed docs — it's a disposable sidecar in the project repo (git-ignored). Re-run it fresh next time rather than treating old output as durable.

If CodeGraph isn't installed

auto/builtin still work with zero setup (uses the regex AST extractor + rg). If you want the enhanced cross-file call-graph evidence and the user is fine with installing something:

npm install -g @colbymchenry/codegraph

or point CODE_UNDERSTANDING_CODEGRAPH_BIN at an existing binary. Never install without the user's go-ahead — ask first, then re-run the command.

Check obsidian-wiki doctor --project <dir> for the code-understanding.* capability lines (builtin, rg, codegraph, codegraph-index, codegraph-fresh, codegraph-gitignore) to see what's available before deciding which backend to request explicitly.

Version History

  • 5ae7837 Current 2026-10-18 22:04

    缩短描述以提升路由效率

  • 3f29e56 2026-09-03 01:01
  • fcd9101 2026-08-17 04:32

Same Skill Collection

.skills/claude-history-ingest/SKILL.md
.skills/codex-history-ingest/SKILL.md
.skills/copilot-history-ingest/SKILL.md
.skills/cross-linker/SKILL.md
.skills/daily-update/SKILL.md
.skills/graph-colorize/SKILL.md
.skills/hermes-history-ingest/SKILL.md
.skills/impl-validator/SKILL.md
.skills/llm-wiki/SKILL.md
.skills/memory-bridge/SKILL.md
.skills/obsidian-layout-adjustment/SKILL.md
.skills/openclaw-history-ingest/SKILL.md
.skills/pi-history-ingest/SKILL.md
.skills/session-brain/SKILL.md
.skills/session-search/SKILL.md
.skills/skill-creator/SKILL.md
.skills/tag-taxonomy/SKILL.md
.skills/vault-skill-factory/SKILL.md
.skills/wiki-agent/SKILL.md
.skills/wiki-capture/SKILL.md
.skills/wiki-context-pack/SKILL.md
.skills/wiki-dashboard/SKILL.md
.skills/wiki-dedup/SKILL.md
.skills/wiki-digest/SKILL.md
.skills/wiki-export/SKILL.md
.skills/wiki-history-ingest/SKILL.md
.skills/wiki-import/SKILL.md
.skills/wiki-ingest/SKILL.md
.skills/wiki-lint/SKILL.md
.skills/wiki-narrate/SKILL.md
.skills/wiki-query/SKILL.md
.skills/wiki-rebuild/SKILL.md
.skills/wiki-research/SKILL.md
.skills/wiki-setup/SKILL.md
.skills/wiki-stage-commit/SKILL.md
.skills/wiki-status/SKILL.md
.skills/wiki-switch/SKILL.md
.skills/wiki-synthesize/SKILL.md
.skills/wiki-update/SKILL.md

Metadata

Files
0
Version
5ae7837
Hash
83e0031d
Indexed
2026-08-17 04:32

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-24 20:29
浙ICP备14020137号-1