AS

ast-grep-find

This tool uses abstract syntax trees to search and refactor code structures like function calls and classes accurately.

Install

mkdir -p .claude/skills/ast-grep-find && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1084" && unzip -o skill.zip -d .claude/skills/ast-grep-find && rm skill.zip

Installs to .claude/skills/ast-grep-find

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

AST-based code search and refactoring via ast-grep MCP
54 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Find code patterns that ignore strings and comments
  • Search for function calls, class definitions, or imports
  • Refactor code using AST precision
  • Rename variables or functions across a codebase
  • Preview changes before applying them

How it works

This skill uses abstract syntax trees to understand code structure and perform searches or refactoring based on syntax rather than plain text. It can match single nodes, multiple nodes, or any single node using specific syntax.

Inputs & outputs

You give it
A code pattern, an optional replacement pattern, a programming language, and an optional directory or file glob.
You get back
A list of code matches or modified code with replacements applied.

When to use ast-grep-find

  • Find specific function call patterns
  • Refactor code logic with structural precision
  • Rename variables across a project
  • Verify code patterns before applying changes

About this skill

AST-Grep Find

Structural code search that understands syntax. Find patterns like function calls, imports, class definitions - not just text.

When to Use

  • Find code patterns (ignores strings/comments)
  • Search for function calls, class definitions, imports
  • Refactor code with AST precision
  • Rename variables/functions across codebase

Usage

Search for a pattern

uv run python -m runtime.harness scripts/ast_grep_find.py \
    --pattern "import asyncio" --language python

Search in specific directory

uv run python -m runtime.harness scripts/ast_grep_find.py \
    --pattern "async def \$FUNC(\$\$\$)" --language python --path "./src"

Refactor/replace pattern

uv run python -m runtime.harness scripts/ast_grep_find.py \
    --pattern "console.log(\$MSG)" --replace "logger.info(\$MSG)" \
    --language javascript

Dry run (preview changes)

uv run python -m runtime.harness scripts/ast_grep_find.py \
    --pattern "print(\$X)" --replace "logger.info(\$X)" \
    --language python --dry-run

Parameters

ParameterDescription
--patternAST pattern to search (required)
--languageLanguage: python, javascript, typescript, go, etc.
--pathDirectory to search (default: .)
--globFile glob pattern (e.g., **/*.py)
--replaceReplacement pattern for refactoring
--dry-runPreview changes without applying
--contextLines of context (default: 2)

Pattern Syntax

SyntaxMeaning
$NAMEMatch single node (variable, expression)
$$$Match multiple nodes (arguments, statements)
$_Match any single node (wildcard)

Examples

# Find all function definitions
uv run python -m runtime.harness scripts/ast_grep_find.py \
    --pattern "def \$FUNC(\$\$\$):" --language python

# Find console.log calls
uv run python -m runtime.harness scripts/ast_grep_find.py \
    --pattern "console.log(\$\$\$)" --language javascript

# Replace print with logging
uv run python -m runtime.harness scripts/ast_grep_find.py \
    --pattern "print(\$X)" --replace "logging.info(\$X)" \
    --language python --dry-run

vs morph/warpgrep

ToolBest For
ast-grepStructural patterns (understands code syntax)
warpgrepFast text/regex search (20x faster grep)

Use ast-grep when you need syntax-aware matching. Use warpgrep for raw speed.

MCP Server Required

Requires ast-grep server in mcp_config.json.

When not to use it

  • When only text or regex search is needed
  • When raw search speed is the primary concern

Prerequisites

ast-grep server in mcp_config.json

Limitations

  • Requires an ast-grep server to be configured

How it compares

This skill performs structural code searches that understand syntax, unlike generic text or regex searches that do not interpret code structure.

Compared to similar skills

ast-grep-find side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
ast-grep-find (this skill)37moReviewIntermediate
naming-analyzer26moReviewBeginner
dead-code17moReviewIntermediate
lsp-extract-function03moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry