MCPInstall

remote-run

Run bazel commands in a remote runner. Use when the user asks to run bazel build, bazel test or bazel run.

Installs
58
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/buildbuddy-io/buildbuddy --skill remote-run
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads remote-run automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

bb remote runs commands in a remote runner. These runners can have more compute power, and workspaces are snapshotted between runs, speeding up subsequent runs.

It also uploads any local git diffs to the remote runner.

Getting help

If you don't know how to accomplish a task, you should consult the docs at https://www.buildbuddy.io/docs/remote-bazel. Do not try to run bb remote --help or bb help.

Pre-run gate

Before running any bb remote command, you should check if the user asked to add a flag to the command (either configuring Remote Bazel or bazel). If they did, follow the flag persistence steps below.

Drop-in bazel replacement

Instead of running bazel commands locally with bazel, run them on a remote runner using the bb remote command.

For example, you should replace the command bazel build :target with bb remote build :target. bazel run :target should be replaced with bb remote run :target.

You should preserve any bazel startup flags and options. bazel --output_base=X test :target --config=Y should become bb remote --output_base=X test :target --config=Y.

Flag persistence

Whenever the user provides flags not already in the persistent-flags.md file, follow this workflow before running the command:

  1. Ask: Do you want me to persist <FLAG> in this SKILL file so it is automatically applied to all future remote runs?
  2. Wait for explicit confirmation before editing this file.
  3. Ask the user to confirm the syntax of the flag via an example.
  4. If the user confirms, edit only the persistent-flags.md file.
  5. Ensure the flag is not already present.
  6. Preserve alphabetical ordering.
  7. Add one example command per flag.

Entry format:

  • --flag=value: Example: bb remote build :target --flag=value

Run any bash command remotely

You can also use bb remote to run commands that would be expensive to run locally. For non-bazel commands, you can run them with --script.

For example, you could run bb remote --script="echo HELLO!".

Failure

On failure, you should warn the user and print the invocation URL for the remote run. This will be at the top of the logs, and will look like Streaming remote runner logs to: https://app.buildbuddy.io/invocation/d70a1719-4cb6-4568-a19e-9b6f8e2b3ec3

Configuration

You can configure the OS and architecture of the remote runner with the flags --os and --arch. Valid values of os are: linux and darwin. Valid values of arch are: amd64 and arm64. By default, the remote runner will match the local architecture.

You can configure the image of the remote runner with --container_image=docker://<URL>.

If a remote runner is corrupted and you want a clean one, you can set --runner_exec_properties=salt=<VALUE>. Just make sure you preserve this flag if you want future runs to resume from this new runner.

Requesting more resources

We strongly recommend not setting these and using the defaults unless absolutely necessary. Only suggest increasing resources if the logs explicitly report OOM errors or disk exhaustion.

You can request more resources for the remote runner with --runner_exec_properties=EstimatedCPU=X, --runner_exec_properties=EstimatedFreeDiskBytes=XGB and EstimatedMemory=XGB.

Auth

If the request is not authorized, tell the user to run bb login and follow the login flow in the UI. Don't try to run bb login yourself because some manual steps are required.

An API key will be stored in .git/config under:

[buildbuddy]
  api-key = <API_KEY_HERE>

If running in non-interactive mode, the user should save the API key as a secret, and you can pass it with --remote_header=x-buildbuddy-api-key=<API_KEY_HERE>.

Pre-requisites

If bb is not installed, it can be installed with curl -fsSL https://install.buildbuddy.io | bash.

FAQ

What does the remote-run skill do?

Run bazel commands in a remote runner. Use when the user asks to run bazel build, bazel test or bazel run.

How do I install remote-run?

Run npx skills add https://github.com/buildbuddy-io/buildbuddy --skill remote-run in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/remote-run/ (personal) or .claude/skills/remote-run/ (project).

Which AI agents can use remote-run?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is remote-run safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains remote-run?

It is published by buildbuddy-io in buildbuddy-io/buildbuddy. It has 58 recorded installs.

More from buildbuddy-io/buildbuddy

View all →

remote-run-curl

buildbuddy-io/buildbuddy

Run bazel commands in a remote runner. Use when the user asks to run bazel build, bazel test or bazel run.

Testing & QA763 installs

view-build-logs

buildbuddy-io/buildbuddy

Fetch BuildBuddy invocation logs. Use when you need to inspect or debug Bazel build logs for a specific invocation ID or invocation URL.

Popular testing & qa skills

View category →

tdd

mattpocock/skills

Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

Testing & QA1.2M installs

grilling

mattpocock/skills

Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

Testing & QA996.2K installs

migrate-to-shoehorn

mattpocock/skills

Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.

Testing & QA484.1K installs

run-train

lllllllama/rigorpilot-skills

Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.

Testing & QA337.8K installs

test-driven-development

obra/superpowers

Use when implementing any feature or bugfix, before writing implementation code

Testing & QA261.8K installs

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work

Testing & QA216.8K installs