GEPA - Genetic-Pareto Skill Evolution
Offline prompt/skill/system optimization via evolutionary search on execution traces. Reads why things failed, proposes textual improvements through Genetic-Pareto search, and evaluates variants against task metrics. ICLR 2026 Oral paper and MIT Python package. Source: arXiv, 2026-02-14; Source: GitHub
gepa-ai/gepa, 2026-07-01
The Problem It Solves
In-agent skill learning has a known weakness: agents tend toward self-congratulation. They almost always rate their own performance highly even when they failed. The same system that auto-generates skills can overwrite manual customizations with worse versions. Community feedback confirms this is a real and persistent failure mode. Source: compiled from X/@akshay_pachaar article, 2026-05-13
How It Works
- Read current skill from the agent's skill directory
- Generate evaluation dataset (synthetic via Claude Opus, real session history from SQLite, or hand-curated golden sets)
- Run GEPA optimizer: read execution traces -> understand failure points -> generate candidate variants through evolutionary search
- Evaluate candidates using LLM-as-judge scoring with rubrics (not binary pass/fail)
- Apply constraint gates: full test suite passes 100%, skills stay under 15KB, caching compatibility preserved, semantic purpose doesn't drift
- Best variant goes out as a PR - never a direct commit
Cost: $2-10 per optimization run. No GPU required - everything through API calls.
Relevance to Kevin's System
Kevin's skill-maintenance automation already runs periodic skill updates from session analysis. GEPA offers a more rigorous alternative: instead of the agent deciding "I should improve this skill," execution traces objectively show where skills failed, and evolutionary search finds better variants with constraint preservation.
The PR-based output (never direct commit) aligns with Kevin's code review conventions. The self-congratulation problem is exactly why Kevin uses Security and Review Skills - a second model catches what the first model thinks is fine.
GEPA is positioned as a middle ground: more rigorous than in-agent self-improvement, cheaper than full RL fine-tuning (GRPO). The paper's current arXiv v2 says GEPA reflects over trajectories, proposes prompt updates, combines complementary lessons from the Pareto frontier, outperforms GRPO by 6% on average and up to 20%, and uses up to 35x fewer rollouts. Source: arXiv:2507.19457v2, 2026-02-14
SkillOpt sharpens the same skill-evolution problem from the optimizer side. Its diagram treats a skill document as the trainable state of a frozen agent: rollouts produce trajectories, a separate optimizer proposes bounded add/delete/replace edits, a held-out gate accepts only strict validation improvements, and rejected side updates become negative feedback. This is closer to text-space gradient descent than GEPA's broader Genetic-Pareto prompt evolution, but both reinforce the same operational rule for Kevin's system: optimize skills only through trace evidence and validation gates, never through unconditional self-rewrite. Source: X/@koylanai and local image artifact, 2026-07-03; Source: SkillOpt project page, 2026-07-03
Current Source Snapshot
As of 2026-07-01, gepa-ai/gepa is an MIT-licensed Python package with PyPI gepa@0.1.1, Python >=3.10,<3.15, GitHub HEAD 92dadfffbe98c8ecf508179a1cab09c1bb85cd32, tag v0.1.1, 5,464 stars, and 445 forks. The README now positions GEPA beyond prompts: textual system components can include prompts, code snippets, agent architectures, scheduling policies, vector graphics, MCP tool descriptions, DSPy programs, RAG prompts, TerminalBench agents, and LangChain/LangGraph pipelines via adapters. Source: PyPI gepa, 2026-07-01; Source: GitHub gepa-ai/gepa, 2026-07-01
As of 2026-07-03, microsoft/SkillOpt is MIT-licensed with release v0.2.0 ("SkillOpt-Sleep", published 2026-07-02), default branch main at e4ea6a6771e797ef820cdd8bfea64c57e0481065, 10,515 stars, and 979 forks. arXiv 2605.23904v2 was revised on 2026-05-25 and reports SkillOpt as a text-space optimizer for skills across direct chat, Codex, and Claude Code harnesses. Source: GitHub API / git ls-remote, 2026-07-03; Source: arXiv:2605.23904v2
The Akshay Pachaar bookmark is useful because it ties GEPA back into Hermes Agent (Nous Research) as one part of a compounding-agent stack: memory, self-evolving skills, profile-specific agents, model blending, and skill creation from examples. Its YouTube transcript is broader than GEPA, so keep this page focused on GEPA and route Hermes architecture details through Hermes Agent (Nous Research) and Agent Looping. Source: X/@akshay_pachaar, 2026-05-13; Source: YouTube transcript in enriched record, 2026-07-01
Timeline
- 2026-07-03 | Deep-reviewed the Koylanai SkillOpt bookmark and local diagram artifact, then checked current SkillOpt sources. The artifact's durable contribution is the optimizer-control shape: bounded skill edits, rejected side updates, held-out selection gates, and a text-space optimization analogy where edit budget functions like learning rate. Current source snapshot:
microsoft/SkillOptv0.2.0, MIT, HEADe4ea6a6, 10,515 stars, 979 forks. Source: X/@koylanai, 2026-05-26; Source: GitHubmicrosoft/SkillOpt, 2026-07-03 - 2026-07-01 | Deep-reviewed the Akshay Pachaar bookmark, YouTube crash-course transcript, arXiv v2, GitHub repo, and PyPI package. Current source snapshot:
gepa@0.1.1, Python>=3.10,<3.15, MIT, tagv0.1.1, HEAD92dadfffbe98c8ecf508179a1cab09c1bb85cd32, 5,464 stars, and 445 forks. Source: arXiv, GitHub, PyPI, 2026-07-01 - 2026-05-27 | @kylejeong reports making browser skills up to 90% faster and cheaper via iterative AutoResearch, producing a /autobrowse command. 2,439 bookmarks. Source: X/@kylejeong, 2026-05-27
- 2026-05-26 | SkillOpt (@koylanai, 2,269 likes, 5,059 bookmarks): one of the first papers to treat markdown SKILL.md files as trainable parameters ("gradient descent for skill files"). Attacks skill optimization from the optimization end vs GEPA's governance end. Source: X/@koylanai, 2026-05-26
- 2026-05-13 | Described in Akshay's Hermes Agent guide. Originally published as ICLR 2026 Oral paper by Nous Research. Source: X/@akshay_pachaar, 2026-05-13