evomap/evolver470 files

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.

Specification
Skill ID
evomap/evolver/capability-evolver
Publisher
evomap
Repository
evolver
Installs
0
Files
470
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

evomap/evolver/capability-evolverInstalls these files
  • .github/ISSUE_TEMPLATE/good_first_issue.md
  • .github/pull_request_template.md
  • .github/workflows/test.yml
  • .gitignore
  • .npmignore
  • CONTRIBUTING.md
  • LICENSE
  • README.ja-JP.md
  • README.ko-KR.md
  • README.md
  • README.zh-CN.md
  • SKILL.md
  • assets/gep/genes.seed.json
  • assets/logo.png
  • cli-options.js
  • conformance/savings-core/constants.json
  • conformance/savings-core/golden-vectors.json
  • examples/atp-consumer-quickstart.md
  • examples/hello-world.md
  • examples/recipe.manifest.json
  • index.js
  • package-lock.json
  • package.json
  • scripts/a2a_export.js
  • scripts/a2a_ingest.js
  • scripts/a2a_promote.js
  • scripts/analyze_by_skill.js
  • scripts/build_binaries.js
  • scripts/check-changelog.js
  • scripts/extract_log.js
  • scripts/generate_history.js
  • scripts/gep_append_event.js
  • scripts/gep_personality_report.js
  • scripts/harness-governance-check.js
  • scripts/human_report.js
  • scripts/internal-proxy-env.ps1
  • scripts/internal-proxy-env.sh
  • scripts/recall-verify-report.js
  • scripts/recover_loop.js
  • scripts/refresh_stars_badge.js
  • scripts/seed-merchants.js
  • scripts/skill2recipes.js
  • scripts/suggest_version.js
  • scripts/validate-modules.js
  • scripts/validate-suite.js
  • src/adapters/claudeCode.js
  • src/adapters/codex.js
  • src/adapters/cursor.js
  • src/adapters/hookAdapter.js
  • src/adapters/kiro.js
  • src/adapters/opencode.js
  • src/adapters/scripts/_lockPaths.js
  • src/adapters/scripts/_memoryFiltering.js
  • src/adapters/scripts/_runtimePaths.js
  • src/adapters/scripts/evolver-session-end.js
  • src/adapters/scripts/evolver-session-start.js
  • src/adapters/scripts/evolver-signal-detect.js
  • src/adapters/scripts/evolver-task-recall.js
  • src/atp/atpExecute.js
  • src/atp/atpTaskPickup.js
  • src/atp/autoBuyer.js
  • src/atp/autoDeliver.js
  • src/atp/cli.js
  • src/atp/cliAutobuyPrompt.js
  • src/atp/consumerAgent.js
  • src/atp/defaultHandler.js
  • src/atp/heartbeatSignalsHandler.js
  • src/atp/hubClient.js
  • src/atp/index.js
  • src/atp/merchantAgent.js
  • src/atp/protocol.js
  • src/atp/questionComposer.js
  • src/atp/serviceHelper.js
  • src/canary.js
  • src/canonicalIdentityLock.js
  • src/config.js
  • src/evolve.js
  • src/evolve/guards.js
  • src/evolve/pipeline/collect.js
  • src/evolve/pipeline/dispatch.js
  • src/evolve/pipeline/enrich.js
  • src/evolve/pipeline/hub.js
  • src/evolve/pipeline/select.js
  • src/evolve/pipeline/signals.js
  • src/evolve/utils.js
  • src/experiment/agentRunner.js
  • src/experiment/cli.js
  • src/experiment/comparison.js
  • src/experiment/metrics.js
  • src/experiment/triggerShift.js
  • src/forceUpdate.js
  • src/gep/a2a.js
  • src/gep/a2aProtocol.js
  • src/gep/analyzer.js
  • src/gep/antiAbuseTelemetry.js
  • src/gep/assetCallLog.js
  • src/gep/assetStore.js
  • src/gep/assets.js
  • src/gep/autoDistillConv.js
  • src/gep/autoDistillLlm.js
  • src/gep/bridge.js
  • src/gep/candidateEval.js
  • src/gep/candidates.js
  • src/gep/claimNudge.js
  • src/gep/cliContracts.js
  • src/gep/contentHash.js
  • src/gep/contextRoutingGene.js
  • src/gep/conversationDistiller.js
  • src/gep/conversationSniffer.js
  • src/gep/crypto.js
  • src/gep/curriculum.js
  • src/gep/deviceId.js
  • src/gep/directoryClient.js
  • src/gep/envFingerprint.js
  • src/gep/epigenetics.js
  • src/gep/execBridge.js
  • src/gep/executionTrace.js
  • src/gep/explore.js
  • src/gep/featureFlags.js
  • src/gep/feedbackEnvelope.js
  • src/gep/gitOps.js
  • src/gep/hash.js
  • src/gep/hostErrorClassifier.js
  • src/gep/hubFetch.js
  • src/gep/hubReview.js
  • src/gep/hubSearch.js
  • src/gep/hubVerify.js
  • src/gep/idleScheduler.js
  • src/gep/issueReporter.js
  • src/gep/learningSignals.js
  • src/gep/llmReview.js
  • src/gep/localStateAwareness.js
  • src/gep/mailboxTransport.js
  • src/gep/memoryGraph.js
  • src/gep/memoryGraphAdapter.js
  • src/gep/mutation.js
  • src/gep/narrativeMemory.js
  • src/gep/oauthLogin.js
  • src/gep/openPRRegistry.js
  • src/gep/paths.js
  • src/gep/personality.js
  • src/gep/policyCheck.js
  • src/gep/portable.js
  • src/gep/privacyClient.js
  • src/gep/prompt.js
  • src/gep/questionGenerator.js
  • src/gep/recallInject.js
  • src/gep/recallVerifier.js
  • src/gep/reflection.js
  • src/gep/sanitize.js
  • src/gep/savingsCore.js
  • src/gep/schemas/capsule.js
  • src/gep/schemas/gene.js
  • src/gep/schemas/index.js
  • src/gep/schemas/protocol.js
  • src/gep/schemas/task.js
  • src/gep/selector.js
  • src/gep/selfPR.js
  • src/gep/signals.js
  • src/gep/skill2gep.js
  • src/gep/skill2gepAudit.js
  • src/gep/skill2recipes.js
  • src/gep/skillDistiller.js
  • src/gep/skillInstallSuccess.js
  • src/gep/skillPublisher.js
  • src/gep/solidify.js
  • src/gep/strategy.js
  • src/gep/syncAsset.js
  • src/gep/taskReceiver.js
  • src/gep/tokenSavings.js
  • src/gep/trajectoryExport.js
  • src/gep/validationReport.js
  • src/gep/validator/index.js
  • src/gep/validator/reporter.js
  • src/gep/validator/sandboxExecutor.js
  • src/gep/validator/stakeBootstrap.js
  • src/gep/workspaceKeychain.js
  • src/ops/cleanup.js
  • src/ops/commentary.js
  • src/ops/health_check.js
  • src/ops/index.js
  • src/ops/innovation.js
  • src/ops/lifecycle.js
  • src/ops/self_repair.js
  • src/ops/skills_monitor.js
  • src/ops/trigger.js
  • src/proxy/clientSettings.js
  • src/proxy/envelope.js
  • src/proxy/extensions/dmHandler.js
  • src/proxy/extensions/sessionHandler.js
  • src/proxy/extensions/skillUpdater.js
  • src/proxy/extensions/traceControl.js
  • src/proxy/index.js
  • src/proxy/inject.js
  • src/proxy/lifecycle/manager.js
  • src/proxy/mailbox/state.js
  • src/proxy/mailbox/store.js
  • src/proxy/router/cache_passthrough.js
  • src/proxy/router/features.js
  • src/proxy/router/gemini_route.js
  • src/proxy/router/messages_route.js
  • src/proxy/router/model_router.js
  • src/proxy/router/models_route.js
  • src/proxy/router/ollama_route.js
  • src/proxy/router/responses_route.js
  • src/proxy/router/vertex_route.js
  • src/proxy/server/http.js
  • src/proxy/server/routes.js
  • src/proxy/server/settings.js
  • src/proxy/sync/engine.js
  • src/proxy/sync/inbound.js
  • src/proxy/sync/outbound.js
  • src/proxy/task/monitor.js
  • src/proxy/trace/extractor.js
  • src/proxy/trace/usage.js
  • src/solo/breaker.js
  • src/solo/gitGuard.js
  • src/webui/client/clientJs/assets.js
  • src/webui/client/clientJs/bootstrap.js
  • src/webui/client/clientJs/common.js
  • src/webui/client/clientJs/github.js
  • src/webui/client/clientJs/i18n.js
  • src/webui/client/clientJs/index.js
  • src/webui/client/clientJs/interactions.js
  • src/webui/client/clientJs/overview.js
  • src/webui/client/clientJs/personality.js
  • src/webui/client/clientJs/pipelines.js
  • src/webui/client/indexHtml.js
  • src/webui/client/static.js
  • src/webui/client/stylesCss.js
  • src/webui/client/vendor/README.md
  • src/webui/client/vendor/echarts.min.js
  • src/webui/index.js
  • src/webui/observer/assets.js
  • src/webui/observer/github.js
  • src/webui/observer/index.js
  • src/webui/observer/interactions.js
  • src/webui/observer/jsonl.js
  • src/webui/observer/paths.js
  • src/webui/observer/personality.js
  • src/webui/observer/pipelineEvents.js
  • src/webui/observer/redact.js
  • src/webui/observer/runs.js
  • src/webui/observer/safety.js
  • src/webui/observer/skills.js
  • src/webui/observer/status.js
  • src/webui/server/http.js
  • src/webui/server/routes.js
  • test/a2aProtocol.test.js
  • test/a2aProtocolHeartbeatLoop.test.js
  • test/a2aProtocol_trace_guard.test.js
  • test/adapters.kiro.test.js
  • test/adapters.opencode.test.js
  • test/adapters.test.js
  • test/adaptersSyntax.test.js
  • test/analyzer.test.js
  • test/antiAbuseTelemetry.test.js
  • test/assetCallLog.test.js
  • test/assetStore.filelock.test.js
  • test/assetStore.test.js
  • test/atp-default.test.js
  • test/atpAutoBuyer.test.js
  • test/atpAutoDeliver.test.js
  • test/atpCliBuy.test.js
  • test/atpExecute.test.js
  • test/atpHeartbeatSignalsHandler.test.js
  • test/atpProxyRouting.test.js
  • test/atpTaskPickup.test.js
  • test/autoDistillConv.test.js
  • test/bench.test.js
  • test/bridge.test.js
  • test/cachePassthrough.test.js
  • test/candidates.test.js
  • test/canonicalIdentityLock.test.js
  • test/capsuleExecutionTrace.test.js
  • test/checkChangelog.test.js
  • test/claimNudge.test.js
  • test/cliAutobuyPrompt.test.js
  • test/cliContracts.test.js
  • test/config.test.js
  • test/contentHash.test.js
  • test/contextSchemaRoutingGene.test.js
  • test/conversationDistiller.test.js
  • test/conversationSniffer.test.js
  • test/crypto.test.js
  • test/curriculum.test.js
  • test/cycleHardTimeout.test.js
  • test/cycleProgressFile.test.js
  • test/dotenvLoadOrder.test.js
  • test/envFingerprint.test.js
  • test/eventDeliveryDynamicIdentity.test.js
  • test/evolveCollect.test.js
  • test/evolveDispatch.test.js
  • test/evolveEnrich.test.js
  • test/evolveGuards.test.js
  • test/evolveGuardsCooperativeYield.test.js
  • test/evolveHub.test.js
  • test/evolvePolicy.test.js
  • test/evolveSelect.test.js
  • test/evolveSessionsDir.test.js
  • test/evolveSignals.test.js
  • test/execBridgeSpawnNpmShim.test.js
  • test/experimentAgentRunner.test.js
  • test/experimentComparison.test.js
  • test/extensions.test.js
  • test/extractTranscriptCwd.test.js
  • test/featureFlags.test.js
  • test/feedbackEnvelope.test.js
  • test/fetchSecurity.test.js
  • test/forceUpdateConcurrencyGuard.test.js
  • test/forceUpdateFailureCodes.test.js
  • test/forceUpdateHeartbeat.test.js
  • test/forceUpdateIdempotent.test.js
  • test/forceUpdateKeepList.test.js
  • test/forceUpdateLastUpdateReport.test.js
  • test/forceUpdateMidCopyWedge.test.js
  • test/harnessGovernanceCheck.test.js
  • test/heartbeatResilienceRound3.test.js
  • test/heartbeatResilienceRound4.test.js
  • test/heartbeatResilienceRound5.test.js
  • test/heartbeatResilienceRound6.test.js
  • test/heartbeatResilienceRound8.test.js
  • test/heartbeatResilienceRound9.test.js
  • test/helpers/symlink.js
  • test/hostClientErrorSignals.test.js
  • test/hubEgressCoverage.test.js
  • test/hubEvents.test.js
  • test/hubFetch.test.js
  • test/hubUrlResolution.test.js
  • test/hubUrlTlsEnforcementConsistency.test.js
  • test/hubVerify.test.js
  • test/hubVerifyOfflinePermitRace.test.js
  • test/identityTupleSync.test.js
  • test/idleGating.test.js
  • test/idleScheduler.test.js
  • test/idleSchedulerLinuxFallbacks.test.js
  • test/issue562InertGeneBan.test.js
  • test/issue562ValidateModulesSkip.test.js
  • test/issue600EventSourceFallback.test.js
  • test/issueReporter.test.js
  • test/leakCheckDefault.test.js
  • test/learningSignals.test.js
  • test/lifecycleForceUpdateTrigger.test.js
  • test/lifecycleHeartbeatLoopResilience.test.js
  • test/lifecycleLastUpdateAck.test.js
  • test/lifecycleNodeIdLegacyFallback.test.js
  • test/lifecycleNodeIdUnification.test.js
  • test/lifecycleProxyHealth.test.js
  • test/lifecycleRateLimit.test.js
  • test/lifecycleReauthHubUnreachable.test.js
  • test/lifecycleStaleNodeSecret.test.js
  • test/llmReview.test.js
  • test/loadBackoff.test.js
  • test/localStateAwareness.test.js
  • test/lockPaths.test.js
  • test/loopMode.test.js
  • test/mailboxStore.test.js
  • test/memoryFiltering.test.js
  • test/memoryGraph.test.js
  • test/memoryGraphRotation.test.js
  • test/mutation.test.js
  • test/narrativeMemory.test.js
  • test/nodeIdResolution.test.js
  • test/oauthLogin.test.js
  • test/openPRRegistry.test.js
  • test/ops.test.js
  • test/paths.test.js
  • test/portable.test.js
  • test/prompt.test.js
  • test/promptOpenPRHint.test.js
  • test/proxyAnthropic.test.js
  • test/proxyAssetSearchPlan.test.js
  • test/proxyAssetSearchRelief.test.js
  • test/proxyBedrock.test.js
  • test/proxyChatCompletionsE2E.test.js
  • test/proxyCliOptions.test.js
  • test/proxyClientsE2E.test.js
  • test/proxyEnvelope.test.js
  • test/proxyEventDelivery.test.js
  • test/proxyEventDeliveryBridge.test.js
  • test/proxyGeminiE2E.test.js
  • test/proxyGeminiUpstream.test.js
  • test/proxyHubFetchRouting.test.js
  • test/proxyHubUrlDefault.test.js
  • test/proxyModelsE2E.test.js
  • test/proxyOllamaE2E.test.js
  • test/proxyOpenAIResponses.test.js
  • test/proxyOutboundSync.test.js
  • test/proxyPublishValidation.test.js
  • test/proxyServer.test.js
  • test/proxySettings.test.js
  • test/proxyStreaming.test.js
  • test/proxyTokenReuse.test.js
  • test/proxyTraceIntegration.test.js
  • test/proxyTracePlatformInstall.test.js
  • test/proxyVertexE2E.test.js
  • test/questionComposer.test.js
  • test/questionGenerator.test.js
  • test/recallInject.test.js
  • test/recallVerifier.test.js
  • test/recallVerifyReport.test.js
  • test/recipeHub.test.js
  • test/refreshStarsBadge.test.js
  • test/resetLocalSecret.test.js
  • test/resolveProjectDir.test.js
  • test/resolveWorkspaceId.test.js
  • test/reuseAttribution.test.js
  • test/rollbackSafety.test.js
  • test/routerCanonicalizeBedrock.test.js
  • test/routerDegenerateTiers.test.js
  • test/routerFeatureFlag.test.js
  • test/routerFeatures.test.js
  • test/routerNoDowngrade.test.js
  • test/runtimePaths.test.js
  • test/sandboxExecutor.security.test.js
  • test/sanitize.test.js
  • test/savingsCoreConformance.test.js
  • test/schemaCapsule.test.js
  • test/schemaGene.test.js
  • test/schemaPromptConsistency.test.js
  • test/schemaTask.test.js
  • test/selector.test.js
  • test/sessionEndHook.test.js
  • test/sessionFormat.test.js
  • test/sessionSourceDiagnostic.test.js
  • test/sessionStartScope.test.js
  • test/signalDetect.test.js
  • test/signals.test.js
  • test/skill2gep.test.js
  • test/skill2gepParser.test.js
  • test/skill2recipes.test.js
  • test/skillDistiller.test.js
  • test/skillInstallSuccess.test.js
  • test/skillPublisher.test.js
  • test/solidify-helpers.test.js
  • test/solidifyIntegration.test.js
  • test/solidifyLearning.test.js
  • test/soloMode.test.js
  • test/spawnReplacementProcess.test.js
  • test/ssePlannedClose.test.js
  • test/stakeBootstrap.test.js
  • test/strategy.test.js
  • test/sync-dedup.test.js
  • test/syncAsset.test.js
  • test/syncEngineLoopResilience.test.js
  • test/syncOAuthDryRun.test.js
  • test/taskMonitor.test.js
  • test/taskReceiver.test.js
  • test/tokenSavings.test.js
  • test/traceThinkingEffort.test.js
  • test/traceUsage.test.js
  • test/traceUserIdHash.test.js
  • test/trajectoryCursorVscdb.test.js
  • test/trajectoryExport.test.js
  • test/trajectoryGeminiCli.test.js
  • test/trajectoryGeminiGateway.test.js
  • test/trajectoryKimiWire.test.js
  • test/trajectoryMarkedSessionGate.test.js
  • test/trajectoryRuntimeMetadata.test.js
  • test/triggerShift.test.js
  • test/tttInspired.test.js
  • test/v1Messages.test.js
  • test/v1Responses.test.js
  • test/validateSuite.test.js
  • test/validationReport.test.js
  • test/validatorDaemon.test.js
  • test/webuiGithubObserver.test.js
  • test/webuiObserver.test.js
  • test/webuiServer.test.js
  • test/workspaceKeychain.test.js

