TheSimpleApp

rube-hub

0
0
# Install this skill:
npx skills add TheSimpleApp/agent-skills --skill "rube-hub"

Install specific skill from multi-skill repository

# Description

Unified integration layer using Rube/Composio for Supabase, GitHub, Notion, Vercel, Fireflies, and 500+ apps. Auto-detects the right project from context. Use as the primary way to interact with external services.

# SKILL.md


name: rube-hub
description: Unified integration layer using Rube/Composio for Supabase, GitHub, Notion, Vercel, Fireflies, and 500+ apps. Auto-detects the right project from context. Use as the primary way to interact with external services.
license: MIT
metadata:
author: thesimpleapp
version: "1.0"


Rube Hub

Unified integration layer - one tool for all external services.

Philosophy

BEFORE (Manual Setup):
- Supabase MCP + API key per project
- GitHub MCP + token
- Notion MCP + integration key
- Multiple .mcp.json entries
- Per-project configuration

AFTER (Rube Hub):
- One Rube connection
- OAuth once per service
- Auto-detect project from context
- Works across all projects

Available Integrations

Currently Connected

Service Status What You Can Do
Supabase ✅ Active Query tables, run SQL, manage projects
GitHub ✅ Active Repos, issues, PRs, file management
Notion ✅ Active Pages, databases, content blocks
Firecrawl ✅ Active Web scraping, content extraction

Available (Need OAuth)

Service Status To Connect
Vercel ⚪ Available RUBE_MANAGE_CONNECTIONS toolkit="vercel"
Fireflies ⚪ Available RUBE_MANAGE_CONNECTIONS toolkit="fireflies"
Slack ⚪ Available RUBE_MANAGE_CONNECTIONS toolkit="slack"
Linear ⚪ Available RUBE_MANAGE_CONNECTIONS toolkit="linear"
Gmail ⚪ Available RUBE_MANAGE_CONNECTIONS toolkit="gmail"

Not Available in Rube

Service Alternative
Firebase Use Firebase CLI directly
AWS Use AWS CLI directly

Smart Project Detection

From CLAUDE.md

If project has CLAUDE.md with project info:

# MyApp

## Supabase
project_ref: tzuhmsgldrzqjoqlimju
name: evolvium

→ Auto-use this project for Supabase queries

From Folder Name

Match folder name to Supabase project:

Current folder: evolvium/
→ Match: tzuhmsgldrzqjoqlimju (evolvium)

Current folder: hirex-app/
→ Match: bfbcjhqklsrzegvosxdl (hirex)

From Git Remote

Match GitHub remote to org/repo:

git remote: github.com/TheSimpleApp/evolvium
→ GitHub: TheSimpleApp/evolvium
→ Supabase: tzuhmsgldrzqjoqlimju (by name match)

Project Registry

Your Supabase projects:

Name Ref Region
SuppX ymjczlajgmwdfctgfbuz us-west-1
Oracle igjimudqpqpbohrtukij us-west-1
quantum_network levkmulbzkvhddssyhoc us-east-2
evolvium tzuhmsgldrzqjoqlimju us-east-1
hirex bfbcjhqklsrzegvosxdl us-west-2
fittravel lwyuwxqwshflmuefxgay us-east-1
mindos wnyondkfdcglpifgizib us-west-2
RealityOS sqhzbqxnvottlggjlkxh us-east-1
developer-platform wpdbkitdymroijewsusy us-west-2
detach_reset rzkrgiyrirokfmnkfaxt us-east-1
simple_create nlxsegokdwlsyinpweip us-east-1
gobuild wlqnnsnhgwyahnenteei us-west-2

Common Workflows

1. Database Query (Supabase)

User: "Show me users from the evolvium project"

Agent:
1. Detect project: evolvium → tzuhmsgldrzqjoqlimju
2. SUPABASE_LIST_TABLES project_ref="tzuhmsgldrzqjoqlimju"
3. SUPABASE_BETA_RUN_SQL_QUERY
     ref="tzuhmsgldrzqjoqlimju"
     query="SELECT * FROM users LIMIT 10"
     read_only=true

2. Create GitHub Issue

User: "Create an issue for the login bug"

Agent:
1. Detect repo from git remote or folder
2. GITHUB_CREATE_AN_ISSUE
     owner="TheSimpleApp"
     repo="evolvium"
     title="Login bug: session timeout"
     body="..."
     labels=["bug"]

3. Update Notion Page

User: "Add meeting notes to the project doc"

Agent:
1. NOTION_SEARCH_NOTION_PAGE query="evolvium project"
2. NOTION_ADD_MULTIPLE_PAGE_CONTENT
     parent_block_id="..."
     content_blocks=[{...}]

4. Deploy to Vercel

User: "Deploy the latest to production"

Agent:
1. Check Vercel connection (connect if needed)
2. GITHUB_GET_A_REPOSITORY → get repo ID
3. VERCEL_CREATE_NEW_DEPLOYMENT
     name="evolvium"
     gitSource={type: "github", repoId: "...", ref: "main"}
     target="production"
4. VERCEL_GET_DEPLOYMENT_DETAILS → poll until ready

5. Process Meeting Transcript

User: "Get action items from today's Fireflies call"

