Back to skills
SkillHub ClubShip Full StackFull Stack

ast-grep-find

Provides AST-based code search and refactoring using ast-grep. Finds syntax patterns like function calls and imports while ignoring strings/comments. Supports multiple languages and includes dry-run previews for safe refactoring.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,611
Hot score
99
Updated
March 20, 2026
Overall rating
A7.4
Composite score
5.6
Best-practice grade
A85.2

Install command

npx @skill-hub/cli install parcadei-continuous-claude-v2-ast-grep-find
code-searchrefactoringast-analysiscode-analysis

Repository

parcadei/Continuous-Claude-v2

Skill path: .claude/skills/ast-grep-find

Provides AST-based code search and refactoring using ast-grep. Finds syntax patterns like function calls and imports while ignoring strings/comments. Supports multiple languages and includes dry-run previews for safe refactoring.

Open repository

Best for

Primary workflow: Ship Full Stack.

Technical facets: Full Stack.

Target audience: Developers working on codebase refactoring, code analysis, or maintaining large projects who need syntax-aware search beyond regex..

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: parcadei.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install ast-grep-find into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/parcadei/Continuous-Claude-v2 before adding ast-grep-find to shared team environments
  • Use ast-grep-find for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw 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
```bash
uv run python -m runtime.harness scripts/ast_grep_find.py \
    --pattern "import asyncio" --language python
```

### Search in specific directory
```bash
uv run python -m runtime.harness scripts/ast_grep_find.py \
    --pattern "async def \$FUNC(\$\$\$)" --language python --path "./src"
```

### Refactor/replace pattern
```bash
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)
```bash
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

```bash
# 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.
ast-grep-find | SkillHub