Get the FREE Ultimate OpenClaw Setup Guide →

task-coordination-strategies

Scanned
npx machina-cli add skill wshobson/agents/task-coordination-strategies --openclaw
Files (1)
SKILL.md
4.6 KB

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 1
  • src/api/ — Implementer 2
  • src/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 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:

  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 limiting

Workload Monitoring

Indicators of Imbalance

SignalMeaningAction
Teammate idle, others busyUneven distributionReassign pending tasks
Teammate stuck on one taskPossible blockerCheck in, offer help
All tasks blockedDependency issueResolve critical path first
One teammate has 3x othersOverloadedSplit 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

Source

git clone https://github.com/wshobson/agents/blob/main/plugins/agent-teams/skills/task-coordination-strategies/SKILL.mdView on GitHub

Overview

This skill helps teams break down complex work, design dependency graphs, and coordinate multi-agent effort with clear task Descriptions and workload balancing. It enables structured, trackable progress across agent teams and reduces delivery risk.

How This Skill Works

Start with task decomposition (by layer, component, concern, or file ownership), then design a dependency graph using blockedBy/blocks, identify the critical path, and minimize chains. Write task descriptions that include objective, owned files, requirements, interface contracts, acceptance criteria, and scope, and continuously monitor workload to rebalance as needed.

When to Use It

  • 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

Quick Start

  1. Step 1: Break the work into layers, components, concerns, or file ownership to enable parallelism.
  2. Step 2: Build a dependency graph using blockedBy/blocks and identify the critical path.
  3. Step 3: Write task descriptions with objective, owned files, requirements, interface contracts, acceptance criteria, and monitor workload to rebalance.

Best Practices

  • Decompose work by architectural layer, component, concern, or file ownership to maximize parallelism
  • Design dependency graphs with minimal chain depth and a clearly identified critical path
  • Use blockedBy/blocks sparingly and avoid circular dependencies to prevent deadlocks
  • Write comprehensive task descriptions: objective, owned files, requirements, interface contracts, acceptance criteria, and scope
  • Continuously monitor workload across teammates and rebalance to prevent imbalance while watching the critical path

Example Use Cases

  • Break a feature into Frontend components, Backend API endpoints, Database migrations/models, and Test suites to enable parallel work.
  • Create a dependency graph for an authentication module where A blocks B, and B blocks C, ensuring proper sequencing and integration testing.
  • Draft a task description with objective, owned files, requirements, interface contracts, acceptance criteria, and scope for a new login flow.
  • Apply a Diamond pattern in a data processing workflow: A leads to B and C, which then converge at D for integration.
  • Use workload monitoring to rebalance tasks during a sprint, reallocating resources when a single task becomes a bottleneck.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers