SkillNEO: Non-Elitist Evolutionary Optimization of Agent Skills
TL;DR Highlight
Keep editing low-scoring skill versions and GPT-5.4 Mini's reward rises from 49.1% to 66.4%.
Who Should Read
Agent developers auto-improving SKILL.md files from execution feedback who get stuck because versions that don't immediately score higher get discarded
Core Mechanics
- Low-scoring versions stay as starting points
- Existing methods require a child to beat its parent before further edits.
- When a fix needs several coupled edits, intermediate versions may not score higher.
- SkillNEO picks the version to deploy separately from the versions to keep improving.
- Compare execution records to decide what to fix
- It compares repeated runs of one version, parent-child runs, and sibling runs.
- Working steps are preserved and only remaining failures get edited.
- Routing records separate never consulting a skill from failing after consulting it.
- Go back and re-edit older versions
- An earlier version can be revised using evidence gathered after it was created.
- Useful procedures from other branches can be grafted in.
- A zero-reward version became the parent of the final skill
- In Gravitational Wave Detection, e04 scored 0 yet passed eight of nine checks.
- Child f04 fixed the 15Hz/20Hz conflict and was deployed at 100%.
Evidence
- Mini average reward 49.1%→66.4%
- Across 86 SkillsBench tasks, +17.3pp over original skills.
- On the 41 modified tasks it is 31.5%→67.8%, with 29 gains, 12 ties, 0 losses.
- Gains in all eight domains
- Software engineering +27.4pp, finance/economics +25.9pp, industrial/physical +5.6pp (Mini vs original skills).
- Reuse improves stronger models
- On the 41 modified tasks, Luna goes 63.9%→74.4% (+10.5pp).
- GPT-5.5 scores 71.1% vs its published original-skill reference of 60.5% (+10.6pp).
- Lower-scoring versions end up on final paths
- Of 29 tasks with Mini gains, 22 (75.9%) used a non-incumbent parent on the final path.
- 163 lower-scoring versions received further edits and 45 had a later deployed descendant.
How to Apply
- Compare a failed and a passing run to pick edit candidates
- Feed a success log and a failure log of the same task to an LLM and ask where they diverge.
- The prompt below lets you try it today.
- Store skill revisions as a tree
- Save each skill version together with its execution records.
- Keep versions whose score dropped as candidates for later edits.
- Separate deployment from development criteria
- Replace the deployed version only when its repeated-run mean is best.
- The paper used 6 children, 3 promoted, 3 repeats.
- Develop with a cheap model, reuse on stronger ones
- Evolve skills with a small model, freeze them, and evaluate with a stronger model.
- Compare gains and losses per task and adopt only the skills that help.
Try It
# Paste into Claude or ChatGPT (simplified version of the paper's method)
I want to improve an agent skill (SKILL.md).
[Current SKILL.md]
{{SKILL.md content}}
[Successful run log]
{{success log}}
[Failed run log]
{{failure log}}
Instructions:
1. Find where the two runs diverge and rank candidate failure causes by how many failed runs they explain.
2. Exclude errors the agent recovered from on its own.
3. Separate working steps (preserve) from remaining failures (fix).
4. Distinguish never consulting the skill from failing after consulting it.
5. Propose 3 edits, each with a target and a quoted log line as evidence.
Next: after applying an edit, don't discard it if the score is low; keep it as a starting point for the next round and compare.Terminology
Related Papers
Same Simulation, Different Evidence: Where Retrieved Tool Output Costs LLM Agents Accuracy
Saving long tool output to files cut GPT-5.1 accuracy by 11.3 points; naming the authoritative file restored it.
Fake News, Real Crashes: Information Injection Attacks on LLM Financial Trading Agents
Fake headlines hijacked LLM trading agents 62% of the time versus 14% for prompt injection.
Harness Engineering 101: The LLM is the brain, the harness is the body
An agent is a loop managing a JSON array; 16 chapters build one from scratch
Harness2 by Google Research – Recursive Agent Harnessing
Recursively refining the harness with fixed model weights raised benchmark scores by up to 11.8 points.
Ousted Savannah police officer gave ICE agent husband access to Flock system
A police officer shared her Flock login with her ICE-agent husband; an audit found 983 searches and she was fired
Tmux and Claude Code: Sessions, Send-Keys, and the Ceiling
Running Claude Code agents in tmux works well, but limits appear around four agents.
Original Abstract (Expand)
Agent skills turn procedural knowledge into reusable artifacts, allowing LLM agents to accumulate and refine expertise through experience. Building on this, skill evolution iteratively improves skills using execution feedback. However, improvement may require several interdependent edits, so low-reward versions can still be worth developing. Requiring immediate reward gains can discard useful partial repairs before their benefits emerge. Non-elitist evolution allows new versions to receive further edits despite scoring below earlier ones. For agent skills, this calls for evidence of what to preserve and repair next. We introduce SkillNEO (Non-Elitist Evolutionary Optimization for Agent Skills), which separately selects a version to use and versions to keep improving. Comparing how related versions perform the same task reveals working steps to preserve and remaining failures to fix. It can also revisit and revise earlier versions using later evidence. Across 86 SkillsBench tasks in eight domains, including software engineering and office work, SkillNEO raises GPT-5.4 Mini's average reward from 49.1% to 66.4%, within GPT-5.5 and GPT-5.6 Luna's original-skill range. Mini executes tasks, proposes revisions, and edits skills; final evaluation uses the same task instances. Gains span all eight domains. The same skills improve stronger models without further editing. On the 41 tasks with modified skills, reuse improves Luna by 10.5 percentage points and places GPT-5.5 10.6 points above its published original-skill reference. Execution records show these skills can benefit stronger models even when Mini still fails some task requirements. Search histories also show lower-scoring versions leading to skills ultimately selected for use. Together, these findings show that skill evolution can turn a weaker model's partial progress into reusable procedural knowledge for improving more capable agents.