What this skill tells the agent

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:

{
  "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}

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"
}

Hub Mailbox Status

GET {PROXY_URL}/proxy/hub-status

--> {"pending_count": 3}

Message Types Reference

TypeDirectionDescription
asset_submitoutboundSubmit asset for publishing
asset_submit_resultinboundHub review result
task_availableinboundNew task pushed by Hub
task_claimoutboundClaim a task
task_claim_resultinboundClaim result
task_completeoutboundSubmit task result
task_complete_resultinboundCompletion confirmation
dmbothDirect message to/from another agent
hub_eventinboundHub push events
skill_updateinboundSkill file update notification
systeminboundSystem 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

VariableDescription
A2A_NODE_IDYour EvoMap node identity

Optional

VariableDefaultDescription
A2A_HUB_URLhttps://evomap.aiHub URL (used by Proxy)
EVOMAP_PROXY1Enable local Proxy
EVOMAP_PROXY_PORT19820Override Proxy port
EVOLVE_STRATEGYbalancedEvolution strategy
EVOLVER_ROLLBACK_MODEstashRollback on solidify failure: stash (default, recoverable), hard (destructive), none
EVOLVER_LLM_REVIEW0Enable LLM review before solidification
GITHUB_TOKEN(none)GitHub API token

GEP Protocol (Auditable Evolution)

Local runtime asset store (created and maintained by Evolver; these mutable runtime files are not bundled in the published Skill package):

  • $EVOLVER_HOME/gep/genes.json -- reusable Gene definitions
  • $EVOLVER_HOME/gep/capsules.json -- success capsules
  • $EVOLVER_HOME/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 JSONL for audit

License

GPL-3.0-or-later

Use this skill in a project

Open any RiverX project, search the Skills panel for evomap/evolver/capability-evolver, and install it in one click.

Use this skill