The Devin MCP server's backend enum only listed mock/claude/codex/copilot, excluding the handoff backend that was merged to the engine in #125. This made the subscription-friendly, no-API-key path unavailable to Devin users while Claude Code had a dedicated /skillopt-sleep-handoff command for it. Add "handoff" to the backend enum in _TOOL_SCHEMA so sleep_run accepts backend: "handoff". The engine already handles the prompt/answer file loop (exit code 3 + .skillopt-sleep-handoff/); the MCP server needs no special handling — it passes through the engine output showing pending prompts. Update the README, rules snippet, and test_backends_in_enum accordingly.
2.3 KiB
SkillOpt-Sleep (Devin)
You have access to a nightly self-evolution cycle via the skillopt-sleep MCP
server. Use these tools to improve your long-term skills over time:
sleep_status— refresh the converted local cache, then show how many nights have run and the latest staged proposalsleep_dry_run— refresh the converted local cache and preview a cycle without engine staging/adoption; a real backend still makes provider callssleep_run— run a full cycle; stages a proposal by default, while an explicitauto_adoptmay also update live filessleep_adopt— apply the staged proposal, then sync the managed skill to.devin/skills/skillopt-sleep-learned/SKILL.mdwhenprojectis the Devin workspace and that workspace already contains a.devin/directorysleep_harvest— debug: list the recurring tasks mined from recent sessionssleep_schedule/sleep_unschedule— low-level shared-engine cron controls; the current scheduled command does not run Devin's conversion step, so do not use it as an unattended Devin-harvest workflow
When a user asks about the sleep cycle or skill evolution, prefer calling these tools over explaining the concept.
Always pass the absolute Devin workspace as project, especially for
sleep_adopt. Default backend is mock (no provider calls). The claude,
codex, and copilot backend values use the corresponding installed and
authenticated CLI; they do not require this plugin to implement a separate
API-key flow. The handoff backend runs the cycle with no model subprocess
or API key — the engine writes pending model calls to
.skillopt-sleep-handoff/ and exits; answer each prompt in a fresh context
and re-run sleep_run to resume (typically 3–6 rounds).
The Devin conversion and mock workflow stay local. A real backend sends truncated transcript excerpts and derived tasks to the selected provider for mining, replay, judging, and reflection; conversion is not a guarantee that outbound prompts contain no secrets. Review local sources and provider policy before selecting a real backend.
For a reviewed task file, pass tasks_file; before using it with a real backend,
inspect/redact it and ensure its metadata contains "reviewed": true.
Place this file at .devin/rules/skillopt-sleep.md in your workspace.