CC ym-sql-change-precheck
Проверяйте скрипты изменений SQL перед выполнением: выявляйте обновления и удаления без WHERE, риски блокировки таблиц, неявное преобразование типов, отсутствие планов отката, риски DDL для больших таблиц и проблемы с именованием, выдавайте исполнимый список рисков и предложения по переписыванию. Используйте, когда пользователь говорит «посмотри, можно ли это SQL запускать», «предварительная проверка скрипта изменений», «проверка SQL перед запуском». Также применимо к фразам «предварительная проверка SQL», «проверка скрипта изменений», «проверка SQL перед запуском», «изменение базы данных», «sql review».
машинный переводПоказать оригиналСкрыть оригинал«在执行前审查 SQL 变更脚本:识别无 WHERE 的更新删除、锁表风险、隐式类型转换、缺失回滚方案、大表 DDL 风险与命名规范问题,输出…»
在执行前审查 SQL 变更脚本:识别无 WHERE 的更新删除、锁表风险、隐式类型转换、缺失回滚方案、大表 DDL 风险与命名规范问题,输出可执行的风险清单与改写建议。当用户说「看下这个 SQL 能不能上」「变更脚本预检」「上线前检查 SQL」时使用。 也适用于「SQL预检」「变更脚本检查」「上线前检查SQL」「数据库变更」「sql review」这类说法。
Проверяйте скрипты изменений SQL перед выполнением: выявляйте обновления и удаления без WHERE, риски блокировки таблиц, неявное преобразование типов…
Как процесс C 51/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Для Hermes description должен быть одним предложением до 60 символов; условия применения вынесите в раздел «When to Use».
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 4. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-long-hermesdescription 180 символов, а стандарт Hermes требует ≤ 60 (одно предложение, с точкой) - предупреждение
description-no-whenни description, ни раздел "## When to Use" не говорят, когда применять скилл - заметка
frontmatter-keyнеизвестное поле фронтматтера "slug" - заметка
frontmatter-keyнеизвестное поле фронтматтера "display_name" - заметка
frontmatter-keyнеизвестное поле фронтматтера "display_name_en" - заметка
frontmatter-keyнеизвестное поле фронтматтера "displayName" - заметка
frontmatter-keyнеизвестное поле фронтматтера "description_zh" - заметка
frontmatter-keyнеизвестное поле фронтматтера "description_en" - заметка
frontmatter-keyнеизвестное поле фронтматтера "summary" - заметка
frontmatter-keyнеизвестное поле фронтматтера "trigger" - заметка
frontmatter-keyнеизвестное поле фронтматтера "agent_created"
Процессный рейтинг: все десять параметров 51/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 11, без проверки текущего состояния
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Шаги. Шагов: 34
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 756 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 180 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 10 заголовков
- +3Пошаговые инструкции: 34 пунктов
- +4Есть примеры (1 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (1 из 1)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 67.