Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

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 ---, an agent started line, and an agent hibernated line with a summary.
  • A complaint appear in the message history, the agent’s cryo-agent send text.
  • A new TODO in the TODOS tab with an at time 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-plan and ask the agent to invoke the make-plan skill to create a new cryochamber project here. The skill replaces this manual plan.md step 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.toml field.
  • Look up commands. CLI reference.