Clawion (runbook)
To run Clawion you need OpenClaw cron jobs — the Gateway wakes agents via cron. Clawion is multi-agent; multiple agents ⇒ multiple cron jobs (one per agent). Do NOT call sessions_spawn (no subagents). Official reference: Cron Jobs — OpenClaw.
Mental model (cron-driven)
- Clawion is a file-based mission coordinator. Agents interact with state through the
clawion CLI.
- Cron fires a periodic tick (you must create the job; see Cron jobs (OpenClaw) and the official docs).
- Agent runs
clawion agent wake → receives the authoritative prompt for this turn.
- Agent follows the Turn Playbook in that wake output.
- Next wake reflects the updated workspace state.
Key properties:
- Wake is the only read entrypoint.
- Run Clawion ⇒ cron jobs; multi-agent ⇒ multiple cron jobs (one per agent: manager + each worker).
Core invariants
- Workers complete tasks; managers maintain the board.
- Worker: reports progress and asks questions via
clawion message add; logs process via clawion working add.
- Manager: dispatches and maintains truth via
clawion task create/assign/update; also logs via clawion working add. When the mission is complete, disables all related cron jobs.
- Identity is explicit: every action requires global
--agent <agentId>.
Quickstart (bootstrap a new mission)
0. Pre-flight
Verify the CLI is available:
clawion --help
If the command is not found, install it globally: pnpm install -g clawion
1. Create the mission
clawion mission create --id <MISSION_ID> --name "..."
2. Register the manager (bootstrap rule)
The acting --agent must be the manager itself.
clawion agent add \
--mission <MISSION_ID> \
--id <MANAGER_ID> \
--name "Manager" \
--system-role manager \
--role-description "..." \
--agent <MANAGER_ID>
3. Register worker agents
clawion agent add \
--mission <MISSION_ID> \
--id <WORKER_ID> \
--name "Worker" \
--system-role worker \
--role-description "..." \
--agent <MANAGER_ID>
Repeat per worker.
4. Create and assign tasks (manager-only)
clawion task create \
--mission <MISSION_ID> \
--id <TASK_ID> \
--title "..." \
--description "..." \
--agent <MANAGER_ID>
clawion task assign \
--mission <MISSION_ID> \
--task <TASK_ID> \
--to <WORKER_ID> \
--agent <MANAGER_ID>
5. Write the roadmap (manager-only, one-shot)
clawion mission roadmap --id <MISSION_ID> --set "<markdown>" --agent <MANAGER_ID>
6. Create cron jobs (disabled) and get user approval — mandatory
- You must create one isolated cron job per agent (manager + each worker), all disabled.
- You must not enable any job until the user has reviewed and given explicit approval.
- After creating the jobs, remind the user that they can use the Clawion Web UI (
clawion ui) to review and edit mission content (roadmap, tasks, agents, etc.) before enabling.
See Cron jobs for more rules.
Cron jobs (OpenClaw)
Hard rules
| Rule |
Detail |
| One job per agent |
Multi-agent ⇒ multiple cron jobs. Create one isolated cron job per agent (manager + each worker). No job for an agent ⇒ that agent never runs. |
| Isolation |
Each tick runs in its own isolated OpenClaw session (never main). Context bleed makes the loop unreliable. |
| Wake interval |
If the user didn't specify one, ask and confirm before creating jobs. |
| Minimal payload |
Do not embed mission context, task lists, or SOP text. The authoritative prompt is assembled by clawion agent wake from workspace state at runtime. |
| Disabled first |
Have the user review and confirm before any cron job is enabled. This step is non-negotiable |
Recommended cron message
Worker:
Fetch your instructions by running:
clawion agent wake --mission <MISSION_ID> --agent <AGENT_ID>
Then follow the Turn Playbook in that output.
Manager:
Fetch your instructions by running:
clawion agent wake --mission <MISSION_ID> --agent <AGENT_ID>
Then follow the Turn Playbook in that output.
If the mission is complete, disable all related cron jobs.
Operational tips
- Job naming:
clawion:<MISSION_ID>:manager:<AGENT_ID>
clawion:<MISSION_ID>:worker:<AGENT_ID>
- Stagger ticks when multiple agents share the same interval to avoid bursty runs.
- Given interval =
N minutes and K agents, choose offsets: round(i * N / K) for i = 0..K-1.
- Example:
N=10, K=3 → offsets 0m, 3m, 7m.
CLI reference
Global option: --agent <agentId> (required for all scoped actions below).
| Command |
Purpose |
clawion help [topic...] |
Show detailed command help. Use clawion help <command> for one command (e.g. clawion help agent wake). |
clawion mission create |
Create a new mission from the template. Params: --id <id>, --name <name>. |
clawion mission roadmap |
Set the mission roadmap (manager only, write-once). Params: --id <id>, --set <markdown>, --agent <agentId>. |
clawion mission complete |
Mark a mission completed (manager only). Params: --id <id>, --agent <agentId>. |
clawion task create |
Create a task (manager only). Params: --mission <id>, --id <taskId>, --title <title>, --description <markdown>, --agent <agentId>. |
clawion task update |
Update task status or notes (manager only). Params: --mission <id>, --id <taskId>, --agent <agentId>, optional --status, --status-notes. |
clawion task assign |
Assign a task to an agent (manager only). Params: --mission <id>, --task <taskId>, --to <agentId>, --agent <agentId>. |
clawion agent add |
Register an agent for a mission (manager only). Params: --mission <id>, --id <agentId>, --name <displayName>, --system-role <manager|worker>, --role-description <markdown>, --agent <agentId>. |
clawion agent wake |
Generate the agent prompt and acknowledge unread mentions. Params: --mission <id>, --agent <agentId>. |
clawion message add |
Append a message to a task thread. Params: --mission <id>, --task <taskId>, --content <markdown>, --mentions <agentId,...>, --agent <agentId>. |
clawion thread show |
Show thread messages for a task (manager only). Params: --mission <id>, --task <taskId>, --agent <agentId>. |
clawion working add |
Append a working event for the acting agent. Params: --mission <id>, --content <markdown>, --agent <agentId>. |
1---2name: clawion3description: Multi-agent collaboration powered by OpenClaw cron jobs and the clawion CLI.4---56# Clawion (runbook)78**To run Clawion you need OpenClaw cron jobs** — the Gateway wakes agents via cron. **Clawion is multi-agent;** multiple agents ⇒ **multiple cron jobs** (one per agent). Do NOT call sessions_spawn (no subagents). Official reference: **[Cron Jobs — OpenClaw](https://docs.openclaw.ai/automation/cron-jobs#cron-jobs)**.910## Mental model (cron-driven)1112131. Clawion is a **file-based mission coordinator**. Agents interact with state through the **`clawion` CLI**.142. **Cron fires** a periodic tick (you must create the job; see [Cron jobs (OpenClaw)](#cron-jobs-openclaw) and the [official docs](https://docs.openclaw.ai/automation/cron-jobs#cron-jobs)).153. Agent runs **`clawion agent wake`** → receives the authoritative prompt for this turn.164. Agent follows the **Turn Playbook** in that wake output.175. Next wake reflects the updated workspace state.1819Key properties:20- **Wake is the only read entrypoint.**21- **Run Clawion ⇒ cron jobs; multi-agent ⇒ multiple cron jobs** (one per agent: manager + each worker).2223## Core invariants2425- **Workers complete tasks; managers maintain the board.**26 - Worker: reports progress and asks questions via `clawion message add`; logs process via `clawion working add`.27 - Manager: dispatches and maintains truth via `clawion task create/assign/update`; also logs via `clawion working add`. When the mission is complete, **disables all related cron jobs**.28- **Identity is explicit:** every action requires global `--agent <agentId>`.2930---3132## Quickstart (bootstrap a new mission)3334### 0. Pre-flight3536Verify the CLI is available:3738```bash39clawion --help40```4142If the command is not found, install it globally: `pnpm install -g clawion`4344### 1. Create the mission4546```bash47clawion mission create --id <MISSION_ID> --name "..."48```4950### 2. Register the manager (bootstrap rule)5152The acting `--agent` must be the manager itself.5354```bash55clawion agent add \56 --mission <MISSION_ID> \57 --id <MANAGER_ID> \58 --name "Manager" \59 --system-role manager \60 --role-description "..." \61 --agent <MANAGER_ID>62```6364### 3. Register worker agents6566```bash67clawion agent add \68 --mission <MISSION_ID> \69 --id <WORKER_ID> \70 --name "Worker" \71 --system-role worker \72 --role-description "..." \73 --agent <MANAGER_ID>74```7576Repeat per worker.7778### 4. Create and assign tasks (manager-only)7980```bash81clawion task create \82 --mission <MISSION_ID> \83 --id <TASK_ID> \84 --title "..." \85 --description "..." \86 --agent <MANAGER_ID>8788clawion task assign \89 --mission <MISSION_ID> \90 --task <TASK_ID> \91 --to <WORKER_ID> \92 --agent <MANAGER_ID>93```9495### 5. Write the roadmap (manager-only, one-shot)9697```bash98clawion mission roadmap --id <MISSION_ID> --set "<markdown>" --agent <MANAGER_ID>99```100101### 6. Create cron jobs (disabled) and get user approval — **mandatory**102103- You **must** create **one isolated cron job per agent** (manager + each worker), all **disabled**.104- You **must not** enable any job until the user has reviewed and given explicit approval.105- After creating the jobs, **remind the user** that they can use the Clawion Web UI (`clawion ui`) to review and edit mission content (roadmap, tasks, agents, etc.) before enabling.106107See [Cron jobs](#cron-jobs-openclaw) for more rules.108109110---111112## Cron jobs (OpenClaw)113114### Hard rules115116| Rule | Detail |117| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |118| **One job per agent** | Multi-agent ⇒ multiple cron jobs. Create **one** isolated cron job per agent (manager + each worker). No job for an agent ⇒ that agent never runs. |119| **Isolation** | Each tick runs in its **own isolated OpenClaw session** (never `main`). Context bleed makes the loop unreliable. |120| **Wake interval** | If the user didn't specify one, **ask and confirm** before creating jobs. |121| **Minimal payload** | Do **not** embed mission context, task lists, or SOP text. The authoritative prompt is assembled by `clawion agent wake` from workspace state at runtime. |122| **Disabled first** | Have the user review and confirm before any cron job is enabled. This step is **non-negotiable** |123124### Recommended cron message125126**Worker:**127128```text129Fetch your instructions by running:130131clawion agent wake --mission <MISSION_ID> --agent <AGENT_ID>132133Then follow the Turn Playbook in that output.134```135136**Manager:**137138```text139Fetch your instructions by running:140141clawion agent wake --mission <MISSION_ID> --agent <AGENT_ID>142143Then follow the Turn Playbook in that output.144If the mission is complete, disable all related cron jobs.145```146147### Operational tips148149- **Job naming:**150 - `clawion:<MISSION_ID>:manager:<AGENT_ID>`151 - `clawion:<MISSION_ID>:worker:<AGENT_ID>`152- **Stagger ticks** when multiple agents share the same interval to avoid bursty runs.153 - Given interval = `N` minutes and `K` agents, choose offsets: `round(i * N / K)` for `i = 0..K-1`.154 - Example: `N=10`, `K=3` → offsets `0m`, `3m`, `7m`.155156---157158## CLI reference159160Global option: `--agent <agentId>` (required for all scoped actions below).161162| Command | Purpose |163|---------|---------|164| `clawion help [topic...]` | Show detailed command help. Use `clawion help <command>` for one command (e.g. `clawion help agent wake`). |165| `clawion mission create` | Create a new mission from the template. Params: `--id <id>`, `--name <name>`. |166| `clawion mission roadmap` | Set the mission roadmap (manager only, write-once). Params: `--id <id>`, `--set <markdown>`, `--agent <agentId>`. |167| `clawion mission complete` | Mark a mission completed (manager only). Params: `--id <id>`, `--agent <agentId>`. |168| `clawion task create` | Create a task (manager only). Params: `--mission <id>`, `--id <taskId>`, `--title <title>`, `--description <markdown>`, `--agent <agentId>`. |169| `clawion task update` | Update task status or notes (manager only). Params: `--mission <id>`, `--id <taskId>`, `--agent <agentId>`, optional `--status`, `--status-notes`. |170| `clawion task assign` | Assign a task to an agent (manager only). Params: `--mission <id>`, `--task <taskId>`, `--to <agentId>`, `--agent <agentId>`. |171| `clawion agent add` | Register an agent for a mission (manager only). Params: `--mission <id>`, `--id <agentId>`, `--name <displayName>`, `--system-role <manager\|worker>`, `--role-description <markdown>`, `--agent <agentId>`. |172| `clawion agent wake` | Generate the agent prompt and acknowledge unread mentions. Params: `--mission <id>`, `--agent <agentId>`. |173| `clawion message add` | Append a message to a task thread. Params: `--mission <id>`, `--task <taskId>`, `--content <markdown>`, `--mentions <agentId,...>`, `--agent <agentId>`. |174| `clawion thread show` | Show thread messages for a task (manager only). Params: `--mission <id>`, `--task <taskId>`, `--agent <agentId>`. |175| `clawion working add` | Append a working event for the acting agent. Params: `--mission <id>`, `--content <markdown>`, `--agent <agentId>`. |