journey-storage
journey-storage configures cloud storage buckets and access controls during the Butterbase application build process by delegating to the storage skill, calling manage_storage to set up bucket visibility and size limits, and validating presigned URL generation. Use this when the guided journey reaches the storage stage and the plan includes file upload requirements.
git clone --depth 1 https://github.com/butterbase-ai/butterbase-skills /tmp/journey-storage && cp -r /tmp/journey-storage/skills/journey-storage ~/.claude/skills/journey-storageSKILL.md
# Journey: Storage Stage 3d of the guided journey. Configure storage buckets/ACLs from the plan. ## When to use - Dispatched by `journey` when `current_stage: storage`. - Directly via `/butterbase-skills:journey-storage`. - Skipped (annotated `(n/a)`) if the plan has no Storage 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 Storage section. - `docs/butterbase/00-state.md` — for `app_id`. ## Procedure 0. **Refresh docs.** Call `butterbase_docs` with `topic: "storage"`. For presigned URL patterns, also WebFetch `https://docs.butterbase.ai/storage`. Skip if cache is fresh. 1. Read the Storage section of `02-plan.md`. Print it back: `"About to configure storage: <buckets>. Proceed?"`. Wait for `yes`. 2. Invoke `butterbase-skills:storage` via the Skill tool, passing the Storage plan and `app_id`. The wrapped skill calls `manage_storage action: update_config` per bucket (visibility, max object size). 3. Smoke: request an upload URL via `manage_storage action: upload_url` and a matching `download_url` to confirm presigned URL minting works. 4. Append one line to `docs/butterbase/04-build-log.md`: `<ISO timestamp> storage manage_storage ok` 5. Tick `- [x] storage` 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 - Configured storage buckets. - One line in `04-build-log.md`. ## Anti-patterns - ❌ Persisting `s3_key` in app data — always persist `object_id`. The wrapped skill handles this; do not override it.
Claude Code plugin for Butterbase — 30+ guided skills and auto-configured MCP for the AI-native backend-as-a-service.
Use when calling the app's AI gateway from agent tools — chat completions, embeddings, listing models, configuring defaults or BYOK, reading token/cost usage
Configure OAuth providers, auth hooks, JWT lifetimes, and service keys for a Butterbase 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
Use when users report access denied errors, see wrong data, RLS policies are not working, or when troubleshooting Row-Level Security issues in Butterbase
Deploy a frontend (React, Next.js, or static HTML) to a live URL on Butterbase
Use when building stateful per-key actors — chat rooms, multiplayer rooms, rate limiters, long-running agents, leaderboards — that need persistent in-memory + storage state across requests
Develop, deploy, or debug a Butterbase serverless function