ast-grep-find

AST-based code search and refactoring via ast-grep MCP

INSTALLATION
npx skills add https://github.com/parcadei/continuous-claude-v3 --skill ast-grep-find
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

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

Parameter

Description

--pattern

AST pattern to search (required)

--language

Language: python, javascript, typescript, go, etc.

--path

Directory to search (default: .)

--glob

File glob pattern (e.g., **/*.py)

--replace

Replacement pattern for refactoring

--dry-run

Preview changes without applying

--context

Lines of context (default: 2)

Pattern Syntax

Syntax

Meaning

$NAME

Match 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

Tool

Best For

ast-grep

Structural patterns (understands code syntax)

warpgrep

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

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card