/journey-durable
Use as the durable-objects build stage of the Butterbase journey. Implements the Durable section of 02-plan.md by delegating to durable-objects. Calls manage_durable_objects (deploy). Skipped if the plan has no per-key stateful actors (chat rooms, multiplayer, rate limiters).
$ npx -y skills add butterbase-ai/butterbase-skills --skill journey-durable --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/journey-durable
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use as the durable-objects build stage of the Butterbase journey. Implements the Durable section of 02-plan.md by delegating to durable-objects. Calls manage_durable_objects (deploy). Skipped if the plan has no per-key stateful actors (chat rooms, multiplayer, rate limiters).
SKILL.md
journey-durable.SKILL.mdname: journey-durable
description: Use as the durable-objects build stage of the Butterbase journey. Implements the Durable section of 02-plan.md by delegating to durable-objects. Calls manage_durable_objects (deploy). Skipped if the plan has no per-key stateful actors (chat rooms, multiplayer, rate limiters).
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.
Read more
name: journey-durable description: Use as the durable-objects build stage of the Butterbase journey. Implements the Durable section of 02-plan.md by delegating to durable-objects. Calls manage_durable_objects (deploy). Skipped if the plan has no per-key stateful actors (chat rooms, multiplayer, rate limiters).
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.
Claude Code plugin for Butterbase — the AI-Native Backend-as-a-Service. This plugin gives Claude deep knowledge of Butterbase's 42+ MCP tools, guides you through common workflows, and auto-configures the MCP server connection.
Repo: butterbase-ai/butterbase-skills
Other skills on butterbase-skills.
- /agents
Use when designing, deploying, or debugging a Butterbase Agent (declarative LLM/tool graph), registering an MCP server for tool use, or wiring access controls and rate limits. Agents are first-class app resources defined by a `graph_spec` and invoked over
Open skill - /ai
Use when calling the app's AI gateway from agent tools — chat completions, embeddings, listing models, configuring defaults or BYOK, reading token/cost usage
Open skill - /auth-setup
Use when configuring OAuth providers (Google/GitHub/Apple/X/etc.), setting up post-login auth hooks, tuning JWT lifetimes, or generating service API keys
Open skill - /build-app
Use when building a new Butterbase app from scratch, creating a full-stack application, or when the user asks to set up a complete backend with database, auth, and deployment
Open skill - /contributing
Use when contributing to the Butterbase codebase, adding new MCP tools, creating API routes, writing migrations, or understanding the monorepo architecture
Open skill - /debug-rls
Use when users report access denied errors, see wrong data, RLS policies are not working, or when troubleshooting Row-Level Security issues in Butterbase
Open skill

