Skip to content

Commit f011f1b

Browse files
autogame-17claude
andcommitted
feat: command parity with the Claude Code plugin + skill MCP section
Add /run /solidify /review /sync /distill /status (engine-CLI wrappers + health) so the Cursor plugin matches the Claude Code plugin's command surface. Cursor command frontmatter only supports name/description (per the manifest reference), so the migrated commands drop argument-hint/allowed-tools and use the unprefixed /<cmd> form. Skill gains an MCP-tools section pointing at evolver_search_assets etc. v0.2.0 surface now: 3 hooks + skill + rule + MCP bridge (evolver-proxy, 5 tools) + 8 commands. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent e98043b commit f011f1b

8 files changed

Lines changed: 136 additions & 5 deletions

File tree

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ It also ships:
2828
- An **MCP bridge** (`evolver-proxy`) exposing the local Proxy mailbox as tools:
2929
`evolver_search_assets`, `evolver_status`, `evolver_fetch_asset`,
3030
`evolver_publish_asset`, `evolver_poll`.
31-
- **`/evolve`** and **`/search`** commands.
31+
- Slash commands: **`/evolve`** (checkpoint), **`/search`** (find network assets),
32+
**`/status`** (health), and engine wrappers **`/run`**, **`/solidify`**,
33+
**`/review`**, **`/sync`**, **`/distill`** (use the `@evomap/evolver` CLI when
34+
installed, else `npx -y @evomap/evolver`).
3235
- A **rule** that reminds the agent to use evolution memory on substantive work.
3336

3437
## Install

commands/distill.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
description: Distill a reusable skill/gene from recent run history (optionally from an LLM response file).
3+
---
4+
5+
Distill Evolver run history into a reusable skill/gene.
6+
7+
```bash
8+
EVOLVER="evolver"; command -v evolver >/dev/null 2>&1 || EVOLVER="npx -y @evomap/evolver"
9+
$EVOLVER distill $ARGUMENTS
10+
```
11+
12+
Explain to the user what was distilled (the candidate skill/gene and the signals it generalizes), and remind them that only assets produced through genuine Evolver self-evolution are eligible to be published to the EvoMap skill store via `/sync`.

commands/review.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
description: Review Evolver's pending evolved changes, then approve (solidify) or reject (roll back).
3+
---
4+
5+
Review the changes Evolver currently has **pending solidify** in this repository.
6+
7+
1. First show the user what is pending — run `git status --short` and `git diff` (or `git diff HEAD`) so they can see the actual proposed edits.
8+
2. Resolve the CLI:
9+
10+
```bash
11+
EVOLVER="evolver"; command -v evolver >/dev/null 2>&1 || EVOLVER="npx -y @evomap/evolver"
12+
```
13+
14+
3. Then act on the user's intent:
15+
- If the user passed `--approve` (or asked to accept): run `$EVOLVER review --approve` to solidify.
16+
- If the user passed `--reject` (or asked to discard): run `$EVOLVER review --reject` to roll back.
17+
- If no flag was given via `$ARGUMENTS`, summarize the pending diff and **ask the user** whether to approve or reject before running anything.
18+
19+
Report the final state (solidified / rolled back) and the resulting git status.

commands/run.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
description: Run one Evolver self-evolution cycle on the current repo (collect signals → select/mutate genes → propose changes).
3+
---
4+
5+
Run an Evolver evolution cycle in the **current git repository**.
6+
7+
Steps:
8+
1. Confirm we're in a git repo (`git rev-parse --is-inside-work-tree`). If not, tell the user Evolver requires git and stop.
9+
2. Resolve the CLI and run it, passing through the user's flags. Execute:
10+
11+
```bash
12+
EVOLVER="evolver"; command -v evolver >/dev/null 2>&1 || EVOLVER="npx -y @evomap/evolver"
13+
EVOLVE_STRATEGY="${EVOLVE_STRATEGY:-balanced}" $EVOLVER run $ARGUMENTS
14+
```
15+
16+
3. Summarize what changed: which signals were collected, which gene was selected/mutated, and whether any changes are now **pending solidify**. If changes are pending, remind the user they can inspect and accept them with `/review` (or roll back with `/review --reject`).
17+
18+
Do not auto-approve pending changes — leave that to the user via `/review`.

