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

bench-automation skill

/bench-automation

This skill automates bench operations via Composio's bench toolkit, ensuring tools are discovered first and connections are active for reliable workflows.

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

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

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

# Bench Automation via Rube MCP

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

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

## Prerequisites

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

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["bench"]
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 Bench-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `bench` |
| 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 Bench operations using Composio's Bench toolkit via the Rube MCP. It orchestrates discovery, connection management, and execution of Bench tools while enforcing schema compliance and session handling. The skill is designed to minimize errors by always searching for current tool schemas before running workflows.

How this skill works

The skill first calls RUBE_SEARCH_TOOLS to retrieve available tool slugs, input schemas, and recommended plans. It then ensures an active Bench connection via RUBE_MANAGE_CONNECTIONS. Workflows run tool invocations through RUBE_MULTI_EXECUTE_TOOL (or RUBE_REMOTE_WORKBENCH for bulk ops), always supplying a session_id and memory object and using fields exactly as returned by the search results.

When to use it

  • Automating routine Bench tasks like deployments, builds, or environment management.
  • Running multi-step workflows that require tool discovery and schema validation.
  • Performing bulk operations or test runs using RUBE_REMOTE_WORKBENCH and run_composio_tool().
  • Integrating Bench operations into larger Claude agent workflows where tool schemas may change.
  • When you need reliable connection handling and session-based execution for Bench toolkits.

Best practices

  • Always call RUBE_SEARCH_TOOLS first to get current tool slugs and exact input schemas.
  • Verify RUBE_MANAGE_CONNECTIONS shows ACTIVE for toolkit 'bench' before executing tools.
  • Include a memory object (even {}) in every RUBE_MULTI_EXECUTE_TOOL call.
  • Reuse session_id for related steps and generate new session_ids for separate workflows.
  • Handle pagination tokens from search results and fetch until completion.

Example use cases

  • Discover available Bench actions for a specific project, then run the correct tool with schema-compliant arguments.
  • Connect to Bench, authenticate via the provided link, confirm ACTIVE status, and trigger a deployment workflow.
  • Execute a bulk migration using RUBE_REMOTE_WORKBENCH and run_composio_tool() across multiple environments.
  • Automate nightly builds by searching for current build tool schemas and running the appropriate tool chain.
  • Add Bench operations into an agent pipeline that dynamically adapts to tool schema changes.

FAQ

Do I need API keys to use Rube MCP?

No. Add https://rube.app/mcp as the MCP server in your client configuration; no API keys are required.

What if a tool schema changed since I last used it?

Always run RUBE_SEARCH_TOOLS immediately before execution to get the latest schema and avoid hardcoded fields.