How to install task-coordination-strategies
npx skills add https://github.com/wshobson/agents --skill task-coordination-strategiesFull instructions (SKILL.md)
Source of truth, from wshobson/agents.
name: task-coordination-strategies description: Decompose complex tasks, design dependency graphs, and coordinate multi-agent work with proper task descriptions and workload balancing. Use this skill when breaking down work for agent teams, managing task dependencies, or monitoring team progress. version: 1.0.2
Task Coordination Strategies
Strategies for decomposing complex tasks into parallelizable units, designing dependency graphs, writing effective task descriptions, and monitoring workload across agent teams.
When to Use This Skill
- Breaking down a complex task for parallel execution
- Designing task dependency relationships (blockedBy/blocks)
- Writing task descriptions with clear acceptance criteria
- Monitoring and rebalancing workload across teammates
- Identifying the critical path in a multi-task workflow
Task Decomposition Strategies
By Layer
Split work by architectural layer:
- Frontend components
- Backend API endpoints
- Database migrations/models
- Test suites
Best for: Full-stack features, vertical slices
By Component
Split work by functional component:
- Authentication module
- User profile module
- Notification module
Best for: Microservices, modular architectures
By Concern
Split work by cross-cutting concern:
- Security review
- Performance review
- Architecture review
Best for: Code reviews, audits
By File Ownership
Split work by file/directory boundaries:
src/components/— Implementer 1src/api/— Implementer 2src/utils/— Implementer 3
Best for: Parallel implementation, conflict avoidance
Dependency Graph Design
Principles
- Minimize chain depth — Prefer wide, shallow graphs over deep chains
- Identify the critical path — The longest chain determines minimum completion time
- Use blockedBy sparingly — Only add dependencies that are truly required
- Avoid circular dependencies — Task A blocks B blocks A is a deadlock
Patterns
Independent (Best parallelism):
Task A ─┐
Task B ─┼─→ Integration
Task C ─┘
Sequential (Necessary dependencies):
Task A → Task B → Task C
Diamond (Mixed):
┌→ Task B ─┐
Task A ─┤ ├→ Task D
└→ Task C ─┘
Using blockedBy/blocks
TaskCreate: { subject: "Build API endpoints" } → Task #1
TaskCreate: { subject: "Build frontend components" } → Task #2
TaskCreate: { subject: "Integration testing" } → Task #3
TaskUpdate: { taskId: "3", addBlockedBy: ["1", "2"] } → #3 waits for #1 and #2
Task Description Best Practices
Every task should include:
- Objective — What needs to be accomplished (1-2 sentences)
- Owned Files — Explicit list of files/directories this teammate may modify
- Requirements — Specific deliverables or behaviors expected
- Interface Contracts — How this work connects to other teammates' work
- Acceptance Criteria — How to verify the task is done correctly
- Scope Boundaries — What is explicitly out of scope
Template
## Objective
Build the user authentication API endpoints.
## Owned Files
- src/api/auth.ts
- src/api/middleware/auth-middleware.ts
- src/types/auth.ts (shared — read only, do not modify)
## Requirements
- POST /api/login — accepts email/password, returns JWT
- POST /api/register — creates new user, returns JWT
- GET /api/me — returns current user profile (requires auth)
## Interface Contract
- Import User type from src/types/auth.ts (owned by implementer-1)
- Export AuthResponse type for frontend consumption
## Acceptance Criteria
- All endpoints return proper HTTP status codes
- JWT tokens expire after 24 hours
- Passwords are hashed with bcrypt
## Out of Scope
- OAuth/social login
- Password reset flow
- Rate limiting
Workload Monitoring
Indicators of Imbalance
| Signal | Meaning | Action |
|---|---|---|
| Teammate idle, others busy | Uneven distribution | Reassign pending tasks |
| Teammate stuck on one task | Possible blocker | Check in, offer help |
| All tasks blocked | Dependency issue | Resolve critical path first |
| One teammate has 3x others | Overloaded | Split tasks or reassign |
Rebalancing Steps
- Call
TaskListto assess current state - Identify idle or overloaded teammates
- Use
TaskUpdateto reassign tasks - Use
SendMessageto notify affected teammates - Monitor for improved throughput
Related skills
More from wshobson/agents and the wider catalog.
tailwind-design-system
Build production-ready design systems with Tailwind CSS v4, design tokens, and component libraries.
typescript-advanced-types
Master TypeScript's advanced type system: generics, conditional types, mapped types, and utility types for type-safe applications.
nodejs-backend-patterns
Build production-ready Node.js backends with Express/Fastify, middleware patterns, auth, and database integration.
python-performance-optimization
Profile and optimize Python code using cProfile, memory profilers, and performance best practices.
brand-landingpage
Brand-first landing page designer with guided interviews and Stitch-powered iteration.
python-testing-patterns
Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development.