openclaw-performance
Skill394k starsChanged todayMITView on GitHub
Performance work in OpenClaw: a slow or heavy flow (latency, CPU, memory, SQL, RPC, renders), writing or reviewing a perf PR, or adding a cache. Count the work, delete waste first, cache last.
We split this skill into the rules it gives an agent
5 rules. 5 are common, 0 are distinctive, and 0 are very specific to this project.
5
Common
Most of the 4 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 12
Write the acceptance rule in the PR before the first run: flow, workload, metric, cold or warm, samples, and the change that counts as a …
- Common: line 27
Rerunnable: only committed scripts count.
- Common: line 34
Ask of every counted operation: does this request need it?
- Common: line 39
Full rescan per streamed delta: every token reprocessed the whole reply (#158526, 5,342 → 1 ms CPU at 256 KiB).
- Common: line 73
Test-suite speed: openclaw-test-performance.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
OpenClaw Performance
Waste is work a request does not need. Big speedups come from deleting waste, not from doing the same work faster. A cache is the last resort: it hides waste until its key, invalidation or hit rate breaks, and the waste returns.
1. Measure
Write the acceptance rule in the PR before the first run: flow, workload, metric, cold or warm, samples, and the change that counts as a win or a regression.
| Flow | Committed workload |
| CLI startup | pnpm test:startup:bench (:check holds the budget) |
| Gateway startup / restart | scripts/bench-gateway-startup.ts, scripts/bench-gateway-restart.ts, scripts/perf/post-restart-burst-measure.ts |
| Chat turn, frames per turn | scripts/bench-channel-turn.mts, scripts/perf/transcript-broadcast-measure.ts |
| Control UI cold load | scripts/bench-control-ui-cold-load.ts, pnpm ui:check-performance (:base compares) |
| Control UI older-history paging | scripts/bench-control-ui-history-depth.ts |
| Session list, multi-agent shape | scripts/perf/team-shape-fixture.ts, src/gateway/session-list-viewers.perf.test.ts |
| Concurrency, SQLite state | scripts/bench-gateway-concurrency.ts, pnpm test:sqlite:perf |
- Counts first: operations per action (SQL statements, RPCs and frames, file reads, catalog or registry loads, spawns, renders) before wall time. Counts hold steady on a loaded host. A count that should be zero is the bug.
- Real flow: an isolated Gateway on the head under test, real transport, the slow path included. A mock Gateway, a stale build or a dev server measures something else.
- Samples: baseline and candidate interleaved (ABAB), at least 5 each, cold and warm apart; median and p95 with spread, run serially, host load recorded.
- Rerunnable: only committed scripts count; extend an existing one when none fits.
- Profile:
node --cpu-profper thread, or a browser performance trace, on the hot path.
Done when the flow has a committed workload, a baseline table and a written rule.
2. Find waste
Ask of every counted operation: does this request need it? Recurring OpenClaw waste:
- Eager work on the critical path: a registry lookup imported the plugin loader (#133518, 47.07 s → 10.36 s); optional runtimes loaded at startup (#119374).
- Per-row or per-call recompute: a sync read per archived row (#156665, 56,700 reads → 0); log patterns resolved per frame (#150042, 539 → 17 ms per 10,000 frames).
- Re-checking admitted state: schema, admission or freshness checks on warm handles (#166102, #172676; 14 PRs in the SQLite admission chain).
- Full rescan per streamed delta: every token reprocessed the whole reply (#158526, 5,342 → 1 ms CPU at 256 KiB).
- Re-reading your own write: two database backups per lookup (#161551, 772.8 → 7.7 ms); Doctor rescanned and backed up what it had just checked (#174665, ~26 → 3.0 s).
- Repeated catalog or registry builds: a per-agent catalog rebuild at startup (#116261, 24.9 → 5.0 s); rebuilds per miss or TTL (#127178, #167008).
- Waiting on optional data: the Usage page waited on provider plans and retried unrelated reads (#176358).
- Defensive copies and wrapping:
structuredCloneper turn (#172940, 1.685 MiB → 0); per-value boundary wrapping (#163818, 11,571 → 500 ns/event). - Spawn or fan-out per call: a child process per resolution (#155779, 100 → 0).
- Render cascades and full payloads: a render per update (#159400, 250 → 79); full rows resent for one delta (#165404, 21.75 → 0.95 MB).
Done when each dominant count traces to the code that issues it, with a yes or no on "needed".
3. Fix in this order
- Delete the waste. Deletes rarely come back; a failed delete removed a guard, so keep every check that protects a contract and prove the contract still holds.
- Once at the owner: callers consume the owner's recorded fact.
- Carry the prepared fact through the hot path.
- Batch independent work, and prove the batch keeps frames, latency tails and cold start steady: coalescing was reverted three times (#162560, #173901, #175092).
- Cache, with a written reason why steps 1–4 do not apply. Follow root "Cache identity", invalidate from the owner's writes, bound the size, and add an interleaved work-count test. Three of four cache re-fixes were silent misses: readers evicting each other (#115369 → #174741), a budget that thrashed (#149773 → #149879).
A worker move or a deferral relocates cost; count main-thread and total work both.
Done when the waste is gone from the counts, or the PR says which step stopped and why.
4. Land
- Rerun the step 1 workload on baseline and candidate under the same rule.
- Every user-facing metric holds or improves: latency, p95/p99, frames, cold start, CPU, memory, counts. A worse metric needs the owner's explicit acceptance in the PR. A 20% move in one cell is a stop, never "within spread": five of six reverted performance PRs showed their regression in their own body.
- Revert changes without a measurable gain.
- Proof lives in the PR, not in new tests: the before/after counts are the evidence. Extend a flow's existing work-count test only when this waste has come back before; test-audit owns test value.
- PR evidence: workload command, acceptance rule, before/after table (counts and times, median and p95, samples), waste removed, and any metric that moved the wrong way.
Done when the table meets the rule written in step 1.
Related
Test-suite speed: openclaw-test-performance. Test heap growth: openclaw-test-heap-leaks. CI capacity: openclaw-ci-limits.
Trending
Quiet since February.thin dataabout the whole repository
Who's talking about moltbot/clawdbot
- amankhan1.substack.com“How to Get Clawdbot/Moltbot/OpenClaw Set Up in an Afternoon”the web · Feb 20, 2026
- medium.com“My First Three Days with Clawdbot (now Moltbot)”the web · Feb 20, 2026
- linkedin.com“Clawdbot Review: Powerful but Security Concerns”the web · Feb 20, 2026
- blog.promptlayer.com“In-Depth Moltbot Analysis for AI Developers”the web · Jan 31, 2026
- platformer.news“Falling in and out of love with Moltbot”the web · Jan 29, 2026
The biggest 5 of 8 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 8
Talked about on the web (8 times).
On the web · 8
- Feb 20, 2026How to Get Clawdbot/Moltbot/OpenClaw Set Up in an Afternoon — amankhan1.substack.com
- Feb 20, 2026My First Three Days with Clawdbot (now Moltbot) — medium.com
- Feb 20, 2026Clawdbot Review: Powerful but Security Concerns — linkedin.com
- Jan 31, 2026In-Depth Moltbot Analysis for AI Developers — blog.promptlayer.com
- Jan 29, 2026Falling in and out of love with Moltbot — platformer.news
3 more on the web
- Jan 28, 2026🎙️ Today on How I AI: I gave Clawdbot (aka Moltbot) full ... — lennysnewsletter.com
- Jan 27, 2026From Clawdbot to Moltbot: How a C&D, Crypto Scammers, and 10 Seconds of Chaos Took Down the Internet's Hottest AI Project — dev.to
- Jan 26, 2026MoltBot (ClawdBot) Review & Setup Guide — uxwritinghub.com
Other versions5 projects use a version of this.
Word for word · 1
- steipete/warelay★ 394k100% same
Edited · 4
- moltbot/moltbot★ 394k100% same
- clawdbot/clawdbot★ 394k100% same
- steipete/clawdis★ 394k100% same
- openclaw/openclaw★ 394k100% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository109 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- extensions/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- test/AGENTS.mdAGENTS.md
- ui/AGENTS.mdAGENTS.md
- agent-transcriptSkill
- auto-qaSkill
- autoreviewSkill
- channel-message-flowsSkill
- clawdtributorSkill
- claw-scoreSkill
- clawsweeperSkill
- control-ui-e2eSkill
- crabboxSkill
- discord-clawdSkill
- discord-e2eSkill
- discord-user-postSkill
- discrawlSkill
- gitcrawlSkill
- graincrawlSkill
- notcrawlSkill
- openclaw-changelog-updateSkill
- openclaw-ci-limitsSkill
- openclaw-debuggingSkill
- openclaw-docker-e2e-authoringSkill
- openclaw-ghsa-maintainerSkill
- openclaw-live-updaterSkill
- openclaw-parallels-smokeSkill
- openclaw-pr-maintainerSkill
- openclaw-qa-testingSkill
- openclaw-refactor-docsSkill
- openclaw-release-validationSkill
- openclaw-repair-sweepSkill
- openclaw-secret-scanning-maintainerSkill
- openclaw-test-heap-leaksSkill
- openclaw-testingSkill
- openclaw-test-performanceSkill
- openclaw-updateSkill
- parallels-discord-roundtripSkill
- plugin-sdk-impactSkill
- proof-videoSkill
- prototype-openclaw-tuiSkill
- pr-simplifySkill
- release-openclaw-announcementSkill
- release-openclaw-ciSkill
- release-openclaw-macSkill
- release-openclaw-maintainerSkill
- release-openclaw-plugin-testingSkill
- security-triageSkill
- slack-e2eSkill
- slacrawlSkill
- solidSkill
- tag-duplicate-prs-issuesSkill
- technical-documentationSkill
- telegram-e2e-userbotSkill
- test-auditSkill
- update-team-serverSkill
- verify-releaseSkill
- 1passwordSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

