SkillOpt-Sleep for OMP
SkillProductivityYour agent gets more useful the longer you work with it. This skill lets it review past sessions offline and turn recurring patterns into improved memory and skills, so it learns your preferences and consolidates what it picks up along the way.
Available today. Use it from your connected AI after setup.
No other account needed.
After adding it, ask your agent to review its past sessions or consolidate what it has learned. You can also ask for a nightly or offline review when you want the improvements to happen outside your conversations.
Then ask your AI: use the SkillOpt-Sleep for OMP skill
What your AI can do with it
- Review past sessions to spot recurring patterns
- Turn those patterns into improved memory and skills
- Learn your preferences from repeated use
- Consolidate what it learned into lasting improvements
- Run its review offline as a nightly sleep cycle
What this skill tells your AI
The instructions your AI receives, as published by edmundmiller/dotfiles in packages/pi-packages/omp-skillopt-sleep/skills/skillopt-sleep/SKILL.md and read by ahel’s review.
This is the OMP thin shell for Microsoft SkillOpt-Sleep. It follows the upstream Claude Code, Codex, and Devin pattern: harvest local agent sessions, mine recurring tasks, replay them offline, gate proposed memory/skill edits on a held-out score, and stage improvements for review before adoption.
When to use
Use this when the user asks OMP to:
- learn from prior OMP sessions or repeated feedback;
- run a nightly/offline sleep, dream, or self-improvement cycle;
- inspect SkillOpt-Sleep status, harvest, dry-run, run, adopt, schedule, or unschedule;
- refine reusable Agent Skills from real OMP usage with validation gates.
Mechanism
The upstream skillopt_sleep engine currently knows Claude Code and Codex
transcript sources. The bundled wrapper mirrors OMP JSONL sessions into a
Claude-compatible, sanitized mirror at ~/.skillopt-sleep/omp/claude-home, then
runs python -m skillopt_sleep with --source claude --claude-home <mirror>.
- Source sessions:
~/.omp/agent/sessions/**/*.jsonl - Mirror state:
~/.skillopt-sleep/omp/claude-home - SkillOpt state/staging:
~/.skillopt-sleep/omp/.skillopt-sleep/state.jsonand~/.skillopt-sleep/omp/staging/ - Live changes: none until
adopt; every adoption is backed up by the engine
Tool outputs are not mirrored. The wrapper keeps user/assistant text and assistant tool names, enough for SkillOpt to mine recurring task patterns without copying raw tool results.
Commands
Set SKILLOPT_SLEEP_REPO when SkillOpt is cloned somewhere the wrapper cannot
auto-detect:
export SKILLOPT_SLEEP_REPO=/path/to/SkillOpt
Run from the project whose memory/skills should evolve:
# Safe smoke check, no proposal staged
/skillopt-sleep dry-run \
--backend mock --max-sessions 5 --max-tasks 3 --progress
# Full cycle; stages a proposal only
/skillopt-sleep run \
--backend codex --max-sessions 10 --max-tasks 5 --progress
# Inspect staged proposals and history
/skillopt-sleep status
# Adopt only after explicit review/approval
/skillopt-sleep adopt
# Nightly wrapper schedule; this installs cron for the OMP wrapper, not the
# upstream bare `python -m skillopt_sleep run`.
/skillopt-sleep schedule \
--hour 3 --minute 17 --backend codex --max-sessions 10 --max-tasks 5
/skillopt-sleep unschedule
Actions are status, harvest, dry-run, run, adopt, schedule, and
unschedule. schedule / unschedule are handled by this OMP wrapper so the
nightly job refreshes the OMP transcript mirror before invoking SkillOpt-Sleep.
Other actions pass through to upstream python -m skillopt_sleep with
--source claude and the mirrored OMP home injected by default. Upstream flags
such as --target-skill-path, --tasks-file, --backend, --model,
--edit-budget, --lookback-hours, --max-sessions, --max-tasks,
--progress, and --json pass through unchanged.
Slash command usage is /skillopt-sleep <action> [flags...]; the extension also exposes the skillopt_sleep_omp tool for structured calls.
Wrapper-only flags:
| Flag | Meaning |
|---|---|
--omp-sessions DIR | Override the OMP session root. Defaults to ~/.omp/agent/sessions. |
--omp-mirror-home DIR | Override the Claude-compatible mirror home. Defaults to ~/.skillopt-sleep/omp/claude-home. |
--help-omp-wrapper | Show wrapper-specific help. |
--self-test | Validate the OMP-to-Claude transcript translator without SkillOpt. |
Recommended workflow
- Start with
dry-run --backend mock --jsonto validate harvesting and task mining without API spend. - For real improvement, use
run --backend codexor another upstream-supported backend. Keep--max-sessions,--max-tasks, and budget flags bounded. - Read the staged
report.mdand proposed edits before summarizing. - Adopt only after explicit user approval. Do not hand-edit memory or skills as
a substitute for
adopt.
Safety rules
- OMP session harvest is read-only; never edit
~/.omp/agent/sessions. - Keep raw secrets, private transcript contents, and raw tool outputs out of chat, logs, commits, and generated skill text.
- Treat generated edits as proposals until the held-out gate and human review approve them.
- Prefer the
mockbackend for plumbing checks; real backends spend the user's own agent budget. - If using
--tasks-filewith a real backend, review and mark the task file as reviewed according to upstream SkillOpt-Sleep rules.
Signals
- GitHub stars
- 80
- Forks
- 6
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
skillopt-sleep- Source
- github.com/edmundmiller/dotfiles