Team Tasks — Multi-Agent Pipeline Coordination
Overview
Coordinate dev team agents through shared JSON task files + AGI dispatch.
AGI is the command center — agents never talk to each other directly.
Two modes:
Mode A (linear):
Fixed pipeline order
code → test → docs → monitor
Mode B (dag):
Tasks declare dependencies, parallel dispatch when deps are met
Task Manager CLI
All commands use:
python3
Re-dispatch...
- Step 5: Check Progress Anytime
- python3 scripts/task_manager.py status my-project
- Output:
- 📋 Project: my-project
- 🎯 Goal: Build a REST API with tests and docs
- 📊 Status: active
- ▶️ Current: test-agent
- ✅ code-agent: done
- Task: Implement REST API with Flask
- Output: Created /home/ubuntu/projects/my-project/app.py
- 🔄 test-agent: in-progress
- Task: Write pytest tests for all endpoints
- ⬜ docs-agent: pending
- ⬜ monitor-bot: pending
- Progress: [██░░] 2/4
- Agent Dispatch Details
- Session Keys (Dev Team)
- Agent
- Session Key
- code-agent
- agent:code-agent:telegram:group:-5189558203
- test-agent
- agent:test-agent:telegram:group:-5218382533
- docs-agent
- agent:docs-agent:telegram:group:-5253138320
- monitor-bot
- agent:monitor-bot:telegram:group:-5193935559
- Dispatch Template
- When dispatching to an agent, include:
- Project context
- — what the project is about
- Specific task
- — what this agent should do
- Working directory
- — where to create/find files
- Previous stage output
- — if relevant (e.g., test-agent needs to know what code-agent built)
- Example dispatch message:
- Project: my-project
- Goal: Build a REST API with tests and docs
- Your task: Write pytest tests for all endpoints in /home/ubuntu/projects/my-project/app.py
- Target: 90%+ coverage, test GET/POST/DELETE /items
- Working directory: /home/ubuntu/projects/my-project/
- Previous stage (code-agent) output: Created app.py with Flask REST API, 3 endpoints
- Delivery Context Fix
- ⚠️ If an agent's session was first created via
- sessions_send
- , its
- deliveryContext
- is
- webchat
- , not
- telegram
- . Agent replies won't appear in the Telegram group.
- Workaround
- After getting the agent's reply via sessions_send , use the message tool to relay key results to the group: message(action="send", channel="telegram", target="-5189558203", message="✅ code-agent 完成: Created app.py") Mode B: DAG Workflow (Parallel Dependencies) Step 1: Initialize DAG Project python3 scripts/task_manager.py init my-project -m dag -g "Build REST API with parallel workstreams" Step 2: Add Tasks with Dependencies TM = "python3 scripts/task_manager.py"
Root tasks (no deps — can run in parallel)
$TM add my-project design -a docs-agent --desc "Write API spec" $TM add my-project scaffold -a code-agent --desc "Create project skeleton"
Tasks with dependencies (blocked until deps are done)
$TM add my-project implement -a code-agent -d "design,scaffold" --desc "Implement API" $TM add my-project write-tests -a test-agent -d "design" --desc "Write test cases from spec"
Fan-in: depends on multiple tasks
$TM add my-project run-tests -a test-agent -d "implement,write-tests" --desc "Run all tests" $TM add my-project write-docs -a docs-agent -d "implement" --desc "Write final docs"
Final gate
$TM add my-project review -a monitor-bot -d "run-tests,write-docs" --desc "Final review" Step 3: View DAG Graph $TM graph my-project ├─ ⬜ design [docs-agent] │ ├─ ⬜ implement [code-agent] │ │ ├─ ⬜ run-tests [test-agent] │ │ │ └─ ⬜ review [monitor-bot] │ │ └─ ⬜ write-docs [docs-agent] │ └─ ⬜ write-tests [test-agent] └─ ⬜ scaffold [code-agent] └─ ⬜ implement (↑ see above) Step 4: Dispatch Ready Tasks $TM ready my-project
Shows all tasks whose deps are met
- For each ready task, AGI follows this loop:
- 1. Get ready tasks: task_manager.py ready
--json - 2. For each ready task (can dispatch in parallel):
- a. Mark in-progress: task_manager.py update
in-progress - b. Dispatch agent: sessions_send(sessionKey=..., message=
) - 3. When agent replies:
- a. Save result: task_manager.py result
" " - b. Mark done: task_manager.py update
done - c. Check newly unblocked tasks (printed automatically)
- 4. Repeat until all done
- Key DAG Features
- Parallel dispatch
- :
- ready
- returns ALL tasks whose deps are satisfied — dispatch them simultaneously
- Dep outputs forwarding
- :
- ready --json
- includes
- depOutputs
- — previous stage results to pass to agents
- Auto-unblock notification
-
- When a task completes, shows which tasks are newly unblocked
- Cycle detection
- :
- add
- rejects tasks that would create circular dependencies
- Partial failure
- If one task fails, unrelated branches continue; only downstream tasks block Graph visualization : graph shows tree view with status icons and dedup markers Custom Pipelines Linear (Mode A)
Code + test only
python3 scripts/task_manager.py init quick-fix -g "Hotfix" -p "code-agent,test-agent"
Docs first, then code
python3 scripts/task_manager.py init spec-driven -g "Spec-driven dev" -p "docs-agent,code-agent,test-agent" DAG (Mode B)
Diamond pattern: 2 parallel branches merge for review
$TM
init diamond
-m
dag
-g
"Parallel dev"
$TM
add
diamond code
-a
code-agent
--desc
"Write code"
$TM
add
diamond
test
-a
test-agent
--desc
"Write tests"
$TM
add
diamond integrate
-a
code-agent
-d
"code,test"
--desc
"Integration"
$TM
add
diamond review
-a
monitor-bot
-d
"integrate"
--desc
"Final review"
Choosing Between Modes
Mode A (linear)
Mode B (dag)
When
Sequential tasks, simple flows
Parallel workstreams, complex deps
Dispatch
One at a time, auto-advance
Multiple simultaneous, dep-driven
Setup
init -p agents
(one command)
init -m dag
+
add
per task
Best for
Bug fixes, simple features
Large features, spec-driven dev
Data Location
Task files:
/home/ubuntu/clawd/data/team-tasks/
❌ WRONG — will error "stage '1' not found"
python3 scripts/task_manager.py assign my-project 1 "Build API" python3 scripts/task_manager.py update my-project 1 done
✅ CORRECT — use agent name as stage ID
python3 scripts/task_manager.py assign my-project code-agent
"Build API"
python3 scripts/task_manager.py update my-project code-agent
done
python3 scripts/task_manager.py result my-project code-agent
"Created main.py"
This applies to all stage-referencing commands:
assign
,
update
,
result
,
log
,
reset
.
The pipeline order is defined by
-p
at
init
time (e.g.,
-p "code-agent,test-agent,docs-agent"
), and
next
automatically advances through them in order — but you always reference stages by agent name.
Tips
One project per task
— keep scope focused; create multiple projects for parallel work
Meaningful project slugs
—
rest-api-v2
,
bug-fix-auth
,
refactor-db
(not
project1
)
Save results
— always
result
before
update done
; this is the inter-agent context
Log liberally
—
log
is cheap; helps debug failed pipelines
Reset and retry
—
reset --all
for clean reruns;
reset