Set up task-based multi-agent systems with shared task files. Use when setting up parallel agent execution, designing worktree isolation patterns, or implementing task file coordination.
Sets up task-based multi-agent systems using shared task files for parallel execution. Triggers when you need to coordinate multiple agents, manage concurrent workflows, or scale beyond single-agent patterns.
/plugin marketplace add melodic-software/claude-code-plugins/plugin install google-ecosystem@melodic-softwareThis skill is limited to using the following tools:
Guide creation of task-based multi-agent systems using shared task files and worktree isolation.
Agents share a task file that acts as a coordination mechanism:
## To Do
- [ ] Task A
- [ ] Task B
## In Progress
- [π‘ abc123] Task C - being worked on
## Done
- [β
def456] Task D - completed
tasks.md:
# Tasks
## Git Worktree {worktree-name}
## To Do
[] Pending task description # Available
[β°] Blocked task (waits for above) # Blocked
[] Task with #opus tag # Model override
[] Task with #adw_plan_implement tag # Workflow override
## In Progress
[π‘, adw_12345] Task being processed # Claimed by agent
## Done
[β
abc123, adw_12345] Completed task # Commit hash saved
[β, adw_12345] Failed task // Error reason # Error captured
| Marker | Meaning | State |
|---|---|---|
[] | Pending | Available for pickup |
[β°] | Blocked | Waiting for previous |
[π‘, {id}] | In Progress | Being processed |
[β
{hash}, {id}] | Complete | Finished successfully |
[β, {id}] | Failed | Error occurred |
Tags modify agent behavior:
| Tag | Effect |
|---|---|
#opus | Use Opus model |
#sonnet | Use Sonnet model |
#adw_plan_implement | Complex workflow |
#adw_build | Simple build workflow |
βββββββββββββββββββββββββββββββββββββββββββ
β CRON TRIGGER β
β (polls tasks.md every N seconds) β
βββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βββββββββββΌββββββββββ
β β β
v v v
ββββββββββ ββββββββββ ββββββββββ
β Task A β β Task B β β Task C β
βWorktreeβ βWorktreeβ βWorktreeβ
β 1 β β 2 β β 3 β
ββββββββββ ββββββββββ ββββββββββ
# tasks.md
## To Do
[] First task to complete
[] Second task to complete
[β°] Blocked until first completes
## In Progress
## Done
from pydantic import BaseModel
from typing import Literal, Optional, List
class Task(BaseModel):
description: str
status: Literal["[]", "[β°]", "[π‘]", "[β
]", "[β]"]
adw_id: Optional[str] = None
commit_hash: Optional[str] = None
tags: List[str] = []
worktree_name: Optional[str] = None
# adw_trigger_cron_tasks.py
def main():
while True:
tasks = parse_tasks_file("tasks.md")
pending = [t for t in tasks if t.status == "[]"]
for task in pending:
if not is_blocked(task):
# Mark as in progress
claim_task(task)
# Spawn subprocess
spawn_task_workflow(task)
time.sleep(5) # Poll interval
# adw_build_update_task.py (simple)
def main(task_id: str):
# Mark in progress
update_task_status(task_id, "[π‘]")
# Execute /build
response = execute_template("/build", task_description)
# Mark complete
if response.success:
update_task_status(task_id, "[β
]", commit_hash)
else:
update_task_status(task_id, "[β]", error_reason)
Each task gets its own worktree:
git worktree add trees/{task_id} -b task-{task_id} origin/main
[π‘] immediately[β°] tasks until dependencies complete## Multi-Agent System Setup
**Task File:** tasks.md
**Trigger Interval:** 5 seconds
**Max Concurrent:** 5 agents
### Components
1. Task file format with status markers
2. Data models (Task, Status, Tags)
3. Cron trigger script
4. Task workflow scripts
5. Worktree isolation
### Workflow Routing
- Default: adw_build_update_task.py
- #adw_plan_implement: adw_plan_implement_update_task.py
- #opus: Use Opus model
### Status Flow
[] -> [π‘, id] -> [β
hash, id]
-> [β, id] // error
Date: 2025-12-26 Model: claude-opus-4-5-20251101
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.