skillopt-sleep – skill Agent & Tự động hóa cho agent AI
Dùng khi người dùng muốn agent Claude của họ tự cải thiện từ lần sử dụng trước, hỏi về chu kỳ 'sleep' hoặc 'dream' chạy ngoại tuyến hằng đêm, hợp nhất memory/skill, hoặc nói những câu như 'làm agent của tôi tốt hơn khi dùng càng nhiều', 'xem lại các phiên trước', 'học sở thích của tôi', 'hợp nhất những gì bạn đã học', 'chạy chu kỳ sleep c
Cài skill skillopt-sleep bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/skillopt-sleep-386f7.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /skillopt-sleep – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/skillopt-sleep-386f7.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $skillopt-sleep – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/skillopt-sleep-386f7.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /skillopt-sleep – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/skillopt-sleep-386f7.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /skillopt-sleep – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
SkillOpt-Sleep: offline self-evolution for a local Claude agent
SkillOpt-Sleep gives the user's agent a sleep cycle. While the user is
offline (e.g. nightly), it reviews their real past Claude Code sessions,
re-runs recurring tasks on their own API budget, and consolidates what it
learns into memory (CLAUDE.md) and skills (SKILL.md) — but only
keeps changes that pass a held-out validation gate, and only after the user
adopts them. The agent gets measurably better at *this* user's recurring work,
with no model-weight training. It is the deployment-time analogue of training:
short-term experience → long-term competence.
It synthesizes three ideas:
- SkillOpt — the skill/memory doc is trainable text; bounded add/delete/replace
edits; accepted only through a held-out gate; rejected edits become negative feedback.
- Claude Dreams — offline consolidation that reads past sessions and rebuilds
memory (dedup/merge/resolve); the input is never mutated; output is reviewed then adopted.
- Agent sleep — periodic offline replay turns episodes into durable skill.
When to use this skill
Trigger when the user wants any of:
- "make my agent learn from how I use it" / "get better the more I use it" / "remember my preferences across sessions"
- a nightly/scheduled or on-demand offline self-improvement / dream / sleep run
- to review past sessions/trajectories and distill recurring tasks
- to consolidate feedback into
CLAUDE.mdor a managed skill - to schedule the cycle (cron) or adopt a staged proposal
The cycle (six stages)
1. Harvest — read ~/.claude/projects/*/<session>.jsonl + ~/.claude/history.jsonl (READ-ONLY) → session digests.
2. Mine — digests → TaskRecords (recurring intents + outcome labels + checkable refs where possible).
3. Replay — re-run tasks offline under the *current* skill+memory → (hard, soft) scores.
4. Consolidate — reflect on failures → propose bounded edits → gate on a held-out slice; accept only if it strictly improves.
5. Stage — write proposed_CLAUDE.md, proposed_SKILL.md, a diff, and report.md into <project>/.skillopt-sleep/staging/<date>/. Nothing live changes.
6. Adopt — explicit (or opt-in auto): copy staged files over live ones, backing up first.
How to drive it
Prefer the /skillopt-sleep command. Under the hood it calls the bundled runner:
"${CLAUDE_PLUGIN_ROOT}/scripts/sleep.sh" status # what's happened
"${CLAUDE_PLUGIN_ROOT}/scripts/sleep.sh" dry-run --project "$(pwd)" # safe preview
"${CLAUDE_PLUGIN_ROOT}/scripts/sleep.sh" run --project "$(pwd)" # full cycle, stages a proposal
"${CLAUDE_PLUGIN_ROOT}/scripts/sleep.sh" adopt --project "$(pwd)" # apply staged proposal (with backup)- Default backend is
mock(deterministic, no API spend) — good for trying the plumbing. - Add
--backend claudeor--backend codexto spend the user's real budget for genuine improvement. - Scope defaults to the invoked project;
--scope allharvests every project.
Scheduling
"${CLAUDE_PLUGIN_ROOT}/scripts/sleep.sh" schedule --project "$(pwd)" --hour 3 --minute 17
"${CLAUDE_PLUGIN_ROOT}/scripts/sleep.sh" unschedule --project "$(pwd)"Installs a nightly cron entry. unschedule --all removes every managed entry.
All CLI flags
| Flag | Default | Description |
|------|---------|-------------|
| --project PATH | cwd | Project directory to evolve |
| --scope all\|invoked | invoked | Harvest scope |
| --backend mock\|claude\|codex\|copilot | mock | Replay backend (mock = no API spend) |
| --model NAME | backend default | Override the model used for replay |
| --source claude\|codex\|auto | claude | Transcript source |
| --lookback-hours N | 72 | Harvest window |
| --max-sessions N | unlimited | Cap harvested sessions |
| --max-tasks N | 40 | Cap mined tasks |
| --target-skill-path PATH | auto | Explicit SKILL.md to evolve |
| --tasks-file PATH | — | Reviewed TaskRecord JSON (skip harvest) |
| --progress | off | Print phase progress to stderr |
| --auto-adopt | off | Auto-adopt if gate passes |
| --edit-budget N | 4 | Max bounded edits per night |
| --json | off | Machine-readable JSON output |
Config keys (~/.skillopt-sleep/config.json)
Beyond the CLI flags, advanced behavior is controlled via config:
preferences— free-text house rules injected into the optimizer's reflect step (e.g. "Always use async/await", "Answers in\boxed{}").gate_mode—on(default, validation-gated) oroff(greedy, accept all edits).gate_metric—hard,soft, ormixed(default). Controls how the held-out gate scores.dream_rollouts— >1 enables multi-rollout contrastive reflection per task.recall_k— >0 recalls K similar past tasks into the dream (long-term memory).evolve_memory/evolve_skill— independently toggle CLAUDE.md vs SKILL.md consolidation.
Memory consolidation
The sleep cycle can consolidate both:
- SKILL.md — the managed skill file (bounded edits: add/delete/replace)
- CLAUDE.md — the project memory (same bounded edits)
Both are gated by the same held-out validation score. Set evolve_memory: false to consolidate only skills, or evolve_skill: false for only memory.
Hard rules
- Never hand-edit the user's
CLAUDE.md/SKILL.mdas part of this skill.
Only the adopt action changes live files, and it backs them up first.
- Harvest is read-only.
mockreplay has no side effects. - Always show the user the held-out baseline → candidate score and the
exact proposed edits before suggesting adoption. Evidence before adoption.
- If asked whether it really helps, run
python -m skillopt_sleep.experiments.run_experiment --persona researcher --json
— a deterministic demo that proves held-out lift and that the gate blocks
harmful edits.
Validate / demo
# deterministic proof (no API): held-out score rises, gate blocks regressions
python -m skillopt_sleep.experiments.run_experiment --persona researcher --assert-improves
python -m skillopt_sleep.experiments.run_experiment --persona programmer --assert-improvesSee the upstream SkillOpt-Sleep guide section
(https://microsoft.github.io/SkillOpt/docs/guideline.html#sleep) for recorded
output and the full design. (The original repo-relative design-doc path,
docs/superpowers/specs/..., is not vendored into this repo — see this
skill's README.md "What was and wasn't vendored" table.)
Skill liên quan
- hosted-agents – Xây dựng background agent trong môi trường sandbox. Dùng cho hosted coding agent, VM…
- hosted-agents-v2-py – Xây dựng hosted agent bằng Azure AI Projects SDK với HostedAgentDefinition. Dùng khi tạo…
- hubspot-automation – Tự động hóa các thao tác CRM của HubSpot (contacts, companies, deals, tickets…
- huggingface-community-evals – Hướng dẫn gốc được tuyển chọn cho Huggingface Community Evals; dùng khi quy trình khớp…
- hunt-dispatch – Bộ nạp skill cho trình điều phối /hunt.
- spec-driven-workflow – Dùng khi người dùng yêu cầu viết spec trước khi code, định nghĩa tiêu chí chấp nhận, lên…
- idea-evaluator – Đánh giá ý tưởng bằng cách tổ chức cuộc tranh luận nhiều lượt giữa tác nhân Pro và Con…
- idea-evaluator-con – Vai trò tác nhân Con cho việc đánh giá ý tưởng. Phê bình ý tưởng bằng cách chỉ ra các lỗ…