$npx -y skills add microsoft/SkillOpt --skill openclawReference-only OpenClaw adaptation of SkillOpt-Sleep. Use it to study or port the contributed DeepSeek wrapper, not as a ready-to-run installation.
| 1 | # SkillOpt-Sleep OpenClaw reference adaptation |
| 2 | |
| 3 | This directory is a contributed **reference**, not a supported, plug-and-play |
| 4 | OpenClaw integration. It illustrates one way to connect the shared |
| 5 | `skillopt_sleep` cycle to a custom DeepSeek Chat Completions backend and a set of |
| 6 | environment-specific task fixtures. |
| 7 | |
| 8 | Do not run or schedule the files unchanged. Several scripts and the sample |
| 9 | configuration preserve assumptions from the contributor's original machine, |
| 10 | and parts of the wrapper have not yet been ported to the current shared-engine |
| 11 | interfaces. Start with the directory's [README.md](README.md), which is the |
| 12 | authoritative status and adaptation guide. |
| 13 | |
| 14 | ## What is included |
| 15 | |
| 16 | - `skillopt_sleep_openclaw.py` — a contributed DeepSeek backend prototype. It |
| 17 | also contains an Ollama embedding helper, but that helper is not wired into |
| 18 | the current shared sleep cycle. |
| 19 | - `run_sleep.py` — a custom cycle wrapper with environment-specific paths and a |
| 20 | backend-registration shim. |
| 21 | - `slash_sleep.py` — an experimental command helper written for an older |
| 22 | staging-manifest shape. |
| 23 | - `run_sleep_cron.sh` — a machine-specific category runner, not a portable cron |
| 24 | installer. |
| 25 | - `config.json` — a sample configuration, not a set of guaranteed or enforced |
| 26 | runtime limits. |
| 27 | - `tests/*.json` — example task fixtures from one environment, not a universal |
| 28 | OpenClaw benchmark. |
| 29 | |
| 30 | ## Known porting gaps |
| 31 | |
| 32 | Before treating this as an integration, a maintainer must at least: |
| 33 | |
| 34 | 1. Replace every absolute workspace, repository, state, skill, log, and task |
| 35 | path with explicit user configuration. |
| 36 | 2. Update the custom backend factory to the current `get_backend` call contract, |
| 37 | including the project directory, and update its backend methods and edit |
| 38 | records to the current protocol. |
| 39 | 3. Replace the experimental adoption logic with the current staging manifest |
| 40 | and `skillopt_sleep.staging.adopt` behavior. Current staging artifacts use |
| 41 | `proposed_SKILL.md` / `proposed_CLAUDE.md`, `manifest.json`, and report files; |
| 42 | they do not expose the old `manifest.proposed_skill` field. |
| 43 | 4. Decide how real OpenClaw transcripts are converted into a supported session |
| 44 | format. Pointing `claude_home` at an arbitrary agent directory does not by |
| 45 | itself make its files Claude Code-compatible JSONL. |
| 46 | 5. Build scheduling around the adapted wrapper. The shared scheduler launches |
| 47 | the shared CLI; it does not automatically preserve this custom backend or |
| 48 | its category task-file flow. |
| 49 | 6. Add isolated end-to-end tests for dry-run, accepted/rejected gates, staging, |
| 50 | adoption and backup, credential failure, and scheduled execution. |
| 51 | |
| 52 | Until those gaps are resolved, use the supported shared |
| 53 | `python -m skillopt_sleep` CLI with `--backend mock` to test SkillOpt-Sleep itself, |
| 54 | and treat this directory only as source material for a future OpenClaw port. |
| 55 | |
| 56 | ## Shared-engine features are not wrapper features |
| 57 | |
| 58 | At this revision the supported shared CLI backends are `mock`, `claude`, |
| 59 | `codex`, `copilot`, `handoff`, and `azure_openai`; the |
| 60 | [plugin integration reference](../README.md#supported-cli-surface) is the |
| 61 | authoritative list. The shared engine can consolidate a selected skill and |
| 62 | project `CLAUDE.md` memory (controlled by `evolve_skill` and `evolve_memory`), |
| 63 | and its `schedule` / `unschedule` actions manage shared-engine cron entries. |
| 64 | Those capabilities do **not** make the custom OpenClaw wrapper portable: the |
| 65 | shared scheduler will not invoke the prototype backend or its category |
| 66 | fixtures. Use the shared documentation for those features, not this reference |
| 67 | SKILL. |
| 68 | |
| 69 | ## Data and credential boundary |
| 70 | |
| 71 | The prototype DeepSeek backend sends task, skill, memory, response, rubric, and |
| 72 | reflection content to its configured Chat Completions endpoint. Its source also |
| 73 | contains a helper that can send text to an Ollama service if a future port wires |
| 74 | that helper into the cycle. Neither path should be assumed to remove every |
| 75 | secret or private detail. |
| 76 | |
| 77 | Before any port is tested with real data: |
| 78 | |
| 79 | - use isolated, synthetic or explicitly reviewed task files; |
| 80 | - replace sample business names, personal references, URLs, and machine paths; |
| 81 | - load credentials through the operator's secret-management mechanism; |
| 82 | - verify TLS and retention policy for every remote endpoint; and |
| 83 | - inspect all staged artifacts before adoption. |
| 84 | |
| 85 | The bundled fixtures are examples only. Their scores and any old cost estimates |
| 86 | do not establish effectiveness, safety, or a stable nightly price for another |
| 87 | OpenClaw deployment. |
| 88 | |
| 89 | ## Further information |
| 90 | |
| 91 | - [OpenClaw README](README.md) — current reference status and adaptation checklist |
| 92 | - [plugin integration reference](../README.md) — supported shared-engine CLI |
| 93 | surface and data boundary |
| 94 | - [SkillOpt-Sleep documentation](../../docs/sleep/README.md) — concepts, |
| 95 | results, and limitations |
| 96 | |
| 97 | Contributi |