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 gitgit 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/git)<a href="https://agentmods.dev/skills/get-bb/bb/git"><img src="https://agentmods.dev/badge/skills/get-bb/bb/git/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/git"><img src="https://agentmods.dev/badge/skills/get-bb/bb/git.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.00034 | $0.00801 |
| Opus 5.5 | $0.00014 | $0.00320 |
| Sonnet 5.5 | $0.00007 | $0.00160 |
| Haiku 4.5 | $0.00003 | $0.00080 |
Grade A, and why
git 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.
What it actually says
Git
The plugin runs git in the environment's workspace on its machine. The Diff tab, the composer's changed-files segment and the Info tab read from it.
bb git status <environment-id> [--merge-base-branch <branch>] [--json]
bb git branches <environment-id> [--query <text>] [--limit <n>] [--json]
bb git diff <environment-id> --target <target> [--json]
bb git files <environment-id> --target <target> [--ignore-whitespace] [--json]
bb git file <environment-id> --target <target> --path <path> --side old|new [--json]
bb git patch <environment-id> --target <target> --path <path>... [--json]
bb git viewed list|mark|unmark|clear <environment-id> --target <target> ...
<target>isuncommitted,branch_committed,allorcommit. Branch targets take--merge-base-branch;committakes--sha.filetakes--merge-base-ref <sha>for branch targets instead.statusincludes ahead/behind counts only with--merge-base-branch. Each file list holds at most 200 entries (tracked changes first);fileCountis the total. When squash-merge detection hits its limits (1,000 commits, 1 second),mergeBase.squashMergeCheckCompleteis false and the counts may include commits that were already squash-merged.--ignore-whitespacecounts and diffs withgit -w: whitespace-only files stay listed with +0 -0 and get an empty patch.files --jsonreports each file's revision: old and new git modes and blob ids (<oldMode>:<oldBlob>:<newMode>:<newBlob>). Any content or mode edit, including whitespace, changes it; staging does not.- Viewed is stored per environment and diff target. A file shows as Viewed
only while its current revision equals the stored one, so new edits
un-view it.
viewed markrecords the current revision unless you pass--revision;viewed list --pathtakes up to 500 paths. Mutations print{ "ok": true }with--json. - The old
bb environment status|diff|diff-files|diff-file|diff-patch|branches|diff-viewedcommands still run and print thebb gitcommand that replaced them.
showGitChanges (default true) shows the composer's changed-files segment;
turn it off with bb plugin config bb--git set showGitChanges false.
showCommitButton (default false) shows the thread header's Commit action;
turn it on with bb plugin config bb--git set showCommitButton true.
Other plugins read the same data through RPC. status is a keyed read: pass
environment ids and get one row per id, refreshed after the workspace's files
or refs change.
experimental_useRpcKeyedQuery({
pluginId: "bb--git",
contract: gitRpcContract,
method: "status",
keys: [environmentId],
});
bb plugin rpc inspect bb--git prints the input and output schemas.
Branch targets resolve the requested ref first, then fall back to origin/<branch>. If no merge base with HEAD resolves, diff reads report an error instead of an empty diff.
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 Changed · +7 lines 1dbbccf0c566
- yesterday First seen · 56 lines · 34 tokens per session scan A 6536a8da1017
git is a skill published in the GitHub repository get-bb/bb (4,656 stars, last pushed today), licensed MIT. It adds 34 tokens to every session and 801 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-10-27.
Other skills, from other repositories
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…
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…
gl-cli
Use GitLab from the terminal without registering an MCP server. Covers authenticating the zereight-mcp-gitlab CLI (PAT or OAuth device flow) and reading merge requests, diffs, discussions, issues, and pipelines. Use when the user asks about a GitLab MR/issue/pipeline and no GitLab MCP tools are available, or wants…
gitlab-mcp-skill
Use this skill when working with the GitLab MCP server tools for merge requests, issues, repositories, pipelines, work items, variables, dependency proxy, vulnerabilities, webhooks, search, CI catalog, and related GitLab workflows.
connect
Choose which wiki this session uses, the team project's pages on the Nimbalyst server or the project's local wiki of files, and connect a repository to its team project. Use at the start of a task before any wiki tool, when a wiki tool returns reponotbound, ambiguousproject, pinmismatch, projectnotaccessible…
git-commit
Create git commits using Nimbalyst's interactive commit proposal widget. ONLY use when the user explicitly clicks "Commit with AI" button or asks for "smart commit". For regular commit requests, use standard git commands instead.