Run the WikiSkill self-evolution loop (arXiv 2608.27454) on a Hermes workspace — raw→maintainer→proposer→gate with strict R_val > R_best gating.
npx skills add https://github.com/ashutoshsinghpr7/wikiskill --skill wikiskill-evolve
Run Google's WikiSkill evolution loop (arXiv:2608.27454) — a faithful
implementation with Hermes as the reference backend. The agent evolves its own
skills: raw sessions → a maintainer distills failure patterns into a
persistent wiki → a proposer writes a candidate skill → a validation gate
accepts it only if R_val > R_best (git rollback otherwise).
instead of vibes
pip install wikiskill # Python ≥ 3.10; works with Hermes, Claude Code
wikiskill init myws # workspace + auto-graded bench
wikiskill evolve myws --iters 3 # train → maintain → propose → gate
wikiskill status myws # baseline, r_best, skill state
wikiskill compare wsA wsB --iters 5 # paired exact-binomial comparison
wikiskill transfer src dst # copy accepted skills to another ws
runs/state.json — baseline (S₀ on val), r_best, next_iterwiki/log.md — every maintenance/proposal/gate decision with evidencewiki/patterns/ — distilled failure patterns (the raw material)wiki/skill-impact.md — rejected proposals stay visible (paper requirement)ACCEPTED (R_val > R_best, git commit), REJECTED(rolled back), no_action (proposer declined — a valid outcome)
wikiskill init myws --backend claude # Claude Code as the worker
Hermes is the reference backend; Claude Code ships in the box; codex/opencode
are on the roadmap. All speak open SKILL.md, so evolved skills transfer.
turn budgets and --max-turns bound the spend
no_action iterations — that's the gate working,not a failure; skill accumulation needs a reasonably strong proposer
Take ashutoshsinghpr7/wikiskill-evolve from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference pip.
Without those the skill loads but fails at the first command.