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 thread-listgit 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/thread-list)<a href="https://agentmods.dev/skills/get-bb/bb/thread-list"><img src="https://agentmods.dev/badge/skills/get-bb/bb/thread-list/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/thread-list"><img src="https://agentmods.dev/badge/skills/get-bb/bb/thread-list.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.00033 | $0.01171 |
| Opus 5.5 | $0.00013 | $0.00468 |
| Sonnet 5.5 | $0.00007 | $0.00234 |
| Haiku 4.5 | $0.00003 | $0.00117 |
Grade A, and why
thread-list 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 — 93 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Thread list preferences
The Thread list plugin owns the sidebar's layout state. Read it with
bb thread-list prefs list --json; keys are showProviderIcons, threadLifecycles, organizationMode,
environmentGrouping, groupByReadStatus, chronologicalSort, sortDirection, sectionOrder,
manualSectionOrder, machineSectionOrder, hiddenGroups (including the
built-in threads group), rowActions,
collapsedSections, collapsedProjects, collapsedThreads,
collapsedEnvironments, collapsedThreadSections, and collapsedMachines.
bb thread-list prefs list [--json]
bb thread-list prefs get <key> [--json]
bb thread-list prefs set <key> <value> [--json]
bb thread-list prefs reset <key> [--json]
set takes JSON; a bare word is read as a string, so
bb thread-list prefs set organizationMode machine and
bb thread-list prefs set manualSectionOrder '["pinned","sections","threads"]'
both work. A value the key's schema rejects fails with
invalid_preference_value and leaves the stored value alone. Every open
window applies a change immediately. Sections themselves and a thread's
section are bb core state: use bb thread section and bb thread update.
On first load the plugin copies any non-default sidebar.* values from
bb settings ui once; after that the two are independent.
environmentGrouping decides whether sibling threads sharing one worktree
collapse into a single row: "auto" (default) groups them in every
organization except chronological, false never groups, and true always
groups. Children sharing their parent’s worktree stay directly beneath the
parent without another worktree header. sortDirection is default (each field's natural order: newest first
for dates, A–Z for titles), ascending, or descending.
hiddenGroups (default []) moves groups into More, the same as a group
menu's Hide from list. Keys are threads, project:<projectId>,
section:<sectionId>, and machine:<hostId> (machine:no-machine for the
unassigned group); threads applies in every organization. Pinned cannot be
hidden, hiding keeps a group's threads, order, and collapse state, and IDs that
no longer exist stay saved without producing rows. set replaces the whole
list across organizations, so include existing keys to keep them hidden;
reset shows every group:
bb thread-list prefs set hiddenGroups '["threads","project:proj_example"]'
The header's Filter menu selects Active, Archived, or both; at least one must
remain selected. bb thread-list prefs set threadLifecycles '["archived"]'
shows archived threads, and '["active","archived"]' shows both. The default
is '["active"]'. Archived results load in pages; use Show more at the end
of the list. The same preference is available through setPreference RPC.
rowActions picks up to three quick-action buttons a thread row shows on
hover, left to right before its actions menu, as thread action keys: bb's
bb--core/split, bb--core/copyLink, bb--core/read, bb--core/pin,
bb--core/rename, bb--core/archive, bb--core/delete, the list's
thread-list/move (opens a section menu), or another plugin's
<pluginId>/<actionId>. Bare legacy ids such as archive and core/<id>
keys still work. The default is '["bb--core/archive"]' and '[]' leaves
only the menu. For example,
bb thread-list prefs set rowActions '["bb--core/pin","bb--core/archive"]'.
In the app, a thread
row's actions menu has Customize actions, which turns that row's quick
actions into three editable slots in place; each slot picks an action, a filled
slot can Hide, and filled slots drag to reorder. Done, Escape, or a click
elsewhere finishes.
Organize → Rows → Provider icons toggles the icon before each thread title.
showProviderIcons defaults to true; use
bb thread-list prefs set showProviderIcons false to hide them. Unknown
provider ids have no icon.
Organize → Groups → By read status lists threads that show the unread dot above
the rest, keeping the selected sort within each group. groupByReadStatus
defaults to false; use bb thread-list prefs set groupByReadStatus true to
turn it on. Parents start collapsed while it is on, without changing
collapsedThreads, and environmentGrouping is ignored. The open thread keeps
its place until another thread is opened.
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 · +1 lines 249a39be70b1
- yesterday Changed · +19 lines 22292a64c962
- 6d ago Changed · +5 lines edb1ee374c28
- 8d ago Changed · +2 lines af2c6fd561a0
- 10d ago Changed · +7 lines acedc62049d7
- 16d ago Changed · +7 lines c4f56ecd26e0
- 19d ago Changed · +8 lines · +4 tokens per session c40e8b1d7142
- 20d ago Changed · +5 lines a8886ac57aec
- 23d ago Changed · +7 lines 8fce1e95d83f
- 24d ago First seen · 32 lines · 29 tokens per session scan A fc25f22fbbaf
thread-list is a skill published in the GitHub repository get-bb/bb (4,324 stars, last pushed today), licensed MIT. It adds 33 tokens to every session and 1,171 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-22.
Other skills, from other repositories
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…
computer-use
Use Avibe's local Computer Use CLI for carefully bounded desktop observation and actions.
termio
See and drive the sibling agent sessions running alongside you in this Termio project via the termio sessions CLI — list and watch their status, spawn new agent or plain-terminal sessions, send a prompt or an answer into a session, and read an agent's reply from its transcript. Use when delegating work to another…
workflow
A workflow skill for embedded-device projects that plans and runs building, flashing, debugging, observing, and diagnosis tasks.
develop-inspection-feature
End-to-end workflow for adding a new inspection or quick-fix feature to the explyt/spring-plugin repository: duplicate check, fact verification against authoritative javadoc, base-class and gating choice (isAvailableForFile), visible-element highlighting, registration, platform tests, branch and PR. Use when the user…
meeting-prep
Build a pre-meeting briefing — who's in the room, what they care about, your goal, and the questions to ask. Trigger when the user asks to prep for a meeting or call, "what should I know before", or names an upcoming meeting.