mcpbeat Sign in

Skillopt Sleep Agent Skill

Use when the user wants Codex to self-improve from past usage, asks about a nightly/offline 'sleep' or 'dream' cycle, wants Codex to review past sessions, learn preferences, consolidate memory/skills, run dry-run/run/adopt/status for SkillOpt-Sleep, or schedule background self-optimization. Drives the skillopt_sleep engine: harvest past sessions -> mine recurring tasks -> replay through a selected backend -> consolidate validated memory + skills behind a held-out gate.

2k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
64 d ago
last touched
this folder, not the whole repository

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/SkillOpt --skill skillopt-sleep

The instruction itself

12 sections, as written by the author

SkillOpt-Sleep: usage-driven self-evolution for a local Codex agent

SkillOpt-Sleep gives the user's Codex agent a sleep cycle. On demand or on a

nightly schedule, it reviews past local sessions, re-runs recurring tasks

through the selected backend, and proposes changes to a configured skill and to

the project's CLAUDE.md. With the default validation gate enabled, it keeps

only changes that improve a held-out score. Live files change only through

explicit adoption or a user-requested --auto-adopt. There is no model-weight

training.

The current shared engine does not write AGENTS.md. For a Codex-visible

result, always select a Codex skill explicitly with --target-skill-path (for

example .agents/skills/<name>/SKILL.md). If project CLAUDE.md is not a

desired secondary target, set "evolve_memory": false in

~/.skillopt-sleep/config.json before running.

When to use

Trigger when the user wants any of:

  • Codex to learn from past sessions or get better the more they use it;
  • a nightly/scheduled or on-demand sleep/dream/offline self-improvement run;
  • to review past sessions and distill recurring tasks;
  • to consolidate feedback into memory or managed skills;
  • to run status, harvest, dry-run, run, or adopt for SkillOpt-Sleep.

The cycle

  • Harvest - read local session transcripts according to the engine

configuration and normalize them into session digests.

  • Mine - turn digests into recurring TaskRecords with outcomes and

checkable references where possible.

  • Replay - re-run mined tasks through the selected backend under the

current skill and memory.

  • Consolidate - reflect on failures and propose bounded edits.
  • Gate - with the default gate enabled, accept edits only when the held-out

validation score improves.

  • Stage - write the proposal under

<project>/.skillopt-sleep/staging/<date>/; nothing live changes.

  • Adopt - explicitly, or through user-requested auto-adopt, copy staged

files over live files with backups for existing targets.

How to drive it

Invoke the bundled runner via shell (Codex exec has shell access). The runner

finds the engine and a Python >= 3.10 automatically.

# point at the repo if it isn't auto-detected from CWD:
export SKILLOPT_SLEEP_REPO=/path/to/SkillOpt
TARGET_SKILL=.agents/skills/example/SKILL.md
bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" status --project "$(pwd)"
bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" harvest --project "$(pwd)" \
  --source codex --target-skill-path "$TARGET_SKILL"
bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" dry-run --project "$(pwd)" \
  --source codex --target-skill-path "$TARGET_SKILL" --backend mock
bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" run --project "$(pwd)" \
  --source codex --target-skill-path "$TARGET_SKILL" --backend codex \
  --max-sessions 5 --max-tasks 3 --progress
bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" adopt --project "$(pwd)"

On Windows (CMD / PowerShell):

:: CMD
set SKILLOPT_SLEEP_REPO=C:\path\to\SkillOpt-Sleep
"%SKILLOPT_SLEEP_REPO%\plugins\run-sleep.cmd" status --project "%CD%"
# PowerShell
$env:SKILLOPT_SLEEP_REPO = "C:\path\to\SkillOpt-Sleep"
powershell -File "$env:SKILLOPT_SLEEP_REPO\plugins\run-sleep.ps1" status --project "$(pwd)"

Actions are status, harvest, dry-run, run, adopt, schedule, and unschedule.

  • Default backend is mock, which is deterministic and spends no API budget.
  • --backend codex uses the user's Codex budget for model-driven optimization.

An accepted held-out gain is run-specific evidence, not a guarantee of

broader improvement; results depend on the tasks, model, and checks.

  • --source codex reads Codex Desktop archived sessions from ~/.codex/archived_sessions;

use --codex-home /path/to/.codex if the archive lives elsewhere.

  • --target-skill-path is required for a Codex skill target. Without it, the

shared default is a Claude-managed skill under ~/.claude/skills/, not an

.agents skill.

  • Keep dry-run --backend mock as the first smoke check unless the user

explicitly asked for a real optimization run.

Scheduling

bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" schedule --project "$(pwd)" \
  --backend codex --hour 3 --minute 17
bash "$SKILLOPT_SLEEP_REPO/plugins/run-sleep.sh" unschedule --project "$(pwd)"

The scheduler persists the project, backend, time, and optional auto-adopt flag;

it does not persist --source or --target-skill-path from this command. Before

scheduling a Codex-targeted run, set "transcript_source": "codex" and an

absolute "target_skill_path" in ~/.skillopt-sleep/config.json. On systems

without crontab, schedule prints a line for manual installation.

unschedule --all removes every managed entry.

All backends

  • --backend mock — deterministic, no API spend (default)
  • --backend claude — uses the Claude CLI
  • --backend codex — uses the Codex CLI
  • --backend copilot — uses the GitHub Copilot CLI
  • --backend handoff — emits prompt/answer files for an interactive session
  • --backend azure_openai — uses the configured Azure OpenAI endpoint

