Using cap evolve
Skill skillberry-ai/cap-evolve/skills/orchestrate/using-cap-evolve
Optimize any AI agent’s skills, tools/MCP, and prompts against your own evals.
npx -y skills add skillberry-ai/cap-evolve --skill using-cap-evolveAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Entry-point router for cap-evolve. Use the moment a user asks to OPTIMIZE an agent capability against an eval — "optimize <X>", "make <X> score higher on <benchmark>", "improve this skill/tool/prompt". Decides whether a project already exists and routes accordingly: to intake (Phase 1) for a fresh request, or straight into the phase chain / `cap-evolve run` when `.capevolve/project/` is already scaffolded. Explains the two ways to run (standalone `/cap-evolve:<phase>` chain vs the fully-automatic `cap-evolve run`) and restates the non-negotiable honesty rules. Does no optimization itself.
SKILL.md
3.3 KB, as published. Nobody here has run it
using-cap-evolve — the router
This is the front door. When someone says "optimize <X>", you land here first. The router does not run any phase — it figures out where the user is and sends them to the right next step, then gets out of the way.
Routing decision
Run the resolver to see the current state and the recommended next command:
python scripts/run.py "$ARGUMENTS" --base .capevolve
It prints {state, next, sequence, ...}:
- state
fresh(no.capevolve/project/): route to/cap-evolve:intake— it interviews the user, scaffolds the project, and gathers inputs. Never skip intake on a fresh request; never fabricate a NEEDED input. - state
scaffolded(capevolve.yamlexists, check not yet green): route to/cap-evolve:implement-and-checkand stop at the hard gate (cap-evolve checkmust print{"ok": true}). - state
ready(check green): offer the two run modes below. - state
running/finalized: route to/cap-evolve:reportfor status / the sealed-test result.
Two ways to run (both honest, same engine)
- Standalone phase chain — drive it turn by turn, inspecting each step:
/cap-evolve:intake→/cap-evolve:implement-and-check→/cap-evolve:baseline→/cap-evolve:<algorithm>(e.g.hill-climb,gepa,skillopt, oragent-optimizein agent mode) →/cap-evolve:finalize→/cap-evolve:report. Use when you want to review each phase, or to run just one phase. - Fully automatic —
/cap-evolve:orchestrate --execute, or directly:
Sequences every phase, enforces the hard gate before spending budget, decides when to stop (budget/stall), and ends with the sealed-test number.cap-evolve run --spec .capevolve/project/capevolve.yaml
Host-agnostic fallback (no plugin / non-Claude host): point the agent at
RUN.md and follow it step by step. Same rules, no Claude-only features needed.
The non-negotiable rules (restated; enforced by core + hooks)
- Split train/val/test once, seeded; test is scored only at finalize, once.
- Accept on val by significance, never on the data the optimizer edited.
- Do not edit
splits.json,rollouts/test/*, or*test*gold*files — the plugin's PreToolUse hook blocks it; the seal lives in core. - An iteration may not "finish" while
cap-evolve checkis red (Stop hook).
References
references/routing.md— the state machine, the session-start injection JSON shape, and how this router relates toorchestrate.