Skip to content

feat(plugins): add OpenClaw shell for SkillOpt-Sleep - #59

Merged
Yifan Yang (Yif-Yang) merged 1 commit into
microsoft:mainfrom
Elzlxx:feat/openclaw-skillopt-sleep
Jun 15, 2026
Merged

Yifan Yang (Yif-Yang) merged 1 commit into
microsoft:mainfrom
Elzlxx:feat/openclaw-skillopt-sleep

Conversation

@Elzlxx

@Elzlxx Elzlxx commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

$(cat /tmp/pr_body.md)

Adds a thin OpenClaw shell wrapping the SkillOpt-Sleep engine. Enables
nightly validation-gated skill improvement cycles for OpenClaw agents.

Components:
- skillopt_sleep_openclaw.py: DeepSeek V4 Pro + Ollama nomic-embed-text
  backend, mirroring the Claude/Codex/Copilot backend pattern.
- run_sleep.py: CLI entry point supporting dry-run and pre-built task files.
- run_sleep_cron.sh: bash wrapper for nightly cron invocation.
- slash_sleep.py: /sleep command (status / run / adopt / reject / cost).
- config.json: engine config tuned for our stack.
- SKILL.md: OpenClaw skill manifest.
- tests/: 14 held-out tasks across 3 categories (research-cron, devops, wiki).

OpenClaw is the 4th ecosystem in which SkillOpt-Sleep can be deployed,
joining Claude Code, Codex, and Copilot. The shell follows the same
single-engine / thin-shell pattern as the existing three plugins.

End-to-end tested: pipeline runs against real OpenClaw session transcripts,
gate correctly rejects non-improvements, staging artifacts land in
~/.skillopt-sleep/staging/<night>/. Cost: ~$0.02/night on DeepSeek V4 Pro.
@Yif-Yang
Yifan Yang (Yif-Yang) merged commit 576f2f8 into microsoft:main Jun 15, 2026
1 check was pending
Yifan Yang (Yif-Yang) added a commit to Yif-Yang/SkillOpt that referenced this pull request Jun 15, 2026
…g branch

Pulls microsoft/main after the merged community PRs: OpenClaw plugin shell
(microsoft#59), Codex Desktop transcript harvesting + skill-first integration (microsoft#48/microsoft#49),
shared-default reflect refactor (microsoft#44), and benchmark-guide doc fixes (microsoft#43).

Conflict resolution: shared plugin/docs/engine files (README, plugins/codex/*,
backend.py, docs/sleep/*) taken from upstream — upstream already contains my
pushed plugin (86bad36) plus the community additions, so this loses nothing of
mine. .gitignore unioned. Codex prompt files removed to follow upstream's
skill-first design. My local-only work (blog/, docs/sleep experiments, v2
research harnesses) is untouched; engine fixes (sample_id dream diversity,
guarded imports, retry) preserved. 104/104 tests pass.

Co-Authored-By: Claude Opus 4 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants