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

buildkite-automation skill

/buildkite-automation

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

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

# Buildkite Automation via Rube MCP

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

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

## Prerequisites

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

### Step 2: Check Connection

```
RUBE_MANAGE_CONNECTIONS
toolkits: ["buildkite"]
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 Buildkite-specific use case |
| Connect | `RUBE_MANAGE_CONNECTIONS` with toolkit `buildkite` |
| 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 Buildkite tasks by driving Composio's Buildkite toolkit via the Rube MCP. It wraps discovery, connection checks, and tool execution into a repeatable workflow pattern so agents can run Buildkite operations reliably. The skill emphasizes always searching for current tool schemas and validating active connections before executing any operations.

How this skill works

The skill first calls RUBE_SEARCH_TOOLS to discover available Buildkite tools, schemas, and recommended plans. It then verifies an active Buildkite connection via RUBE_MANAGE_CONNECTIONS and executes actions using RUBE_MULTI_EXECUTE_TOOL (or RUBE_REMOTE_WORKBENCH for bulk work), always supplying schema-compliant arguments and a memory object. Session IDs are reused within workflows and new sessions created for new workflows; pagination and schemaRef lookups are handled as needed.

When to use it

  • Automating Buildkite pipeline creations, updates, or triggers from an agent
  • Running CI/CD bulk operations across multiple pipelines or builds
  • Integrating Buildkite management into multi-step agent workflows
  • When tool schemas might change frequently and runtime discovery is required
  • When you need reliable connection verification before executing Buildkite actions

Best practices

  • Always call RUBE_SEARCH_TOOLS first to fetch current tool slugs and input schemas
  • Run RUBE_MANAGE_CONNECTIONS and confirm the Buildkite connection shows ACTIVE
  • Pass an explicit memory object (can be empty {}) to every RUBE_MULTI_EXECUTE_TOOL call
  • Use session IDs consistently within a workflow and generate new ones for new workflows
  • Respect exact field names and types returned by the tool search to avoid schema errors
  • Handle pagination tokens in search or listing responses until the data set is complete

Example use cases

  • Discover Buildkite tools, validate connection, and trigger a pipeline run with schema-compliant arguments
  • Bulk update pipeline environment variables across multiple projects using RUBE_REMOTE_WORKBENCH
  • Query build history with RUBE_SEARCH_TOOLS + RUBE_GET_TOOL_SCHEMAS to format a report
  • Create or update pipeline YAML via the toolkit after confirming tool schemaRef fields
  • Automate build retries or cancels by looking up the correct tool slug and calling RUBE_MULTI_EXECUTE_TOOL

FAQ

What is the first call I should make when using this skill?

Always call RUBE_SEARCH_TOOLS to discover current Buildkite tool slugs and input schemas before any other action.

Do I need API keys to connect to Rube MCP?

No API keys are required for the Rube MCP endpoint; add https://rube.app/mcp to your client as an MCP server and manage connections via RUBE_MANAGE_CONNECTIONS.