framework/skills/spec-writing/task-breakdown/SKILL.md
Use for декомпозиции спецификации в Task Breakdown JSON. Covers два режима: linear (self-check, single-agent) и subagent (cross-review + BLOCK-итерации).
npx skillsauth add steelmorgan/1c-agent-based-dev-framework task-breakdownInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Триггер | Режим | |---------|-------| | FREE/linear execution без Reviewer-agent | Linear — self-check | | Full-cycle процесс с ролями Architect/Reviewer | Subagent — cross-review + BLOCK-итерации | | Нужна декомпозиция спеки перед реализацией | Любой режим — использовать template + example | | Выполнение идёт одним агентом по шагам | Linear | | Reviewer вернул BLOCK | Subagent — запустить цикл исправления |
Если контекст оркестрации неизвестен — использовать Linear по умолчанию.
Декомпозиция оформляется как отдельный JSON-файл (рядом со спецификацией или в согласованной папке проекта).
Требования к формату:
task_idtask_typedepends_onspec_refsВ самой спецификации должна быть:
{
"spec_id": "SPEC-NNN",
"tasks": [
{
"task_id": "T1",
"task_type": "analysis",
"title": "Краткое название задачи",
"description": "Что должно быть сделано",
"depends_on": [],
"spec_refs": ["Requirements.MUST-1"],
"deliverables": ["Список ожидаемых артефактов"]
}
]
}
task_typeanalysis | design | implementation | test
{
"spec_id": "SPEC-002",
"tasks": [
{
"task_id": "T1",
"task_type": "analysis",
"title": "Проверка соответствия MUST-требованиям",
"description": "Сопоставить MUST из спецификации с задачами реализации",
"depends_on": [],
"spec_refs": ["Requirements.MUST-1", "Requirements.MUST-2"],
"deliverables": ["Матрица покрытия MUST", "Список пробелов"]
},
{
"task_id": "T2",
"task_type": "implementation",
"title": "Реализация основной логики",
"description": "Выполнить реализацию в соответствии с Technical Design",
"depends_on": ["T1"],
"spec_refs": ["Technical Design.Modules", "Requirements.MUST-3"],
"deliverables": ["Изменения кода", "Локальные проверки"]
},
{
"task_id": "T3",
"task_type": "test",
"title": "Проверка тест-плана",
"description": "Проверить, что MUST покрыты тестами из Test Plan",
"depends_on": ["T2"],
"spec_refs": ["Test Plan (TDD)"],
"deliverables": ["Результаты тестов", "Список отклонений"]
}
]
}
depends_on образует валидную последовательность;spec_refs указывают на конкретные разделы/пункты.task_id.task_type соответствует реальному этапу работ.depends_on задаёт исполнимый линейный порядок без циклов.spec_refs присутствуют и привязаны к спецификации.| Ошибка | Последствие |
|--------|------------|
| Нет self-check перед исполнением | Выполнение по дефектному плану |
| Нефиксированные допущения | Скрытые расхождения с ожиданиями |
| Неполные spec_refs | Потеря трассируемости |
| Нарушение порядка depends_on | Повторная работа на поздних шагах |
{
"spec_id": "SPEC-002",
"tasks": [
{
"task_id": "T1",
"task_type": "analysis",
"title": "Проверка metadata-объектов",
"description": "Сверить состав объектов с разделом Technical Design",
"depends_on": [],
"spec_refs": ["Technical Design.Metadata Objects", "Requirements.MUST-1"],
"deliverables": ["Список проверенных объектов", "Перечень расхождений"]
},
{
"task_id": "T2",
"task_type": "implementation",
"title": "Реализация проведения документа",
"description": "Реализовать движения и проверки остатков",
"depends_on": ["T1"],
"spec_refs": ["Requirements.MUST-2", "Requirements.MUST-3"],
"deliverables": ["Код модуля объекта", "Тесты по MUST-требованиям"]
}
]
}
task_id.task_type отражает фактический этап (analysis/design/implementation/test и т.п.).depends_on не содержит циклических зависимостей.spec_refs есть у каждой задачи и ссылаются на конкретные разделы/требования спеки.| Ошибка | Последствие |
|--------|------------|
| Пропущены spec_refs | Потеря трассируемости |
| Несогласованные depends_on | Невалидный порядок исполнения |
| Изменение формата между итерациями | Рост дефектов ревью |
| Игнорирование BLOCK-лимита | Бесконечные итерации → эскалация не происходит |
| Критерий | Linear | Subagent | |----------|--------|---------| | Наличие Reviewer-агента | Нет | Да | | Наличие роли Architect | Необязательно | Да | | Способ контроля качества | Self-check | Cross-review | | Итерации при ошибках | Нет (исправить самостоятельно) | До 3 BLOCK-возвратов, затем эскалация | | Типичный контекст | Простые задачи, one-shot выполнение | Сложные спеки, full-cycle pipeline | | Используется агентами | analyst, developer-code | architect |
testing
MUST use BEFORE making a judgment about the cause of a conflict, a test failure, or an artifact dispute. Defines the end-to-end verification method L1→L6 and the classification of the first broken link.
development
MUST use AFTER a work cycle with ≥2 iterations (wrote → error → fixed → success). Provides the retrospective procedure and the format for recording practice/anti-patterns in references/learned-patterns.md or {project}/.context/learned-patterns.md.
tools
MUST use WHEN you are writing reusable knowledge into RLM (pattern / architectural decision / stable domain fact) OR reading it before a non-trivial task/solution in the domain. Provides the breakdown of native-push vs RLM-pull, tools for writing and reading RLM, H-MEM levels, and hygiene.
testing
MUST use WHEN the task is classified as simple (< 20 lines, 1 file, no new metadata objects, no architectural decisions). Provides a short cycle of 3 steps with a guard on the self path and mandatory verify.