modal-sandboxes

modal-sandboxes is a skill for Claude Code, Codex from get-bb/bb. It costs 27 tokens per session (1,622 once invoked), scanned A, original, MIT.

A cloud-sandbox guide for connecting Modal, a cloud platform for running temporary machines, and creating reusable machines from configured images. It covers credentials, machine creation, project access, and machine or sandbox lifetimes.

In plain words
What is it for?
Use it to inspect a Modal account, create standalone or thread-based machines, choose machine presets and images, and access a project from the machine.
Why use it?
It gives a defined way to check the connection and create machines without exposing credentials. It also clarifies which machines remain until removed and which sandboxes retire with their threads.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to inspect a Modal account, create standalone or thread-based machines, choose machine presets and images, and access a project from the machine.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/get-bb/bb/modal-sandboxes
About the project

bb is an agentic IDE that lets users control, customize, and automate a software-development environment through a desktop app, web app, command-line interface, or HTTP API. Developers use it to run work in observable threads that can be steered or handed off to other agents. Its catalogue add-ons provide skills and instructions for working with bb.

get-bb/bb · 3,554 stars · on GitHub · getbb.app

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add get-bb/bb --skill modal-sandboxes
Clone the repo
git clone --depth 1 https://github.com/get-bb/bb

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for modal-sandboxes

