Глава 9

Упаковывайте повторяемый процесс в skill

Skill полезен, когда одной статической инструкции мало: нужен порядок шагов, входы, выходы, stop conditions, scripts или references. Это повторяемый workflow, а не длинный универсальный prompt. В companion-проекте таким skill стал verified-change.

---
name: verified-change
description: Implement a small repository change through explicit scope, plan, patch, tests, and independent evidence review. Use for bug fixes and focused refactors.
---

# Verified change

1. Restate the goal, allowed write paths, constraints, and acceptance checks.
2. Read the relevant implementation, tests, and repository instructions before editing.
3. Write a short plan naming files, symbols, risks, and verification commands.
4. Make the smallest coherent patch. Do not change generated output or unrelated files.
5. Run the narrowest relevant test first, then `npm run check`.
6. Inspect the final diff and report changed files, commands, exit codes, and residual risks.

Stop and ask for direction if the requested change requires credentials, a destructive operation, or writes outside the declared scope.

Минимальная анатомия skill проста: name - стабильный идентификатор; description - что делает и когда релевантен; явные inputs и outputs; пошаговая процедура без скрытых предпосылок; проверки и stop conditions; ссылки на scripts и assets, которые загружаются только при необходимости.

Где каждый продукт ищет skills, стоит держать перед глазами - каталоги и способ вызова различаются.

Продукт · Проектные каталоги, подтвержденные документацией · Вызов

  • Codex - .agents/skills/<name>/SKILL.md; Автоматически по описанию или явно по имени skill
  • Claude Code - .claude/skills/<name>/SKILL.md; Автоматически или /skill-name; disable-model-invocation: true оставляет только явный вызов
  • Cursor - .agents/skills/ и .cursor/skills/; Автоматически или через меню /; Cursor также документирует совместимые каталоги Claude и Codex

Два правила уберегают от типичных ошибок. Первое - про единственную причину существования: verified-change подходит для focused bug fix и refactor, а deploy, миграция БД и incident response требуют отдельных skills, потому что у них другие права и stop conditions.

Side effect не должен запускаться по неясной релевантности. Claude Code и Cursor документируют disable-model-invocation: true. Для deploy, отправки сообщения или commit-workflow явный пользовательский вызов обычно понятнее автоматического выбора моделью.

Второе - про переносимость: формат SKILL.md общий по идее, но поддерживаемые поля, каталоги и поведение invocation различаются, поэтому храните минимальное совместимое ядро, а расширения проверяйте в целевом продукте.

Prompt, instruction и skill - только три поверхности из пяти. Выбирать между ними и hook или CI надо по уровню гарантии.

Ссылки