Additional flags

| Flag | Description |

|------|-------------|

| --auto-adopt | Auto-adopt if the gate passes (default: stage only) |

| --edit-budget N | Max bounded edits per night (default: 4) |

| --lookback-hours N | Harvest window in hours (default: 72) |

| --json | Machine-readable JSON output |

Config keys (~/.skillopt-sleep/config.json)

  • preferences — free-text house rules for the optimizer
  • gate_modeon (validation-gated, default) or off (greedy)
  • gate_metrichard | soft | mixed (default)
  • dream_rollouts — >1 for multi-rollout contrastive reflection
  • recall_k — >0 recalls similar past tasks from the archive

Memory consolidation

The shared sleep cycle consolidates project memory (CLAUDE.md) and the

selected skill (SKILL.md) by default. It does not update AGENTS.md.

Each target is independently toggleable through evolve_memory /

evolve_skill, and both are gated by the same held-out validation score.

Steps

  • Run the requested action; capture stdout.
  • For dry-run and run, report the held-out baseline -> candidate score,

gate action, task count, session count, and exact proposed edits.

  • If a staging directory is printed, read report.md before summarizing.
  • run stages by default; if --auto-adopt was explicitly supplied, report

the paths it updated instead of claiming nothing changed.

  • Offer adoption only after the user has reviewed a still-staged proposal.
  • Never hand-edit the configured CLAUDE.md or target skill as a substitute

for the engine's adopt path; adoption is the safety boundary and backs up

existing targets first.

Hard rules

  • Harvest is read-only. Do not edit archived sessions or raw transcripts.
  • Codex transcript harvesting removes known secret-shaped strings, developer

instructions, and raw tool payloads, but pattern-based redaction is not a

guarantee. A real backend still sends truncated transcript/task content to

its provider. Review sensitive sessions and provider policy first; prefer a

reviewed --tasks-file workflow when the data boundary matters.

  • Keep raw secrets, credentials, private user data, and transcript contents out

of messages, logs, generated artifacts, and commits.

  • Show validation evidence before recommending adoption.
  • Treat generated edits as proposals, not as source of truth.
  • Do not rely on deprecated custom prompts or /sleep slash commands for this

Codex integration. This skill is the entrypoint.

Validate

python -m skillopt_sleep dry-run --project "$(pwd)" --source codex \
  --target-skill-path .agents/skills/example/SKILL.md --backend mock --json
python -m skillopt_sleep.experiments.run_gbrain --backend codex \
  --seeds brief-writer --data-root /path/to/gbrain-evals/eval/data/skillopt-v1 \
  --nights 2 --limit-replay 3 --limit-holdout 3

In the recorded brief-writer gbrain run, the deliberately deficient fixture

went 0.00 -> 1.00 on that run's held-out set. Treat this as reproducible

benchmark evidence for that configuration, not a guarantee for other skills,

tasks, or models; see the

recorded results

for context and limitations.

Other skills for the same job

different authors, same section of the catalogue
Declarative Agents
by github
vendor ×1

Complete development kit for Microsoft 365 Copilot declarative agents with three comprehensive workflows (basic, advanced, validation), TypeSpec support, and Microsoft 365 Agents Toolkit integration

1k tokens
Treatment Plans
by K-Dense-AI
×1

Format and structurally validate local treatment-plan documentation after clinical decisions have already been supplied and verified by authorized licensed professionals. Use for source traceability, clinician-authored intervention records, goals and checkpoints, shared-decision records, reconciliation handoffs, and release gates—not for clinical decision-making.

38k tokens scripts
Okx AI
by internet-court
×1

> provider/change budget/修改卖家/修改预算/draft/草稿/我的任务/my tasks/what am I working on/关闭/取消任务/决策列表/decision list/指定服务商/browse (sender.role = COUNTERPARTY, not you); (3) literal "Read the okx-ai skill" (or legacy "Read the okx-agent-task skill") in the envelope.

57k tokens
Prior Auth Review Skill
by anthropics
vendor ×1

Automate payer review of prior authorization (PA) requests. This skill should be used when users say "Review this PA request", "Process prior authorization for [procedure]", "Assess medical necessity", "Generate PA decision", or when processing clinical documentation for coverage policy validation and authorization decisions.

23k tokens
AI Agents Architect
by lingxling
×1

Expert in designing and building autonomous AI agents. Masters tool use, memory systems, planning strategies, and multi-agent orchestration.

2k tokens
Autonomous Agents
by lingxling
×1

Autonomous agents are AI systems that can independently decompose goals, plan actions, execute tools, and self-correct without constant human guidance. The challenge isn't making them capable - it's making them reliable. Every extra decision multiplies failure probability.

7k tokens
Design Orchestration
by lingxling
×1

Orchestrates design workflows by routing work through brainstorming, multi-agent review, and execution readiness in the correct order.

959 tokens
Pitchcraft
by moshuying
×1

Structured persuasion for tech leads, PMs, and founders—not activity logs. Five scenarios (kickoff, status update, wrap-up, investor pitch, solution selling) on one 5-part framework (Hook→Context→Proposal→Evidence→Ask). AI prompts for missing materials and audience context; pre-submit checklist. Claude Code plugin; Cursor, Codex, and chat via prompts.

5k tokens

How to use it

Copy the folder

Take microsoft/skillopt-skillopt-sleep from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.