home / skills / composiohq / awesome-claude-skills / browserhub-automation

browserhub-automation skill

/browserhub-automation

This skill automates Browserhub tasks via Rube MCP, ensuring up-to-date tool schemas are discovered before execution for reliable workflows.

npx playbooks add skill composiohq/awesome-claude-skills --skill browserhub-automation

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.9 KB
---
name: browserhub-automation
description: "Automate Browserhub tasks via Rube MCP (Composio). Always search tools first for current schemas."
requires:
  mcp: [rube]
---

# Browserhub Automation via Rube MCP

Automate Browserhub operations through Composio's Browserhub toolkit via Rube MCP.

**Toolkit docs**: [composio.dev/toolkits/browserhub](https://composio.dev/toolkits/browserhub)

## Prerequisites

- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Browserhub connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `browserhub`
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas

## Setup

**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.

1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `browserhub`
3. If connection is not ACTIVE, follow the returned auth link to complete setup
4. Confirm connection status shows ACTIVE before running any workflows

## Tool Discovery

Always discover available tools before executing workflows:

```
RUBE_SEARCH_TOOLS
queries: [{use_case: "Browserhub operations", known_fields: ""}]
session: {generate_id: true}
```

This returns available tool slugs, input schemas, recommended execution plans, and known pitfalls.

## Core Workflow Pattern

### Step 1: Discover Available Tools

```
RUBE_SEARCH_TOOLS
queries: [{use_case: "your specific Browserhub task"}]
session: {id: "existing_session_id"}
```

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["browserhub"]
session_id: "your_session_id"
```

### Step 3: Execute Tools

```
RUBE_MULTI_EXECUTE_TOOL
tools: [{
  tool_slug: "TOOL_SLUG_FROM_SEARCH",
  arguments: {/* schema-compliant args from search results */}
}]
memory: {}
session_id: "your_session_id"
```

## Known Pitfalls

- **Always search first**: Tool schemas change. Never hardcode tool slugs or arguments without calling `RUBE_SEARCH_TOOLS`
- **Check connection**: Verify `RUBE_MANAGE_CONNECTIONS` shows ACTIVE status before executing tools
- **Schema compliance**: Use exact field names and types from the search results
- **Memory parameter**: Always include `memory` in `RUBE_MULTI_EXECUTE_TOOL` calls, even if empty (`{}`)
- **Session reuse**: Reuse session IDs within a workflow. Generate new ones for new workflows
- **Pagination**: Check responses for pagination tokens and continue fetching until complete

## Quick Reference

| Operation | Approach |
|-----------|----------|
| Find tools | `RUBE_SEARCH_TOOLS` with Browserhub-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `browserhub` |
| Execute | `RUBE_MULTI_EXECUTE_TOOL` with discovered tool slugs |
| Bulk ops | `RUBE_REMOTE_WORKBENCH` with `run_composio_tool()` |
| Full schema | `RUBE_GET_TOOL_SCHEMAS` for tools with `schemaRef` |

---
*Powered by [Composio](https://composio.dev)*

Overview

This skill automates Browserhub tasks through Rube MCP using Composio's Browserhub toolkit. It provides a repeatable pattern for discovering tools, verifying connections, and executing Browserhub operations programmatically. The workflow enforces runtime schema discovery so commands remain compatible with live tool definitions.

How this skill works

Before any action, the skill calls RUBE_SEARCH_TOOLS to retrieve current tool slugs, input schemas, and execution recommendations. It then verifies an active Browserhub connection via RUBE_MANAGE_CONNECTIONS and runs RUBE_MULTI_EXECUTE_TOOL (or RUBE_REMOTE_WORKBENCH for bulk tasks) with schema-compliant arguments and an explicit memory object. Sessions are reused within a workflow and pagination tokens are handled to fetch complete results.

When to use it

  • Automate Browserhub browsing, scraping, or session orchestration tasks.
  • Integrate Browserhub actions into larger agent workflows or pipelines.
  • Run repeatable browser-based steps where tool schemas may change frequently.
  • Perform bulk operations or coordinated multi-step Browserhub tasks via MCP.
  • When you need reliable runtime validation of tool inputs and connection status.

Best practices

  • Always call RUBE_SEARCH_TOOLS first — never hardcode tool slugs or field names.
  • Check RUBE_MANAGE_CONNECTIONS and confirm the Browserhub toolkit shows ACTIVE before executing.
  • Pass an explicit memory object (even empty {}) in RUBE_MULTI_EXECUTE_TOOL calls.
  • Reuse session IDs for a single workflow; generate new session IDs for separate workflows.
  • Handle pagination tokens in tool responses to ensure complete data retrieval.
  • Validate arguments strictly against the schema returned by RUBE_SEARCH_TOOLS before sending requests.

Example use cases

  • Discover the current Browserhub tooling and run a navigation + DOM extraction pipeline using the returned tool schema.
  • Authenticate and confirm an active Browserhub connection, then execute a scripted browsing session across multiple pages.
  • Run bulk automated browser jobs via RUBE_REMOTE_WORKBENCH using run_composio_tool() for parallel tasks.
  • Build an agent workflow that queries RUBE_SEARCH_TOOLS at runtime to adapt to schema changes and avoid runtime errors.
  • Orchestrate multi-step interactions (login, navigate, click, extract) by sequencing RUBE_MULTI_EXECUTE_TOOL calls within a single session.

FAQ

Do I need API keys to connect to Rube MCP?

No API keys are required; add https://rube.app/mcp as an MCP server in your client configuration and use the MCP endpoints.

What if tool schemas change during execution?

Always call RUBE_SEARCH_TOOLS at the start of each workflow or before invoking a new tool to retrieve the current schema and adjust arguments accordingly.