---
id: sm-capability-evolver
name: "capability-evolver"
url: https://skills.yangsir.net/skill/sm-capability-evolver
author: autogame-17
domain: ai-agent-core-development
tags: ["ai-evolution", "adaptive-systems", "reinforcement-learning", "meta-learning", "agent-development"]
install_count: 3900
rating: 4.40 (20 reviews)
github: https://github.com/autogame-17/capability-evolver
---

# capability-evolver

> 该技能是一个元技能，允许OpenClaw代理检查自身的运行时历史，识别并适应性地进化其能力。

**Stats**: 3,900 installs · 4.4/5 (20 reviews)

## Before / After 对比

### 代理能力自进化，持续优化性能

## Readme

# capability-evolver

# 🧬 Capability Evolver

**"Evolution is not optional. Adapt or die."**

The **Capability Evolver** is a meta-skill that allows OpenClaw agents to inspect their own runtime history, identify failures or inefficiencies, and autonomously write new code or update their own memory to improve performance.

## Features

- **Auto-Log Analysis**: Automatically scans memory and history files for errors and patterns.

- **Self-Repair**: Detects crashes and suggests patches.

- GEP Protocol: Standardized evolution with reusable assets.

- **One-Command Evolution**: Just run `/evolve` (or `node index.js`).

## Usage

### Standard Run (Automated)

Runs the evolution cycle. If no flags are provided, it assumes fully automated mode (Mad Dog Mode) and executes changes immediately.

```
node index.js

```

### Review Mode (Human-in-the-Loop)

If you want to review changes before they are applied, pass the `--review` flag. The agent will pause and ask for confirmation.

```
node index.js --review

```

### Mad Dog Mode (Continuous Loop)

To run in an infinite loop (e.g., via cron or background process), use the `--loop` flag or just standard execution in a cron job.

```
node index.js --loop

```

## Setup

Before using this skill, register your node identity with the EvoMap network:

- Run the hello flow (via `evomap.js` or the EvoMap onboarding) to receive a `node_id` and claim code

- Visit `https://evomap.ai/claim/<claim-code>` within 24 hours to bind the node to your account

- Set the node identity in your environment:

```
export A2A_NODE_ID=node_xxxxxxxxxxxx

```

Or in your agent config (e.g., `~/.openclaw/openclaw.json`):

```
{ "env": { "A2A_NODE_ID": "node_xxxxxxxxxxxx", "A2A_HUB_URL": "https://evomap.ai" } }

```

Do not hardcode the node ID in scripts. `getNodeId()` in `src/gep/a2aProtocol.js` reads `A2A_NODE_ID` automatically -- any script using the protocol layer will pick it up without extra configuration.

## Configuration

### Required Environment Variables

Variable
Default
Description

`A2A_NODE_ID`
(required)
Your EvoMap node identity. Set after node registration -- never hardcode in scripts.

### Optional Environment Variables

Variable
Default
Description

`A2A_HUB_URL`
`https://evomap.ai`
EvoMap Hub API base URL.

`A2A_NODE_SECRET`
(none)
Node authentication secret issued by Hub on first hello. Stored locally after registration.

`EVOLVE_STRATEGY`
`balanced`
Evolution strategy: `balanced`, `innovate`, `harden`, `repair-only`, `early-stabilize`, `steady-state`, or `auto`.

`EVOLVE_ALLOW_SELF_MODIFY`
`false`
Allow evolution to modify evolver's own source code. **NOT recommended for production.**

`EVOLVE_LOAD_MAX`
`2.0`
Maximum 1-minute load average before evolver backs off.

`EVOLVER_ROLLBACK_MODE`
`hard`
Rollback strategy on failure: `hard` (git reset --hard), `stash` (git stash), `none` (skip). Use `stash` for safer operation.

`EVOLVER_LLM_REVIEW`
`0`
Set to `1` to enable second-opinion LLM review before solidification.

`EVOLVER_AUTO_ISSUE`
`0`
Set to `1` to auto-create GitHub issues on repeated failures. Requires `GITHUB_TOKEN`.

`EVOLVER_ISSUE_REPO`
(none)
GitHub repo for auto-issue reporting (e.g. `EvoMap/evolver`).

`EVOLVER_MODEL_NAME`
(none)
LLM model name injected into published asset `model_name` field.

`GITHUB_TOKEN`
(none)
GitHub API token for release creation and auto-issue reporting. Also accepts `GH_TOKEN` or `GITHUB_PAT`.

`MEMORY_GRAPH_REMOTE_URL`
(none)
Remote knowledge graph service URL for memory sync.

`MEMORY_GRAPH_REMOTE_KEY`
(none)
API key for remote knowledge graph service.

`EVOLVE_REPORT_TOOL`
(auto)
Override report tool (e.g. `feishu-card`).

`RANDOM_DRIFT`
`0`
Enable random drift in evolution strategy selection.

### Network Endpoints

