Microsoft’s SkillOpt Shows Optimized Agent Skill Artifacts Transfer Across Model Scales and Between Codex and Claude Code Harnesses
SkillOpt is a text-space optimizer developed by a team of researchers from Microsoft, Shanghai Jiao Tong University, Tongji University, and Fudan University.

SkillOpt is a text-space optimizer developed by a team of researchers from Microsoft, Shanghai Jiao Tong University, Tongji University, and Fudan University.
SkillOpt trains a single natural-language skill document while the target model stays frozen. An optimizer model reads scored rollouts and proposes bounded add/delete/replace edits. A held-out selection split accepts an edit only when the score strictly improves. The exported artifact is one file, best_skill.md .
The transfer tables report three columns. Baseline is the target’s no-skill score. Direct is SkillOpt trained in-domain on that exact target. Transferred applies a skill trained elsewhere, with no further optimization.
The useful comparison is not transferred versus direct. It is how much of the in-domain gain survives the move.
Skills were trained on GPT-5.4 and deployed on smaller variants.
Two rows deserve attention. SpreadsheetBench on GPT-5.4-mini keeps 82% of the in-domain gain. That is close to free reuse. The LiveMath row on GPT-5.4-nano is stranger: the transferred skill scores 28.8 against an in-domain SkillOpt result of 27.2. The paper reads this as evidence that some learned procedures are target-model agnostic.
The GPT-5.4-nano SpreadsheetBench row is the weak one at 16%. Retention is not uniform, and the paper does not claim it is. Its stated bound is narrower: no row falls below the target’s no-skill baseline.
Note the scope. All four rows stay inside one GPT family. Cross-family transfer, such as GPT to Qwen , is not tested.
This is the section that matters most for deployment. All rows use GPT-5.5.
The first row is the headline. A skill optimized inside Codex lifted Claude Code from 22.1 to 81.8. That slightly exceeds the 80.4 Claude Code reached by training its own skill from scratch.
The two harnesses expose different tool and file APIs and different command surfaces. A skill that survives that shift is not encoding command recipes. The research paper attributes SpreadsheetBench’s portability to workbook-level procedures: structure-first inspection, formula-aware verification, and static-value materialization. Those hold regardless of which CLI runs the Python.
LiveMath tells the opposite story. Codex → Claude Code retains only 10% of the in-domain gain. The asymmetry is worth sitting with. Procedural skills — how to inspect, verify, and format — appear to be the portable class. Reasoning-heavy skills appear more tied to their training environment.
There is no Direct column here. No in-domain SkillOpt run on Omni-MATH is reported, so the comparison is against no-skill only. Gains are positive across all three model scales but small. The research paper’s reading is that the skill retained reusable mathematical procedure after both the test instances and the answer-format conventions changed.
Source: MarkTechPost