Skip to content
Development
Skill

/ast-grep-find

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

From plugin
continuous-claude-v3
3.9k156 skills32 agents
Install
$ npx -y skills add parcadei/Continuous-Claude-v3 --skill ast-grep-find --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/ast-grep-find

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

ast-grep-find.SKILL.md
name: ast-grep-find
description: AST-based code search and refactoring via ast-grep MCP
allowed-tools: [Bash, Read]

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.

Read more
Ships withcontinuous-claude-v3

A persistent, learning, multi-agent development environment built on Claude Code Continuous Claude transforms Claude Code into a continuously learning system that maintains context across sessions, orchestrates specialized agents, and eliminates wasting

Get the whole plugin

Other skills on continuous-claude-v3.