tobihagemann/turbo-smoke-test
Launch the app and hands-on verify that it works by interacting with it. Falls back to an existing integration test suite when there is no interactive surface in scope. Use when the user asks to \"smoke test\", \"test it manually\", \"verify it works\", \"try it out\", \"run a smoke test\", \"check it in the browser\", or \"does it actually work\". Not a unit test runner.
npx skills add https://github.com/tobihagemann/turbo --skill smoke-test
Launch the app and hands-on verify that it works by interacting with it. Every smoke test is a concrete interaction with the running app: navigating a screen, clicking a control, filling a form, running a CLI command, and observing the result.
Resolve scope using the first match:
Always check for project-specific testing skills or MCP tools first. Use the fallbacks below when nothing project-specific is available:
browser-use@openai-bundled plugincomputer-use@openai-bundled pluginBefore drafting tests, check whether there is something to exercise:
Otherwise, design targeted smoke tests. Each test should:
Output the plan as text:
Smoke Test Plan:
1. [Interaction with the running app] — what the interaction verifies
2. [Interaction with the running app] — what the interaction verifies
3. [Interaction with the running app] — what the interaction verifies
Approach: [browser-use@openai-bundled / computer-use@openai-bundled / terminal]
Dev server command: [command]
When another agent will execute this plan, append a Setup contract capturing what the executor needs and cannot safely rediscover:
Include an item only when the executor would otherwise derive it from application source; omit anything the running app makes self-evident. Require these details when the chosen testing approach prohibits reading application source as setup documentation.
If a project-specific testing skill or MCP tool was identified in Step 2, use that. The paths below are fallbacks.
Start the dev server if not already running. Wait for it to be ready. Use the browser-use@openai-bundled plugin to interact with the app.
Core verification loop per test:
Close the browser session and stop the dev server when done.
Launch the app. Use the computer-use@openai-bundled plugin to interact with the UI.
Core verification loop per test:
Run commands directly.
Core verification loop per test:
Fallback when Step 3 routed here because nothing was interactive. Run the discovered target. Run multiple integration targets sequentially when they reset or mutate a shared test database, even when the checks are otherwise independent. Tail output in a background shell for long-running suites so failures surface as they happen.
Core verification loop per run:
Do not invent a target if none was found in Step 3 — that gate already stopped.
Present a summary:
Smoke Test Results:
- [PASS] Test 1: description
- [FAIL] Test 2: description — [what went wrong]
- [PASS] Test 3: description
Overall: X/Y passed
If any test failed, include the relevant snapshot, screenshot, or output showing the failure.
Then call update_plan to mark this step completed and continue with the next step of the active workflow.
tmux -L <name>), give each browser session a unique name so cleanup can target only its own, and write screenshots and other scratch state to absolute paths under a unique scratch directory outside the repository under test.$investigate skill on the smoke test report.Take tobihagemann/turbo-smoke-test from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.