# Code Understand

Map the load-bearing files, symbols, callers, and dependencies of an unfamiliar...

- Repository: https://github.com/Ar9av/obsidian-wiki (3650 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Ar9av/obsidian-wiki --skill code-understand -g -a claude-code -y`
Codex: `npx skills add Ar9av/obsidian-wiki --skill code-understand -g -a codex -y`
Cursor: `npx skills add Ar9av/obsidian-wiki --skill code-understand -g -a cursor -y`
Gemini CLI: `npx skills add Ar9av/obsidian-wiki --skill code-understand -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add Ar9av/obsidian-wiki`

## 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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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

```bash
obsidian-wiki code-understand --project <dir> [--backend auto|builtin|codegraph] \
    [--changed <file>...] [--since <sha>] [--max-symbols N] [--pretty]
```

The rest: https://github.com/Ar9av/obsidian-wiki/blob/HEAD/.skills/code-understand/SKILL.md
