К основному содержанию
скилл CX Codex

ast-grep-find — скилл для Claude Code: что делает и как установить

Ищет код по синтаксическому дереву и заменяет конструкции с учётом структуры языка. Пригодится для точечного рефакторинга функций, импортов и переменных без ложных срабатываний в строках.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add parcadei/Continuous-Claude-v3 --skill ast-grep-find -a claude-code
Открыть на GitHub

Что делает ast-grep-find

Скилл запускает утилиту структурного поиска через скрипт scripts/ast_grep_find.py с помощью uv. В отличие от текстового поиска, инструмент разбирает синтаксическое дерево. Он находит вызовы функций, импорты или классы в python, javascript, typescript, go и других языках. Комментарии и строки отсекаются сразу.

Для шаблонов используются метапеременные: $NAME для одного узла, $$$ для группы аргументов и $_ для любого одиночного узла. Скилл поддерживает замену кода через параметр --replace. Флаг --dry-run показывает предварительные правки. По умолчанию контекст составляет 2 строки, а поиск идёт от текущей папки ..

Главное ограничение: для работы необходим сервер ast-grep, прописанный в mcp_config.json. Без него скрипт не выполнит структурный анализ.

Какие задачи решает

  • находить вызовы функций и объявления классов с учётом синтаксиса
  • рефакторить конструкции кода без изменения текста в комментариях
  • переименовывать переменные и аргументы с помощью шаблонов AST
  • проверять результат правки кода до записи с флагом --dry-run

Примеры запросов агенту

  • Найди все вызовы console.log($$$) в проекте на JavaScript с помощью ast-grep-find
  • Замени вызовы print($X) на logger.info($X) во всех файлах Python через ast-grep-find с флагом --dry-run
  • Найди объявления async def $FUNC($$$) в каталоге ./src через ast-grep-find

Как установить ast-grep-find

1Через Skills CLI (Vercel)

npx skills add parcadei/Continuous-Claude-v3 --skill ast-grep-find -a claude-code

2Вручную: положить файлы

~/.claude/skills/ast-grep-find/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/ast-grep-find/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о ast-grep-find

Как установить ast-grep-find в Claude Code?

Выполните команду npx skills add parcadei/Continuous-Claude-v3 --skill ast-grep-find -a claude-code.

Что делает скилл ast-grep-find?

Скилл выполняет структурный поиск и рефакторинг кода на основе синтаксического дерева (AST). Он анализирует структуру программы, игнорируя текст комментариев и строковых литералов.

Чем ast-grep-find отличается от warpgrep?

Инструмент warpgrep оптимизирован под максимальную скорость поиска по обычному тексту и регулярным выражениям. Скилл ast-grep-find работает с синтаксическим деревом и распознаёт языковые конструкции.

Исходный текст

SKILL.md · MIT
---
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.

© parcadei · MIT · parcadei/Continuous-Claude-v3

Похожие скиллы

Всё по теме «Код-ревью и рефакторинг» →
ast-grep-outline ast-grep Строит компактную карту структуры кода и файлов через ast-grep без чтения всего исходника. Помогает экономить контекст при разборе незнакомых репозиториев. CX Codex +1 2 400установок ast-grep ast-grep Скилл помогает составлять правила ast-grep для поиска по структуре кода. Пригодится, когда текстового поиска недостаточно, чтобы найти нужные вызовы или конструкции. CX Codex +1 17 900установок codegraph-ast-grep stark-ai-de Ставит и чинит CodeGraph с ast-grep, чтобы агент видел структуру репозитория и отвечал меньшим числом вызовов инструментов. CX Codex +1 2 700установок jscodeshift pproenca Набор правил для написания и отладки кодмодов на jscodeshift: разбор AST, миграции кода, авторефакторинг. CX Codex +1 410установок jscpd kucherenko Находит дубликаты кода более чем на 220 языках и готовит компактный отчёт для ИИ-агента. Пригодится при рефакторинге и поиске скрытой копипасты. CX Codex +1 2 600установок code-quality zernie Скилл для рефакторинга TypeScript и JavaScript: приводит типы в порядок, убирает невозможные состояния и разделяет логику с вводом-выводом. CX Codex +1 391установок

Из того же набора69

remember Скилл сохраняет находку, паттерн или решение в память, чтобы потом их можно было найти. Пригодится, когда не хочется второй раз разбираться с той же ошибкой. CX Codex +1 521установок review Организует параллельную проверку кода несколькими субагентами и собирает их выводы в единый вердикт перед слиянием правок. CX Codex +1 519установок repo-research-analyst Исследует структуру репозитория, документацию и соглашения в коде. Нужен перед доработкой незнакомого проекта или подготовкой вклада. CX Codex +1 519установок planning-agent Субагент собирает план реализации из контекста беседы, исследует кодовую базу и оставляет хендофф для следующего шага. CX Codex +1 518установок repoprompt Исследует кодовую базу через CLI без чтения полных файлов, экономя токены. Пригодится для поиска сигнатур и срезов строк под задачу. CX Codex +1 515установок continuity-ledger Скилл пишет YAML-хендофф с целями, решениями и следующими шагами, чтобы после /clear сессия продолжилась с того же места. CX Codex +1 509установок create-handoff Скилл пишет YAML-документ о ходе работы, чтобы следующая сессия агента подхватила задачу без потери контекста. CX Codex +1 508установок debug Скилл исследует логи, состояние базы данных и историю коммитов без правок в коде. Помогает быстро найти причину ошибки во время ручного тестирования. CX Codex +1 507установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой