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 acp-providergit 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/acp-provider)<a href="https://agentmods.dev/skills/get-bb/bb/acp-provider"><img src="https://agentmods.dev/badge/skills/get-bb/bb/acp-provider/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/acp-provider"><img src="https://agentmods.dev/badge/skills/get-bb/bb/acp-provider.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.00022 | $0.01204 |
| Opus 5.5 | $0.00009 | $0.00482 |
| Sonnet 5.5 | $0.00004 | $0.00241 |
| Haiku 4.5 | $0.00002 | $0.00120 |
Grade A, and why
acp-provider 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 2d ago.
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 — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ACP providers
Known agents can be discovered automatically when their CLI is installed on the
host: opencode, omp, grok, and hermes appear as acp-opencode, acp-omp,
acp-grok, and acp-hermes-agent. Inspect the target host's catalog with
bb provider list and bb provider models <provider-id> using its environment
or machine selector.
Agents in the official ACP registry can be added without writing JSON.
bb acp registry [--refresh] [--json] lists them with a status: available,
added, update available, built in (bb already ships it), or
manual install (the agent ships only as a downloadable binary).
bb acp add <agent-id> adds the agent as provider acp-<agent-id>, or moves an
added agent to the registry's current version while keeping the fields edited
by hand. bb acp remove <agent-id> removes it. The plugin's settings page shows
the same list. An added agent is an entry in the Custom agents setting that
runs npx -y <package> or uvx <package> on the thread's host, so the host
needs Node.js or uv. The list is cached for six hours; when the registry cannot
be reached the saved copy is shown with the reason.
To hide a detected ACP agent, use bb provider disable acp-opencode, or Disable
on Settings → Providers. Restore it with bb provider enable acp-opencode.
This leaves other ACP agents and the host CLI intact. Disabled agents skip
background capability probing. bb provider list --all includes disabled agents.
Cursor project skills come from .cursor/skills, which can link to
.agents/skills. BB lists these linked skills as read-only under cursor-project.
ACP agents may reject unlisted model IDs. OpenCode requires models in its own
configuration; BB discovers them there. OpenCode agents are session modes, not
models selectable through BB's model field. BB asks OpenCode for its models
and modes in the directory the thread will run in: the project's checkout for
a new thread, the environment's directory otherwise. OpenCode's custom primary
agents therefore appear in the mode menu whether they live in the OpenCode
config directory or in the project's .opencode/ directory;
bb provider models acp-opencode --project <id> prints the same list. A new
agent file shows up once the stored list is ten minutes old and is read again.
The same holds for a custom agent with dialect: "opencode"; every other ACP
agent is asked once per machine. OpenCode does not read agent files from other
folders such as .agents/agents/; set OPENCODE_CONFIG_DIR (for example to
.agents, resolved in each workspace) as a machine variable with
bb machine env set OPENCODE_CONFIG_DIR or in a custom agent's env, and keep
every file there a valid OpenCode agent file, because OpenCode refuses to start
on one it cannot parse. Grok Build advertises models and
thought_level options over ACP, so the picker follows the connected agent
(including xhigh on grok-4.6).
BB launches OpenCode sessions with OPENCODE_CLIENT=acp and
OPENCODE_ENABLE_QUESTION_TOOL=false, overriding inherited and custom launch
values. Native questions have no ACP interaction handler in BB; agents use the
ask-user-question plugin’s AskUserQuestion tool instead. This also applies to
custom agents with dialect: "opencode" and does not change OpenCode config files.
OpenCode and Grok ACP support the core bb thread compact command; Cursor ACP
does not expose compatible compaction. Check the actual agent's capabilities
before attempting provider-specific recovery.
OpenCode Go subscription usage is available in Provider usage when the selected
machine has OpenCode installed and a Go subscription. Sign in to Go in OpenCode
on that machine, then refresh its OpenCode tab. Verify with
bb settings usage --machine <id-or-name> --json; the SDK equivalent is
bb.sdk.system.usageLimits({ hostId, providerId: "acp-opencode" }).
BB reports Go's five-hour, weekly, and monthly usage and reset times, not local
session token totals or other OpenCode providers' subscriptions.
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.
- 2d ago Changed · +13 lines e00892172856
- 5d ago Changed · +12 lines f086eaa8b84a
- 10d ago Changed 26d8ffff7425
- 13d ago Changed · +10 lines 751c89aa3181
- 15d ago Changed · +5 lines fbaf6d0fbcb3
- 23d ago Changed · +20 lines 05a4a7403174
- 24d ago Changed · +2 lines db02503b83ee
- 1mo ago First seen · 24 lines · 22 tokens per session scan A dbf3ee105afb
acp-provider is a skill published in the GitHub repository get-bb/bb (4,324 stars, last pushed today), licensed MIT. It adds 22 tokens to every session and 1,204 once invoked, about $0.0001 per session on Opus 5.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-07.
Other skills, from other repositories
using-grove
Use when orchestrating Grove workspaces from outside, including creating or supervising host or container agents, steering a fleet, using Grove CLI or MCP tools, or having agents write to each other through the mailbox. Also use when splitting work across workspaces, reviewing a diff from several angles, managing…
working-in-grove
Use when working inside a Grove workspace, including reporting task phase, updating a workspace or its ticket links, using GROVEPHASEFILE, writing to another Grove agent through the mailbox, or waiting on slow work like CI by registering a watch instead of sleeping. Also use when a worktree has a phase file, when…
collaborating-on-diagrams
Use when working with an existing .drawio diagram through Grove collaboration. Triggers on opening, reading, editing, updating, stopping, or recovering a diagram in a Grove workspace. Covers revisioned managed writes, XML-preserving edits, collaboration state, conflicts, read-only stop, and container/editor limits.
mocking-up-in-grove
Use when a visual or frontend task in a Grove workspace needs a mockup approved before code — a new control, a redesigned surface, a layout change. Covers drawing a draw.io mockup through Grove's diagram tools, previewing it in the browser, getting sign-off, filing the approved image on the tracker issue, and handing…
leading-in-grove
Use when you lead a fleet of Grove teammates toward one deliverable, including deciding how many to spawn and how to split the work, writing their onboarding prompt, getting acknowledgment, running scheduled check-ins, answering their mailbox questions, keeping tickets and your own status compaction-proof, reviewing…
configuring-grove
Use when configuring Grove for a user or project, including agent rosters, init scripts, containers, private credentials, daemon or MCP setup, or the native-versus-terminal launch of a Claude Code or Codex agent. Also use when resolving config layers, validating a config schema, or explaining why a workspace starts…