commands/solidify.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
description: Solidify the current working changes into a durable Evolver gene/capsule (with rollback safety).
3+
---
4+
5+
Solidify the current working-tree changes into a durable Evolver asset.
6+
7+
1. Ensure we're in a git repo and show `git diff --stat` so the user sees what will be captured.
8+
2. Resolve the CLI and run solidify with the user's flags:
9+
10+
```bash
11+
EVOLVER="evolver"; command -v evolver >/dev/null 2>&1 || EVOLVER="npx -y @evomap/evolver"
12+
$EVOLVER solidify $ARGUMENTS
13+
```
14+
15+
3. If the user did not provide `--summary`, infer a concise one-line summary of the change from the diff and pass it as `--summary="..."`.
16+
4. Report the gene/capsule that was created or updated, and whether a rollback point was recorded.
17+
18+
Tip: pass `--dry-run` first to preview without writing.

commands/status.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
description: Show Evolver health — Proxy/MCP status, evolution memory, workspace id, and whether the full engine is installed.
3+
---
4+
5+
Report Evolver health as a short checklist.
6+
7+
1. **Proxy / MCP** — call the `evolver_status` MCP tool (from the `evolver-proxy`
8+
server). If it returns status, show `node_id`, `outbound_pending`,
9+
`inbound_pending`, `last_sync_at`. If it errors, the Proxy is down — note it
10+
starts when you run `evolver` once in a git repo, and that the local memory
11+
hooks keep working regardless.
12+
13+
2. **Evolution memory** — does the local graph exist and how many outcomes?
14+
15+
```bash
16+
F=~/.evolver/memory/evolution/memory_graph.jsonl
17+
[ -f "$F" ] && echo "memory graph: $F ($(wc -l < "$F" | tr -d ' ') outcomes)" || echo "no local evolution memory yet (appears after a session ends with changes in a git repo)"
18+
```
19+
20+
3. **This workspace's id** — the forge-resistant scoping key (only in a git repo):
21+
22+
```bash
23+
R=$(git rev-parse --show-toplevel 2>/dev/null); [ -n "$R" ] && { [ -f "$R/.evolver/workspace-id" ] && echo "workspace-id: present" || echo "workspace-id: not yet created"; } || echo "not a git repo — memory inactive here"
24+
```
25+
26+
4. **Full engine (optional)** — is the `@evomap/evolver` CLI installed?
27+
28+
```bash
29+
command -v evolver >/dev/null 2>&1 && evolver --version 2>/dev/null | head -1 || echo "evolver CLI not installed — hooks + MCP still work; 'npm i -g @evomap/evolver' unlocks /run etc."
30+
```
31+
32+
Finish with one line on overall readiness.

commands/sync.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
description: Sync evolution assets (genes/capsules) between the local store and the EvoMap Hub.
3+
---
4+
5+
Sync Evolver assets with the EvoMap Hub.
6+
7+
```bash
8+
EVOLVER="evolver"; command -v evolver >/dev/null 2>&1 || EVOLVER="npx -y @evomap/evolver"
9+
$EVOLVER sync $ARGUMENTS
10+
```
11+
12+
After it runs, summarize: how many assets were pulled/updated, any local-only (unpublished) assets it listed, and — if `--export` was given — where the `.gepx` archive was written.
13+
14+
If it reports the node identity or Hub credentials are missing, point the user to `/status` and the README's *EvoMap Hub* section to diagnose.

skills/capability-evolver/SKILL.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,22 @@ it:
6767
npm install -g @evomap/evolver
6868
```
6969

70-
This gives you the engine's CLI (e.g. `evolver run`) to run that pipeline
71-
separately — the hooks do not auto-detect or invoke it. The memory the hooks
72-
record is what the pipeline consumes. See the plugin README for connecting an
73-
EvoMap Hub node for community strategies.
70+
This gives you the engine's CLI (e.g. `evolver run`, surfaced as the `/run`
71+
command) to run that pipeline separately — the hooks do not auto-detect or invoke
72+
it. The memory the hooks record is what the pipeline consumes. See the plugin
73+
README for connecting an EvoMap Hub node for community strategies.
74+
75+
## MCP tools
76+
77+
This plugin bundles a lightweight MCP bridge (`evolver-proxy`) exposing the local
78+
EvoMap Proxy mailbox:
79+
80+
- `evolver_search_assets` — find reusable genes/capsules by signal. **Call this
81+
before substantive work** to reuse proven approaches instead of reinventing them.
82+
- `evolver_status` — Proxy state (node id, pending counts, last sync).
83+
- `evolver_fetch_asset` / `evolver_publish_asset` / `evolver_poll`.
84+
85+
The tools degrade gracefully when the Proxy isn't running (the local memory hooks
86+
still work). The richer, full `gep_*` surface is the separate
87+
[`@evomap/gep-mcp-server`](https://github.com/EvoMap/gep-mcp-server) — add it to
88+
your MCP config if you want it; the two compose.

0 commit comments

Comments
 (0)