---
name: Journey Durable Objects
slug: journey-durable-objects
category: DevOps
description: Journey Durable Objects deploys per-key stateful actors as part of the Butterbase journey. Use it when a plan includes Durable Objects such as chat rooms, multiplayer sessions, or rate limiters.
github: "https://github.com/butterbase-ai/butterbase-skills/tree/main/skills/journey-durable"
stars: 532
forks: 40
install: "npx degit https://github.com/butterbase-ai/butterbase-skills/tree/main/skills/journey-durable ~/.claude/skills/journey-durable"
installs_to: ~/.claude/skills/journey-durable
source_path: skills/journey-durable/SKILL.md
collection_size: 25
category_size: 798
collection_url: "https://dirskills.com/collections/butterbase-ai/butterbase-skills"
added: 2026-08-26T05:11:41.223Z
last_synced: 2026-08-26T05:11:41.223Z
canonical_url: "https://dirskills.com/skills/journey-durable-objects"
---

# Journey Durable Objects

Journey Durable Objects deploys per-key stateful actors as part of the Butterbase journey. Use it when a plan includes Durable Objects such as chat rooms, multiplayer sessions, or rate limiters.

**Install:**

```bash
npx degit https://github.com/butterbase-ai/butterbase-skills/tree/main/skills/journey-durable ~/.claude/skills/journey-durable
```

## README

# Journey: Durable Objects

Stage 3i of the guided journey. Deploy stateful per-key actors.

## When to use

- Dispatched by `journey` when `current_stage: durable`.
- Directly via `/butterbase-skills:journey-durable`.
- Skipped (annotated `(n/a)`) if the plan has no Durable section.

## Preflight

If `docs/butterbase/03-preflight.md` is missing, older than 24 hours, or `00-state.md` has `app_id: null`, invoke `butterbase-skills:journey-preflight` first. Wait for it to return successfully before proceeding.

## Inputs

- `docs/butterbase/02-plan.md` — the Durable section.
- `docs/butterbase/00-state.md` — for `app_id`.

## Procedure

0. **Refresh docs.** Call `butterbase_docs` with `topic: "functions"`. For Durable Object class structure, also WebFetch `https://docs.butterbase.ai/durable-objects`. Skip if cache is fresh.

For each Durable Object class in the plan:

1. Print: `"About to deploy Durable Object: <name>. Proceed?"`. Wait for `yes`.
2. Invoke `butterbase-skills:durable-objects` via the Skill tool with the DO spec and `app_id`. The wrapped skill calls `manage_durable_objects action: deploy`, sets env via `set_env` if needed.
3. Verify with `manage_durable_objects action: list` and `action: get`.
4. Append one line per DO to `docs/butterbase/04-build-log.md`:
   `<ISO timestamp>  durable  manage_durable_objects  <do-name>  ok`
5. After all DOs are done, tick `- [x] durable` in `00-state.md`, set `current_stage:` to the next unchecked stage.
6. Return to `journey` orchestrator (or ask `"Continue to the next stage? (yes/no)"`).

## Outputs

- Deployed Durable Object classes.
- One line per DO in `04-build-log.md`.

## Anti-patterns

- ❌ Sharing state across users via a single DO key — keys should be naturally per-room / per-user / per-resource.
