Agent skill · software engineering · ast-grep

ast-grep-outline

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.

Why this skill is useful

Adds specific commands for generating structural maps of codebases that the AI wouldn't reliably generate on its own.

What it needs

Requires ast-grep installed locally. About 2k tokens when loaded. Last updated 2026-07-03. 829 stars on the source repository.

What this skill does

Use ast-grep outline 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. When To Use It Understand a file before editing. Get a table of contents, dependencies, and public entry points before reading implementation details: Map an unfamiliar directory. Scan the public surface of a subtree, then narrow by symbol type when you know what you are looking for: Zoom into a known symbol. After search finds a likely name, list its members with line numbers instead of reading the whole body: Trace dependency direction. Find which files import a package or module to decide where a change belongs: Review changed files after editing. Git tells you what changed; outline summarizes the resulting structure and public surface: Argument Guide --items <KIND> selects top-level items: structure for local declarations (file default), exports for public API (directory default), imports for dependencies, all when import/export edges matter together. --view <VIEW> controls detail, from least to most: names for directory scans, signatures for one line per item, digest for signatures plus member names, expanded for one line per member with its line number. --match <REGEX> filters top-level items by name or signature. Rust regex, case-sensitive; it never matches members. --type <TYPE[,TYPE...]> keeps only some top-level symbol types, such as --type class,function. Member types like method,field never match top-level items. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills ast-grep/outline

View the source on GitHub

Browse the @skills marketplace