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

gemini-automation skill

/gemini-automation

This skill automates Gemini operations via Rube MCP, discovering current tool schemas first to ensure adaptive, schema-aware tool execution.

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

# Gemini Automation via Rube MCP

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

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

## Prerequisites

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

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["gemini"]
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 Gemini-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `gemini` |
| 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 Gemini tasks through Composio’s Gemini toolkit using Rube MCP. It provides a reproducible pattern: discover tools, confirm Gemini connection, then execute schema-compliant calls. The workflow emphasizes always searching tools first to fetch current schemas and avoid hardcoding.

How this skill works

The skill uses RUBE_SEARCH_TOOLS to discover available Gemini tool slugs, input schemas, and recommended plans. It verifies or establishes an active Gemini connection with RUBE_MANAGE_CONNECTIONS, then runs operations with RUBE_MULTI_EXECUTE_TOOL (including a memory object) or RUBE_REMOTE_WORKBENCH for bulk jobs. It handles session management, pagination, and schema validation returned by the search step.

When to use it

  • Automating Gemini prompts, uploads, or model operations from an orchestration agent
  • Building repeatable Gemini-driven pipelines that must stay schema-safe
  • Running bulk or parallel Gemini tasks through Composio tooling
  • Integrating Gemini actions into broader workflows that require connection management
  • When tool schemas may change frequently and must be discovered at runtime

Best practices

  • Always call RUBE_SEARCH_TOOLS first to get current tool slugs and input schemas; never hardcode slugs or fields
  • Check RUBE_MANAGE_CONNECTIONS and ensure the toolkit `gemini` is ACTIVE before executing tools
  • Supply the exact field names and types returned by search responses to avoid schema validation errors
  • Always include a memory parameter (can be empty {}) in RUBE_MULTI_EXECUTE_TOOL calls
  • Reuse session IDs across related steps; generate new session IDs for separate workflows
  • Watch for pagination tokens in search responses and iterate until all results are fetched

Example use cases

  • Discover Gemini upload or prompt tools dynamically, then run model inference without manual schema wiring
  • Automate a nightly batch that executes multiple Gemini operations via RUBE_MULTI_EXECUTE_TOOL or RUBE_REMOTE_WORKBENCH
  • Build an agent that conditionally invokes different Gemini tools based on the search-recommended execution plan
  • Create fail-safe workflows that validate connection status and prompt re-auth when RUBE_MANAGE_CONNECTIONS reports non-ACTIVE
  • Perform schema-aware transformations: fetch tool schema, adapt inputs, and execute to avoid runtime errors

FAQ

Do I need API keys to use Rube MCP?

No. Add https://rube.app/mcp as an MCP server in your client configuration; the MCP endpoint handles access flows and RUBE_MANAGE_CONNECTIONS provides auth links if needed.

What if a tool slug or schema changes mid-workflow?

Always re-run RUBE_SEARCH_TOOLS before execution steps that may be affected. Reuse sessions for continuity, but rediscover tools if the task surface could change.