Understand the multi-agent task workflow structure. Reference this when working on tasks in a tasks/ directory. Defines main.md format and agent responsibilities.
Canonical source: ~/repos/task-workflow-plugin/skills/task-workflow/SKILL.md
If improving this skill, edit the source file above, NOT ~/.claude/skills/.
The cache copy is overwritten on plugin reload.
tasks/
├── global-task-manager.md # INDEX of all tasks
├── active/ # Currently being worked on
│ └── T008-feature/
│ ├── main.md # THE living task document
│ ├── plan-review.md # Detailed plan review
│ └── code-review-phase-1.md
├── planning/ # Tasks being planned
├── paused/ # On hold
├── completed/ # Done
└── archived/ # Old/cancelled
The main.md file is the single source of truth for a task. All agents update it.
# T{NNN}: {Task Title}
## Meta
- **Status:** PLANNING | PLAN_REVIEW | READY | EXECUTING_PHASE_{N} | CODE_REVIEW | MERGE_REVIEW | MERGE_READY | COMPLETE | BLOCKED
- **Created:** {date}
- **Last Updated:** {date}
- **Blocked Reason:** {if BLOCKED, why}
## Task
{Original task description from human}
---
## Plan
### Objective
{1-2 sentence outcome from user's perspective}
### Scope
- **In:** {included}
- **Out:** {excluded}
### Phases
#### Phase 1: {title}
- **Objective:** {what this achieves}
- **Tasks:**
- [ ] Task 1.1: {description}
- [ ] Task 1.2: {description}
- **Acceptance Criteria:**
- [ ] AC1: {verifiable outcome}
- **Files:** {files to modify}
- **Dependencies:** {what must be true before starting}
#### Phase 2: {title}
{same structure}
### Decision Matrix
#### Open Questions (Need Human Input)
| # | Question | Options | Impact | Resolution |
|---|----------|---------|--------|------------|
| 1 | {question} | A) ... B) ... | {impact} | OPEN / {answer} |
#### Decisions Made (Autonomous)
| Decision | Choice | Rationale |
|----------|--------|-----------|
| {decision} | {choice} | {why} |
---
## Plan Review
- **Gate:** READY | NEEDS_WORK | NOT_READY
- **Reviewed:** {date}
- **Summary:** {1-2 sentence assessment}
- **Issues:** {count} critical, {count} major, {count} minor
- **Open Questions Finalized:** {list questions needing human input}
→ Details: `plan-review.md`
---
## Execution Log
### Phase 1: {title}
- **Status:** EXECUTING_PHASE_N | COMPLETE | BLOCKED
- **Started:** {date}
- **Completed:** {date}
- **Commits:** `abc123`, `def456`
- **Files Modified:**
- `path/file.ts` — {what changed}
- **Notes:** {executor observations}
- **Blockers:** {if any}
### Phase 2: {title}
{same structure}
---
## Code Review Log
### Phase 1
- **Gate:** PASS | REVISE | FAIL
- **Reviewed:** {date}
- **Issues:** {count} critical, {count} major, {count} minor
- **Summary:** {brief assessment}
→ Details: `code-review-phase-1.md`
### Phase 2
{same structure}
---
## Merge Review
- **Verdict:** MERGE_READY | NEEDS_WORK | BLOCKED
- **Reviewed:** {date}
- **Branch:** {branch-name}
- **Summary:** {assessment}
### Executive Summary
{CEO-readable summary}
-> Details: `merge-review.md`
---
## Completion
- **Completed:** {date}
- **Summary:** {what was delivered}
- **Learnings:** {for future tasks}
| Agent | Reads | Updates in main.md | Creates |
|---|---|---|---|
| Planner | Task section | Plan section, Status→PLAN_REVIEW | — |
| Plan Reviewer | Plan section | Plan Review section, Status | plan-review.md |
| Executor | Plan (current phase) | Execution Log section, Status | — |
| Code Reviewer | Execution Log, git diff | Code Review Log section, Status | code-review-phase-N.md |
| Phase Reviewer | Code Review Log, next phase | May update Plan with learnings | — |
| Merge Reviewer | All sections | Merge Review section, Status | merge-review.md |
PLANNING → PLAN_REVIEW → READY → EXECUTING_PHASE_1 → CODE_REVIEW
↓ ↓ ↓
BLOCKED BLOCKED (stuck) REVISE (back to executor, max 3x)
↓
FAIL (re-plan → BLOCKED)
After CODE_REVIEW PASS:
→ More phases? → EXECUTING_PHASE_N
→ Last phase? → MERGE_REVIEW → MERGE_READY → (human approves) → COMPLETE
To know what to do, read the Status field:
PLANNING → spawn plannerPLAN_REVIEW → spawn plan reviewerREADY → spawn executor for Phase 1EXECUTING_PHASE_N → executor working (or spawn if not running)CODE_REVIEW → spawn code reviewerBLOCKED → report to human with open questionsMERGE_REVIEW → spawn merge reviewerMERGE_READY → report to human for merge approvalCOMPLETE → report successEdit PDFs with natural-language instructions using the nano-pdf CLI.