---
pr: 169
title: fix(issue): align headings with create-issue validation and add SDD sections
---

## Что сделано

- `create-issue.ts`: добавлена валидация 4 новых SDD-секций (`## Контракты`, `## Инварианты`, `## Граничные случаи`, `## Вне scope`) — всегда, без флагов. Итоговые обязательные заголовки: 7 секций.
- `issue/SKILL.md`: шаблон обновлён до 7 секций SDD. Структура `## Контекст` включает «Зачем» (мотивация) и «Контекст» (текущее состояние). Старые заголовки (`## Что сделать`, `## Проверка`, `## Acceptance criteria`, `## Dependencies`, `## Связанные ресурсы`) убраны. Примеры обновлены.
- `spec/SKILL.md`: шаблон issue body (строки 305-308) обновлён — `## Что сделать` → `## Задача`, `## Проверка` → `## Критерии приемки`, добавлены новые SDD-секции.
- `bug-discovery/SKILL.md`: описание заголовков issue body обновлено до 7 секций.
- `tests/test_create_issue_tool.py`: `VALID_BODY` обновлён до 7 секций. Тела существующих missing-heading тестов обновлены. Добавлены 4 новых теста: `test_sdd_missing_contracts`, `test_sdd_missing_invariants`, `test_sdd_missing_edge_cases`, `test_sdd_missing_out_of_scope`. Длинные строки переведены на implicit string concatenation (E501 fix).
- `tests/test_create_issue_tool.ts`: синхронизирован с Python-тестами.

## Почему

Шаблоны в `issue/SKILL.md` и `spec/SKILL.md` использовали заголовки (`## Что сделать`, `## Проверка`, `## Acceptance criteria`), не совпадающие с валидацией `create-issue.ts` (`## Контекст`, `## Задача`, `## Критерии приемки`) — issues, созданные по шаблону скилла, проваливали валидацию tool'а.

SDD-секции (контракты, инварианты, граничные случаи, out-of-scope) исключают угадывание агента и улучшают качество результатов с первого промпта. Единый стандарт для всех issues — без флагов и режимов.

## Pending

PR #2: создать `feature-spec` скилл — SDD Q&A перед реализацией. Будет использовать обновлённый `create-issue` tool с 7 секциями.

## Watch out

- Существующие issues в репо не соответствуют новому формату — но это не влияет на функциональность, только на создание новых issues
- `bug-discovery` скилл теперь требует 7 секций — баг-репорты должны включать контракты, инварианты, edge cases и out-of-scope (можно кратко)
