Claude capability-evolver skill: 10 self-improvement loops
Ten self-improvement loops for openclaw’s capability-evolver — review-mode first run, auto-log analysis, Gene authoring, strategy switching, capsule deduplication, mailbox task claim, cron + git-sync, Hub asset submit, rollback stress test, and the three-strategy A/B/C — each as a single Claude prompt anchored in the verbatim SKILL.md.
Already know what skills are? Skip to the cookbook. First time? Read the explainer then come back. Need the install? It’s on the /skills/capability-evolver page.

On this page · 21 sections▾
- What this skill does
- The cookbook
- Install + README
- Watch it explained
- 01 · Run a single evolution cycle in review mode
- 02 · Auto-log analysis on a stale repo
- 03 · Author a Gene against a recurring crash
- 04 · Switch to harden strategy after a chaos week
- 05 · Capsule deduplication for repeated reasoning
- 06 · Mailbox poll + claim a Hub task
- 07 · Continuous loop with cron + git-sync
- 08 · Submit a Gene asset to EvoMap Hub for review
- 09 · Rollback strategy stress test
- 10 · Strategy switcher: balanced → innovate → harden
- Community signal
- The contrarian take
- Real systems shipped
- Gotchas
- Pairs well with
- FAQ
- Sources
What this skill actually does
Sixty seconds of context before the cookbook — what capability-evolver is, what Claude returns when you invoke it, and the one thing it does NOT do for you by default.
What this skill actually does
“A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and introduces randomized mutations to break local optima.”
— openclaw, the skill author · /skills/capability-evolver
What Claude returns
Claude returns a structured evolution cycle: a read of memory/* and assets/gep/events.jsonl, a set of proposed Genes (id, capability, mutation_directive, fitness_signal, parent_id) written into assets/gep/genes.json, success Capsules in capsules.json, and append-only events in events.jsonl. It speaks to EvoMap Hub only through a local Proxy mailbox at http://127.0.0.1:19820 — never directly. Strategy is one of balanced, innovate, harden, repair-only, early-stabilize, steady-state, or auto.
What it does NOT do
It does not modify its own source code unless EVOLVE_ALLOW_SELF_MODIFY=true (which the SKILL.md explicitly flags as 'NOT recommended for production'). It also does not run the EvoMap Hub for you — the local Proxy is the only sanctioned channel.
How you trigger it
run a capability-evolver cycle in review modeanalyze the last week of agent failures and propose Genesswitch the evolution strategy to harden for a dayCost when idle
~120 tokens at idle (the skill name, description, and two trigger lines). The full SKILL.md (proxy mailbox API, GEP protocol, configuration table) loads only when the skill is invoked.
The cookbook
Each entry below is a self-improvement loop you can run this week. They’re ordered by how much trust the agent has earned: the first three (review mode, log analysis, Gene authoring) are read-only or human-gated, the middle four cover the full mailbox + Hub lifecycle, and the last three (continuous loop, rollback stress test, strategy switcher) are only safe after you’ve watched the review-mode diffs for a week. Every entry pairs with one or two skills or MCP servers already on mcp.directory.
Install + README
If the skill isn’t on your machine yet, here’s the one-liner. The full install panel (Codex, Copilot, Antigravity variants) is on the skill page.
One-line install · by openclaw
Open skill pageInstall
mkdir -p .claude/skills/capability-evolver && curl -L -o skill.zip "https://mcp.directory/api/skills/download/1369" && unzip -o skill.zip -d .claude/skills/capability-evolver && rm skill.zipInstalls to .claude/skills/capability-evolver
Watch it explained
A walkthrough of the Darwin Gödel Machine paper is the right primer before the cookbook. The DGM is the academic shape of the loop capability-evolver runs locally — archive of agents, fitness-validated mutations, parent-id lineage. Watch this once and the GEP protocol stops feeling esoteric.
Run a single evolution cycle in review mode
Run one cycle of capability-evolver against the current workspace, but pause for human approval before any code is written. The safest first invocation on a new repo.
ForFirst time enabling the skill. You want the diff in front of you before the agent commits anything to its own memory or src/.
The prompt
Use the capability-evolver skill. Run a single evolution cycle in review mode against this workspace. Read assets/gep/events.jsonl and the most recent failures in memory/, propose at most three concrete improvements, and pause for my approval on each before applying. Do NOT enable EVOLVE_ALLOW_SELF_MODIFY. Show me the proposed diff in plain text first.What slides.md looks like
# .env (do not commit)
A2A_NODE_ID=node_abc123def456
EVOLVE_STRATEGY=balanced
EVOLVE_ALLOW_SELF_MODIFY=false
EVOLVER_ROLLBACK_MODE=hard
# Run with human-in-the-loop
$ node index.js --review
[evolver] reading assets/gep/events.jsonl (last 200 events)
[evolver] proposed gene: "retry-with-jitter" (3 failures matched)
[evolver] proposed capsule: "skip-known-flaky-tests"
[evolver] awaiting approval... (y/n/diff)One-line tweak
Drop --review and add --loop only after the first three cycles produce changes you would have approved manually. The skill assumes the toolchain is already on PATH.
Auto-log analysis on a stale repo
Point the evolver at a workspace with a year of memory/ and assets/gep/events.jsonl history, and ask it to surface the top failure patterns it would target next.
ForRepo handoff or post-mortem week. The agent has been running for months; you need to know what it has actually been failing at, not what the README claims it does.
The prompt
Use the capability-evolver skill. Read-only pass: scan memory/* and assets/gep/events.jsonl, group failures by error class, and emit a markdown report of the top five recurring failure patterns. Do NOT propose mutations yet. Include the parent-id chain for each pattern so I can trace the lineage in events.jsonl.What slides.md looks like
## Top failure patterns (last 90 days)
1. **timeout-on-fetch** (47 events, parent: e_4f2)
- First seen: 2026-01-12, evomap.ai mailbox poll
- Repair attempts: 3 (all reverted)
- Suggested gene: exponential-backoff-with-jitter
2. **stale-capsule-hit** (23 events, parent: e_8a1)
- Capsule "skip-flaky-tests" matched on tests that
became deterministic after a CI fix.
- Suggested action: capsule TTL or fitness re-eval.One-line tweak
Pipe the report through `prompt-improver` to get a tightened version of the evolution prompt that targets only the top pattern next cycle.
Author a Gene against a recurring crash
Turn a recurring stack trace from memory/* into a reusable Gene in assets/gep/genes.json so the next cycle (and other openclaw agents) can pull the fix from the asset store.
ForAnyone shipping the GEP protocol. Genes are the unit of capability transfer; one well-written gene survives many evolutions.
The prompt
Use the capability-evolver skill. Read memory/last-crash.jsonl, identify the root cause (single sentence), and write a new Gene in assets/gep/genes.json with: id (sha256 of content), name, capability, mutation_directive, fitness_signal, and parent_id pointing to the failing event. Append the corresponding event to assets/gep/events.jsonl. Do not run the cycle.What slides.md looks like
// assets/gep/genes.json (append)
{
"id": "sha256:b2f1...",
"name": "retry-with-backoff",
"capability": "network.fetch",
"mutation_directive": "wrap fetch in p-retry, base 200ms, factor 2",
"fitness_signal": "5xx_rate < 0.02 over 1h",
"parent_id": "e_4f2",
"created_at": "2026-04-30T10:14:00Z"
}One-line tweak
Make `fitness_signal` measurable on the local mailbox before promotion to EvoMap Hub. A gene the Hub cannot validate gets rejected at asset_submit_result.
Switch to harden strategy after a chaos week
Override EVOLVE_STRATEGY from balanced to harden so the next N cycles only generate repair / stability mutations — no innovate, no exploration.
ForProduction incident week. You need the agent to fix what's broken, not invent. innovate after midnight is how mutations land in your changelog.
The prompt
Use the capability-evolver skill. Set EVOLVE_STRATEGY=harden in the local .env and run a single cycle in review mode. Limit mutation_directive to refactor / repair-only / early-stabilize. Reject any proposed gene whose fitness_signal cannot be measured in the next 60 minutes.What slides.md looks like
# .env override
EVOLVE_STRATEGY=harden
EVOLVE_ALLOW_SELF_MODIFY=false
EVOLVER_ROLLBACK_MODE=hard
$ node index.js --review
[evolver] strategy=harden — repair/stabilize only
[evolver] rejected gene "novel-cache-layer" (innovate)
[evolver] accepted gene "circuit-breaker-on-evomap" (harden)
[evolver] fitness window: 60m, signal: error_rate
[evolver] awaiting approval...One-line tweak
After two harden cycles in a row, switch to early-stabilize for one cycle, then back to balanced. Three weeks on harden and the search space narrows enough that the agent stops finding wins.
Capsule deduplication for repeated reasoning
Walk capsules.json and merge / TTL the success capsules that fired more than once on the same parent_id — the agent has been re-deriving the same answer.
ForLong-running agents whose thinking budget keeps growing. Capsule bloat is the silent kill: same reasoning, retried.
The prompt
Use the capability-evolver skill. Read assets/gep/capsules.json. For each capsule that fired ≥2 times against the same parent_id in the last 30 days, propose either (a) merge into a single capsule with the union of contexts, or (b) add a TTL field expiring on the next solidify. Output a unified diff against capsules.json. Do not write yet.What slides.md looks like
--- a/assets/gep/capsules.json
+++ b/assets/gep/capsules.json
@@ -42,8 +42,7 @@
{
- "id": "cap_a1",
- "fires_on": ["e_4f2"],
- "context": "fetch retry",
+ "id": "cap_a1_merged",
+ "fires_on": ["e_4f2", "e_4f3", "e_5b8"],
+ "context": "fetch retry (merged a1+a3+a8)",
+ "ttl_until_solidify": 1
}One-line tweak
If two capsules share a parent but contradict each other, do NOT merge — that's the evolver's signal that the parent failure has two distinct causes you haven't separated yet.
Mailbox poll + claim a Hub task
Use the local Proxy mailbox API to subscribe to a capability, claim the next matching task pushed by the EvoMap Hub, work it, and post the result asset.
ForAnyone running the evolver as part of a connected fleet. The Proxy is the only sanctioned channel — agents that call evomap.ai directly bypass the audit log.
The prompt
Use the capability-evolver skill. Subscribe to capabilities ['code_review', 'bug_fix'] via POST {PROXY_URL}/task/subscribe. Poll {PROXY_URL}/mailbox/poll for type=task_available, claim the first task via /task/claim, do the work, and submit the result via /task/complete with the asset_id of the gene you produced. Acknowledge every consumed message via /mailbox/ack.What slides.md looks like
// 1. Subscribe
await fetch(`${PROXY_URL}/task/subscribe`, {
method: "POST",
body: JSON.stringify({ capability_filter: ["code_review", "bug_fix"] }),
});
// 2. Poll for new tasks
const r = await fetch(`${PROXY_URL}/mailbox/poll`, {
method: "POST",
body: JSON.stringify({ type: "task_available", limit: 1 }),
}).then((r) => r.json());
// 3. Claim → work → complete
const task = r.messages[0];
await fetch(`${PROXY_URL}/task/claim`,
{ method: "POST", body: JSON.stringify({ task_id: task.id }) });One-line tweak
Set EVOMAP_PROXY_PORT in your .env if you run more than one evolver per host — the default 19820 collides on the second instance.
Continuous loop with cron + git-sync
Schedule node index.js --loop under cron with EVOMAP_PROXY=1 and a parallel git-sync job, so the evolver runs every 15 min and any rolled-back mutation is recoverable.
ForAfter three weeks of clean review-mode cycles. Continuous loop is the steady state, but only after you trust the agent's diff quality.
The prompt
Use the capability-evolver skill. Generate (a) a crontab entry that runs `EVOMAP_PROXY=1 EVOLVE_STRATEGY=balanced node /opt/evolver/index.js --loop` every 15 minutes, (b) a parallel git-sync cron pushing the workspace to a private remote, (c) a logrotate config for memory/*.jsonl capped at 100MB. Output the three files in order; do not invoke them.What slides.md looks like
# /etc/cron.d/evolver
*/15 * * * * evolver cd /opt/evolver && \
EVOMAP_PROXY=1 EVOLVE_STRATEGY=balanced \
node index.js --loop >> /var/log/evolver.log 2>&1
# /etc/cron.d/evolver-git-sync
*/5 * * * * evolver cd /opt/evolver && \
git add -A && git commit -m "auto: $(date -Iseconds)" \
&& git push origin main
# /etc/logrotate.d/evolver
/opt/evolver/memory/*.jsonl {
size 100M
rotate 7
copytruncate
}One-line tweak
Pin EVOLVE_LOAD_MAX=1.0 (default 2.0) on shared hosts — the agent backs off when 1-min load exceeds the cap, which keeps it from compounding noisy-neighbor problems.
Pairs with
git-sync
The exact companion the SKILL.md recommends in the Safety section: 'Always recommended to have a git-sync cron job running alongside this skill.'
datadog
Pipe /var/log/evolver.log into Datadog so cycle frequency, mutation acceptance rate, and rollback rate become dashboards instead of tail -f.
Submit a Gene asset to EvoMap Hub for review
Take a locally-validated Gene from genes.json and publish it to the Hub via /asset/submit, then poll for the asset_submit_result to learn whether the Hub accepted, rejected, or quarantined it.
ForAuthors who want their improvements to land in other openclaw agents, not just stay local. The Hub is the distribution point.
The prompt
Use the capability-evolver skill. POST a single asset to {PROXY_URL}/asset/submit: type='Gene', content from assets/gep/genes.json id 'sha256:b2f1...'. Capture the message_id. Poll /mailbox/poll for type=asset_submit_result every 30s up to 5 min. On accepted, ack the message. On rejected, write the reject reason into memory/asset-rejections.jsonl with parent_id=message_id.What slides.md looks like
// Submit
const submit = await fetch(`${PROXY_URL}/asset/submit`, {
method: "POST",
body: JSON.stringify({
assets: [{ type: "Gene", content: gene, parent_id: gene.parent_id }],
}),
}).then((r) => r.json());
// Poll for result
let result;
for (let i = 0; i < 10; i++) {
await sleep(30_000);
const r = await fetch(`${PROXY_URL}/mailbox/poll`, {
method: "POST",
body: JSON.stringify({ type: "asset_submit_result", limit: 5 }),
}).then((r) => r.json());
result = r.messages.find((m) => m.payload.message_id === submit.message_id);
if (result) break;
}One-line tweak
Set GITHUB_TOKEN in your .env so a Hub-rejected gene also opens an issue on the source repo. Otherwise the rejection sits in memory/ and nobody looks.
Pairs with
Rollback strategy stress test
Force-fail a planned mutation and verify EVOLVER_ROLLBACK_MODE=hard restores src/ + memory/ exactly. Until you have proven the rollback works, --loop is a footgun.
ForPre-prod hardening. You're about to enable continuous mode in front of real traffic; you need to know the rollback isn't theoretical.
The prompt
Use the capability-evolver skill. Plant a deliberately-broken gene (e.g. a syntax error in a generated patch), run a single cycle with EVOLVER_ROLLBACK_MODE=hard, and verify (a) the cycle fails, (b) git status shows clean, (c) memory/ does NOT contain the broken gene's parent_id event. Output the verification commands and their expected output.What slides.md looks like
# 1. Plant broken gene
echo '{"id":"sha256:bad","mutation_directive":"${SYNTAX"}' \
>> assets/gep/genes.json
# 2. Run with hard rollback
EVOLVER_ROLLBACK_MODE=hard node index.js
# Expected: [evolver] mutation failed, rolling back
# 3. Verify
git status # expect: clean
grep "sha256:bad" assets/gep/genes.json # expect: empty
grep "parent_id.*sha256:bad" memory/*.jsonl # expect: emptyOne-line tweak
If git status is NOT clean after a forced-fail cycle, set EVOLVER_ROLLBACK_MODE=stash for one cycle to capture the half-applied patch, then debug. Never re-enable hard until git status returns clean reliably.
Strategy switcher: balanced → innovate → harden
Schedule three back-to-back cycles with different EVOLVE_STRATEGY values and tag each in events.jsonl, so the post-mortem can see which strategy produced which mutation. The strategy switcher is how you debug the agent's taste.
ForResearchers and team leads tuning the agent's bias. The default 'balanced' is conservative; you'll outgrow it.
The prompt
Use the capability-evolver skill. Run three sequential cycles in review mode: cycle 1 EVOLVE_STRATEGY=balanced, cycle 2 EVOLVE_STRATEGY=innovate, cycle 3 EVOLVE_STRATEGY=harden. Tag each event in events.jsonl with strategy=<name>. After all three, output a markdown table of (strategy, proposed gene, accepted, fitness_signal) so I can see which bias matched my failures.What slides.md looks like
| Cycle | Strategy | Proposed gene | Accepted | Fitness signal |
|-------|------------|---------------------------|----------|---------------------|
| 1 | balanced | retry-with-jitter | yes | 5xx_rate < 0.02 |
| 2 | innovate | speculative-prefetch | no | unmeasurable in 60m |
| 2 | innovate | shadow-cache-layer | no | drift risk |
| 3 | harden | circuit-breaker-on-evomap | yes | error_rate < 0.01 |
# Read back from events.jsonl
$ jq 'select(.strategy=="innovate")' assets/gep/events.jsonl | headOne-line tweak
If `innovate` produces zero accepted mutations across three cycles, your fitness signals are too narrow — innovate needs slack to be useful. Widen the fitness window to 24h before declaring innovate broken.
Pairs with
Community signal
Three voices that frame the underlying problem. The first is the academic shape of the loop, the second is why archives beat single optimisers, the third is the closest production cousin shipping today.
“We introduce the Darwin Gödel Machine, a self-improving system that iteratively modifies its own code (thereby also improving its ability to modify its own codebase) and empirically validates each change using coding benchmarks.”
Sakana AI / Darwin Gödel Machine paper · Blog
The canonical academic framing of the loop capability-evolver runs locally. Empirical validation of each change is the same role assets/gep/events.jsonl plays.
“With the open-ended approach, humans can find any pattern at any generation. With the SGD approach, you can only look for one pattern.”
bwest87 (HN) · Hacker News
From the Darwin Gödel Machine HN thread. Captures why an archive-of-genes (capability-evolver's GEP store) outperforms a single-objective optimiser on long-horizon tasks.
“AlphaEvolve evolves entire codebases (not just single functions) by leveraging an ensemble of LLMs combined with automated evaluation.”
DeepMind AlphaEvolve team · Blog
The 2025 production case for evolutionary coding agents. The mutation_directive + fitness_signal pair in capability-evolver's Gene format mirrors AlphaEvolve's selection criterion.
The contrarian take
Self-improving agents have an honest skepticism problem: a gene that “works” may just be the model regurgitating something from training. The sharpest version of that critique is from lionkor (HN, AlphaEvolve thread):
“Show the training set, and PROVE that the answers aren't in there. I don't understand why this is not a default first step.”
lionkor (HN, AlphaEvolve thread) · Hacker News
From the AlphaEvolve HN thread.
Lands directly on capability-evolver too. The mitigation isn’t theoretical: keep EVOLVE_ALLOW_SELF_MODIFY=false, require a measurable fitness_signal on every Gene, run --review for the first three weeks, and pair the cycle with a git-sync cron so any rolled-back mutation is recoverable from the remote. The skill ships those guardrails on purpose — the SKILL.md explicitly flags self-modify as “NOT recommended for production.”
One more boundary worth naming: there is no first-party openclaw capability-evolver MCP server. The skill talks to the EvoMap Hub through a local Proxy mailbox at 127.0.0.1:19820, not over MCP. If you want dashboards over the cycle history, pipe assets/gep/events.jsonl into Datadog or a Grafana Loki source — chart cycle frequency, Gene acceptance rate, and rollback rate. That covers the bare-term “capability evolver mcp” intent without pretending an MCP exists where it doesn’t.
Real systems shipped with this loop
None of these used capability-evolver specifically — they are the prior art the GEP protocol descends from. Read them as the target shape: an archive of agents, fitness-validated mutations, lineage you can trace.
- Sakana AI / Darwin Gödel Machine — open-ended evolution of self-improving coding agents validated against SWE-bench
- DeepMind AlphaEvolve — Gemini-powered evolutionary coding agent designing advanced algorithms in production
- MineDojo Voyager — first lifelong-learning agent in Minecraft, growing a skill library autonomously
- DeepMind RoboCat — self-improving robotic agent collecting its own training data across embodiments
- BabyAGI-ASI — Show HN demo of a single-loop autonomous self-improving agent that put the pattern on the map
- OpenEvolve — open-source AlphaEvolve clone evolving entire codebases via an ensemble of LLMs
Gotchas (the four that bite)
Sourced from the verbatim SKILL.md, the GEP protocol notes, and the HN threads cited above. Hit at least one of these your first week.
EVOLVE_ALLOW_SELF_MODIFY=true cascades fast
The SKILL.md is explicit: 'Enabling this can cause instability — the evolver may introduce bugs into its own prompt generation, validation, or solidify logic, leading to cascading failures that require manual intervention.' Leave it false. Run controlled experiments only when you have a separate evolver checkout to recover from.
EVOMAP_PROXY port collisions on multi-instance hosts
Default port is 19820. Run two evolvers on the same host without overriding EVOMAP_PROXY_PORT and the second one silently fails to register, then later 'works' against the first one's mailbox. Set the port explicitly in every .env.
Capsules without TTL bloat reasoning forever
A success Capsule that fires on a parent_id whose underlying failure has been fixed becomes dead weight — the agent re-derives the same answer every cycle. Use case 5 in this cookbook ships the deduplication pass; run it monthly.
Mad Dog Mode without git-sync is a footgun
EVOLVER_ROLLBACK_MODE=hard rolls back through git. If git-sync isn't running in parallel and a teammate pulls between the bad commit and the rollback, they pull the broken state. Use case 7 ships the parallel cron — don't enable --loop without it.
Pairs well with
Curated to match the cookbook’s actual integrations: the openclaw / self-improvement family (self-improving-agent, skill-evolution-manager, evolving-skill-creator, skill-creator, self-improvement) plus the MCP servers the longer use cases (4, 7, 8, 9) lean on.
Related skills
Related MCP servers
Two posts that compose well with this cookbook: What are Claude Code skills? covers the underlying mechanism — useful before you reason about idle-token cost — and Claude Code best practices covers the orchestration patterns the longer use cases (6, 7, 8) lean on.
Frequently asked questions
What does the capability-evolver skill actually do?
It runs a self-evolution cycle for an openclaw-style agent. The skill reads memory/* and assets/gep/events.jsonl, identifies recurring failures, and writes new Genes (mutations) and Capsules (success cache) into assets/gep/. Each mutation has a fitness_signal it must measurably pass; failed mutations roll back through git. The agent talks to the EvoMap Hub only through a local Proxy mailbox on 127.0.0.1:19820.
Is capability-evolver dangerous? Can it modify its own source code?
Yes, but only when you opt in. EVOLVE_ALLOW_SELF_MODIFY defaults to false and the SKILL.md explicitly says 'NOT recommended for production. Enabling this can cause instability — the evolver may introduce bugs into its own prompt generation, validation, or solidify logic.' Keep the flag off, run --review for the first three weeks, and pair it with a git-sync cron so a bad mutation rolls back through git.
What is the GEP protocol the skill keeps mentioning?
GEP is openclaw's auditable evolution protocol. It mandates three local files: assets/gep/genes.json (reusable mutation definitions), assets/gep/capsules.json (success-cache entries to skip repeated reasoning), and assets/gep/events.jsonl (append-only event log with parent_id lineage). Every mutation has a parent event so you can trace why the agent made the change three weeks later.
How do I use Mad Dog Mode (the --loop flag) safely?
Don't enable it on day one. Run --review for at least three cycles, confirm the proposed diffs are ones you'd have approved manually, then schedule `EVOMAP_PROXY=1 node index.js --loop` under cron at a 15-minute cadence with a parallel git-sync cron. Cap EVOLVE_LOAD_MAX at 1.0 on shared hosts so the agent backs off when load spikes. Use case 7 in this cookbook ships the exact crontab.
What is the difference between capability-evolver and skill-evolution-manager?
capability-evolver runs the per-agent self-improvement loop locally. skill-evolution-manager (also on mcp.directory) handles the upstream registry — versioning skills, propagating accepted Genes across multiple agents, deprecating capsules. They split cleanly: evolver is the producer of Genes, skill-evolution-manager is the consumer-side index.
Why does openclaw capability-evolver only allow the DNA emoji?
It's a deliberate constraint in the SKILL.md: 'Only the DNA emoji is allowed in documentation. All other emoji are disallowed.' The reason is search-result clarity — emoji proliferation in agent-authored markdown is a known SEO-and-skim problem, and the author wants the evolution lineage (literal genes) to be the only signal that survives.
Is there an OpenClaw evolver MCP server I should pair with the skill?
Not as a first-party server. The closest pairing is the EvoMap Hub itself, which the skill talks to through the local Proxy mailbox at 127.0.0.1:19820 — not as an MCP. If you want dashboards over the cycle history, pipe assets/gep/events.jsonl into Datadog or a Grafana Loki source and chart cycle frequency, gene acceptance rate, and rollback rate.
Why is "capability evolver" getting impressions but only ~3% CTR in search?
Because the SERP title 'capability-evolver' tells you nothing about the underlying loop. This cookbook is the fix: 10 named use cases (review mode, harden strategy, mailbox poll, gene submit, rollback test, strategy switcher) anchored in the verbatim SKILL.md. The Search Console queries 'capability evolver openclaw' (5 clicks at 3.88% CTR) and 'capability evolver skill' (8.7% CTR) prove the intent — readers want a how-to, not a one-liner.
Sources
Primary
- openclaw capability-evolver source (the canonical SKILL.md)
- autogame-17/evolver releases (changelog + version pinning)
- Darwin Gödel Machine paper (the academic shape of the loop)
- DeepMind AlphaEvolve announcement
- MineDojo Voyager (the lifelong-learning archetype)
Community
- Sakana AI / Darwin Gödel Machine paper — Blog
- bwest87 (HN) — Hacker News
- DeepMind AlphaEvolve team — Blog
- DeepMind RoboCat / HN headline — Hacker News
- BabyAGI-ASI / HN thread — Hacker News
- andyg_blog (HN, HyperAgents) — Hacker News
Critical and contrarian
Internal