Score your OpenClaw setup against the patterns in the OpenClaw Optimization Guide. 50 items across 5 pillars. 2 points each. 100 possible. Updated for OpenClaw 2026.6.11 stable.
Share your score: "My OpenClaw Production Readiness Scorecard: XX / 100 — github.com/OnlyTerp/openclaw-optimization-guide"
- Fork / clone this repo or copy this file into your own setup.
- Walk the 50 items. Check the ones you've genuinely done.
- Add up your score: each checked box = 2 points, max 100.
- Post the total. Tag us. Argue about which items matter most.
Every item links to the part of the guide that covers it. If you're about to check something and can't explain why it matters, go read the linked part.
Do your agents respond in seconds, not minutes? If every turn feels sluggish, context bloat is almost always the reason.
-
SOUL.mdis under 1 KB. → Part 2 -
AGENTS.mdis under 2 KB. → Part 2 -
MEMORY.mdis under 3 KB and is a pure index, not a content store. → Part 4 -
TOOLS.mduses one-liners per tool, not full JSON schemas. → Part 2 - Total injected context per message is under 8 KB, verified by logging a turn or reviewing
/context map. → Part 1 -
contextPruning.mode: "cache-ttl"with a 5-minute TTL. → Part 2 - Reasoning mode is OFF on the default model, ON only for orchestration. → Part 6
- Compaction runs on a cheap non-reasoning model (e.g. Cerebras
gpt-oss-120b), not on Gemini Flash or an Opus/GPT key. → Part 15 - Cron output is isolated (
memory/cron/or suppressed) so bulk scheduled runs don't flood session memory. → Part 3 - For small local worker agents (≤14B),
agents.list[].experimental.localModelLean: trueis set only on those workers. → Part 6
Can your agent remember what it did yesterday, what you decided last week, and where the relevant code lives?
- Vault structure is claim-named (
what-a-b-testing-tells-you-about-activation.md), not date-named (2026-04-16-notes.md). → Part 9 - At least one MOC (Map of Contents) exists under
vault/01_thinking/. → Part 9 -
memory_searchis used (by rule, enforced inAGENTS.md) before the agent claims it doesn't remember. → Part 4 - Embeddings run locally on Ollama (e.g.
qwen3-embedding:0.6b), not on a cloud provider. → Part 10 - Search latency on your live vault is under ~150ms on a warm cache. → Part 4, Part 10
- Memory-core built-in dreaming is enabled with a nightly schedule. → Part 22
- Dream phase blocks live under
memory/dreaming/{phase}/(dreaming.storage.mode: "separate", the current default). → Part 22 -
DREAMS.mdhas at least one real sweep entry from the last 7 days. → Part 22 - Auto-capture hook is wired to extract claim-named notes from session transcripts. → Part 11
- LightRAG is enabled if your vault has ≥500 files. (Otherwise, credit this item.) → Part 18
Does the frontier model plan while cheap workers execute, or is your orchestrator doing everything itself?
- Orchestrator uses a frontier model (Opus / GPT-5 / Gemini Pro). → Part 6
- Workers use cheaper/faster models (Sonnet / GPT-5-mini / Flash / Cerebras). → Part 6
-
AGENTS.mdhas an explicit "spawn sub-agent if …" rule. → Part 5 - Independent tasks are spawned in parallel, not serially. → Part 5
- You've used the Coordinator Protocol (Research → Synthesis → Implement → Verify) at least once on a real task. → Part 5
- Each worker's prompt is self-contained (no "based on the above / your findings / the plan"). → Part 5
- At least 2 fallback models are configured; you've verified failover works. → Part 6
- Ralph-style implement→test→loop pattern is wired somewhere (or you've consciously decided it's overkill). → Part 5
- If you ship code: Repowise (or an equivalent structural index) feeds workers instead of re-reading files every spawn. → Part 19
- Memory Bridge injects your vault into external coding agents, and Codex workers use canonical
openai/gpt-*app-server routes. → Part 13, Part 33
If a compromised skill ships tomorrow, how much of your system does it reach?
- Task Brain is live (
openclaw tasks listandopenclaw tasks maintenance --jsonreturn useful output). → Part 24 - Approval policy is set at the control-plane choke point — by semantic intent, not raw tool names or skill-shell preludes. On 2026.4.15+ verify the shipping knobs (
tools.exec.security,tools.exec.ask,tools.fs.workspaceOnly) withopenclaw exec-policy show. → Part 24 -
control-plane.*is set todenyfor every non-admin agent. → Part 24 -
write.fs.outside-workspaceisdenyby default, andtools.toolsBySenderstrips mutation/runtime/Codex/MCP tools from public senders. → Part 24 -
skills.autoUpdateis OFF. → Part 23 - Every installed ClawHub skill/plugin is pinned to a commit or tag, not a branch, and typed tool plugins pass
openclaw plugins validate. → Part 23 - You've read the source/manifest of every ClawHub skill or plugin you have installed, including embedding/source-provider contracts. → Part 23
- Credentials live in environment variables or OS keychain, not in
openclaw.json,AGENTS.md, ormemory/. → Part 15 - Approval UI shows redacted secrets (
sk-***) — you upgraded to 2026.4.15+. → Part 15 - Canvas Model Auth status card shows all providers green; you've tested auth hot-reload and Codex OAuth repair if used. → Part 15
When something breaks at 3am, can you answer "what ran, with what permissions, and why did it fail" in under 5 minutes?
- Every ACP call, cron job, and sub-agent spawn shows up in
openclaw tasks list/openclaw tasks flow list(i.e. nothing runs outside Task Brain). → Part 24 - Gateway startup script has stale-process cleanup so a zombie doesn't block port 18789. → Part 15
- Compaction
reserveTokensis capped to the model's context window (auto in 2026.4.15+; verify anyway). → Part 15 - You run
openclaw doctorandopenclaw policy checkafter every upgrade/shared-channel change and archive the output. → Part 26 - Native diagnostics plus LangFuse / OpenTelemetry / equivalent LLM tracing are enabled for at least one agent. → Part 20
- Auto-capture hook is running; you've confirmed it produces inbox notes. → Part 11
- Self-improving system is on:
.learnings/corrections.md,.learnings/ERRORS.md,.learnings/LEARNINGS.mdare being written to. → Part 12 - Real-time knowledge sync (file watcher → vector index) is running. → Part 21
- You have a one-command rollback plan from your current version to the previous one, including plugin/Meeting Notes/voice rollout. → Part 26
- You've tested rollback at least once, active-run queue mode is documented for shared channels, and Meeting Notes retention is documented if enabled. → Part 26
Count your checked boxes and multiply by 2:
- Don't check an item because you mean to do it — only because it's live right now.
- "Almost" is a zero. If your MEMORY.md is 3.4 KB, that pillar item is zero, not half.
- If an item doesn't apply (e.g. you don't ship code, so Repowise is irrelevant), grant yourself the 2 points — but only once you've genuinely confirmed it doesn't apply, not because it sounded complicated.
- Retake the scorecard after every OpenClaw upgrade. The items don't move, but the defaults do.
This is not a vendor checklist. Every item is here because skipping it burned us at least once on a real deployment. The ranking — Speed, Memory, Orchestration, Security, Observability — roughly matches the order in which things start to hurt as you move from toy to production:
- Speed is the first thing users notice.
- Memory is the first thing you notice (the agent "forgets" a decision and you re-explain).
- Orchestration is where costs explode.
- Security is where you stop sleeping well.
- Observability is what lets you recover when one of the other four fails.
See Part 25 — Architecture Overview for the 15-minute primer on why the pieces fit this way.
Contributions and corrections welcome. Open an issue at github.com/OnlyTerp/openclaw-optimization-guide or see CONTRIBUTING.md.
