Claude Marketplaces
SkillsMCP serversMarketplacesDigestTools
Submit

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP servers by category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control
Claude Marketplaces

An independent directory of skills, plugins and MCP servers for Claude Code. Not affiliated with Anthropic.

Browse

  • Skills
  • MCP servers
  • Marketplaces
  • Weekly digest
  • Skill index
  • MCP index
  • Marketplace index

Site

  • About
  • Tools
  • Submit
  • Feedback
  • Privacy
  • llms.txt
  • Plugins reference

Maker

  • Snug
  • Agent Caffeine
  • knobs
  • Wax
  • Vectoys
  • mertduzgun.com
Crafted at
Skills/DevOps & CI/CD
butterbase-ai avatar

Journey Functions

butterbase-ai/butterbase-skills

Stage 3e of the Butterbase journey that takes the Functions section from your plan doc and actually builds them. It calls function-dev for each function in sequence, deploys via deploy_function, and smoke tests HTTP/cron endpoints with invoke_function. The nice bit is it checks whether you should be using built-in integrations (email, Slack, payments) before you write custom code. One function at a time, asks for confirmation before each, logs everything to build-log.md. If your plan has no functions, the journey orchestrator skips this stage entirely. The anti-patterns section calling out "must return new Response" tells you this was written after someone got bitten by that.

GitHub stars
532
last updated
Jun 11, 2026
View on GitHubSave

Install

$ npx -y skills add butterbase-ai/butterbase-skills --skill journey-functions --agent claude-code

Installs into .claude/skills of the current project.

Files

Journey: Functions

Stage 3e of the guided journey. Implement and deploy each function in the plan.

When to use

  • Dispatched by journey when current_stage: functions.
  • Directly via /butterbase-skills:journey-functions.
  • Skipped (annotated (n/a)) if the plan lists no functions.

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 Functions section.
  • docs/butterbase/00-state.md — for app_id.

Procedure

  1. Refresh docs. Call butterbase_docs with topic: "functions". For trigger types and ctx shape, also WebFetch https://docs.butterbase.ai/functions. Skip if cache is fresh.

0.5. Check built-in integrations first. Before writing function code that calls an external SaaS for email / messaging / calendar / CRM / payments:

  • Email / Slack / etc. → invoke butterbase-skills:integrations. The function should call manage_integrations execute_action rather than installing a third-party SDK.
  • Payments → invoke butterbase-skills:payments. The function should use Stripe Connect via manage_billing unless the plan has explicitly chosen a regional gateway.

@butterbase/sdk works server-side too

Inside a function, prefer ctx.db / ctx.storage / ctx.user for the common cases — those are pre-wired and authenticated against the calling user. But for cross-app calls, scripts, or scheduled jobs that operate on multiple apps, instantiate @butterbase/sdk with a service key (bb_sk_) and use the same client surface as the frontend.

Example for a cron function that aggregates from another app:

import { createClient } from '@butterbase/sdk';

export async function handler(_request: Request, ctx: { env: Record<string,string> }) {
  const other = createClient({
    apiUrl: ctx.env.OTHER_APP_API_URL,
    apiKey: ctx.env.OTHER_APP_SERVICE_KEY,
  });
  const { data } = await other.db.from('events').select('*').gte('created_at', ...);
  // ...
  return new Response('ok');
}

For server-side patterns, butterbase_docs topic: "sdk".

Build each function

For each function in the plan, in order:

  1. Print: "About to build function: <name> (trigger=<trigger>). Proceed?". Wait for yes.
  2. Invoke butterbase-skills:function-dev via the Skill tool with the function spec (name, trigger, behaviour, dependencies) and app_id. The wrapped skill scaffolds the handler, writes tests where appropriate, and calls deploy_function. Reminder it must enforce: handler signature (request, { db, env, user }) and must return new Response(...).
  3. Smoke: call invoke_function for HTTP/cron functions and confirm a 2xx + expected body. For WebSocket, defer the smoke to frontend integration.
  4. Append one line per function to docs/butterbase/04-build-log.md: <ISO timestamp> functions deploy_function <fn-name> ok
  5. After all functions are done, tick - [x] functions 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 functions in the Butterbase app.
  • One line per function in 04-build-log.md.

Anti-patterns

  • ❌ Letting a handler return a plain object — must be new Response(...).
  • ❌ Skipping the smoke invocation. Cron functions in particular are easy to deploy and forget.
  • ❌ Forgetting per-function env vars — use manage_function action: update_env.
SKILL.md on GitHub

Sponsors

SnugThe clipboard manager you and your agent can use, safelyAgent CaffeineClose your lid, come back to finished workWaxBlock anything with supervision, without erasing your iPhoneOpen StepsSponsoredFree and open-source skills that make AI coding agents easier to understand, verify, and control.

Details

Repository
github.com/butterbase-ai/butterbase-skills
Categories
DevOps & CI/CD, Release Management, Productivity & Planning
License
MIT
First seen
Jun 11, 2026

More from butterbase-ai/butterbase-skills

All 39
  • Journey Idea
  • Journey Plan
  • Journey Preflight
  • Journey Rag
  • Journey Realtime
  • Journey Rls
  • Journey Schema
  • Journey Storage
  • Journey Submit
  • Journey Substrate
  • Journey Templates
  • Migrations
  • Payments
  • Rag Dev
  • Realtime
  • Schema Design
  • Storage
  • Substrate
  • Templates
  • Agents
  • Ai
  • Auth Setup
  • Build App
  • Butterbase Skills

Recommended

More DevOps & CI/CD
1butterbase-ai avatarjourney-ideabutterbase-ai/butterbase-skillsUse as stage 1 of the Butterbase journey, when the user has only a rough idea ("I want to build something that..."). Conducts a concrete, one-question-at-a-time0installs
2Cornjebus avatarsecurity-analyzerCornjebus/security-analyzerComprehensive security vulnerability analysis for codebases and infrastructure. Scans dependencies (npm, pip, gem, go, cargo), containers (Docker, Kubernetes), 0installs
3hoodini avatarvideo-edithoodini/ai-agents-skillsEdit any video into a captioned showcase — transcribe (any language, defaults to large-v3), present a transcript_review.txt for the user to fix mishears BEFORE 0installs
4intertwine avatardspy-advanced-workflowintertwine/dspy-agent-skillsDrive a complete DSPy 3.2.x project end-to-end — spec → program → metric → baseline → GEPA optimize → export → deploy. Orchestrates the other four DSPy skills (0installs
5intertwine avatardspy-evaluation-harnessintertwine/dspy-agent-skillsBuild DSPy evaluation harnesses with rich-feedback metrics that are essential for GEPA optimization. Use when writing a metric function, calling dspy.Evaluate, 0installs
6kubesphere avatarwhizard-notificationkubesphere/kubesphereThis handles the notification layer for KubeSphere's observability stack, routing alerts from Prometheus, Kubernetes events, audit logs,...0installs