agents
Use when designing, deploying, or debugging a Butterbase Agent (declarative LLM/tool graph), registering an MCP server for tool…
Use as the optional substrate-linking stage of the Butterbase journey, after deploy and before submit. Asks whether to connect the deployed app to the owner's substrate (so functions get ctx.substrate). Skipped by default in hackathon mode.
Claude Code
$ npx -y skills add butterbase-ai/butterbase-skills --skill journey-substrate --agent claude-code
Codex
$ npx skills add butterbase-ai/butterbase-skills --skill journey-substrate -a codex -y
Cursor
$ npx skills add butterbase-ai/butterbase-skills --skill journey-substrate -a cursor -y
Gemini CLI
$ npx skills add butterbase-ai/butterbase-skills --skill journey-substrate -a gemini-cli -y
GitHub Copilot
$ npx skills add butterbase-ai/butterbase-skills --skill journey-substrate -a github-copilot -y
OpenCode
$ npx skills add butterbase-ai/butterbase-skills --skill journey-substrate -a opencode -y
Windsurf
$ npx skills add butterbase-ai/butterbase-skills --skill journey-substrate -a windsurf -y
name: journey-substrate description: Use as the optional substrate-linking stage of the Butterbase journey, after deploy and before submit. Asks whether to connect the deployed app to the owner's substrate (so functions get ctx.substrate). Skipped by default in hackathon mode.
Connect the deployed app to the owner's substrate so functions get `ctx.substrate` injected at cold start. Skip if the user has no AI-agent / memory use case.
Invoke automatically when the journey orchestrator's cursor reaches `substrate`. The row is optional in the checklist; skip silently if the user declines.
0. **Refresh docs.** Call `butterbase_docs` with `topic: "substrate"`. If the plan mentions AI memory / agent state / cross-session knowledge, also WebFetch `https://docs.butterbase.ai/substrate`. Skip if `docs/butterbase/03b-docs-cache.md` already covers `substrate`.
1. **Confirm.** Ask the user: > "Connect `<app_id>` to your substrate? This lets the app's functions read/write your agent memory via `ctx.substrate`. You can disable later. (yes / skip)"
Default: **skip**.
2. **On skip:** mark the row `- [x] substrate (skipped — no agent memory needed)` in `docs/butterbase/00-state.md`. Write `docs/butterbase/04b-substrate.md` with one line: `Skipped on <date>.` Return.
3. **On yes:** a. If `platform_users.substrate_provisioned_at` is NULL for the caller, call `POST /v1/me/substrate/provision` first (or invoke whatever MCP wrapper exists — check `butterbase_docs` topic `substrate`). b. Link the app. Use whichever surface you have:
c. Verify: `manage_app` with `{ action: "get_config", app_id: "<app_id>" }` and assert `substrate_user_id` is non-null. d. Smoke: invoke any HTTP function the app already has and check `ctx.substrate` is defined (if the function logs it). If no function exists yet, skip the smoke and note in the artifact.
4. **Write artifact.** `docs/butterbase/04b-substrate.md`:
--- linked_at: <ISO> app_id: <id> substrate_user_id: <id> --- # Substrate Linkage - App linked at <ISO> - Substrate user ID: <id> - Smoke: <pass / skipped — no function yet>
5. **Update state.** Tick the `substrate` row in `00-state.md`.
Claude Code plugin for Butterbase — the AI-Native Backend-as-a-Service. This plugin gives Claude deep knowledge of Butterbase's nearly 40 MCP tools, guides you through common workflows, and auto-configures the MCP server connection.
Use when designing, deploying, or debugging a Butterbase Agent (declarative LLM/tool graph), registering an MCP server for tool…
Use when calling the app's AI gateway from agent tools — chat completions, embeddings, listing models, configuring defaults or…
Use when configuring OAuth providers (Google/GitHub/Apple/X/etc.), setting up post-login auth hooks, tuning JWT lifetimes, or…
Use when building a new Butterbase app from scratch, creating a full-stack application, or when the user asks to set up a…
Use when contributing to the Butterbase codebase, adding new MCP tools, creating API routes, writing migrations, or understanding…
Use when users report access denied errors, see wrong data, RLS policies are not working, or when troubleshooting Row-Level…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.