Back to skills

skills/orchestrator-workers/SKILL.md

orchestrator-workers

Plan and run dynamic worker decomposition with a central orchestrator, narrow worker jobs, output schemas, replanning rounds, and synthesized results. Use when task shape is unknown upfront and subtasks must be assigned at runtime. Do not use for fixed sequences; use prompt-chaining. Do not use for independent known branches; use parallelization.

npx skills add https://github.com/flpbalada/fb-skills --skill orchestrator-workers
GitHub

Skill Docs

Central planner. Specialized workers. Dynamic task assignment.

When to Use

  • Task shape is unknown upfront
  • Work needs runtime decomposition
  • Workers need different tools or skills
  • Results reveal more work
  • One fixed chain is too rigid

Goal

Let orchestrator plan, assign, inspect, replan, and synthesize. Keep workers narrow and outputs easy to merge.

Rules

  • Use only when dynamic planning adds value.
  • Give each worker one clear job.
  • Define worker output schema.
  • Store shared state outside prompts.
  • Cap replan rounds.
  • Keep trace of jobs and results.
  • Ground final synthesis in worker outputs.

Flow

  1. Orchestrator reads task.
  2. Orchestrator creates first worker jobs.
  3. Workers execute independently.
  4. Orchestrator reviews outputs.
  5. Orchestrator assigns follow-up jobs if needed.
  6. Orchestrator synthesizes final answer.

Good Worker Types

  • Research worker
  • Retrieval worker
  • Code worker
  • Test worker
  • Critique worker
  • Summarizer worker

Avoid

  • Workers with overlapping scope.
  • Infinite replanning.
  • Vague shared state.
  • Verbose outputs.
  • Hidden uncertainty.
  • Orchestrator doing all worker work.

Output

## Orchestrator Plan

Task: [goal]
Shared state: [source of truth]
Max rounds: [n]

Workers:
- [worker]: [job], output [schema]

Review:
- Gaps: [missing info]
- Follow-up jobs: [if needed]

Final synthesis:
- [combined result grounded in worker outputs]

Decision Rule

Use orchestrator-workers when decomposition must happen during execution. If job graph is known upfront, use prompt chaining or parallelization.