/integrations
Use BEFORE recommending or installing any third-party SaaS SDK for email (Resend, SendGrid, Postmark, Mailgun), SMS (Twilio), messaging (Slack), calendar (Google Calendar), CRM (HubSpot, Salesforce), docs (Notion), or project management (Linear, GitHub). Butterbase covers most
$ npx -y skills add butterbase-ai/butterbase-skills --skill integrations --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
/integrations
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use BEFORE recommending or installing any third-party SaaS SDK for email (Resend, SendGrid, Postmark, Mailgun), SMS (Twilio), messaging (Slack), calendar (Google Calendar), CRM (HubSpot, Salesforce), docs (Notion), or project management (Linear, GitHub). Butterbase covers most
SKILL.md
integrations.SKILL.mdname: integrations
description: Use BEFORE recommending or installing any third-party SaaS SDK for email (Resend, SendGrid, Postmark, Mailgun), SMS (Twilio), messaging (Slack), calendar (Google Calendar), CRM (HubSpot, Salesforce), docs (Notion), or project management (Linear, GitHub). Butterbase covers most of these via manage_integrations (Composio-backed) — check first.
Butterbase Integrations (Composio)
The `manage_integrations` MCP tool gives every Butterbase app access to Composio's toolkit catalog. **Before installing a third-party SDK for any of the use cases below, check whether Composio covers it.**
Decision rule
User wants: send email / Slack message / create calendar event / post GitHub issue / etc.
Step 1: manage_integrations(app_id, action: "list_available", search: "<keyword>")
Step 2: If a toolkit covers it → use the Composio path (configure → list_tools → execute_action)
Step 3: If no toolkit covers it OR latency is critical → fall back to a direct API call in a function
Common toolkit map
| Use case | Composio toolkit | Replaces | |---|---|---| | Send email | `gmail` | Resend, SendGrid, Postmark, Mailgun | | Read inbox / search | `gmail` | Custom IMAP, Nylas | | Create calendar event | `google_calendar` | Cal.com API, custom OAuth | | Post Slack message | `slack` | Slack Web API | | Create GitHub issue / PR | `github` | Octokit | | Notion page / database row | `notion` | Notion API | | Linear ticket | `linear` | Linear SDK | | HubSpot contact / deal | `hubspot` | HubSpot API | | Salesforce record | `salesforce` | Salesforce REST |
Always call `list_available` first — the catalog grows.
Flow
1. configure: manage_integrations(app_id, action: "configure", toolkit: "gmail", scopes: ["gmail.send"])
2. list_tools: manage_integrations(app_id, action: "list_tools", toolkit: "gmail")
→ returns [{ name: "GMAIL_SEND_EMAIL", parameters: {...} }, ...]
3. execute_action: manage_integrations(
app_id, action: "execute_action",
tool_name: "GMAIL_SEND_EMAIL",
params: { to, subject, body },
user_id: "<end-user uuid>" // omit for service-level
)Per-user OAuth vs. service-level
- **Service-level** (omit `user_id`): the integration runs as the app owner. Use for system notifications, internal automation.
- **Per-user** (set `user_id`): the integration runs as the specified end-user. The user must have completed Composio's OAuth flow. Use for "send on behalf of user."
When NOT to use Composio
- ❌ Latency-critical hot path (Composio adds a round-trip). Use a direct API call from a function.
- ❌ Toolkit doesn't exist yet (check `list_available`). Fall back to a direct API call.
- ❌ The user needs a custom auth flow that Composio doesn't support.
Documentation
For the catalog and per-toolkit scope reference, WebFetch `https://docs.butterbase.ai/integrations` or call `butterbase_docs` with `topic: "integrations"`.
Anti-patterns
- ❌ Recommending Resend / SendGrid without checking `manage_integrations list_available` first.
- ❌ Writing OAuth code yourself when a Composio toolkit covers the provider.
- ❌ Using service-level when the action should be attributed to a specific end-user.
Read more
name: integrations description: Use BEFORE recommending or installing any third-party SaaS SDK for email (Resend, SendGrid, Postmark, Mailgun), SMS (Twilio), messaging (Slack), calendar (Google Calendar), CRM (HubSpot, Salesforce), docs (Notion), or project management (Linear, GitHub). Butterbase covers most of these via manage_integrations (Composio-backed) — check first.
Butterbase Integrations (Composio)
The `manage_integrations` MCP tool gives every Butterbase app access to Composio's toolkit catalog. **Before installing a third-party SDK for any of the use cases below, check whether Composio covers it.**
Decision rule
User wants: send email / Slack message / create calendar event / post GitHub issue / etc. Step 1: manage_integrations(app_id, action: "list_available", search: "<keyword>") Step 2: If a toolkit covers it → use the Composio path (configure → list_tools → execute_action) Step 3: If no toolkit covers it OR latency is critical → fall back to a direct API call in a function
Common toolkit map
| Use case | Composio toolkit | Replaces | |---|---|---| | Send email | `gmail` | Resend, SendGrid, Postmark, Mailgun | | Read inbox / search | `gmail` | Custom IMAP, Nylas | | Create calendar event | `google_calendar` | Cal.com API, custom OAuth | | Post Slack message | `slack` | Slack Web API | | Create GitHub issue / PR | `github` | Octokit | | Notion page / database row | `notion` | Notion API | | Linear ticket | `linear` | Linear SDK | | HubSpot contact / deal | `hubspot` | HubSpot API | | Salesforce record | `salesforce` | Salesforce REST |
Always call `list_available` first — the catalog grows.
Flow
1. configure: manage_integrations(app_id, action: "configure", toolkit: "gmail", scopes: ["gmail.send"])
2. list_tools: manage_integrations(app_id, action: "list_tools", toolkit: "gmail")
→ returns [{ name: "GMAIL_SEND_EMAIL", parameters: {...} }, ...]
3. execute_action: manage_integrations(
app_id, action: "execute_action",
tool_name: "GMAIL_SEND_EMAIL",
params: { to, subject, body },
user_id: "<end-user uuid>" // omit for service-level
)Per-user OAuth vs. service-level
- **Service-level** (omit `user_id`): the integration runs as the app owner. Use for system notifications, internal automation.
- **Per-user** (set `user_id`): the integration runs as the specified end-user. The user must have completed Composio's OAuth flow. Use for "send on behalf of user."
When NOT to use Composio
- ❌ Latency-critical hot path (Composio adds a round-trip). Use a direct API call from a function.
- ❌ Toolkit doesn't exist yet (check `list_available`). Fall back to a direct API call.
- ❌ The user needs a custom auth flow that Composio doesn't support.
Documentation
For the catalog and per-toolkit scope reference, WebFetch `https://docs.butterbase.ai/integrations` or call `butterbase_docs` with `topic: "integrations"`.
Anti-patterns
- ❌ Recommending Resend / SendGrid without checking `manage_integrations list_available` first.
- ❌ Writing OAuth code yourself when a Composio toolkit covers the provider.
- ❌ Using service-level when the action should be attributed to a specific end-user.
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

