# ast-grep-find

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

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 518 установок · ★ 3946
- Автор: parcadei
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/parcadei/Continuous-Claude-v3/tree/HEAD/.claude/skills/ast-grep-find/SKILL.md
- Обновлён: 2026-01-26
- HTML: https://affpapa.org/nevibecode/skills/ast-grep-find

## Что делает

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

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

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

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
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/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add parcadei/Continuous-Claude-v3 --skill ast-grep-find -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/ast-grep-find/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add parcadei/Continuous-Claude-v3 --skill ast-grep-find -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/ast-grep-find/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install parcadei/Continuous-Claude-v3 ast-grep-find
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/ast-grep-find/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add parcadei/Continuous-Claude-v3 --skill ast-grep-find -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/parcadei/Continuous-Claude-v3 --path .claude/skills/ast-grep-find
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/ast-grep-find/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add parcadei/Continuous-Claude-v3 --skill ast-grep-find -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/parcadei/Continuous-Claude-v3/tree/HEAD/.claude/skills/ast-grep-find/SKILL.md

## Когда брать
- находить вызовы функций и объявления классов с учётом синтаксиса
- рефакторить конструкции кода без изменения текста в комментариях
- переименовывать переменные и аргументы с помощью шаблонов 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-outline](https://affpapa.org/nevibecode/skills/ast-grep-outline.md) — скилл · 2400 установок
- [ast-grep](https://affpapa.org/nevibecode/skills/ast-grep.md) — скилл · 17900 установок
- [codegraph-ast-grep](https://affpapa.org/nevibecode/skills/codegraph-ast-grep.md) — скилл · 2700 установок
- [jscodeshift](https://affpapa.org/nevibecode/skills/jscodeshift.md) — скилл · 410 установок
- [jscpd](https://affpapa.org/nevibecode/skills/jscpd.md) — скилл · 2600 установок
- [code-quality](https://affpapa.org/nevibecode/skills/zernie-code-quality.md) — скилл · 391 установка

Из того же набора: [parcadei/continuous-claude-v3](https://affpapa.org/nevibecode/by/parcadei/continuous-claude-v3.md) — 69 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
