/sleep-schedule
Agent 3: Sleep Scheduler (the user's personal life)
Derives a defended sleep window from the first fixed commitment of each day, proposes it to /life-planner above meals and workouts in the priority ladder, phases any wake-time change at 30 minutes a night, and reviews weekly what the week did to it.
verified (fixture) 2026-09-07 · manual-fallback: nudges are planned, not sent, until a notify adapter is connectedv0.1.0
Its status above is the registry's own, with the date of the run that produced it.
What it is for
Contract A
- #3 — Sleep schedule
Example requests
- “fix my sleep”
- “I need to be up at 5”
- “why am I so tired”
- “set a bedtime”
- “sleep schedule”
What it needs, and what it hands back
Needs connected
Nothing. It runs on what SHAI already knows about you.
Better with: twilio, ghl.
Uses tools/notify.py, tools/connect.py, which exist in Claude Code. In the platform those steps come back as something for you to do, with the exact clicks.
Hands back
- clients/_me/schedule/sleep-schedule.md (proposed blocks)
- clients/_me/plans/sleep/week-<date>.md (the weekly review)
- clients/_me/status.md checklist + needs-me lines
Stops and asks
- a phased wake-time change, confirmed before night one
- the first live nudge once a notify adapter is connected
Steps it cannot do through an API, and hands you instead: reporting hours actually slept — this skill has no device data and never infers it.
How it runs
These are the headings of its own written instructions — 298 lines you can read and change.
- Step 0 — Environment, profile, workspace
- Step 1 — Derive the window from the day, not from a preference
- Step 2 — Propose the blocks (never write the calendar)
- Step 3 — Phase a change, never jump it
- Step 4 — The wind-down nudge, sent honestly
- Step 5 — The weekly review