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.
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.
npx skills add get-bb/bb --skill modal-sandboxesgit clone --depth 1 https://github.com/get-bb/bbWrote 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.
[](https://agentmods.dev/skills/get-bb/bb/modal-sandboxes)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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.
Modal machines
- Install
builtin:environment-modal-sandboxand configuretokenIdandtokenSecretin plugin Settings. Do not print credentials.appNamedefaults tobb-sandboxes. The plugin page defines named sandbox size presets and images; the initial Default image contains the bundled Dockerfile. - Run
bb modal account inspect --jsonto 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'smodalRpcContract(account.inspect) throughsdk.plugins.callRpc. - Resolve the project with
bb project list --json. It needs a Git remote, credentials to clone it, and machine server access reachable from Modal. - 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.
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.
- today First seen · 127 lines · 27 tokens per session scan A 835c680d1643
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.
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.
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…
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…
Infrastructure Development
Enterprise infrastructure patterns for AWS VPC, ECS, and PrivateLink deployments.
generate-policy
Generate a Sigil sandbox policy YAML from scan results for secure agent execution.
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…