← ClaudeAtlas

task-flowlisted

Работа с задачами cod-doc: атомарный checkout → работа → complete с commit-sha, создание задач и секций плана, grooming. Порядок инструментов: MCP-тулы → CLI → service-слой. Триггеры: задача, task, checkout, complete, закрой задачу, возьми задачу, plan ready, секция плана, plan section, очередь задач, blocked_by.
Orange-hanter/cod-doc · ★ 0 · AI & Automation · score 70
Install: claude install-skill Orange-hanter/cod-doc
# Task flow — статус задачи живёт в БД Источник истины — `<project>/.cod-doc/state.db`, не markdown. Закрытие задачи правкой .md — не закрытие, а расхождение: проекция скажет «done», очередь и `blocked_by` останутся прежними. Слаг проекта нужен почти в каждом вызове. Определи один раз: `cod-doc project list`, либо `sqlite3 -readonly .cod-doc/state.db "select slug, root_path from project"`. Мутирующий ad-hoc SQL по этой БД — запрещён: мимо него не пишутся ревизии и activity events. ## Цикл 1. **Очередь** — `plan_ready(project, plan_scope)` или `task_next_ready`. Зависимости уже учтены, бери верх списка. CLI: `cod-doc plan ready <scope> -p <slug> --json`. 2. **Захват — атомарный `task_checkout(project, task_id, agent="claude-<тема>")`.** Не голый status-переход: `todo → in_progress` через `task_update_status` падает по протоколу. Идемпотентен для того же `agent`; чужой лок даёт конфликт, а не перетирание. 3. **Работа.** Промежуточный прогресс — `task_log_progress`, не комментарий в markdown. Гейт проекта — до закрытия, не после. 4. **Коммит** — conventional + ID задачи: `feat(scope): TASK-ID — суть`. 5. **Закрытие** — `task_complete(project, task_id, commit_sha=..., author=...)`. Валидирует `blocked_by`, снимает лок, пишет revision + activity event. Не закончил — `task_release`, а не тихо брошенный лок. ## Что где лежит | Нужда | Инструмент | |---|---| | checkout | только MCP `task_checkout` (в CLI нет) | | секция плана | MCP `plan_section_create(p