Evolver communicates with these external services. All are authenticated and documented.

Endpoint
Auth
Purpose
Required

`{A2A_HUB_URL}/a2a/*`
`A2A_NODE_SECRET` (Bearer)
A2A protocol: hello, heartbeat, publish, fetch, reviews, tasks
Yes

`api.github.com/repos/*/releases`
`GITHUB_TOKEN` (Bearer)
Create releases, publish changelogs
No

`api.github.com/repos/*/issues`
`GITHUB_TOKEN` (Bearer)
Auto-create failure reports (sanitized via `redactString()`)
No

`{MEMORY_GRAPH_REMOTE_URL}/*`
`MEMORY_GRAPH_REMOTE_KEY`
Remote knowledge graph sync
No

### Shell Commands Used

Evolver uses `child_process` for the following commands. No user-controlled input is passed to shell.

Command
Purpose

`git checkout`, `git clean`, `git log`, `git status`, `git diff`
Version control for evolution cycles

`git rebase --abort`, `git merge --abort`
Abort stuck git operations (self-repair)

`git reset --hard`
Rollback failed evolution (only when `EVOLVER_ROLLBACK_MODE=hard`)

`git stash`
Preserve failed evolution changes (when `EVOLVER_ROLLBACK_MODE=stash`)

`ps`, `pgrep`, `tasklist`
Process discovery for lifecycle management

`df -P`
Disk usage check (health monitoring fallback)

`npm install --production`
Repair missing skill dependencies

`node -e "..."`
Inline script execution for LLM review (no shell, uses `execFileSync`)

### File Access

Direction
Paths
Purpose

Read
`~/.evomap/node_id`
Node identity persistence

Read
`assets/gep/*`
GEP gene/capsule/event data

Read
`memory/*`
Evolution memory, narrative, reflection logs

Read
`package.json`
Version information

Write
`assets/gep/*`
Updated genes, capsules, evolution events

Write
`memory/*`
Memory graph, narrative log, reflection log

Write
`src/**`
Evolved code (only during solidify, with git tracking)

## GEP Protocol (Auditable Evolution)

This package embeds a protocol-constrained evolution prompt (GEP) and a local, structured asset store:

- `assets/gep/genes.json`: reusable Gene definitions

- `assets/gep/capsules.json`: success capsules to avoid repeating reasoning

- `assets/gep/events.jsonl`: append-only evolution events (tree-like via parent id)

## Emoji Policy

Only the DNA emoji is allowed in documentation. All other emoji are disallowed.

## Configuration & Decoupling

This skill is designed to be **environment-agnostic**. It uses standard OpenClaw tools by default.

### Local Overrides (Injection)

You can inject local preferences (e.g., using `feishu-card` instead of `message` for reports) without modifying the core code.

**Method 1: Environment Variables**
Set `EVOLVE_REPORT_TOOL` in your `.env` file:

```
EVOLVE_REPORT_TOOL=feishu-card

```

**Method 2: Dynamic Detection**
The script automatically detects if compatible local skills (like `skills/feishu-card`) exist in your workspace and upgrades its behavior accordingly.

## Safety & Risk Protocol

### 1. Identity & Directives

- **Identity Injection**: "You are a Recursive Self-Improving System."

- **Mutation Directive**:

If **Errors Found** -> **Repair Mode** (Fix bugs).

- If **Stable** -> **Forced Optimization** (Refactor/Innovate).

### 2. Risk Mitigation

- **Infinite Recursion**: Strict single-process logic.

- **Review Mode**: Use `--review` for sensitive environments.

- **Git Sync**: Always recommended to have a git-sync cron job running alongside this skill.

## Before Troubleshooting -- Check Your Version First

If you encounter unexpected errors or behavior, **always verify your version before debugging**:

```
node -e "const p=require('./package.json'); console.log(p.version)"

```

If you are not on the latest release, update first -- most reported issues are already fixed in newer versions:

```
# If installed via git
git pull && npm install

# If installed via npm
npm install -g @evomap/evolver@latest

```

Latest releases and changelog: `https://github.com/EvoMap/evolver/releases`

## License

MIT
Weekly Installs2.1KRepository[autogame-17/cap…-evolver](https://github.com/autogame-17/capability-evolver)GitHub Stars1.6KFirst SeenFeb 1, 2026Security Audits[Gen Agent Trust HubWarn](/autogame-17/capability-evolver/capability-evolver/security/agent-trust-hub)[SocketPass](/autogame-17/capability-evolver/capability-evolver/security/socket)[SnykFail](/autogame-17/capability-evolver/capability-evolver/security/snyk)Installed onopencode2.0Kcodex2.0Kgemini-cli2.0Kcursor2.0Kgithub-copilot2.0Kkimi-cli2.0K

---
*Source: https://skills.yangsir.net/skill/sm-capability-evolver*
*Markdown mirror: https://skills.yangsir.net/api/skill/sm-capability-evolver/markdown*