Agent skill

Verify Bb

by get-bb in get-bb/bb

Verify BB user journeys in an isolated source dev app using dev-browser@next and the matching source CLI.

MITAuto-check passedTesting & QA

Install Verify Bb

skills CLI
$ npx skills add get-bb/bb --skill verify-bb -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install get-bb/bb verify-bb --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/get-bb/bb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.bb/skills/verify-bb .claude/skills/verify-bb && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
verify-bb
GitHub stars
4.2k
Token cost
~3.2k tokens
SKILL.md length
1,432 words
Files
61 (incl. scripts)
Skills in repo
34
Repo updated
First seen
Licence
MIT

At a glance

Verify BB user journeys in an isolated source dev app using dev-browser@next and the matching source CLI.

  • Tasks that involve QA and bug reports
  • SKILL.md covers Coverage and selection, Launch, Doctor and Drive, plus 2 more sections
  • Calls pnpm, node and curl
  • Tasks that involve Customer journey mapping

What it does

Verify Bb is an agent skill from get-bb/bb. Verify BB user journeys in an isolated source dev app using dev-browser@next and the matching source CLI. Use after BB feature changes or when asked to verify or smoke-test BB. The feature map covers core UI and agent interfaces, every repository plugin, desktop, mobile, and hosted services; select the affected recipes and platform prerequisites.

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 61 other files, including scripts (for example `INVENTORY.md`, `MAINTENANCE.md` and `VALIDATION.md`).

It sits in Testing & QA, covering QA and bug reports and Customer journey mapping. The repository describes itself as: The agent IDE that builds itself. The licence is MIT.

When your agent uses it

  • Tasks that involve QA and bug reports
  • Tasks that involve Customer journey mapping

Example prompts

  • “/verify-bb”

Requirements

  • Python 3
  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit 53c1e87. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • pnpm
    • node
    • curl
    • npm
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, curl, npm and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Verify Bb loads about 3.2k tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 1,432 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~90
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from get-bb/bb at commit 53c1e87, republished under its MIT licence (© get-bb). 1,432 words, ~3,168 tokens.

