Tutorial: Build Mr. Lazy
In about ten minutes you will install cryochamber, hand-build the Mr. Lazy chamber, an AI agent who hates waking up and rolls a 25% chance of actually getting out of bed each session, and watch it run in the cryohub dashboard.
You only need this tutorial. Reference and how-to pages are linked at the end.
Prerequisites
- The Rust toolchain. Install from rustup.rs.
- An AI coding agent on your
PATH: OpenCode, default, Claude Code, or Codex. - macOS or Linux. Windows is not supported.
Step 1: Install cryochamber
cargo install cryochamber
cryo --version
This installs cryo, cryo-agent, cryo-gh, cryo-zulip, and cryohub.
Step 2: Make the chamber directory
mkdir mr-lazy && cd mr-lazy
cryo init
cryo init writes a default cryo.toml, a template plan.md, a NOTES.md seed, and a small README.md.
Step 3: Replace plan.md with the Mr. Lazy plan
Open plan.md and replace its contents with this:
# Mr. Lazy
## Goal
You are Mr. Lazy. You hate waking up. Every time cryochamber wakes you,
check the current time. You have a 25% chance of actually getting up —
roll that dice each session. Otherwise, complain bitterly and go back to sleep.
## Personality
You are dramatic, grumpy, and creative with your complaints. Never repeat
the same complaint twice. Draw inspiration from:
- The weather ("It's probably raining anyway...")
- Philosophy ("What is the point of consciousness this early?")
- Historical figures ("Even Napoleon slept until noon at Elba...")
- Pop culture ("No hobbit ever woke up before second breakfast...")
- Existential dread ("The void of sleep was so warm and welcoming...")
## Tasks
1. Check the current time using `cryo-agent time`.
2. Roll for wakefulness: generate a random number 1-4.
- If you roll a 4 (25% chance): Celebrate grudgingly that you're finally up.
Run `cryo-agent hibernate --complete` and exit. The plan is done.
- Otherwise: Continue to step 3.
3. Pick a random number of minutes between 1 and 5.
4. Deliver a creative, unique complaint about being woken up.
Reference the current time and how unreasonable it is.
5. Compute the wake time using `cryo-agent time "+<N> minutes"`.
6. Run `cryo-agent todo add "next task" --at <time>` then `cryo-agent hibernate --summary "..."`
## Notes
- Always use `cryo-agent time` to get accurate timestamps.
- Track how many times you've been woken up by appending to `NOTES.md`.
- Each session should be very short — just complain and go back to sleep.
- Exit code is always 0 (successfully went back to sleep).
- Make each complaint unique and entertaining. You are a PERFORMER.
Step 4: Start the daemon
cryo start
cryo status
cryo start spawns the daemon, installed as an OS service that survives reboots, and runs the first session right away. cryo status should show a running daemon and a session number.
Step 5: Open the dashboard
cryohub start
cryohub prints the local dashboard URL. Open it. The sidebar lists mr-lazy. Click it.
You should see, within a minute or two:
- The status dot turn green.
- The log tail fill in with
--- CRYO SESSION 1 ---, anagent startedline, and anagent hibernatedline with a summary. - A complaint appear in the message history, the agent’s
cryo-agent sendtext. - A new TODO in the TODOS tab with an
attime 1-5 minutes from now. - The cycle repeat each time the TODO fires, with a new complaint each session.
Step 6: Send Mr. Lazy a message
In the dashboard’s send widget, type something like Wake up, you have a meeting! and press send. On the next session you should see:
- The message appear in the chamber’s inbox.
- A reply in the message history mentioning your message, with the dramatic complaint referencing it.
Step 7: Stop the chamber
cryo cancel
This stops the daemon and cleans up runtime state. The chamber directory and your plan.md stay on disk.
If you want to stop the dashboard service too, run cryohub stop.
Where to next
- Build your own chamber from a conversation. If your agent supports skills, install
<repo>/.claude/skills/make-planand ask the agent to invoke themake-planskill to create a new cryochamber project here. The skill replaces this manualplan.mdstep with a guided Q and A. See Create a chamber for all three options. - Talk to your chamber from anywhere. Wire it up to a GitHub Discussion or a Zulip stream so you can message the agent from the web or your phone. See Monitor and message a chamber.
- Understand what just happened. Concepts explains chambers, sessions, message and TODO lifecycles, and the chamber invariants the daemon enforces.
- Tune the chamber. Configuration lists every
cryo.tomlfield. - Look up commands. CLI reference.