Agent:
1. Check Fireflies connection (connect if needed)
2. FIREFLIES_GET_TRANSCRIPTS limit=5
3. FIREFLIES_GET_TRANSCRIPT_BY_ID id="..."
4. Parse for action items
5. Create GitHub issues or Notion tasks

Integration Patterns

Pattern 1: Context-First

Always detect project context before making calls:

1. Check CLAUDE.md for explicit project refs
2. Check folder name for project match
3. Check git remote for repo info
4. Ask user if ambiguous

Pattern 2: Graceful Fallback

When Rube isn't available or connected:

Supabase:
  Rube connected? → Use SUPABASE_* tools
  Not connected? → Suggest: RUBE_MANAGE_CONNECTIONS toolkit="supabase"
  Rube unavailable? → Use Supabase MCP if configured

GitHub:
  Rube connected? → Use GITHUB_* tools
  Not connected? → Suggest: RUBE_MANAGE_CONNECTIONS toolkit="github"
  Rube unavailable? → Use gh CLI

Fireflies:
  Rube connected? → Use FIREFLIES_* tools
  Not connected? → Use Firecrawl to scrape public URL

Pattern 3: Batch Operations

For multi-step workflows, use Rube's multi-execute:

RUBE_MULTI_EXECUTE_TOOL
  tool_calls=[
    {tool_slug: "GITHUB_GET_A_REPOSITORY", args: {...}},
    {tool_slug: "SUPABASE_LIST_TABLES", args: {...}},
    {tool_slug: "NOTION_SEARCH_NOTION_PAGE", args: {...}}
  ]

Session Management

Rube uses session IDs for workflow correlation:

First call: session={generate_id: true}
Subsequent: session={id: "returned_session_id"}

Always pass session ID to track related operations.

Error Handling

Connection Errors

Error: "No Active connection for toolkit=vercel"

Action:
1. Tell user: "Vercel not connected yet"
2. Offer: "Run RUBE_MANAGE_CONNECTIONS toolkit='vercel' to connect"
3. Wait for confirmation
4. Open OAuth flow
5. Retry operation

Project Not Found

Error: "project_ref not valid"

Action:
1. List available projects: SUPABASE_LIST_ALL_PROJECTS
2. Show user the options
3. Ask which project to use
4. Save to CLAUDE.md for future

Rate Limiting

Error: HTTP 429

Action:
1. Wait with exponential backoff
2. Retry after delay
3. If persistent, batch operations

CLAUDE.md Integration

Store project mappings in CLAUDE.md:

# MyApp

## Integrations

### Supabase
project_ref: tzuhmsgldrzqjoqlimju
name: evolvium

### GitHub
owner: TheSimpleApp
repo: evolvium

### Notion
workspace: Simple.
project_page: 59833787-2cf9-4fdf-8782-e53db20768a5

### Vercel
project: evolvium
team: thesimpleapp

This allows instant context detection without prompts.

Connecting New Services

One-Time OAuth Flow

# Connect Vercel
RUBE_MANAGE_CONNECTIONS toolkit="vercel"
→ Opens browser → Authorize → Done forever

# Connect Fireflies
RUBE_MANAGE_CONNECTIONS toolkit="fireflies"
→ Opens browser → Authorize → Done forever

# Connect Slack
RUBE_MANAGE_CONNECTIONS toolkit="slack"
→ Opens browser → Authorize → Done forever

Verify Connection

RUBE_SEARCH_TOOLS
  queries=[{use_case: "check connection status"}]

→ Returns toolkit_connection_statuses showing all connections

Quick Reference

Supabase Tools

  • SUPABASE_LIST_ALL_PROJECTS - List all projects
  • SUPABASE_LIST_TABLES - List tables in project
  • SUPABASE_GET_TABLE_SCHEMAS - Get column info
  • SUPABASE_BETA_RUN_SQL_QUERY - Run SQL (read_only=true for SELECT)

GitHub Tools

  • GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER - Your repos
  • GITHUB_CREATE_AN_ISSUE - Create issue
  • GITHUB_CREATE_OR_UPDATE_FILE_CONTENTS - Edit files
  • GITHUB_GET_A_REPOSITORY - Repo info (includes numeric ID for Vercel)

Notion Tools

  • NOTION_SEARCH_NOTION_PAGE - Find pages
  • NOTION_ADD_MULTIPLE_PAGE_CONTENT - Add content
  • NOTION_UPDATE_PAGE - Update properties
  • NOTION_FETCH_ALL_BLOCK_CONTENTS - Read page content

Vercel Tools (requires connection)

  • VERCEL_CREATE_PROJECT - New project
  • VERCEL_CREATE_NEW_DEPLOYMENT - Deploy
  • VERCEL_GET_DEPLOYMENT_DETAILS - Check status

Fireflies Tools (requires connection)

  • FIREFLIES_GET_TRANSCRIPTS - List meetings
  • FIREFLIES_GET_TRANSCRIPT_BY_ID - Full transcript
  • FIREFLIES_CREATE_ASK_FRED_THREAD - Ask questions about meetings

Why Rube Over Individual MCPs

Aspect Individual MCPs Rube Hub
Setup Per-project config One-time OAuth
API Keys Manage per service Rube handles auth
Project Switching Reconfigure Auto-detect
New Services Find & install MCP Already available
Maintenance Update each MCP Rube updates

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.