Download SKILL.mdSave it as .claude/skills/verify-bb/SKILL.md (or your agent's skills folder). This skill also uses 60 other files; get the full folder from GitHub.
name
verify-bb
description
Verify BB user journeys in an isolated source dev app using dev-browser@next and the matching source CLI. Use after BB feature changes or when asked to verify or smoke-test BB. The feature map covers core UI and agent interfaces, every repository plugin, desktop, mobile, and hosted services; select the affected recipes and platform prerequisites.

Verify BB

Run from the repository root. Start with the feature map and select the affected journeys. Read docs/debugging-and-qa.md for the source development workflow. The launch below targets the source web app and local host daemon. Desktop, native mobile, and hosted services have additional setup in their feature files. A pass on one platform does not verify another.

Coverage and selection

The feature map aims to inventory every feature discoverable in this checkout, including disabled plugins, compatibility paths, and developer surfaces. Group files contain individual capability recipes. Read only the relevant files for a focused verification request; for an exhaustive audit, track every recipe. Mark each selected recipe passed, failed, not run, or blocked with its specific prerequisite and evidence. Group-level source coverage never upgrades an unexecuted recipe to a pass.

Run the read-only inventory check before selecting coverage:

bash
.bb/skills/verify-bb/scripts/inventory.py

Python 3 and Git are required. The check compares source declarations and fingerprints with INVENTORY.md and inventory.json, and requires all recipe owners to exist. On drift, inspect the changed source, add/update recipes and their prerequisites, then run scripts/inventory.py --write via its full path above and review the diff. Never accept a new baseline merely to silence the check. It watches CLI families, app routes/actions/settings, public contracts/SDK, plugin sources, platform clients and server/daemon implementation. The broad fingerprints deliberately flag implementation changes too: some require only a recorded review, others reveal behavior missing from the map. Literal extraction cannot resolve every dynamic registration, and source fingerprints cannot judge recipe completeness; reconcile menus, help, schemas and actual behavior during maintenance.

The latest maintenance audit assessed all 348 recipes: 166 passed, 177 partial/blocked and 5 failed. The per-recipe ledger records evidence and remaining subchecks. VALIDATION.md preserves the initial smoke history. An exhaustive map is the test inventory, not a whole-product pass.

After changing the inventory helper, run its standalone fixture tests:

bash
.bb/skills/verify-bb/scripts/test_inventory.py

These use temporary Git repositories and verify drift, missing ownership, catalog consistency, and index coverage without starting BB.

Launch

Use Node 22.19 or newer in the Node 22 line; .nvmrc supplies the primary version. The initial run passed on Node 22.23.2. Node 24.18.0 crashed during native-module setup on that run. Keep the chosen Node on PATH for launch, source CLI calls, and cleanup. Do not bypass native-module repair or rebuild a shared binary manually.

bash
node --version
npm install -g dev-browser@next
dev-browser --version
dev-browser --help

If Chrome is missing, run dev-browser install. The browser CLI accepts Puppeteer scripts on stdin and keeps named pages between calls.

Choose an unused checkout. pnpm dev assigns ports and a data directory from the checkout path. Resolve them before starting and confirm the ports are free. Use a fresh store, never an imported store or the user's production database.

For a new run, create a unique evidence directory and a nonempty fresh dev directory. The marker also prevents migrateLegacyDevData from adopting legacy data from the parent .bb-dev directory. If mkdir finds an existing dev directory, stop this setup and use another unused checkout; do not delete or adopt the existing data.

bash
export BB_VERIFY_RUN="$(mktemp -d /tmp/bb-verification-XXXXXX)"
export BB_VERIFY_BROWSER="verify-bb-$(basename "$BB_VERIFY_RUN")"
node --conditions=source --import tsx --input-type=module > "$BB_VERIFY_RUN/before-launch.txt" <<'JS'
import { resolveCurrentDevInstanceConfig } from './packages/config/src/runtime.ts';
const config = resolveCurrentDevInstanceConfig(process.cwd());
console.log(`App: http://127.0.0.1:${config.ports.appPort}`);
console.log(`Server: ${config.serverUrl}`);
console.log(`Host daemon: http://127.0.0.1:${config.ports.hostDaemonPort}`);
console.log(`Data dir: ${config.dataDir}`);
JS
command -v lsof >/dev/null || exit 1
for BB_VERIFY_PORT in $(sed -nE 's/^(App|Server|Host daemon): http:\/\/[^:]+:([0-9]+)$/\2/p' "$BB_VERIFY_RUN/before-launch.txt"); do
  if lsof -nP -iTCP:"$BB_VERIFY_PORT" -sTCP:LISTEN; then
    exit 1
  fi
done
export BB_VERIFY_DATA_DIR="$(sed -n 's/^Data dir: //p' "$BB_VERIFY_RUN/before-launch.txt")"
export BB_VERIFY_APP_URL="$(sed -n 's/^App: //p' "$BB_VERIFY_RUN/before-launch.txt")"
test -n "$BB_VERIFY_DATA_DIR" && test -n "$BB_VERIFY_APP_URL" || exit 1
mkdir "$BB_VERIFY_DATA_DIR" || exit 1
printf '%s\n' "$BB_VERIFY_RUN" > "$BB_VERIFY_DATA_DIR/verify-bb-owner"
git rev-parse HEAD > "$BB_VERIFY_RUN/source-commit.txt"
pnpm dev > "$BB_VERIFY_RUN/launch.log" 2>&1

All three ports must be unoccupied before starting; checkout-derived ports can collide. Run under the same OS user that owns the dev processes so listener inspection is complete.

Run slow startup through the agent's background process facility, inspect the log, and provide progress while it builds. Keep the process session handle for cleanup and wait for server and daemon health before driving. If it fails, inspect the error and clean up that attempt. pnpm dev runs native-module checks and starts development tasks through Turbo. Install dependencies with pnpm install first if they are missing.

Record the variables above in your run notes so later shell calls retain the same targets. Never rely on variables surviving separate agent shell calls. When resuming this run, require its marker to contain the exact run directory and verify the processes still belong to this checkout.

For source startup checks, run pnpm start:worktree --dryrun first. It prepares through Turbo and prints the resolved paths/ports without starting services or migrating instance data. Repeat to verify cache hits, then run normally and check server/daemon health. Dry runs write build outputs and may repair native modules; use an isolated checkout and keep the serving checkout's data/ports stable.

Doctor

bash
export BB_SERVER_URL="$(sed -n 's/^Server: //p' "$BB_VERIFY_RUN/before-launch.txt")"
export BB_HOST_DAEMON_PORT="$(sed -nE 's/^Host daemon: http:\/\/[^:]+:([0-9]+)$/\1/p' "$BB_VERIFY_RUN/before-launch.txt")"
unset BB_THREAD_ID BB_ENVIRONMENT_ID BB_THREAD_STORAGE BB_PROJECT_ID BB_CLI BB_CLI_REEXEC
pnpm exec turbo run build --filter=@bb/cli
curl -fsS "$BB_SERVER_URL/health"
curl -fsS "http://127.0.0.1:$BB_HOST_DAEMON_PORT/health"
curl -fsS "$BB_SERVER_URL/api/v1/hosts"
node apps/cli/dist/index.js project list --json

The server health returns {"ok":true} (possibly with launchId); daemon health returns ok. Require the intended host to be connected. Inspect lsof -nP -iTCP:<port> -sTCP:LISTEN for each port recorded in preflight, then check its PID's command and working directory with ps and lsof -p <pid>. A responding port alone does not establish instance ownership. Record the current source commit and whether the tree is dirty with the launch evidence.

The doctor shell clears inherited thread context and CLI overrides and sets explicit dev endpoints from preflight. Use node apps/cli/dist/index.js for CLI checks after the Turbo build above.

The source entry point otherwise reexecutes an inherited BB_CLI, silently using the installed client against the dev server. During maintenance, pnpm --silent bb:dev also changed literal newlines in arguments into backslash-plus-n bytes. Direct Node invocation with quoted arguments preserved the bytes. Check the returned content and revision, not only the exit code. Keep these environment changes inside the test shell or wrapper; use bare bb outside it for coordination with the parent BB thread.

Commands such as workflows require thread context. After configuring the dev environment, set BB_THREAD_ID, BB_PROJECT_ID, and BB_ENVIRONMENT_ID only from synthetic entities created in that instance. Never restore the parent's production context. A wrapper that changes directory must invoke the built CLI by its absolute checkout path; scaffold commands should run in an owned fixture directory.

Run doctor after any unexpected behavior. Also check the browser URL and the feature's prerequisite. Provider login is required only for actual agent turns; inspect it through the UI or source CLI, never by printing credentials.

Show full SKILL.md (479 more words)Show less

Drive

bash
dev-browser --headless -b "$BB_VERIFY_BROWSER" -e "const p = await browser.getPage('bb'); await p.goto('$BB_VERIFY_APP_URL'); console.log(await p.snapshot({interactive:true}));"

For later steps use dev-browser --headless -b "$BB_VERIFY_BROWSER" with a quoted heredoc, get page bb, and follow the feature recipe. Read a fresh snapshot before using its ref/eN selector. References are observations, not durable selectors; never copy their numbers from another run. Prefer the stable selectors documented in each recipe. Wait for the expected route, control, or state after an action rather than repeatedly clicking. For a rich composer, enter multiline text with Shift+Enter; literal newlines passed to dev-browser fill() can behave like submit keys. Wait for the draft persistence debounce before checking stored content.

Persistent menus can retain closed DOM nodes. Scope menu selectors to the visible open menu and wait for its exit transition before the next action. Headless Chromium can report (hover: hover) as false even with mouse input. For queued-message actions, click the row's Reorder button to establish focus-within, then verify the action accepts pointer input before clicking.

Do not run concurrent scripts against this page. Separate browser profiles isolate cookies and local preferences, but thread open and pane controls can reach other clients connected to the same server. Serialize these commands across workers, observe the intended client, and reset each profile to its own fixture URL afterward. Browser scripts have no process.env; substitute the resolved run paths in screenshot arguments, or use p.shot() and copy its returned file into the evidence directory.

Evidence

Save before/action/after screenshots, compact text observations, selected API fields, and command results under $BB_VERIFY_RUN. Read the screenshots. Keep raw evidence local: provider pickers and logs can expose private model names and host paths. Review and redact before committing or sharing it.

Prove the interaction through actual browser input. API reads and the source CLI verify side effects; they do not replace clicking the UI. Read persisted state after reload. Report source-only and blocked checks separately from live passes. Never treat a returned prompt or a thread title as an assistant response. Record the exact provider used privately, without hardcoding it into this skill.

Cleanup

Restore settings through the UI and leave synthetic threads idle. Capture logs and evidence before stopping. Verify the ownership marker and inspect the checkout's listeners again before stopping the owned process session. Send Ctrl-C to the pnpm dev session saved at launch and wait for it to exit. Stop any separately started desktop task through its own session too.

bash
test "$(cat "$BB_VERIFY_DATA_DIR/verify-bb-owner")" = "$BB_VERIFY_RUN" || exit 1
dev-browser stop "$BB_VERIFY_BROWSER"
test -s "$BB_VERIFY_RUN/source-commit.txt"

Check that the three previously recorded ports have no listeners and the named browser is absent from dev-browser browsers. Check every evidence file you intend to cite still exists. Remove only this run's marked dev data and synthetic fixture after confirming processes stopped; preserve the run directory and its evidence. Failed attempts need the same ownership checks. Never stop all browser profiles or kill processes by executable name.

Use maintain-verification-skill to audit the map after relevant app changes. The initial observed results and limits are in VALIDATION.md.

© get-bb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 60 other files (scripts) in .bb/skills/verify-bb of get-bb/bb.

  • SKILL.md
  • INVENTORY.md
  • MAINTENANCE.md
  • VALIDATION.md
  • features/README.md
  • features/appearance.md
  • features/cloud-gateway.md
  • features/compact-menu.md
  • features/compatibility-api.md
  • features/composer.md
  • features/desktop.md
  • features/developer-fixtures.md
  • features/execution-controls.md
  • features/extensions.md
  • features/hosted-web.md
  • features/hosts-updates.md
  • features/interactions.md
  • features/local-project.md
  • features/mobile.md
  • features/navigation.md
  • … and 41 more

Open the folder on GitHubat commit 53c1e87

Compare with similar skills

Verify Bb next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Verify Bb compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Verify Bb this skillget-bb/bb4.2k—~3.2kAutomated safety check: PassMIT
Run Smoke Teststamdogood/builder-essential-skills219—~1.9kAutomated safety check: PassMIT
User Behavior QAwannabespace/conar1.5k—~1.4kAutomated safety check: PassAGPL-3.0
Plugin TestNanmiCoder/dsh-auto-mode1651 repos~2.9kAutomated safety check: PassMIT
Solution Testingkid-sid/claude-spellbook189—~3.9kAutomated safety check: PassMIT
Reproduce Chat Statesdifferent-ai/openwork24k—~673Automated safety check: PassCustom licence

Similar skills

  • Run Smoke Tests

    tamdogood/builder-essential-skills

    Inspect an unfamiliar repository, interpret a broad Markdown user journey at runtime, operate the real product through its supported web, API, CLI, desktop, or mobile surface, and produce an…

    219 GitHub stars~1.9k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • User Behavior QA

    wannabespace/conar

    Test the running app through its visible browser UI as a real user.

    1.5k GitHub stars~1.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Plugin Test

    NanmiCoder/dsh-auto-mode

    A skill your agent uses when writing or reviewing tests for DeepSeek Harness plugins, external DSH plugin packages, or package changes in the deepseek-harness repository.

    165 GitHub starsUsed in 1 repo~2.9k tokens
    Testing & QAAuto-check passed
  • Solution Testing

    kid-sid/claude-spellbook

    A skill your agent uses when writing Playwright E2E tests for critical user journeys, setting up post-deployment smoke tests, debugging flaky browser automation, or implementing BDD feature files…

    189 GitHub stars~3.9k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Reproduce Chat States

    different-ai/openwork

    Fires known chat states in the running OpenWork desktop app, such as provider errors, retries and tool steps, so you can check how each renders.

    24k GitHub stars~673 tokensUpdated today
    Testing & QAAuto-check passed
  • Dynamo Jira Ticket

    DynamoDS/Dynamo

    Create structured Jira tickets for Dynamo from bug reports, failing tests, or feature requests.

    2k GitHub stars~1.1k tokensUpdated today
    Testing & QAAuto-check passed

More from get-bb/bb

All 34 skills in this repo
  • Bb CLI

    get-bb/bb

    Inspect or manage BB state with the bb CLI; use for BB commands and configuration.

    4.2k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Skill Creator

    get-bb/bb

    Create or improve BB skills, including their triggers, instructions, and supporting resources.

    4.2k GitHub stars~702 tokensUpdated today
    Auto-check passed
  • Prepare and submit a BB plugin to the Community marketplace when publication or a marketplace PR is requested.

    4.2k GitHub stars~873 tokensUpdated today
    Auto-check passed
  • Workflows

    get-bb/bb

    Author or run durable BB workflows when the user requests workflow execution or multi-agent orchestration.

    4.2k GitHub stars~890 tokensUpdated today
    Auto-check passed
  • Create or edit BB color themes and inspect them in the Theme Preview panel.

    4.2k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Tasks

    get-bb/bb

    Work on or manage records in BB Tasks, including task keys such as ABC-12.

    4.2k GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Categories

Questions about Verify Bb

What does Verify Bb do?

Verify BB user journeys in an isolated source dev app using dev-browser@next and the matching source CLI. Verify Bb is an agent skill from get-bb/bb. Verify BB user journeys in an isolated source dev app using dev-browser@next and the matching source CLI.

When should I use Verify Bb?

Verify Bb fits situations like: tasks that involve QA and bug reports; tasks that involve Customer journey mapping.

How do I install Verify Bb in Claude Code?

Run `npx skills add get-bb/bb --skill verify-bb -a claude-code`. Or copy the skill folder (.bb/skills/verify-bb in get-bb/bb) into .claude/skills/verify-bb in your project. Claude Code loads it when a task matches its description.

How do I install Verify Bb in Codex?

Run `npx skills add get-bb/bb --skill verify-bb -a codex`. Or copy the skill folder (.bb/skills/verify-bb in get-bb/bb) into .agents/skills/verify-bb in your project. Codex loads it when a task matches its description.

Can I use Verify Bb in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add get-bb/bb --skill verify-bb -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verify-bb, .gemini/skills/verify-bb, .github/skills/verify-bb and .opencode/skills/verify-bb in your project.

What does Verify Bb need to run?

Going by SKILL.md and its folder, Verify Bb needs the command-line tools its instructions call (pnpm, node, curl, npm and git). Our summary lists: Python 3; Node.js.

Does Verify Bb access the network?

SKILL.md contains no URLs. Its commands use curl, npm and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Verify Bb safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Verify Bb use?

Verify Bb is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Verify Bb use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Verify Bb?

Skills that share tags, products or a category with Verify Bb: Run Smoke Tests (tamdogood/builder-essential-skills, 219 stars), User Behavior QA (wannabespace/conar, 1.5k stars), Plugin Test (NanmiCoder/dsh-auto-mode, 165 stars) and Solution Testing (kid-sid/claude-spellbook, 189 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Verify Bb?

get-bb (a GitHub organization) maintains it in get-bb/bb, which has 4,166 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on October 8, 2026.

Source: get-bb/bb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.