Files
memory-continuity/skills/worker-orchestrator/SKILL.md
T

246 lines
7.1 KiB
Markdown

---
name: worker-orchestrator
description: PM-style orchestration for execution workers. Use when main needs to decide whether to keep work with one worker or split across several, define worker roles/boundaries, dispatch clear task packets, enforce reply discipline, and report progress back to Tao.
---
# Worker orchestrator
Use this skill when main is acting as **PM / architect / orchestrator** for execution work.
It combines two responsibilities that belong to the same workflow:
1. **planning** the worker architecture
2. **dispatching / supervising** the resulting workers
## Status / scope boundary
This is a **PM + orchestration skill**.
It helps main:
- decide whether multiple workers are needed
- define worker scope and ownership
- dispatch clear handoff packets
- standardize worker replies
- keep Tao updated at the right moments
It is **not** a runtime transport fix.
It does **not** make OpenClaw / ACP inter-agent communication magically stable.
It does **not** guarantee reliable free-form worker↔worker or agent↔agent conversation.
Current safe interpretation:
- use it to support the model that now appears practical:
- **main → worker → main → Tao**
- do **not** use it as evidence that worker↔worker direct communication is reliable
- do **not** use it as a substitute for upstream runtime support
## When to use
Use this skill when:
- Tao gives main a task that may need delegation
- main needs to decide whether to use one worker or many
- main wants cleaner worker boundaries
- main wants a standard dispatch packet and reply format
- main wants milestone / blocker / completion reporting discipline
## Goal
Turn a vague implementation request into a controlled execution workflow:
1. decide the worker split
2. define responsibilities and boundaries
3. dispatch clean task packets
4. supervise milestones / blockers / completion
5. report upward to Tao in the correct order
---
# Part A — Planning the worker architecture
## Default stance
- Prefer **one worker** when work is small, linear, or tightly coupled.
- Create **multiple workers** when the split reduces confusion or increases throughput.
- Do not create workers just because the architecture allows it.
## Split triggers
Create multiple workers when several of these are true:
- work can proceed in parallel
- responsibilities are clearly different
- code/docs/ops/test contexts would otherwise contaminate each other
- different deliverables need separate review or validation
- the project spans multiple repos, layers, or operational tracks
- a single worker would become a long-running catch-all bucket
## Avoid splitting when
- the task is tiny
- the task is strongly sequential
- requirements are still fuzzy
- one worker would spend most of its time blocked on another
- the split adds more coordination cost than execution value
## Planning output
When using this planning section, produce a short plan with:
### 1) Recommended execution architecture
- single worker
- or multiple workers
### 2) Worker list
For each proposed worker, define:
- name
- role
- scope
- non-goals / boundaries
- expected output
### 3) Task allocation
- what each worker should do first
- what can run in parallel
- what depends on another worker finishing first
### 4) Main's PM responsibilities
State what main keeps:
- requirement clarification
- prioritization
- risk calls
- review / acceptance
- status updates to Tao
## Naming guidance
Prefer role-based names over vague names.
Examples:
- `codex_worker`
- `frontend_worker`
- `backend_worker`
- `qa_worker`
- `docs_worker`
- `ops_worker`
Avoid names that do not imply responsibility.
---
# Part B — Dispatch and supervision
## Dispatch packet
When main assigns work to a worker, include these sections:
### 1) Task
One short statement of the goal.
### 2) Scope
Specify:
- repo / path / files if known
- what area is in bounds
- what is explicitly out of bounds
### 3) Deliverable
Define the expected output:
- code change
- docs update
- validation report
- PR / commit / test result
- recommendation only
### 4) Constraints
List non-negotiables, such as:
- do not change unrelated files
- do not switch models automatically
- do not message users directly
- ask before destructive actions
### 5) Milestone 1 + ETA
Tell the worker what first checkpoint matters and when main expects the first update.
## Worker response format
Workers should respond compactly with:
- `status:` accepted | milestone | blocked | failed | done
- `summary:` short summary
- `evidence:` files changed/created, commands run, session/log proof, or `none`
- `risk:` key caveat or `none`
- `next:` next action or handoff need
Important:
- A reply without `evidence` is not enough for main to claim the task is truly `in_progress`.
- `accepted` means the worker has seen the handoff; it does not automatically mean meaningful execution has started.
## Escalate immediately when
A worker should report back to main instead of silently stalling when:
- permissions are missing
- the model/tooling is unavailable
- repo rules block the intended action
- requirements are contradictory or underspecified
- the task is crossing role boundaries
- the ETA has clearly slipped
- the requested change is riskier or broader than the original handoff suggested
## Silence rule
Workers should not chatter, but should also not disappear.
Default rule:
- acknowledge briefly
- do the work
- report at milestone
- report immediately on blockers
## Main-to-Tao forwarding rule
Worker updates are not complete until main forwards the state change upward.
When a worker reports any of these:
- task accepted
- milestone reached
- blocked
- failed
- completed
main must update Tao **before** continuing with review, commit, release, or re-delegation work.
If a worker has already reported completion and main has not forwarded that state, treat it as a **main process failure**, not as "still in progress".
## Completion rule
A task is not complete just because files changed.
Completion should include:
- the requested deliverable exists
- basic verification happened when relevant
- blockers or caveats are disclosed
- main has enough information to review and report upward
## Main's responsibility
Main must not delegate sloppily.
Before dispatching, main should decide:
- why this worker is the right worker
- what the boundary is
- what review criteria will be used
- whether the task is small enough that delegation is unnecessary
## Good default tone
- short
- operational
- explicit
- non-dramatic
Prefer a clean task packet over a long motivational speech.
---
## Current practical model
Based on current validation, this skill should be used around this practical orchestration model:
- **temporary subagents** can act as execution workers and return results to main
- **ACP Codex workers** can act as execution workers and return results to main
- **Claude ACP** should be treated as needing clean-sample validation when provider state is healthy
- **worker↔worker direct communication** is still not something to assume
In short:
- safe default = **main orchestrates; workers execute; main integrates**
- unsafe assumption = workers will reliably self-coordinate without main in the loop