Skills

Smoke

Start one or more local OpenBot dev instances and smoke test the features that the...

Install

npx skills add nightly-labs/openbot --skill smoke -g -a claude-code -y
Repository
nightly-labs/openbot4.5k
Category
Testing
Updated
3d ago
License
See repository
Context cost
Lightabout 1,486 tokens
Runs scripts
No, instructions only

What it does

Start one or more local OpenBot dev instances and smoke test the features that the current changes or a pull request add. Use when asked to smoke test, QA, or check a change or PR in the real app, including two-client team flows, the browser client, and the iOS simulator.

Smoke

Start the local dev stack for this worktree. Then drive the real app and prove that each feature in the change works. Report what passed, what failed, and what you did not check.

A smoke test does not replace tests or CI. Do not run broad checks here. AGENTS.md forbids them locally.

Before you start

  • Read AGENTS.md and the AGENTS.md of each directory in the change.
  • Run node --version. Node 24 is necessary.
  • Prefix each bun run dev* command with env -u ELECTRON_RUN_AS_NODE. An agent shell can leak this variable, and then Electron starts as Node.
  • In a fresh worktree, run bun run dev:bootstrap once. When it reports a missing .env.keys, copy the file from the main checkout. Do not create a new one.

Step 1, Find what to test

Get the change set. Use the first source that applies:

  1. A PR number or URL: gh pr view <pr> --json title,body,headRefName,files and gh pr diff <pr> --name-only. Check out the PR branch in this worktree only when the user asks. Otherwise test the current branch.
  2. A branch: git diff --name-only $(git merge-base origin/main HEAD), plus git status --short for uncommitted work.

bun run dev:verify reads only uncommitted changes. Use it for setup and runtime state, not for the change set. Ignore the lint and typecheck entries in its commands.

Read the PR body and the diff. Write a short test plan before you start the app. Give each item a user action and an expected result:

#FeatureSurfaceActionExpected result
1Short namedesktop / test-client / web / mobileStepsVisible result

Include the reverse action for each state change: snooze/unsnooze, pause/resume, revoke/reconnect, mute/unmute. Include a restart when the change touches persisted state or migrations.

When a change has no user-visible behavior, such as a refactor, a test, or docs only, say so and stop. Do not start the app for it.

Read the whole SKILL.md on GitHub

More in Testing