Smoke Test
Launch the app and hands-on verify that changes work. Not unit/integration tests.
Step 1: Determine Scope
If the user specifies what to test, use that. Otherwise, derive scope from conversation context. Extract:
- What changed — feature, fix, or refactor description
- Where it lives — files, routes, commands, UI screens affected
- Expected behavior — what should be observable when the changes work
Step 2: Determine Testing Approach
Examine the project type and available skills/MCP tools to choose the right approach.
- Web app →
/agent-browserskill - UI/native app → project-specific UI testing skill or MCP tool if available, otherwise
/peekabooskill - CLI tool → direct terminal execution
- Library with no entry point → report that smoke testing is not applicable and stop
Step 3: Plan Smoke Tests
Design targeted smoke tests based on the scope. Each test should:
- Exercise the specific feature or fix that was just implemented
- Verify the happy path works end-to-end
- Check one obvious edge case if applicable
Present the test plan to the user with AskUserQuestion before executing:
Smoke Test Plan:
1. [Test description] — verifies [what]
2. [Test description] — verifies [what]
3. [Test description] — verifies [what]
Approach: [agent-browser / peekaboo / terminal]
Dev server command: [command]
Wait for approval before executing.
Step 4: Execute
Web App Path
Start the dev server if not already running. Wait for it to be ready. Run /agent-browser skill for full browser automation documentation.
Core verification loop per test:
- Navigate to the relevant page/route
- Snapshot and verify expected UI elements exist
- Interact (fill forms, click buttons, navigate)
- Re-snapshot and verify the expected outcome
- Record pass/fail
Close the browser session and stop the dev server when done.
UI/Native App Path
Launch the app. Run the project-specific UI testing skill if available, otherwise run /peekaboo skill.
Core verification loop per test:
- Capture the UI state
- Interact with the relevant controls
- Re-capture and verify the expected outcome
- Record pass/fail
CLI Path
Run commands directly.
Core verification loop per test:
- Run the command with expected inputs
- Check stdout/stderr for expected output
- Verify side effects (files created, data changed)
- Record pass/fail
Step 5: Report
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.
Rules
- Always clean up: close browser sessions, stop dev servers started by this skill.
- Never modify code. This skill is read-only verification. If a test fails, report the failure — do not attempt to fix it.
- If the dev server fails to start, report the error and stop.
- Keep tests focused on the determined scope. Do not regress into full app testing.
- To diagnose failures, run the
/investigateskill on the smoke test report.