ast-grep agent skill

Скиллы ast-grep для Claude Code: агент пишет и проверяет правила структурного поиска по AST и строит компактную карту кодовой базы

  • 899 ★ репозитория
  • Последний коммит
СкиллОфициальный

Расширенный доступ

Почему такой уровень

  • Агент сохраняет пример во временный файл и запускает команды ast-grep по вашему коду
  • Скилл разрешает искать и показывать фрагменты исходников всего проекта
Все причины и проверки

ast-grep/agent-skill

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/ast-grep-agent-skill

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Агент сохраняет пример во временный файл и запускает команды ast-grep по вашему коду
  • Скилл разрешает искать и показывать фрагменты исходников всего проекта

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Репозиторий — маркетплейс плагинов Claude Code с плагином ast-grep из двух скиллов. Скилл `ast-grep` переводит запрос на обычном языке («найди async-функции без обработки ошибок») в правило ast-grep. Агент уточняет задачу, пишет пример кода, составляет правило, проверяет его на примере и только потом ищет по всему проекту, показывая файлы и строки. Скилл `outline` запускает `ast-grep outline` и выдает компактную карту файла или каталога с импортами, функциями, классами и их членами, чтобы читать код по стадиям. Сам ast-grep ставится отдельно.

Для кого. Для разработчиков, которым нужен поиск по структуре кода там, где grep дает много шума, и которые работают с Claude Code.

Подходит, если

  • Нужно найти все async-функции, где есть `await`, или те, что остались без try/catch
  • Надо найти вызовы setState внутри useEffect
  • Перед миграцией требуется список мест, где вызываются устаревшие функции
  • Агенту перед правкой нужна карта файла: `ast-grep `outline` <файл>`
  • Нужно найти функции с числом параметров больше трех или вызовы console.log с несколькими аргументами

Не подходит, если

  • ast-grep не установлен, и ставить его вы не хотите: скилл пишет правила и запускает команду, самой программы в нем нет
  • Нужен простой текстовый поиск: он быстрее и не требует установки
  • Нужен MCP-сервер с дампом AST: README отсылает к отдельному `ast-grep-mcp`
  • Вас интересует сам инструмент: описание ast-grep в каталоге лежит в отдельной карточке

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

Используй ast-grep и найди все асинхронные функции в проекте, где внутри есть `await`, но нет try/catch

Ограничения

Нужен установленный ast-grep (brew install ast-grep, npm install -g @ast-grep/cli или cargo install ast-grep). Установка скилла делает его найденным, но не предпочитаемым: у агента остается обычный текстовый поиск, поэтому либо пишите «используй ast-grep», либо закрепите предпочтение в AGENTS.md или CLAUDE.md. Запуск без совпадений завершается успешно, так что «ничего не найдено» и «неверный шаблон» выглядят одинаково. Файла LICENSE в репозитории нет, лицензию MIT указывают plugin.json и README.

Как отключить. Отключите или удалите плагин ast-grep в меню /plugin. Если ставили через npx skills, удалите папки скиллов из каталога скиллов агента. Сам ast-grep удаляется тем же менеджером пакетов, которым вы его ставили.

Частые вопросы

Как поставить ast-grep skill в Claude Code?

Выполните npx skills add ast-grep/agent-skill или добавьте маркетплейс командой /plugin marketplace add ast-grep/agent-skill и поставьте плагин через /plugin install ast-grep. Сам ast-grep нужно поставить отдельно.

Как заставить агента выбирать ast-grep, а не текстовый поиск?

Назовите инструмент в запросе («используй ast-grep, чтобы найти...») или один раз пропишите в AGENTS.md или CLAUDE.md, что для поиска, зависящего от синтаксиса, агент по умолчанию использует ast-grep --lang <язык> -p '<шаблон>'.

Почему поиск ничего не нашел?

Запуск без совпадений завершается успешно, поэтому причина может быть в шаблоне. Попросите агента показать правило и AST кода. Помогает загрузка llms-full.txt с документацией ast-grep и `ast-grep-mcp` для пробы шаблонов на фрагменте.

Чем скилл отличается от самого ast-grep?

ast-grep ищет и заменяет код по синтаксическому дереву. Скилл учит агента составлять и проверять правила для него и не содержит самой программы.

Что делает скилл `outline`?

Он вызывает ast-grep `outline` и выдает карту файла или каталога с номерами строк: импорты, функции, классы и их члены. Это дешевле чтения исходников целиком.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Структурный поиск, линт и замена кода по синтаксическому дереву: шаблоны пишутся как обычный код

CLIРасширенный доступ16,4 тыс.Звезды репозитория

14 скиллов, которые находят пробелы в задаче до кода: интервью, план, проверка допущений и доказательство исправления бага

СкиллМинимальный доступ358Звезды репозитория
Официальный

Скилл учит агента сначала обращаться к индексу кода и графу символов Context Engine и только потом читать файлы напрямую

СкиллШирокий доступ401Звезды репозитория

Softaworks Agent Toolkit

Softaworks Agent Skills

Маркетплейс скиллов, субагентов и команд для кодовых агентов: разработка, документация, планирование и рабочая коммуникация

ПлагинРасширенный доступ2,6 тыс.Звезды репозитория

Семантический поиск и графы вызовов по коду для агентов, полностью локально. Режим MCP подключает поиск к Claude Code и Cursor

CLIМинимальный доступ1,9 тыс.Звезды репозитория

Плагин со скиллами для Claude Code и Codex: исследование кода, тесты, рефакторинг и независимая проверка готовых изменений

ПлагинРасширенный доступ450Звезды репозитория

Коротко о README

README объясняет, что в репозитории лежит плагин с навыком структурного поиска, и перечисляет требования: установленный ast-grep. Далее идут три способа установки, примеры запросов, шесть шагов работы агента, список языков и ключевые возможности вроде метапеременных, связей «внутри» и логических комбинаций. В конце собраны советы по отладке пустых результатов, структура репозитория и раздел поддержки.

Бейдж для README

Исходный SKILL.md

---
name: ast-grep
description: Guide for writing ast-grep rules to perform structural code search and analysis. Use when users need to search codebases using Abstract Syntax Tree (AST) patterns, find specific code structures, or perform complex code queries that go beyond simple text search. This skill should be used when users ask to search for code patterns, find specific language constructs, or locate code with particular structural characteristics.
---

# ast-grep Code Search

## Overview

This skill helps translate natural language queries into ast-grep rules for structural code search. ast-grep uses Abstract Syntax Tree (AST) patterns to match code based on its structure rather than just text, enabling powerful and precise code search across large codebases.

## When to Use This Skill

Use this skill when users:
- Need to search for code patterns using structural matching (e.g., "find all async functions that don't have error handling")
- Want to locate specific language constructs (e.g., "find all function calls with specific parameters")
- Request searches that require understanding code structure rather than just text
- Ask to search for code with particular AST characteristics
- Need to perform complex code queries that traditional text search cannot handle

## General Workflow

Follow this process to help users write effective ast-grep rules:

### Step 1: Understand the Query

Clearly understand what the user wants to find. Ask clarifying questions if needed:
- What specific code pattern or structure are they looking for?
- Which programming language?
- Are there specific edge cases or variations to consider?
- What should be included or excluded from matches?

### Step 2: Create Example Code

Write a simple code snippet that represents what the user wants to match. Save this to a temporary file for testing.

**Example:**
If searching for "async functions that use await", create a test file:

```javascript
// test_example.js
async function example() {
  const result = await fetchData();
  return result;
}

Сообщить о проблеме

Foxx AIast-grep agent skill
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.