Releases: microsoft/SkillOpt
Releases · microsoft/SkillOpt
SkillOpt v0.2.0 — SkillOpt-Sleep
Sorry, something went wrong.
No results found
[0.2.0] — 2026-07-02
The headline of this release is SkillOpt-Sleep: a nightly offline
self-evolution engine that harvests a coding agent's real session
transcripts, mines recurring tasks, replays them offline, and consolidates
short-term experience into long-term memory and skills — all behind the same
held-out validation gate that keeps SkillOpt training honest. It ships as a
decoupled top-level package (skillopt_sleep/, zero dependency on the
research code) and as the new skillopt-sleep CLI.
Added
- SkillOpt-Sleep engine — nightly offline self-evolution cycle
(harvest → mine → replay → consolidate) behind a validation gate, exposed
as the skillopt-sleep console script and python -m skillopt_sleep.
- Multi-objective reward (accuracy / tokens / latency) with user preferences.
- Multi-rollout contrastive reflection under a token/time budget.
- Experience replay + controllable dream rollouts (opt-in).
- Slow-update long-term memory field (runs even with the gate off).
- 3-way train/val/test split with gate_mode on|off.
- Verifier-discipline validation gate, with a stress-test suite
(thanks Tanmay Garg (@Tanmay9223), #87).
- Cross-tool backends & plugin shells for Claude Code, Codex, Copilot,
Devin, and OpenClaw:
- SearchQA split materialization helper and fail-fast on systemic rollout
failures, with a searchqa install extra (thanks summerview1997,
#63, #64, #65).
- WebUI environment loading and backend preflight (thanks summerview1997, #63).
Changed
- Decoupled the Sleep engine into a standalone top-level skillopt_sleep/
package with zero dependency on the research code.
- Made EnvAdapter.reflect a shared default so reflect kwargs are no longer
dropped (thanks Shunsuke (@imshunsuke), #44).
- English-only pass across the engine, plugins, and docs.
Fixed
- Windows robustness for the Claude/Codex backends, plus a hardened JSON
fallback path (thanks Yifan Yang (@Yif-Yang), #79).
- Reject prose pseudo-JSON wrapped in single quotes/backticks (#82).
- Surface Codex auth/model/version failures instead of silently scoring 0
(thanks Daniel Martinez Morales (@dmmdea), #92).
- Redact secrets before persisting cycle diagnostics.
- Configure the qwen_chat/minimax backends so local LLM endpoints work
(thanks Gergely Imreh (@imrehg), #85).
- Forward the Qwen target timeout and gate enable_thinking for vLLM targets
(thanks Matt Van Horn (@mvanhorn), #40).
- Make --bare conditional on ANTHROPIC_API_KEY (#68), add a
SKILLOPT_SLEEP_PYTHON override with a lookback-hours first-run fallback
(#74), and fix ALFWorld gamefile paths relative to ALFWORLD_DATA.
Packaging
- Bump skillopt, skillopt.__version__, and skillopt_sleep.__version__
to 0.2.0.
- Restore skillopt_webui to the built wheel (it was dropped when the
packages.find include list was made explicit).
- Add the searchqa extra and include json_repair in the claude, qwen,
and all extras.
Acknowledgements 🙏
v0.2.0 landed thanks to our community contributors — thank you!
Special thanks to Yifan Yang (@Yif-Yang) for driving the SkillOpt-Sleep engine.
Full changelog: v0.1.0...v0.2.0
v0.1.0
Sorry, something went wrong.
No results found
SkillOpt v0.1.0 — Initial PyPI Release
The first public release of SkillOpt, now available on PyPI.
Install
Highlights
- Core training loop: rollout → reflect → aggregate → select → update → evaluate
- Multi-backend support: OpenAI, Azure OpenAI, Claude, Qwen (vLLM)
- Built-in benchmarks: ALFWorld, SpreadsheetBench, SearchQA, DocVQA, OfficeQA, LiveMath
- Hierarchical patch merging and gradient clipping
- YAML-based configuration system
- Optional WebUI dashboard (pip install skillopt[webui])
Links