Run or manage the SkillOpt-Sleep self-evolution cycle (review past sessions, replay tasks offline, consolidate validated memory + skills; can also schedule nigh
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-claude-skills-38f5596c3246 ,按照其中的说明把「skillopt-sleep」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
You are driving SkillOpt-Sleep: a tool that lets this user's Claude agent
improve offline by reviewing past sessions, replaying recurring tasks, and
consolidating what it learns into validated memory (CLAUDE.md) and skills
(SKILL.md). It is gated like SkillOpt: a change is kept only if it improves a
held-out replay score, and nothing live is modified until the user adopts it.
(If $ARGUMENTS is empty, treat it as status.)
The engine is the skillopt_sleep Python package in this repo. Use the
plugin's bundled runner so the right interpreter and repo are on the path:
"${CLAUDE_PLUGIN_ROOT}/scripts/sleep.sh" <action> --project "$(pwd)" --scope invoked
<action> is one of:
| action | what it does |
|---|---|
status | show how many nights have run + the latest staged proposal (READ-ONLY) |
dry-run | harvest → mine → replay → report, but stage nothing (safe preview) |
run | full cycle: also stage a reviewed proposal (still does NOT touch live files) |
adopt | apply the latest staged proposal to live CLAUDE.md / SKILL.md (backs up first) |
harvest | debug: print the recurring tasks mined from recent sessions |
schedule | install a nightly cron entry for this project (--hour --minute, off-:00 by default) |
unschedule | remove the nightly cron entry (--all to remove every managed entry) |
Default backend is mock (deterministic, no API spend). To use real budget for
genuine improvement, add --backend claude or --backend codex. To steer what
the optimizer writes, add --preferences "<your house rules>".
schedule: confirm with the user before running it. Unlike
every other action, schedule writes directly to the user's real
crontab the moment it runs (via scheduler.schedule() → crontab -) —
it is not a preview. Tell them what will be scheduled (project, hour,
minute, backend) and get an explicit go-ahead first. If they'd rather
review the exact line before anything is installed, offer
${CLAUDE_PLUGIN_ROOT}/scripts/install-cron.sh instead (prints the line;
installs nothing). Once they've confirmed, add --yes to the schedule
invocation in step 2 — the CLI itself refuses to install non-interactively
without it (defense-in-depth for anyone running the CLI directly, outside
this chat-confirmed flow); --yes is how you record that the confirmation
above already happened.run / dry-run: after it completes, Read the generated
report.md in the staging dir it prints, and show the user:
run that produced an accepted proposal: tell the user the diff is
staged and that nothing live changed yet. Offer to run /skillopt-sleep adopt.adopt: confirm which live files were updated and that backups were
written under the staging dir's backup/.CLAUDE.md or SKILL.md yourself — only the adopt action
does that, with a backup. Respect the review gate.~/.claude. Replay in mock mode runs no
shell side effects.schedule installs a real crontab entry immediately — it is not a preview,
unlike run/dry-run. Always confirm with the user first (see Steps to
follow, step 1), then pass --yes. Without --yes, the CLI itself refuses
to install non-interactively — that's a backstop for direct CLI use, not a
substitute for the chat confirmation above. ${CLAUDE_PLUGIN_ROOT}/scripts/install-cron.sh
remains available as a print-only alternative for a user who wants to inspect
or hand-edit the line before installing anything.