CB ast-grep
Ищет и переписывает код по форме AST в 25 языках. Используйте, когда целью является синтаксический шаблон (каждый вызов/класс/импорт в форме X, codemod, правило YAML), а не буквальный текст; для обычных строк, комментариев или имен файлов используйте rg.
машинный переводПоказать оригиналСкрыть оригинал«Searches and rewrites code by AST shape across 25 languages. Use when…»
Searches and rewrites code by AST shape across 25 languages. Use when the target is a syntax pattern (every call/class/import shaped like X, a codemod, a YAML rule) rather than literal text; for plain strings, comments, or filenames, use rg.
Ищет и переписывает код по форме AST в 25 языках.
Как процесс B 68/100 · Почти готов — слабые места: входы и предусловия, повторный запуск
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 3
✓ Критических и высоких находок нет
Средние и низкие: 3
-
средняя Опасные команды
cmd-shell-rcreferences/cli.md:196Запись в файл автозагрузки shell (.bashrc / .zshrc / .profile)sg completions bash >> ~/.bashrc
-
средняя Опасные команды
cmd-privilegereferences/install.md:101Повышение привилегий / права на запись для всехsudo mv /tmp/ast-grep/ast-grep /usr/local/bin/sg
-
средняя Опасные команды
cmd-privilegereferences/install.md:102Повышение привилегий / права на запись для всехsudo chmod +x /usr/local/bin/sg
Просканировано файлов: 14. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
✓ По спецификации Agent Skills замечаний нет
Процессный рейтинг: все десять параметров 68/100
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 30Повторный запуск. Изменяющих операций: 2, без проверки текущего состояния
- 60Инструменты и файлы. Используются инструменты (bash, python), но во frontmatter они не объявлены
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 85Шаги. Шагов: 53, расплывчатых формулировок: 1
- 100Ошибки и развилки. Развилок: 2, есть раздел про ошибки
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 3247 токенов
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
- low Ответ описан самодельной разметкой (6 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +2Инструкции на одном языке
- +3Длина description 241 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 21 заголовков
- +3Пошаговые инструкции: 53 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (8 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (7 из 7)
- +3Все 1 скриптов описаны в инструкциях
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 95.