May 2026 · arXiv:2605.23904

SkillOpt: Executive Strategy for Self‑Evolving Agent Skills

Yifan Yang, Ziyang Gong, Weiquan Huang, Qihao Yang, Ziwei Zhou, Zisu Huang, Yan Li, Xuemei Gao, Qi Dai, Bei Liu, Kai Qiu, Yuqing Yang, Dongdong Chen, Xue Yang, Chong Luo · Microsoft, Shanghai Jiao Tong University, Tongji University, Fudan University

TL;DR

SkillOpt treats an agent’s natural-language “skill document” as trainable external state. A separate optimizer model proposes small add/delete/replace edits from scored rollouts, but a strict held-out validation gate accepts only edits that improve performance—yielding compact skills that improve frozen agents without extra deployment-time model calls.

52/52 cells best or tied Bounded text “learning rate” Strict validation gate Reusable best_skill.md No weight updates

Why this matters

Modern language models increasingly act as agents, not just single-turn chatbots. In those settings, success depends on procedures: how to inspect a spreadsheet, when to trust an OCR field, how to avoid loops in an embodied environment, or how to format the final answer.

But today those procedures are usually hand-written, generated once, or revised through free-form self-reflection. SkillOpt asks a sharper question: if a skill is the agent’s adaptation layer, why not train the skill with optimizer-like discipline—batch evidence, step-size control, validation, rejected-step memory, and slow updates?

The big idea

SkillOpt freezes the target model and optimizes only a compact text file, best_skill.md. At each step, the target agent runs tasks with the current skill; an optimizer model reads scored trajectories and proposes structured text edits; the system applies only a bounded number of edits; then a held-out validation split decides whether the candidate skill lives or dies. In short: treat natural language as a trainable state, but keep the optimizer on a leash.

$$(\tau(s), r(s)) = h(M, x, s), \qquad r(s)\in[0,1]$$

A frozen model $M$ executes task $x$ under skill $s$ in harness $h$, producing trajectory $\tau$ and score $r$.

How it works

The paper’s analogy to deep learning is operational: rollout batch sizes reduce noisy evidence; a textual learning rate bounds step size; validation gates reject harmful updates; and slow/meta updates carry durable lessons across epochs.

1) Pipeline: from rollouts to accepted skill edits

Hover or focus a block to see its role. Toggle “ad hoc rewrite” to see what SkillOpt is designed to avoid.

Skill Sₜbest_skill.md Rolloutsscored traces OptimizerADD · DEL · REP Rank + clip≤ Lₜ edits Held-outgate rejected edits become negative feedback

Block role

Current skill

The external text artifact inserted into the agent context; it is the trainable state.

2) Textual learning rate: how big is one skill step?

SkillOpt’s learning-rate analogue is an edit budget $L_t$: the maximum number of add/delete/replace edits allowed at step $t$. Try changing it.

4edits max

3) Validation gate: propose, test, accept—or remember the failure

The paper’s gate is strict: ties are rejected. Use the slider to simulate a candidate skill’s selection score.

Current selection score: 77.5

Rejected-edit buffer

    4) Slow/meta update: the optimizer’s memory lane

    At epoch boundaries, SkillOpt compares the same tasks under the previous and current skill, grouping outcomes into improvements, regressions, persistent failures, and stable successes. Click each lane.

    Results

    The main table reports six direct-chat benchmarks across seven target models, plus GPT‑5.5 inside Codex and Claude Code. SkillOpt is best or tied-best on all 52 evaluated model–benchmark–harness cells.

    Transfer: does the skill travel?

    Yes, at least in the paper’s tested settings. Optimized skills remain useful across model scale, harness boundary, and nearby math benchmarks.

    Cross-model

    +9.4

    GPT‑5.4 SpreadsheetBench skill transferred to GPT‑5.4‑mini.

    Cross-harness

    +59.7

    Codex-trained SpreadsheetBench skill transferred to Claude Code.

    Cross-benchmark

    +3.7

    OlympiadBench skill transferred to Omni‑MATH on GPT‑5.4.

    Limitations & open questions

    • Needs reliable feedback. SkillOpt depends on scored trajectories and a held-out split, so it fits tasks with exact-match metrics, verifiers, executable checks, or other dependable feedback.
    • Training is not free. Deployment is cheap, but optimization requires extra rollouts and optimizer-model calls. The paper reports training costs from 0.6M to 46.4M tokens per absolute test-point gain across GPT‑5.5 case studies.
    • Single-skill assumption. The method optimizes one portable document, not a large library. Highly heterogeneous domains may need multiple skills or routing.
    • Transfer still needs evaluation. Skills can encode distribution-specific heuristics; the authors explicitly call for held-out evaluation before moving skills far from the training setting.

    Glossary

    Agent skill

    A natural-language procedural policy inserted into the agent context, containing tool policies, domain heuristics, output constraints, and failure-mode guidance.

    Text-space optimizer

    An optimization loop that updates text artifacts rather than neural-network weights.

    Textual learning rate

    SkillOpt’s edit budget $L_t$, the maximum number of skill edits applied at step $t$.

    Held-out validation gate

    A selection split used to accept a candidate skill only when it strictly improves the current selection score.

    Rejected-edit buffer

    An epoch-local memory of rejected edits and observed failure patterns, provided to later optimizer calls as negative feedback.

    Slow/meta update

    An epoch-wise process that compares adjacent skill versions on the same tasks and writes longer-horizon guidance, while keeping optimizer-side memory separate from the deployed skill.

    Citation

    @article{yang2026skillopt,
      title   = {SkillOpt: Executive Strategy for Self-Evolving Agent Skills},
      author  = {Yang, Yifan and Gong, Ziyang and Huang, Weiquan and Yang, Qihao and Zhou, Ziwei and Huang, Zisu and Li, Yan and Gao, Xuemei and Dai, Qi and Liu, Bei and Qiu, Kai and Yang, Yuqing and Chen, Dongdong and Yang, Xue and Luo, Chong},
      journal = {arXiv preprint arXiv:2605.23904},
      year    = {2026},
      url     = {https://arxiv.org/pdf/2605.23904}
    }
    Made with Flash Papers — make your own