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.