This skill sets up a multi-agent task orchestration system on OpenClaw. It creates:
sessions_send with timeoutSeconds: 0, Leader is never blockedThis is not a prompt pack or a collection of agent personas. It is an orchestration protocol — a set of rules that govern how multiple agents coordinate work:
The agent roles are pluggable — swap in any specialist. The orchestration rules are the constant.
openclaw onboard completed~/.openclaw/ directory existsWhen first triggered, this skill runs an interactive setup process.
openclaw onboard completed~/.openclaw/ directory existsIf any prerequisite is missing, guide the user to resolve it before continuing.
Present team templates. All teams include Leader (required), Executor (recommended), and the Reviewer pattern (on-demand).
TeamSpecialistsBest ForSoftware DevSenior Developer, Software ArchitectCode-centric projectsContent StudioContent Creator, ResearcherContent production workflowsResearch & AnalysisResearcherInvestigation and deep analysisMinimal(none — add agents later)Custom setups, start lean
See
templates/teams/for team definitions. Seetemplates/agents/for all available agent templates.
After team selection, the user can add individual agents from the template catalog or create custom agents.
Collect from the owner:
After collecting, write the values to shared/INSTANCE.md (created by scaffold). Also update Leader's SOUL.md communication section to reflect the chosen language.
bash
# Create directories, copy templates, inject orchestration rules
bash scripts/scaffold.sh \
--skill-dir "$(pwd)" \
--team <selected-team>
# For named leader workspaces:
# bash scripts/scaffold.sh --skill-dir "$(pwd)" --team <selected-team> --leader-workspace workspace-bae
The scaffold creates:
shared/operations/)tasks/, tasks/archive/)Always preview before merging. Run dry-run first so the user can inspect what will change:
bash
# Preview what will be merged (no changes written)
node scripts/patch-config.js \
--config ~/.openclaw/openclaw.json \
--dry-run
Show the user the dry-run output and explain what each section does. Only proceed after confirmation:
bash
# Apply the merge
node scripts/patch-config.js \
--config ~/.openclaw/openclaw.json
What the config patcher merges:
Config KeyWhat It SetsWhyagents.defaultscompaction: safeguard, timeout: 1800s, maxConcurrent: 4Stable defaults for multi-agent operationagents.list[]Agent entries (id, name, workspace, tools.deny)Register each agent with OpenClawtools.agentToAgentenabled: true, allow listEnable inter-agent communicationtools.sessionsvisibility: "all"Agents can see each other's sessionstools.exec.safeBinTrustedDirs/bin, /usr/bin, /opt/homebrew/bin, /usr/local/binTrusted paths for CLI executionsession.agentToAgentmaxPingPongTurns: 3A2A session ping-pong limitsession.parentForkMaxTokens100000Fork token budgethooks.internalboot-md, bootstrap, command-logger, session-memoryEnable internal hooksmessages.ackReactionScope"all"Acknowledgment on all messagescommandsnative: "auto", nativeSkills: "auto", restart: trueNative command settingsagents.defaults.heartbeatevery: "3m", target: "last"Heartbeat interval for task status checking
Version compatibility: The script checks for OpenClaw v2026.2.26+ features (A2A sessions, agent list, exec trusted dirs). If the version is older, it will warn and suggest upgrading.
Safety: The script creates a timestamped backup of openclaw.json before writing. Restore with: cp ~/.openclaw/openclaw.json.backup-<timestamp> ~/.openclaw/openclaw.json
text
openclaw gateway restart
openclaw doctor
Verify:
sessions_send to at least one agent succeedsThe orchestration kit uses OpenClaw's Heartbeat mechanism (configured automatically by patch-config.js at 3-minute intervals). Task status messages and results are sent to the channel where the owner's request originated (the task's route). There is no fixed operations channel for routine updates.
If heartbeat is not triggering, ensure agents.defaults.heartbeat is set in openclaw.json AND the leader agent entry has an explicit heartbeat block.
The orchestration hub. Cannot be removed.
Full protocol:
templates/leader/AGENTS.mdPersona:templates/leader/SOUL.md
Prevents Leader from blocking on heavy operations.
Leader has exec access as fallback, but the protocol guides it to delegate time-consuming operations to Executor.
Template:
templates/executor/
Not a persistent agent. Spawned on-demand via sessions_spawn when:
Uses [APPROVE] / [REVISE] signals. Max 2 review rounds per task.
Template:
templates/reviewer/
Filled from templates or custom definitions. Each specialist receives:
Available templates:
TemplateSourceDescriptionSenior DeveloperBuilt-inFull-stack implementation, TDD, code qualitySoftware ArchitectBuilt-inSystem design, ADRs, trade-off analysisCode ReviewerBuilt-inCode review, security audit, quality assessmentContent CreatorBuilt-inCopywriting, visual direction, platform packagingResearcherBuilt-inMarket research, analysis, evidence-based briefsCustomBlank templateDefine your own roleAgency AgentsExternal100+ templates from agency-agents
See
templates/agents/_template.mdfor the blank template structure.
text
Owner request → Leader analyzes → Decomposes into atomic tasks →
Creates task file (BEFORE dispatch) → Dispatches async →
Sends status notification → Returns to owner (not blocked) →
Processes callbacks → Updates status → Quality review →
Delivers result [PENDING APPROVAL] → Owner approves → Execute
SignalMeaningLeader Action[READY]Complete and confidentQuality review → deliver or rework[BLOCKED]Cannot proceedAssess alternative, re-route, or escalate[NEEDS_INFO]Needs more contextGather info, re-brief[LOW_CONFIDENCE]Delivered but uncertainCareful review, consider Reviewer[SCOPE_FLAG]Task bigger than expectedReassess scope with owner[APPROVE]Reviewer approvesMark [PENDING APPROVAL], present to owner[REVISE]Reviewer requests changesCompose revision request to original agent[PENDING APPROVAL]Awaiting owner approvalHold until owner responds[CONTEXT_LOST]Session compactedRe-send task context from task file
Each task: tasks/T-{YYYYMMDD}-{HHMM}.md — the single source of truth.
markdown
# T-{id}: {task name}
status: in_progress | completed | cancelled
dispatched: {YYYY-MM-DD HH:MM}
route: {channel}:{thread}
callback_to: {Leader session key}
notification_status_msg: {messageId}
notification_result_msg: {messageId}
## Steps
1. [⏳] agent:{id} → {description}
brief_to: agent:{id}:main
output: {result summary}
files: {paths}
Full protocol (Leader's operating instructions):
workspace/AGENTS.md(runtime) ortemplates/leader/AGENTS.md(source) Brief templates:shared/operations/brief-templates.md(runtime) orreferences/brief-templates.md(source) Approval pipeline:shared/operations/approval-workflow.md(runtime) orreferences/approval-workflow.md(source) Architecture and signals:references/architecture.md,references/signals.md(skill source)
Say: "Add a Senior Developer agent" or "Add a Researcher to the team"
The kit will:
openclaw.jsonSay: "Add a custom agent: Security Auditor"
The kit will:
Users can import agent templates from the Agency Agents repo. The scaffold script can inject orchestration compliance rules into any external agent template:
bash
bash scripts/scaffold.sh --inject-orchestration <path-to-agent.md>
text
~/.openclaw/
├── openclaw.json # Updated with agent configs
├── workspace/ # Leader
│ ├── SOUL.md, AGENTS.md
│ ├── HEARTBEAT.md # Task status check procedure
│ ├── tasks/, tasks/archive/
│ └── shared/
│ ├── INSTANCE.md # Owner name, timezone, language
│ └── operations/
│ ├── channel-map.md
│ ├── team-roster.md
│ ├── communication-signals.md
│ ├── brief-templates.md
│ └── approval-workflow.md
├── workspace-executor/
│ ├── SOUL.md, AGENTS.md
│ └── shared -> ../workspace/shared/
├── workspace-reviewer/ # On-demand (spawned by Leader)
│ ├── SOUL.md, AGENTS.md
│ └── shared -> ../workspace/shared/
├── workspace-{specialist}/ # Per specialist
│ ├── SOUL.md, AGENTS.md
│ └── shared -> ../workspace/shared/
ScriptPurposeWhen to Runscripts/scaffold.shCreate directories, copy templates, inject orchestration rulesInitial setup, adding agentsscripts/patch-config.jsMerge agent config into openclaw.jsonInitial setup, adding agents
Each agent has two files:
SOUL.md — Persona, philosophy, boundaries. Freely editable.
AGENTS.md — Operating procedures. Contains two sections:
Status message format and result delivery templates are in references/brief-templates.md. Customize the owner-facing templates to match your communication language and style.
See references/approval-workflow.md for the full pipeline. Key customization points: