Journey Plan
Use as stage 2 of the Butterbase journey, after journey-idea has written 01-idea.md.
Install
npx skills add butterbase-ai/butterbase-skills --skill journey-plan -g -a claude-code -y- Repository
- butterbase-ai/butterbase-skills535
- Category
- Design
- Updated
- 4d ago
- License
- MIT
- Context cost
- Mediumabout 1,968 tokens
- Runs scripts
- No, instructions only
What it does
Use as stage 2 of the Butterbase journey, after journey-idea has written 01-idea.md. Translates the idea + capability map into a concrete Butterbase plan, tables (with columns/types/RLS shape), auth providers, function list (name + trigger), storage buckets, AI/RAG/realtime/durable usage, and the chosen frontend stack. In hackathon mode, ruthlessly cuts scope into a "ship now" vs "post-hackathon" split. Produces docs/butterbase/02-plan.md.
Journey: Plan
Stage 2 of the guided journey. Turn the idea brief into an actionable Butterbase plan.
When to use
- Dispatched by
journeywhencurrent_stage: plan. - Directly via
/butterbase-skills:plan.
Inputs
docs/butterbase/01-idea.md(must exist, if absent, bounce back tojourney-idea).docs/butterbase/00-state.md(forhackathon_mode,hackathon_deadline).
External services, check built-ins first
When the plan needs email, messaging, calendar, CRM, docs, or project-management integration:
- Invoke
butterbase-skills:integrationsand callmanage_integrationsaction: "list_available"to see what Composio covers for this app. - If a toolkit fits, the plan should record "via manage_integrations (toolkit: <name>)" instead of naming an external SDK.
When the plan needs payments:
- Invoke
butterbase-skills:payments. - Default to Stripe Connect via
manage_billingunless the user's region forces a fallback (see the payments skill). - Record the choice ("Stripe Connect" or "<regional gateway> via function proxy") in the plan's Payments section.
Procedure
Work through these sections in order. After each section, write the result to 02-plan.md before moving on. One question at a time per the spec's questioning discipline.
-
Tables. Read the capability map. Propose a starter table list with columns and types, recommend, don't ask blank. Example:
"Tables I'm seeing: users, orders, items. Missing any?"Then for each table:"<table>.<column>: should this be a uuid / text / int / timestamp / enum?". Confirm primary keys, foreign keys, indexes that are obvious (foreign-key columns). -
RLS model. For each table:
"Can user A see user B's <table> rows? ① no, strict isolation ② yes, public-read ③ only shared via explicit grant."Decide policy shape. In hackathon mode, prefer option ① and recommendmanage_rls action: create_user_isolation.


