
Task Coordination Strategies
- 7.4k installs
- 38.3k repo stars
- Updated July 22, 2026
- wshobson/agents
task-coordination-strategies is an agent skill for decomposing complex tasks, designing dependency graphs, writing task descriptions with acceptance criteria, and rebalancing multi-agent workloads.
About
task-coordination-strategies is an agent skill for breaking complex work into parallelizable units, designing dependency graphs, writing effective task descriptions, and monitoring workload across agent teams. Decomposition strategies split work by architectural layer, functional component, cross-cutting concern, or file ownership boundaries to reduce merge conflicts and maximize parallelism. Dependency graph design favors wide shallow graphs, identifies critical paths, uses blockedBy sparingly, and avoids circular deadlocks with patterns for independent, sequential, and diamond flows. Task descriptions should include objective, owned files, requirements, interface contracts, acceptance criteria, and explicit out-of-scope boundaries using the provided template. Workload monitoring covers idle teammates, blockers, and overload signals with rebalancing via TaskList, TaskUpdate, and SendMessage. Use when coordinating multi-agent implementation, integration testing gates, or critical path planning for parallel execution.
- Four decomposition strategies: by layer, component, concern, or file ownership.
- Dependency graph patterns with blockedBy and blocks for integration gates.
- Task description template with owned files, interface contracts, and acceptance criteria.
- Workload imbalance signals table with reassignment and critical path actions.
- Minimize chain depth and identify critical path for minimum completion time.
Task Coordination Strategies by the numbers
- 7,429 all-time installs (skills.sh)
- +158 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #110 of 16,659 AI & Agent Building skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
task-coordination-strategies capabilities & compatibility
- Capabilities
- task decomposition by layer component concern or · dependency graph patterns minimizing chain depth · blockedby and blocks taskupdate coordination exa · task description template with interface contrac · workload imbalance detection and rebalancing ste · critical path identification guidance
- Use cases
- orchestration · planning · project management
What task-coordination-strategies says it does
Decompose complex tasks, design dependency graphs, and coordinate multi-agent work with proper task descriptions and workload balancing.
TaskUpdate: { taskId: "3", addBlockedBy: ["1", "2"] } → #3 waits for #1 and #2
npx skills add https://github.com/wshobson/agents --skill task-coordination-strategiesAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 7.4k |
|---|---|
| repo stars | ★ 38.3k |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 22, 2026 |
| Repository | wshobson/agents ↗ |
How do I break a large task into parallel agent work with correct dependencies and clear ownership boundaries?
Decompose complex tasks, design dependency graphs, write acceptance-criteria task descriptions, and rebalance multi-agent workloads.
Who is it for?
Multi-agent workflows that need parallel implementation with integration gates and explicit file ownership.
Skip if: Single-agent trivial tasks, production deployment runbooks, or code review severity calibration.
When should I use this skill?
User breaks down work for agent teams, designs blockedBy dependencies, monitors teammate workload, or identifies a critical path.
What you get
A dependency graph with well-scoped tasks, blockedBy links, acceptance criteria, and rebalanced assignments across teammates.
- Dependency graph diagrams
- TaskCreate blockedBy plans
Files
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
1. Minimize chain depth — Prefer wide, shallow graphs over deep chains 2. Identify the critical path — The longest chain determines minimum completion time 3. Use blockedBy sparingly — Only add dependencies that are truly required 4. 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 CDiamond (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 #2Task Description Best Practices
Every task should include:
1. Objective — What needs to be accomplished (1-2 sentences) 2. Owned Files — Explicit list of files/directories this teammate may modify 3. Requirements — Specific deliverables or behaviors expected 4. Interface Contracts — How this work connects to other teammates' work 5. Acceptance Criteria — How to verify the task is done correctly 6. 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 limitingWorkload 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
1. Call TaskList to assess current state 2. Identify idle or overloaded teammates 3. Use TaskUpdate to reassign tasks 4. Use SendMessage to notify affected teammates 5. Monitor for improved throughput
Dependency Graph Patterns
Visual patterns for task dependency design with trade-offs.
Pattern 1: Fully Independent (Maximum Parallelism)
Task A ─┐
Task B ─┼─→ Final Integration
Task C ─┘- Parallelism: Maximum — all tasks run simultaneously
- Risk: Integration may reveal incompatibilities late
- Use when: Tasks operate on completely separate files/modules
- TaskCreate: No blockedBy relationships; integration task blocked by all
Pattern 2: Sequential Chain (No Parallelism)
Task A → Task B → Task C → Task D- Parallelism: None — each task waits for the previous
- Risk: Bottleneck at each step; one delay cascades
- Use when: Each task depends on the output of the previous (avoid if possible)
- TaskCreate: Each task blockedBy the previous
Pattern 3: Diamond (Shared Foundation)
┌→ Task B ─┐
Task A ──→ ┤ ├→ Task D
└→ Task C ─┘- Parallelism: B and C run in parallel after A completes
- Risk: A is a bottleneck; D must wait for both B and C
- Use when: B and C both need output from A (e.g., shared types)
- TaskCreate: B and C blockedBy A; D blockedBy B and C
Pattern 4: Fork-Join (Phased Parallelism)
Phase 1: A1, A2, A3 (parallel)
────────────
Phase 2: B1, B2 (parallel, after phase 1)
────────────
Phase 3: C1 (after phase 2)- Parallelism: Within each phase, tasks are parallel
- Risk: Phase boundaries add synchronization delays
- Use when: Natural phases with dependencies (build → test → deploy)
- TaskCreate: Phase 2 tasks blockedBy all Phase 1 tasks
Pattern 5: Pipeline (Streaming)
Task A ──→ Task B ──→ Task C
└──→ Task D ──→ Task E- Parallelism: Two parallel chains
- Risk: Chains may diverge in approach
- Use when: Two independent feature branches from a common starting point
- TaskCreate: B blockedBy A; D blockedBy A; C blockedBy B; E blockedBy D
Anti-Patterns
Circular Dependency (Deadlock)
Task A → Task B → Task C → Task A ✗ DEADLOCKFix: Extract shared dependency into a separate task that all three depend on.
Unnecessary Dependencies
Task A → Task B → Task C
(where B doesn't actually need A's output)Fix: Remove the blockedBy relationship; let B run independently.
Star Pattern (Single Bottleneck)
┌→ B
A → ├→ C → F
├→ D
└→ EFix: If A is slow, all downstream tasks are delayed. Try to parallelize A's work.
Task Decomposition Examples
Practical examples of decomposing features into parallelizable tasks with clear ownership.
Example 1: User Authentication Feature
Feature Description
Add email/password authentication with login, registration, and profile pages.
Decomposition (Vertical Slices)
Stream 1: Login Flow (implementer-1)
- Owned files:
src/pages/login.tsx,src/api/login.ts,tests/login.test.ts - Requirements: Login form, API endpoint, input validation, error handling
- Interface: Imports
AuthResponsefromsrc/types/auth.ts
Stream 2: Registration Flow (implementer-2)
- Owned files:
src/pages/register.tsx,src/api/register.ts,tests/register.test.ts - Requirements: Registration form, API endpoint, email validation, password strength
- Interface: Imports
AuthResponsefromsrc/types/auth.ts
Stream 3: Shared Infrastructure (implementer-3)
- Owned files:
src/types/auth.ts,src/middleware/auth.ts,src/utils/jwt.ts - Requirements: Type definitions, JWT middleware, token utilities
- Dependencies: None (other streams depend on this)
Dependency Graph
Stream 3 (types/middleware) ──→ Stream 1 (login)
└→ Stream 2 (registration)Example 2: REST API Endpoints
Feature Description
Add CRUD endpoints for a new "Projects" resource.
Decomposition (By Layer)
Stream 1: Data Layer (implementer-1)
- Owned files:
src/models/project.ts,src/migrations/add-projects.ts,src/repositories/project-repo.ts - Requirements: Schema definition, migration, repository pattern
- Dependencies: None
Stream 2: Business Logic (implementer-2)
- Owned files:
src/services/project-service.ts,src/validators/project-validator.ts - Requirements: CRUD operations, validation rules, business logic
- Dependencies: Blocked by Stream 1 (needs model/repository)
Stream 3: API Layer (implementer-3)
- Owned files:
src/routes/projects.ts,src/controllers/project-controller.ts - Requirements: REST endpoints, request parsing, response formatting
- Dependencies: Blocked by Stream 2 (needs service layer)
Task Template
## Task: {Stream Name}
### Objective
{1-2 sentence description of what to build}
### Owned Files
- {file1} — {purpose}
- {file2} — {purpose}
### Requirements
1. {Specific deliverable 1}
2. {Specific deliverable 2}
3. {Specific deliverable 3}
### Interface Contract
- Exports: {types/functions this stream provides}
- Imports: {types/functions this stream consumes from other streams}
### Acceptance Criteria
- [ ] {Verifiable criterion 1}
- [ ] {Verifiable criterion 2}
- [ ] {Verifiable criterion 3}
### Out of Scope
- {Explicitly excluded work}Related skills
How it compares
Pick task-coordination-strategies over ad-hoc task lists when multiple agents will touch related modules and you need explicit blockedBy graphs first.
FAQ
How should tasks be decomposed?
Choose by layer, component, concern, or file ownership depending on whether the work is full-stack, modular, audit-focused, or parallel implementation.
What belongs in every task description?
Objective, owned files, requirements, interface contracts, acceptance criteria, and explicit out-of-scope boundaries.
How do I wire integration dependencies?
Create API and frontend tasks independently, then TaskUpdate integration testing with addBlockedBy for prerequisite task IDs.
Is Task Coordination Strategies safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.