README.md
[![agentmods](https://agentmods.dev/badge/skills/get-bb/bb/modal-sandboxes/github.svg)](https://agentmods.dev/skills/get-bb/bb/modal-sandboxes)
Your own site
<a href="https://agentmods.dev/skills/get-bb/bb/modal-sandboxes"><img src="https://agentmods.dev/badge/skills/get-bb/bb/modal-sandboxes/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for modal-sandboxes

Your own site · 80×15
<a href="https://agentmods.dev/skills/get-bb/bb/modal-sandboxes"><img src="https://agentmods.dev/badge/skills/get-bb/bb/modal-sandboxes.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 27 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,622 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00027 $0.01622
Opus 5 $0.00014 $0.00811
Sonnet 5 $0.00005 $0.00324
Haiku 4.5 $0.00003 $0.00162

Measured today against content hash 835c680d1643, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

modal-sandboxes scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/environment-modal-sandbox/skills/modal-sandboxes/SKILL.md · 127 lines

How it starts

The opening of the file, as written. The whole thing — 127 lines — stays where its author put it; the contents beside it link to each section on GitHub.

  1. Install builtin:environment-modal-sandbox and configure tokenId and tokenSecret in plugin Settings. Do not print credentials. appName defaults to bb-sandboxes. The plugin page defines named sandbox size presets and images; the initial Default image contains the bundled Dockerfile.
  2. Run bb modal account inspect --json to test the connection without allocating compute. Exit status 1 means configuration or connection failed; the JSON gives a secret-free message. SDK callers use the plugin's modalRpcContract (account.inspect) through sdk.plugins.callRpc.
  3. Resolve the project with bb project list --json. It needs a Git remote, credentials to clone it, and machine server access reachable from Modal.
  4. Create a standalone machine with bb machine create --provider modal-sandbox --json. SDK: hosts.experimental_create({machineProviderId:"modal-sandbox",key}). Standalone machines remain until explicitly removed. Sandboxes created with a thread retire after their last live thread is archived. Use a stable creation key for retries. Composed thread creation accepts optional configured names as {"preset":"Large","image":"Node 22"}.

Settings edits the Default image's Dockerfile, adds named Dockerfile or Modal image-ID entries, and adds named CPU/memory presets. One or zero choices use the default without adding a composer chip; multiple choices share one chip. Agents can run bb modal image show > Dockerfile, edit the file, then run bb modal image set --file ./Dockerfile. bb modal image reset restores the bundled default. Append --json for structured output. File paths resolve from the CLI directory on the current thread's host, or the server primary host without thread context. Typed RPCs image.definition, image.set({dockerfile}), and image.reset return {dockerfile, customized} through sdk.plugins.callRpc.

Only one FROM followed by RUN, ENV, WORKDIR, and USER is supported. Comments and line breaks are preserved; no COPY, ADD, uploaded context, or multi-stage builds. Maximum length is 65,536 characters. Failed validation leaves the saved definition unchanged. Save/reset is plugin-wide and affects new machines only; it does not allocate resources or build. The next launch builds/reuses the content-hashed image. The bundled default supplies tools, not the BB daemon. Core installs the matching daemon during initial bootstrap, then handles machine enrollment, connection and checkout cloning. Creation progress reports build/allocation/bootstrap failures. Cancelling a launch prevents subsequent sandbox allocation, but an already submitted shared image build may finish.

Project dependencies and services belong in .bb-env-setup.sh. Core runs it after creating the checkout. Restoring a machine does not rerun setup. Core also owns .bb-env-teardown.sh for owned environments. Attached user-maintained paths skip both hooks. Configure runtime secrets through core Machine environment settings; never bake them into the image. There are no user recipes, context uploads, smoke verification records or promotion commands.

Use bb machine list --json for core suspension state and bb modal machine inspect HOST_ID --json for Modal expiry and saved-image status. Idle pause defaults to 15 minutes; compute lifetime is fixed at Modal's 24-hour maximum. There is no retention/keep policy; remove machines explicitly.

Manual and idle pauses drain BB work, stop the daemon, snapshot the filesystem, and durably record the snapshot before terminating compute. Resume restores the saved filesystem without rerunning setup. Core defers idle pause while persisted state ties a starting thread launch or provisioning environment to the machine, or while project checkout setup is pending; the next scheduled sweep retries. Continue interrupted turns explicitly.

There is no pre-expiry scheduler. If a sandbox runs for its full 24-hour lifetime, changes since the last successful pause may be lost. Pause before the timeout to save work. Failed saves retain compute while it exists. Missing compute never silently restores an older snapshot; a checkpoint from an interrupted planned suspension remains recoverable.

Read the full file on GitHub · 127 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 127 lines · 27 tokens per session scan A 835c680d1643

Subscribe to this mod's changes

modal-sandboxes is a skill published in the GitHub repository get-bb/bb (3,554 stars, last pushed today), licensed MIT. It adds 27 tokens to every session and 1,622 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-12.

Related

Other skills, from other repositories

vercel

Complete guide for the Vercel plugin — REST API access for deployments, logs, projects, and environment variables using a Vercel Personal Access Token.

stagewise-io/stagewise · 34 tokens

huawei-cloud-modelarts-notebook-management

Manage Huawei Cloud ModelArts Notebook instances through full lifecycle operations via hcloud CLI. Covers 31 API interfaces across 7 functional domains: instance management (create/list/show/update/delete/start/stop), lease management (show/renew), tag management (show/create/delete), image management…

huaweicloud/huaweicloud-skills · 194 tokens

openobserve-telemetry

Instruments AWS serverless projects (API Gateway, Lambda, DynamoDB) to send full OpenTelemetry data — traces, metrics, and logs — to the shared OpenObserve instance on this account. Covers ADOT Lambda layer setup, OTLP endpoint (derived live from CloudFormation) and auth (single SSM SecureString parameter), API…

seandkendall/kiro-config · 169 tokens

Infrastructure Development

Enterprise infrastructure patterns for AWS VPC, ECS, and PrivateLink deployments.

NOMARJ/sigil · 17 tokens

generate-policy

Generate a Sigil sandbox policy YAML from scan results for secure agent execution.

NOMARJ/sigil · 17 tokens

limrun-xcode

Build an iOS / Apple app on remote Xcode with lim xcode build instead of local xcodebuild, or run its XCTest suites with lim xcode test, from any environment (Linux, Windows, macOS, VM, container). Use for non-Bazel projects (an .xcodeproj / .xcworkspace, an XcodeGen project.yml with a gitignored project, React Native…

sutchan/Agent-Skills-Hub · 159 tokens