2.8 KiB
SkillOpt-Sleep (offline self-evolution)
This project has SkillOpt-Sleep available via an MCP server (skillopt-sleep).
It gives the agent a nightly "sleep cycle": it reviews past sessions, replays
recurring tasks through a selected backend, and stages validation-gated changes
to project CLAUDE.md and a configured SKILL.md.
When the user asks to "run the sleep cycle", "review my past sessions", "learn my preferences", or "make the agent improve from past usage", use the MCP tools:
sleep_status— what's happened + the latest staged proposalsleep_dry_run— no-staging preview; a real backend still makes provider callssleep_run— full cycle, stages a validation-gated proposal by default; explicitauto_adoptmay update live filessleep_adopt— apply the staged proposal (backs up an existing live file first)sleep_harvest— list mined recurring taskssleep_schedule— install a nightly cron entry (sethour/minute)sleep_unschedule— remove the nightly cron entry
Key parameters (pass as MCP tool arguments)
backend—mock(default, no provider calls),claude,codex, orcopilotsource—claude,codex, orauto(where to read transcripts)target_skill_path— explicit SKILL.md to evolve; use this for a skill that the current agent actually loadstasks_file— reviewed TaskRecord JSON (skip harvest); real backends require its metadata to contain"reviewed": truemax_tasks/max_sessions— cap workloadauto_adopt— auto-adopt if the gate passesjson— machine-readable output for programmatic use
Advanced config (~/.skillopt-sleep/config.json)
preferences— free-text house rules for the optimizergate_mode—on(default) oroff;dream_rollouts— >1 for more signalevolve_memory/evolve_skill— toggle which docs consolidate
Always show the user the held-out baseline → candidate score and the proposed
edits before suggesting sleep_adopt. Never hand-edit the user's memory/skill
files; use sleep_adopt (or an explicitly requested auto_adopt) so the engine
applies its staging manifest and backup behavior.
Harvesting is local and read-only, and backend: "mock" makes no provider
calls. A real backend sends truncated transcript excerpts and derived tasks to
the selected provider; outbound prompts are not guaranteed to be secret-free.
Review sensitive data and provider policy before selecting a real backend.
sleep_schedule persists only the project, backend, time, and optional
auto-adopt setting. Put a non-default transcript source or target skill in
~/.skillopt-sleep/config.json before scheduling it.