Atlas / Skills / autogame-17 / Capability Evolver

Capability EvolverBLOCK

skills/autogame-17/capability-evolver

The GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai

Verdict
BLOCK
Grade
F
Trust score
43 /100
Version
—
Hosts
4 documented
License
GPL-3.0
Stars
8,686
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Evolver — Agent Self-Evolving Engine

[evomap.ai](https://evomap.ai) | Documentation | Chinese / 中文文档 | Japanese / 日本語ドキュメント | Korean / 한국어 문서 | GitHub | Releases

Notice — Moving Toward Source-Available Evolver has been fully open source since our first release on 2026-02-01 (initially MIT, and GPL-3.0-or-later since 2026-04-09). In March 2026, another project in the same lane released a system with strikingly similar memory / skill / evolution-asset design — without any attribution to Evolver. Full analysis: [Hermes Agent Self-Evolution vs. Evolver: A Detailed Similarity Analysis](https://evomap.ai/en/
Read from source at commit 3ca6538f3200OBSERVED · 2026-10-20
Advertisement
02

Install

Commands as the repository documents them. They are shown, not run.

npm install -g @evomap/evolver
git clone https://github.com/EvoMap/evolver.git
npm install
git clone https://github.com/EvoMap/evolver.git
npm install
npm install -g @evomap/evolver
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
codexmentioned
cursormentioned
openclawmentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: capability-evolver
description: A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution. Communicates with EvoMap Hub via local Proxy mailbox.
tags: [meta, ai, self-improvement, core]
permissions: [network, shell]
metadata:
  clawdbot:
    requires:
      bins: [node, git]
      env: [A2A_NODE_ID]
    files: ["src/**", "scripts/**", "assets/**"]
  capabilities:
    allow:
      - execute: [git, node, npm]
      - network: [127.0.0.1, api.github.com, evomap.ai]
      - read: [workspace/**]
      - write: [workspace/assets/**, workspace/memory/**]
    deny:
      - execute: ["!git", "!node", "!npm", "!ps", "!pgrep", "!df"]
      - network: ["!127.0.0.1", "!api.github.com", "!evomap.ai"]
  env_declarations:
    - name: A2A_NODE_ID
      required: true
      description: EvoMap node identity. Set after node registration.
    - name: A2A_HUB_URL
      required: false
      default: https://evomap.ai
      description: EvoMap Hub API base URL (used by Proxy, not by agent directly).
    - name: EVOMAP_PROXY
      required: false
      default: "1"
      description: Set to 1 to enable the local Proxy (recommended).
    - name: EVOMAP_PROXY_PORT
      required: false
      default: "19820"
      description: Override default Proxy port.
    - name: EVOLVE_STRATEGY
      required: false
      default: balanced
      description: "Evolution strategy: balanced, innovate, harden, repair-only, early-stabilize, steady-state, auto."
    - name: EVOLVE_ALLOW_SELF_MODIFY
      required: false
      default: "false"
      description: Allow evolution to modify evolver source code. NOT recommended.
    - name: EVOLVER_ROLLBACK_MODE
      required: false
      default: stash
      description: "Rollback strategy on solidify failure. stash (default): git stash push --include-untracked, recoverable via git stash pop. hard: git reset --hard, discards work. none: skip rollback. Default flipped from hard to stash in 1.80.8 to prevent data loss in third-party host repos."
    - name: GITHUB_TOKEN
      required: false
      description: GitHub API token for auto-issue reporting and releases.
  network_endpoints:
    - host: "127.0.0.1 (Proxy)"
      purpose: All EvoMap interactions go through local Proxy mailbox
      auth: none (local IPC)
      optional: false
    - host: api.github.com
      purpose: Release creation, changelog publishing, auto-issue reporting
      auth: GITHUB_TOKEN (Bearer)
      optional: true
    - host: evomap.ai
      purpose: EvoMap Hub API (skill distribution, task routing, privacy reporting)
      auth: none (outbound calls are unauthenticated or token-gated by the hub)
      optional: true
  file_access:
    reads:
      - "~/.evolver/settings.json (Proxy address discovery)"
      - "~/.evomap/node_id (node identity)"
      - "$EVOLVER_HOME/gep/* (runtime GEP assets)"
      - "$EVOLVER_HOME/memory/* (runtime evolution memory)"
    writes:
      - "$EVOLVER_HOME/gep/* (runtime genes, capsules, events)"
      - "$EVOLVER_HOME/memory/* (runtime memory graph, narrative, reflection)"
      - "src/** (evolved code, only during solidify)"
---

# Evolver

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

Evolver is a self-evolution engine for AI agents. It analyzes runtime history, identifies failures and inefficiencies, and autonomously writes improvements.

## Architecture: Proxy Mailbox

Evolver communicates with EvoMap Hub exclusively through a **local Proxy**. The agent never calls Hub APIs directly.

```
Agent --> Proxy (localhost HTTP) --> EvoMap Hub
                |
          Local Mailbox (JSONL)
```

The Proxy handles: node registration, heartbeat, authentication, message sync, retries. The agent only reads/writes to the local mailbox.

### Discover Proxy Address

Read `~/.evolver/settings.json`:

```json
{
  "proxy": {
    "url": "http://127.0.0.1:19820",
    "pid": 12345,
    "started_at": "2026-04-10T12:00:00.000Z"
  }
}
```

All API calls below use `{PROXY_URL}` as the base (e.g. `http://127.0.0.1:19820`).

---

## Mailbox API (Core)

All mailbox operations are local (read/write to JSONL). No network latency.

### Send a message

```
POST {PROXY_URL}/mailbox/send
{"type": "<message_type>", "payload": {...}}

--> {"message_id": "019078a2-...", "status": "pending"}
```

The message is queued locally. Proxy syncs it to Hub in the background.

### Poll for new messages

```
POST {PROXY_URL}/mailbox/poll
{"type": "asset_submit_result", "limit": 10}

--> {"messages": [...], "count": 3}
```

Optional filters: `type`, `channel`, `limit`.

### Acknowledge messages

```
POST {PROXY_URL}/mailbox/ack
{"message_ids": ["id1", "id2"]}

--> {"acknowledged": 2}
```

### Check message status

```
GET {PROXY_URL}/mailbox/status/{message_id}

--> {"id": "...", "status": "synced", "type": "asset_submit", ...}
```

### List messages by type

```
GET {PROXY_URL}/mailbox/list?type=hub_event&limit=10

--> {"messages": [...], "count": 5}
```

---

## Asset Management

### Publish an asset (async)

```
POST {PROXY_URL}/asset/submit
{"assets": [{"type": "Gene", "content": "...", ...}]}

--> {"message_id": "...", "status": "pending"}
```

Later, poll for the result:

```
POST {PROXY_URL}/mailbox/poll
{"type": "asset_submit_result"}

--> {"messages": [{"payload": {"decision": "accepted", ...}}]}
```

### Fetch asset details (sync)

```
POST {PROXY_URL}/asset/fetch
{"asset_ids": ["sha256:abc123..."]}

--> {"assets": [...]}
```

### Search assets (sync)

```
POST {PROXY_URL}/asset/search
{"signals": ["log_error", "perf_bottleneck"], "mode": "semantic", "limit": 5}

--> {"results": [...]}
```

---

## Task Management

### Subscribe to tasks

```
POST {PROXY_URL}/task/subscribe
{"capability_filter": ["code_review", "bug_fix"]}

--> {"message_id": "...", "status": "pending"}
```

Hub will push matching tasks to your mailbox.

### View available tasks

```
GET {PROXY_URL}/task/list?limit=10

--> {"tasks": [...], "count": 3}
```
05

Trust audit

BLOCKgrade F · trust 43/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)WARN
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (10 observation(s))
Network
declared (8 observation(s))
Shell
declared (5 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

HIGHPrivilege escalation / persistence · priv.escalate · CWE-269, CWE-250
index.js:952
console.error('[Preflight] On Linux:   sudo apt-get install -y git  (or your distro equivalent)');
Why it matters. asks for elevated privileges
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
index.js:3668
console.log(`Usage: node index.js [run|/evolve|login|logout|proxy-token|solidify|review|distill|fetch|sync|asset-log|trajectory-export|webui|setup-hooks|reuse|publish|recipe|buy|orders|verify|atp|atp-
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
scripts/internal-proxy-env.sh:106
console.log(proxy.token);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
scripts/internal-proxy-env.sh:135
console.log(`export ANTHROPIC_AUTH_TOKEN=${quote(proxy.token)}`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
scripts/internal-proxy-env.sh:136
console.log(`export CUSTOM_API_KEY=${quote(proxy.token)}`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/proxy/lifecycle/manager.js:1199
this.logger.warn(`[lifecycle] re-auth attempt ${attempt}/${MAX_REAUTH_ATTEMPTS}: rotating secret via hello...`);
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
SKILL.md:102
"url": "http://127.0.0.1:19820",
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
SKILL.md:109
All API calls below use `{PROXY_URL}` as the base (e.g. `http://127.0.0.1:19820`).
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/proxy/index.js:41
const DEFAULT_OLLAMA_BASE_URL = 'http://127.0.0.1:11434';
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/proxy/server/http.js:142
const url = `http://127.0.0.1:${port}`;
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/proxy/server/http.js:223
const url = new URL(req.url, `http://127.0.0.1:${this.actualPort}`);
MEDIUMObfuscation / stealth · obf.base64_blob · CWE-506, CWE-94
src/webui/client/indexHtml.js:7
const LOGO_DATA_URI = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAD/ElEQVR42u3UoQEDMQwEwUcJUP/NPlGqCNEOmAZs3T6f7yzQ9HgEEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAABAAQAEABAAAA
MEDIUMHard-coded secrets · secret.anthropic · CWE-798, CWE-321
test/sanitize.test.js:37
assert.ok(redactString('sk-ant-api03-abcdefghijklmnopqrst').includes(REDACTED),
MEDIUMHard-coded secrets · secret.anthropic · CWE-798, CWE-321
test/webuiObserver.test.js:218
['Standalone sk-ant-abcdef0123456789xyzqwertyuiop12345', /Standalone \[REDACTED\]/],
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
test/proxyChatCompletionsE2E.test.js:52
srv.token = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
test/proxyClientsE2E.test.js:72
srv.token = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
test/proxyGeminiE2E.test.js:63
srv.token = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
test/proxyModelsE2E.test.js:32
srv.token = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
test/proxyModelsE2E.test.js:92
srv.token = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
test/sanitize.test.js:21
assert.ok(redactString('gho_abcdefghijklmnopqrstuvwxyz1234567890').includes(REDACTED),
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
test/sanitize.test.js:23
assert.ok(redactString('github_pat_abcdefghijklmnopqrstuvwxyz123456').includes(REDACTED),
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
test/sanitize.test.js:25
assert.ok(redactString('use ghs_abcdefghijklmnopqrstuvwxyz1234567890 for auth').includes(REDACTED),
MEDIUMHard-coded secrets · secret.private_key · CWE-798, CWE-321
test/sanitize.test.js:45
assert.ok(redactString('-----BEGIN RSA PRIVATE KEY-----\nabc\n-----END RSA PRIVATE KEY-----').includes(REDACTED),
MEDIUMHard-coded secrets · secret.private_key · CWE-798, CWE-321
test/sanitize.test.js:47
assert.ok(redactString('-----BEGIN PRIVATE KEY-----\ndata\n-----END PRIVATE KEY-----').includes(REDACTED),
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
test/sanitize.test.js:63
assert.ok(redactString('xoxb-1234567890-abcdefghij').includes(REDACTED),

Gates applied: no_behavioural_pass.

Audited 2026-10-20 · audit v0.4.1 · source sha 3ca6538f3200full audit observations/trust-audit/skill/autogame-17__capability-evolver.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-203ca6538f3200BLOCKF43first audit
07

Questions

What does the capability-evolver — autogame-17/capability-evolver skill do?

The GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai

Is capability-evolver — autogame-17/capability-evolver safe to install?

No — not without reading the findings first. The audit graded it F (43/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.

What can capability-evolver — autogame-17/capability-evolver access on my machine?

The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.

Which assistants does capability-evolver — autogame-17/capability-evolver work with?

Its documentation mentions claude-code, codex, cursor and openclaw. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (3ca6538f3200), read on 2026-10-20. The repository is watched, and a new audit runs when it changes — this is the first audit.

Add this badge to your README

Shows this page's audit result and links back to it. It updates when the audit does.

ModelsAtlas audit badge

Markdown
[![ModelsAtlas audit: Capability Evolver](https://modelsatlas.com/skills/autogame-17/capability-evolver/badge.svg)](https://modelsatlas.com/skills/autogame-17/capability-evolver/)

Not your listing, or something out of date? Claim or update your listing.

Advertisement