OctoClaw is the TypeScript-first policy, delegation, status, and operator layer for OpenClaw. Use it when a turn should be routed through reply/delegate policy, WorkContract-backed delegation, runtime status, IM delivery, or feedback-loop tooling.
This skill describes the current v0.6.0 runtime line. It intentionally does
not describe the old Python octoclaw_spawn.py, completion-file finalizer, or
JSON delivery-outbox runtime. Those were historical mechanisms and must not be
reintroduced as compatibility paths.
| Layer | Authority |
|------|-----------|
| live route | reply | delegate only |
| execution lifecycle | OpenClaw native TaskFlow / sessions_spawn / native announce |
| OctoClaw metadata | SQLite runtime ledger: WorkContract, route seal, native refs, spawn intent, audit events |
| status display | generated projection from metadata + native lifecycle |
| task-state.json | rebuildable read-model cache, not truth |
| replay log | observability and evaluation evidence, not runtime truth |
reply; do not create work.octoclaw_dispatch; do not hand-write spawn args.octoclaw_dispatch_confirm.octoclaw_status or
octoclaw_task_action; do not dispatch new work just to explain old work.octoclaw_spawn.task-state.json as durable truth. Missing or corrupt
task-state must be rebuilt or reported degraded.| Tool | Use |
|------|-----|
| octoclaw_route_hint | Ask the runtime for route guidance before model/tool escalation. |
| octoclaw_policy_decide / octoclaw_route | Resolve policy and route facts. |
| octoclaw_dispatch | Create a WorkContract-backed delegation plan and native spawn intent. |
| octoclaw_dispatch_confirm | Bind accepted native runId / childSessionKey evidence back to OctoClaw metadata. |
| octoclaw_task_action | Read task details, queue, artifacts, or supported task operations. |
| octoclaw_status | Render status/details/queue/timeline from projection. |
| Command | Use |
|---------|-----|
| octoclawctl router wizard [--incremental] [--config answers.json] | Create or update local router plan/budget/privacy/language/restricted/same-provider config. |
| octoclawctl router promotion review [--input shadow.jsonl] | Evaluate local shadow samples and append promotion decisions. |
| octoclawctl router decisions [--since 7d] | Inspect shadow-to-live promotion decisions. |
| octoclawctl router cost report [--period 7d] | Review local cost grouped by model, complexity, and route, including prediction and budget status. |
| octoclawctl router cost budget set --monthly <usd> | Store the local monthly router budget. |
| octoclawctl router score override <model> <tier>=<score> | Override a model score for a complexity tier. |
| octoclawctl router model mark <model> --dispreferred-for <tier> | Soft-avoid a model for a tier. |
| octoclawctl router model ban <model> --for <tier> | Hard-exclude a model for a tier. |
Delegated work must carry:
spawnExecuted=true requires accepted native run evidence. A child session key by
itself is only a reference; it is not execution proof.
These are status-surface requests, not new work:
Answer through octoclaw_status or octoclaw_task_action. If no verifiable
record exists, say that clearly and do not invent a task.
README.md / README.zh-CN.md: operator-facing overview.docs/octoclaw-architecture-map-2026-05-09.md: detailed module graph.docs/octoclaw-ts-rebuild-design-v2.md: architecture baseline.docs/octoclaw-runtime-convergence-cleanup-plan-2026-05-07.md: runtime cleanup handoff.docs/octoclaw-repo-debt-cleanup-plan-2026-05-09.md: archive/version/terminology cleanup.docs/archive/: historical material only.Do not reintroduce these as product runtime behavior:
octoclaw_spawn as a public tool or alias.runtime.subagent.run() fallback.Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/OctoClaw · pinned to the source commit
git clone https://github.com/guanbear/OctoClaw.git
cd OctoClaw
git checkout 62157626b4e6a7c20f13a886d1e38a424cdc5f1d
mkdir -p ".claude/skills/OctoClaw"
cp -r . ".claude/skills/OctoClaw"Review the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
Scanner static-checks@0.1.0 · commit 62157626b4e6. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.