Restructure into plugins/{claude-code,codex,copilot}/ — one engine, three thin
shells, all calling the shared plugins/run-sleep.sh -> python -m skillopt_sleep.
- claude-code/: existing plugin moved here; runner delegates to the shared
launcher (fixes repo-root resolution after the move).
- codex/: ~/.codex/prompts/sleep.md custom prompt + ~/.agents/skills SKILL.md +
install.sh + AGENTS.md hint — Codex's documented, stable extension surfaces.
- copilot/: a stdlib-only MCP server (mcp_server.py) exposing sleep_* tools,
plus mcp-config.example.json and a copilot-instructions snippet. Verified end
to end (initialize -> tools/list -> tools/call returns real engine output).
- plugins/README.md overview table; main README News + a dedicated SkillOpt-Sleep
section; pyproject lists skillopt_sleep as a first-class package.
Decoupling emphasized throughout: open-source tool (skillopt_sleep/) with zero
dependency on the research package. 29 tests pass; all three shells resolve.
Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2.3 KiB
SkillOpt-Sleep — Codex integration
Give your Codex agent a nightly sleep cycle: it reviews past sessions
offline, replays your recurring tasks on your own Codex budget, and consolidates
what it learns into validated memory + skills behind a held-out gate. Same engine
as the Claude Code plugin (skillopt_sleep), wrapped for Codex.
Verified on Codex: on the public gbrain-evals
skillopt-v1benchmark, a deliberately deficient skill goes 0.00 → 1.00 on a held-out set with the Codex backend (incl. the tool-use seed via a real tool loop). See../../docs/sleep/FINAL_REPORT.md.
What Codex supports (and what we use)
Codex (@openai/codex) extends via AGENTS.md instructions, skills at
~/.agents/skills/<name>/SKILL.md, and custom prompts at
~/.codex/prompts/<name>.md (invoked as /<name>). This integration ships all
three, plus a shared runner.
Install
git clone <repo-url> SkillOpt-Sleep
cd SkillOpt-Sleep
bash plugins/codex/install.sh # installs the /sleep prompt + skill
export SKILLOPT_SLEEP_REPO="$(pwd)" # so the runner is found from anywhere
Requires Python ≥ 3.10 and the codex CLI on PATH.
Use
/sleep status # what's happened
/sleep dry-run # safe preview, stages nothing
/sleep run # full cycle, stages a reviewed proposal (no live edits)
/sleep adopt # apply the staged proposal (with backup)
Or call the engine directly:
python -m skillopt_sleep run --project "$(pwd)" --backend codex
Default backend is mock (no API spend). --backend codex uses your Codex
budget for real improvement. All the controllable knobs (--gate on|off,
--rollouts-k, --budget-tokens, --preferences, optimizer/target split) work
identically — see ../../docs/sleep/CONTROLLABLE_DREAMING.md.
Notes / status
- Codex's
execruns shell, so the real-tool-loop replay (e.g. thetool_called: searchbenchmark seed) works natively. - Codex's standalone plugin-package manifest format is not yet a stable public
spec; this integration uses the documented
AGENTS.md+ skills + prompts mechanisms, which are stable. If/when acodex pluginpackage format ships, we'll add a one-file manifest.