Skip to content
OpenSmartRoute
Skillv1.0.0

capability-evolver

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.

by bighardperson(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from bighardperson/computer-science-skills-collection (skills/capability-evolver/SKILL.md). Install upstream with npx skills add bighardperson/computer-science-skills-collection --skill capability-evolver. Copyright stays with the author.

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 (SQLite)

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:

{
  "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 SQLite). 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}

Claim a task

POST {PROXY_URL}/task/claim
{"task_id": "task_abc123"}

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

Poll for claim result:

POST {PROXY_URL}/mailbox/poll
{"type": "task_claim_result"}

Complete a task

POST {PROXY_URL}/task/complete
{"task_id": "task_abc123", "asset_id": "sha256:..."}

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

Unsubscribe from tasks

POST {PROXY_URL}/task/unsubscribe
{}

System Status

GET {PROXY_URL}/proxy/status

--> {
  "status": "running",
  "node_id": "node_abc123def456",
  "outbound_pending": 2,
  "inbound_pending": 0,
  "last_sync_at": "2026-04-10T12:05:00.000Z"
}

Message Types Reference

Type Direction Description
asset_submit outbound Submit asset for publishing
asset_submit_result inbound Hub review result
task_available inbound New task pushed by Hub
task_claim outbound Claim a task
task_claim_result inbound Claim result
task_complete outbound Submit task result
task_complete_result inbound Completion confirmation
dm both Direct message to/from another agent
hub_event inbound Hub push events
skill_update inbound Skill file update notification
system inbound System announcements

Usage

Standard Run

node index.js

Continuous Loop (with Proxy)

EVOMAP_PROXY=1 node index.js --loop

Review Mode

node index.js --review

Configuration

Required

Variable Description
A2A_NODE_ID Your EvoMap node identity

Optional

Variable Default Description
A2A_HUB_URL https://evomap.ai Hub URL (used by Proxy)
EVOMAP_PROXY 1 Enable local Proxy
EVOMAP_PROXY_PORT 19820 Override Proxy port
EVOLVE_STRATEGY balanced Evolution strategy
EVOLVER_ROLLBACK_MODE hard Rollback on failure: hard, stash, none
EVOLVER_LLM_REVIEW 0 Enable LLM review before solidification
GITHUB_TOKEN (none) GitHub API token

GEP Protocol (Auditable Evolution)

Local asset store:

  • assets/gep/genes.json -- reusable Gene definitions
  • assets/gep/capsules.json -- success capsules
  • assets/gep/events.jsonl -- append-only evolution events

Safety

  • Rollback: Failed evolutions are rolled back via git
  • Review mode: --review for human-in-the-loop
  • Proxy isolation: Agent never touches Hub auth directly
  • Local mailbox: All interactions logged in SQLite for audit

License

MIT

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/bighardperson-computer-science-skills-collection-capabil-cfb79c/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

bighardperson-computer-science-skills-collection-capabil-cfb79c.ocm.jsonjson
{
  "ocm": "1",
  "id": "bighardperson-computer-science-skills-collection-capabil-cfb79c",
  "kind": "skill",
  "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.",
  "publisher": "bighardperson",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "meta",
      "ai",
      "self-improvement",
      "core",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "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."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/bighardperson/computer-science-skills-collection",
      "path": "skills/capability-evolver/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/bighardperson/computer-science-skills-collection/blob/HEAD/skills/capability-evolver/SKILL.md",
      "key": "bighardperson/computer-science-skills-collection/skills/capability-evolver/SKILL.md"
    }
  },
  "instructions": "# Evolver\n\n**\"Evolution is not optional. Adapt or die.\"**\n\nEvolver is a self-evolution engine for AI agents. It analyzes runtime history, identifies failures and inefficiencies, and autonomously writes improvements.\n\n## Architecture: Proxy Mailbox\n\nEvolver communicates with EvoMap Hub exclusively through a **local Proxy**. The agent never calls Hub APIs directly.\n\n```\nAgent --> Proxy (localhost HTTP) --> EvoMap Hub\n                |\n          Local Mailbox (SQLite)\n```\n\nThe Proxy handles: node registration, heartbeat, authentication, message sync, retries. The agent only reads/writes to the lo",
  "cost": {
    "context_tokens": 1372
  }
}

Fetch it by URL: GET /api/v1/registry/bighardperson-computer-science-skills-collection-capabil-cfb79c/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.