ast-grep
Guide for writing ast-grep rules to perform structural code search and analysis. Use when users need to search codebases using Abstract Syntax Tree (AST)…
Use when exploring or modifying a codebase and you need a cheap structural map of files, directories, imports, exports, or direct members before reading full source.
$ npx -y skills add ast-grep/agent-skill --skill outline --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/outlineContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when exploring or modifying a codebase and you need a cheap structural map of files, directories, imports, exports, or direct members before reading full source.
name: ast-grep-outline description: Use when exploring or modifying a codebase and you need a cheap structural map of files, directories, imports, exports, or direct members before reading full source.
`ast-grep outline` prints a compact structural map of source code with line numbers: top-level **items** (imports, functions, classes, structs, interfaces, modules, enums) and their direct **members** (fields, methods, constructors, enum variants). It is a local, syntax-only view — cheap enough to run before any full file read.
Read code in stages: find candidate files with search or file names, outline them, then open only the source range the outline points to. Defaults adapt to input: a file shows its local structure with member digests; a directory shows only its exported surface as grouped names.
**Understand a file before editing.** Get a table of contents, dependencies, and public entry points before reading implementation details:
ast-grep outline <file> ast-grep outline <file> --items imports ast-grep outline <file> --items exports
**Map an unfamiliar directory.** Scan the public surface of a subtree, then narrow by symbol type when you know what you are looking for:
ast-grep outline <dir> --items exports ast-grep outline <dir> --type struct,enum,function
**Zoom into a known symbol.** After search finds a likely name, list its members with line numbers instead of reading the whole body:
ast-grep outline <file> --match <symbol> --type class --view expanded
**Trace dependency direction.** Find which files import a package or module to decide where a change belongs:
ast-grep outline <dir> --items imports --view signatures
**Review changed files after editing.** Git tells you what changed; outline summarizes the resulting structure and public surface:
ast-grep outline $(git diff --name-only HEAD) --items exports
(file default), `exports` for public API (directory default), `imports` for dependencies, `all` when import/export edges matter together.
scans, `signatures` for one line per item, `digest` for signatures plus member names, `expanded` for one line per member with its line number.
case-sensitive; it never matches members.
`--type class,function`. Member types like `method,field` never match top-level items.
only to pipe or post-process entries; prefer text for navigation.
`outline` shows local syntax structure. It does not resolve references, infer types, follow re-export chains, or build a call graph. Use `ast-grep run`, `rg`, or compiler-backed tools for those questions, then outline the candidate files they surface.
A Claude Code plugin marketplace containing the ast-grep skill for powerful structural code search using Abstract Syntax Tree (AST) patterns. Search your codebase based on code structure rather than just text matching.
Repo: ast-grep/agent-skill