Якість skill залежить від актуального контексту

Dynamic context — це дані, які skill отримує з поточного issue та стану репозиторію: аргументи, результати пошуку, релевантні файли, уривки коду, diff, тести й шаблон майбутнього документа.

Сильний skill не передає весь репозиторій без потреби. Він добирає мінімально достатній контекст і зберігає повторюваний формат результату.

Джерело контекстуРоль
Issue та аргументиОпис поточної потреби
Результати пошукуКандидати на повʼязані модулі
Файли й уривки кодуПідтвердження фактичної поведінки
Diff і тестиСтан зміни та докази результату
ШаблонСтабільна структура вихідного артефакту

Потік dynamic context

  1. Прийняти issue як вхід.
  2. Знайти кілька найбільш повʼязаних файлів.
  3. Зібрати підтвердження з коду та тестів.
  4. Використати шаблон специфікації.
  5. Відокремити факти від assumptions.
  6. Створити TASK_SPEC.md і додати відкриті питання.
  7. Зупинитися до реалізації.
Пошук кандидатів, адаптований до проєкту
grep -R 'refund' support/ orders/

Файли поруч із skill

  • SKILL.md — процедура та контракт;
  • templates/ — формат артефактів;
  • examples/ — зразки очікуваного результату;
  • references/ — довідкові матеріали.
.claude/skills/issue-analysis/
├── SKILL.md
├── templates/
│   ├── TASK_SPEC.template.md
│   └── EVIDENCE_LOG.template.md
├── examples/
│   └── refund-sorting-bugfix.md
└── references/
    └── risk-notes.md

Перевірка якості перед комітом

  1. Переконайтеся, що skill описує конкретний сценарій.
  2. Перевірте однозначність входу й виходу.
  3. Зʼясуйте, чи не змішані факти та припущення.
  4. Перевірте мінімальність інструментів і прав.
  5. Переконайтеся, що завантажується лише потрібний контекст.
  6. Запустіть процедуру на реальному кейсі та перегляньте результат.

Антипатерни dynamic context

  • передавати весь репозиторій без потреби;
  • додавати великі застарілі логи та обговорення;
  • перетворювати SKILL.md на енциклопедію;
  • надавати аналітичному skill зайві права;
  • покладатися на непідтверджені деталі;
  • жорстко привʼязувати дизайн до нестабільної назви службового поля.

Канонічне джерело уроку · JavaRush

Відкрити матеріал JavaRush