---
name: sub-agent-decompose-worker-review
description: Describes the sub-agent pipeline: task-decomposer breaks a task into subtasks, task-worker implements them, work-reviewer checks the result; on issues feedback goes back to the worker. Use when orchestrating multi-step work with task-decomposer, task-worker, and work-reviewer agents, or when the user asks how these agents work together.
---

# Pipeline суб-агентов: Decomposer → Worker → Reviewer

Три агента работают по цепочке. Каждый шаг можно запускать отдельно (отдельная команда/контекст).

## Порядок запуска

| Шаг | Агент | Действие |
|-----|--------|----------|
| 1 | **task-decomposer** | Получает задачу, анализирует кодовую базу, декомпозирует в подзадачи с порядком и критериями готовности. |
| 2 | **task-worker** | Получает подзадачи (или одну задачу) и выполняет их: минимальные безопасные изменения, соблюдение правил main.mdc. |
| 3 | **work-reviewer** | Проверяет результат работы воркера: корректность, архитектура, стиль, полнота. |

После шага 3 возможен **цикл исправлений**: если ревьювер нашёл проблемы → передать замечания воркеру → воркер вносит правки → снова запустить work-reviewer. Повторять до «принято» или до разумного лимита раундов (например, 3).

## Детали по шагам

### 1. task-decomposer

- **Вход:** формулировка задачи (от пользователя или из предыдущего контекста).
- **Выход:** список подзадач с зависимостями, порядком выполнения и критериями готовности; контекст анализа; неясности и риски.
- **Когда вызывать:** задача сложная, большая или размытая — сначала декомпозиция, потом реализация.

### 2. task-worker

- **Вход:** одна подзадача или упорядоченный список подзадач (результат decomposer); при цикле исправлений — замечания от work-reviewer.
- **Выход:** изменения в коде/артефактах; кратко: что изменено, зачем, минимальный diff.
- **Когда вызывать:** после decomposer для реализации; после reviewer — для исправлений по замечаниям.

### 3. work-reviewer

- **Вход:** изменённый код, документы или артефакты после работы task-worker.
- **Выход:** краткий вывод; замечания по приоритету (критичные / важные / рекомендации); конкретные предложения правок.
- **Когда вызывать:** после завершения работы воркера по задаче или подзадаче.

## Цикл исправлений (fix loop)

1. work-reviewer выдал замечания (критичные или важные).
2. Пользователь (или оркестратор) передаёт эти замечания в task-worker как новую «задачу на исправление».
3. task-worker вносит правки.
4. Снова запускается work-reviewer по обновлённому коду.
5. Повторять шаги 2–4, пока ревью не пройдено или не достигнут лимит раундов.

## Правила для оркестрации

- Каждый агент лучше запускать в своём контексте (одна команда = один агент), чтобы не смешивать роли.
- Передавать между шагами: результат decomposer → worker; результат worker (дифф/файлы) → reviewer; вывод reviewer → worker при fix loop.
- Не пропускать decomposer для сложных задач: сначала разбивка, потом выполнение.
- Язык: если пользователь общается на русском — ответы и артефакты можно на русском; task-worker часто на английском в коде и коммитах — по конвенциям проекта.

## Краткий чеклист

- [ ] Задача передана в **task-decomposer**, получены подзадачи и порядок.
- [ ] **task-worker** выполнил подзадачи (по одной или батчем по договорённости).
- [ ] **work-reviewer** проверил результат.
- [ ] Если есть замечания — передать воркеру, повторить правки и ревью (fix loop).
- [ ] Ревью пройдено или достигнут лимит раундов.
