{"id":"task-coordination-strategies","name":"task-coordination-strategies","summary":"複雑なタスクの分解、依存グラフの設計、マルチエージェント作業を適切なタスク記述やワークロードバランスと調整します。","body":"# Task Coordination Strategies\n\nStrategies for decomposing complex tasks into parallelizable units, designing dependency graphs, writing effective task descriptions, and monitoring workload across agent teams.\n\n## When to Use This Skill\n\n- Breaking down a complex task for parallel execution\n- Designing task dependency relationships (blockedBy/blocks)\n- Writing task descriptions with clear acceptance criteria\n- Monitoring and rebalancing workload across teammates\n- Identifying the critical path in a multi-task workflow\n\n## Task Decomposition Strategies\n\n### By Layer\n\nSplit work by architectural layer:\n\n- Frontend components\n- Backend API endpoints\n- Database migrations/models\n- Test suites\n\n**Best for**: Full-stack features, vertical slices\n\n### By Component\n\nSplit work by functional component:\n\n- Authentication module\n- User profile module\n- Notification module\n\n**Best for**: Microservices, modular architectures\n\n### By Concern\n\nSplit work by cross-cutting concern:\n\n- Security review\n- Performance review\n- Architecture review\n\n**Best for**: Code reviews, audits\n\n### By File Ownership\n\nSplit work by file/directory boundaries:\n\n- `src/components/` — Implementer 1\n- `src/api/` — Implementer 2\n- `src/utils/` — Implementer 3\n\n**Best for**: Parallel implementation, conflict avoidance\n\n## Dependency Graph Design\n\n### Principles\n\n1. **Minimize chain depth** — Prefer wide, shallow graphs over deep chains\n2. **Identify the critical path** — The longest chain determines minimum completion time\n3. **Use blockedBy sparingly** — Only add dependencies that are truly required\n4. **Avoid circular dependencies** — Task A blocks B blocks A is a deadlock\n\n### Patterns\n\n**Independent (Best parallelism)**:\n\n```\nTask A ─┐\nTask B ─┼─→ Integration\nTask C ─┘\n```\n\n**Sequential (Necessary dependencies)**:\n\n```\nTask A → Task B → Task C\n```\n\n**Diamond (Mixed)**:\n\n```\n        ┌→ Task B ─┐\nTask A ─┤          ├→ Task D\n        └→ Task C ─┘\n```\n\n### Using blockedBy/blocks\n\n```\nTaskCreate: { subject: \"Build API endpoints\" }         → Task #1\nTaskCreate: { subject: \"Build frontend components\" }    → Task #2\nTaskCreate: { subject: \"Integration testing\" }          → Task #3\nTaskUpdate: { taskId: \"3\", addBlockedBy: [\"1\", \"2\"] }  → #3 waits for #1 and #2\n```\n\n## Task Description Best Practices\n\nEvery task should include:\n\n1. **Objective** — What needs to be accomplished (1-2 sentences)\n2. **Owned Files** — Explicit list of files/directories this teammate may modify\n3. **Requirements** — Specific deliverables or behaviors expected\n4. **Interface Contracts** — How this work connects to other teammates' work\n5. **Acceptance Criteria** — How to verify the task is done correctly\n6. **Scope Boundaries** — What is explicitly out of scope\n\n### Template\n\n```\n## Objective\nBuild the user authentication API endpoints.\n\n## Owned Files\n- src/api/auth.ts\n- src/api/middleware/auth-middleware.ts\n- src/types/auth.ts (shared — read only, do not modify)\n\n## Requirements\n- POST /api/login — accepts email/password, returns JWT\n- POST /api/register — creates new user, returns JWT\n- GET /api/me — returns current user profile (requires auth)\n\n## Interface Contract\n- Import User type from src/types/auth.ts (owned by implementer-1)\n- Export AuthResponse type for frontend consumption\n\n## Acceptance Criteria\n- All endpoints return proper HTTP status codes\n- JWT tokens expire after 24 hours\n- Passwords are hashed with bcrypt\n\n## Out of Scope\n- OAuth/social login\n- Password reset flow\n- Rate limiting\n```\n\n## Workload Monitoring\n\n### Indicators of Imbalance\n\n| Signal                     | Meaning             | Action                      |\n| -------------------------- | ------------------- | --------------------------- |\n| Teammate idle, others busy | Uneven distribution | Reassign pending tasks      |\n| Teammate stuck on one task | Possible blocker    | Check in, offer help        |\n| All tasks blocked          | Dependency issue    | Resolve critical path first |\n| One teammate has 3x others | Overloaded          | Split tasks or reassign     |\n\n### Rebalancing Steps\n\n1. Call `TaskList` to assess current state\n2. Identify idle or overloaded teammates\n3. Use `TaskUpdate` to reassign tasks\n4. Use `SendMessage` to notify affected teammates\n5. Monitor for improved throughput","author":"@wshobson","ownerProfile":null,"authorContacts":null,"sourceUrl":"https://github.com/wshobson/agents/tree/main/plugins/agent-teams/skills/task-coordination-strategies","license":"MIT","category":"writing","lang":"en","tokens":989,"stars":0,"calls30d":2,"claimed":false,"visibility":"public","origin":"crawler","version":"0.1.0","createdAt":"2026-08-22","updatedAt":"2026-08-22","files":[{"path":"references/dependency-graphs.md","size":2706,"sha256":"0631ea5ef35a6d348b3f8959b039682cdf817a404bda16a319afe0168fe4319f"},{"path":"references/task-decomposition.md","size":2738,"sha256":"c8b382e0b0a1eda3277ecdc39a7fa7f1394fecc3f16271f1b23c2199c597ba9d"}],"requires":{"mcp":[],"tools":[]},"safety":{"flags":[],"scannedAt":"2026-08-22","hasScripts":false,"networkEndpoints":[]}}