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.mdand theAGENTS.mdof each directory in the change. - Run
node --version. Node 24 is necessary. - Prefix each
bun run dev*command withenv -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:bootstraponce. 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:
- A PR number or URL:
gh pr view <pr> --json title,body,headRefName,filesandgh pr diff <pr> --name-only. Check out the PR branch in this worktree only when the user asks. Otherwise test the current branch. - A branch:
git diff --name-only $(git merge-base origin/main HEAD), plusgit status --shortfor 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:
| # | Feature | Surface | Action | Expected result |
|---|---|---|---|---|
| 1 | Short name | desktop / test-client / web / mobile | Steps | Visible 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.


