Agent skill
symbol-tree
ALWAYS USE FIRST when exploring, searching, or researching this codebase. Use symbol_tree MCP tool before grep/glob/read. Provides instant architecture overview, function relationships, and call graphs without reading full implementations.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/symbol-tree-jeremydiviney-vibe
SKILL.md
Symbol Tree Analysis
Analyze TypeScript codebases using the symbol-tree CLI This is not optional. The symbol tree tool provides:
- Instant overview of file/module structure
- Function signatures and relationships
- Call graphs showing what calls what
- Type symbols (interfaces, types, enums) with dependency graphs
- All without reading hundreds of lines of implementation
This saves tokens and gives better context faster than file searches.
How to Run
bash
bun run scripts/symbol-tree-mcp/src/cli.ts [path] [options]
Options
| Option | Description |
|---|---|
[path] |
Directory to analyze (default: cwd) |
--file <file> |
Specific file to analyze |
--symbol <name> |
Symbol to search for (e.g., "step", "Runtime") |
--pattern <glob> |
File pattern (default: "**/*.{ts,tsx,js,jsx}") |
--depth <n> |
Limit call graph depth |
--text-limit <n> |
Max output chars (default: 50000) |
--exports-only |
Only show exported symbols |
--no-files |
Hide file paths/line numbers |
--group-by-file |
Group by file instead of symbol type |
--format <fmt> |
"adjacency" (default) or "tree" |
--src-dir <dir> |
Source dir filter (default: "src") |
Examples
bash
# Analyze runtime directory
bun run scripts/symbol-tree-mcp/src/cli.ts src/runtime
# Find a specific symbol
bun run scripts/symbol-tree-mcp/src/cli.ts --symbol step
# Analyze a specific file
bun run scripts/symbol-tree-mcp/src/cli.ts --file src/runtime/state.ts
# Exports only, tree format
bun run scripts/symbol-tree-mcp/src/cli.ts --exports-only --format tree
# Full project overview
bun run scripts/symbol-tree-mcp/src/cli.ts src --exports-only
Correct Workflow
- FIRST: Run symbol-tree to get overview
- THEN: Use the output to identify relevant files/functions
- ONLY THEN: Use Read/Grep/Glob for specific details if needed
Output Format
Each symbol shows location as: (file:startLine-endLine)
Output Sections:
=== CLASSES ===- Class definitions=== INTERFACES ===- Interface definitions=== TYPES ===- Type aliases=== ENUMS ===- Enum definitions=== FUNCTIONS ===- Function signatures=== TYPE DEPENDENCIES ===- Which types extend/use other types=== DEPENDENCIES ===- Function call graphs
Using with Read tool:
offset: UsestartLineto begin reading at the symbollimit: UseendLine - startLine + 1to read only the symbol's code
Didn't find tool you were looking for?