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

browserless-automation skill

/browserless-automation

This skill automates browserless tasks through Rube MCP, discovering current tool schemas before execution to ensure up-to-date, reliable workflows.

npx playbooks add skill composiohq/awesome-claude-skills --skill browserless-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: browserless-automation
description: "Automate Browserless tasks via Rube MCP (Composio). Always search tools first for current schemas."
requires:
  mcp: [rube]
---

# Browserless Automation via Rube MCP

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

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

## Prerequisites

- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Browserless connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `browserless`
- 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 `browserless`
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: "Browserless 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 Browserless task"}]
session: {id: "existing_session_id"}
```

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["browserless"]
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 Browserless-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `browserless` |
| 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 Browserless tasks through Rube MCP using Composio's Browserless toolkit. It guides discovery, connection checks, and execution patterns so agents run browser automation reliably. The skill emphasizes always searching for current tool schemas before any execution.

How this skill works

The skill instructs agents to call RUBE_SEARCH_TOOLS first to retrieve available tool slugs, input schemas, and execution plans. It verifies an active Browserless connection via RUBE_MANAGE_CONNECTIONS, then runs one or more tools with RUBE_MULTI_EXECUTE_TOOL (including a memory object) or orchestrates bulk runs with RUBE_REMOTE_WORKBENCH. It enforces schema compliance, session reuse, and pagination handling to avoid runtime errors.

When to use it

  • Run browser automation tasks that need headless browsing or web interactions via Browserless.
  • Before any workflow that depends on Composio tool schemas or tool availability.
  • When you need to programmatically verify and refresh toolkit connections.
  • For multi-step automation that requires session persistence and memory across tool calls.
  • When you require robust error handling for changing tool schemas.

Best practices

  • Always call RUBE_SEARCH_TOOLS first; never hardcode tool slugs or argument shapes.
  • Verify Browserless connection status with RUBE_MANAGE_CONNECTIONS and follow any auth links until status is ACTIVE.
  • Pass memory (even an empty object) in RUBE_MULTI_EXECUTE_TOOL calls and reuse session_id within a workflow.
  • Use RUBE_GET_TOOL_SCHEMAS or the search response schemaRef for exact field names and types.
  • Handle pagination tokens in search responses and iterate until all results are retrieved.

Example use cases

  • Automate form submission and data extraction from multiple sites using discovered Browserless tools.
  • Validate and refresh Browserless connections before running scheduled scraping jobs.
  • Chain page navigation, DOM interactions, and screenshot capture across multiple tools in one session.
  • Execute bulk browser tasks through RUBE_REMOTE_WORKBENCH for parallelized workloads.
  • Create resilient workflows that adapt to changing tool schemas returned by RUBE_SEARCH_TOOLS.

FAQ

Why must I call RUBE_SEARCH_TOOLS before executing a tool?

Tool schemas and available slugs can change; searching returns the current schemas, execution plans, and pitfalls to ensure correct arguments and avoid failures.

What if RUBE_MANAGE_CONNECTIONS reports the Browserless connection is not ACTIVE?

Follow the auth link returned by the connection call to complete setup, then recheck until the status shows ACTIVE before executing tools.

Is memory required when calling RUBE_MULTI_EXECUTE_TOOL?

Yes. Always include a memory parameter (use {} if nothing to store) because the execution API expects it and workflows depend on consistent memory handling.