Agent skill
smoke-test
Launch the app and hands-on verify that it works by interacting with it. 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 for unit/integration tests.
Install this agent skill to your Project
npx add-skill https://github.com/tobihagemann/turbo/tree/main/skills/smoke-test
SKILL.md
Smoke Test
Launch the app and hands-on verify that it works. Not unit/integration tests.
Step 1: Determine Scope
Resolve scope using the first match:
- User-specified — the user says what to test. Use that.
- PR — a PR URL or number is provided. Fetch the PR details (title, description, changed files, comments) and read the changed code.
- Conversation context — prior conversation contains recent work (a feature, fix, or refactor). Extract what changed, where it lives, and expected behavior.
- App-level discovery — fresh context with no prior work. Examine the project (entry points, routes, commands, README) to identify the app's core user-facing flows. Design tests that verify the app launches and its primary functionality works end-to-end.
Step 2: Determine Testing Approach
Always check for project-specific testing skills or MCP tools first. Use the fallbacks below when nothing project-specific is available:
- Web app →
/agent-browserskill if available, otherwiseclaude-in-chromeMCP - UI/native app →
computer-useMCP - 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 a specific flow from the determined scope
- Verify the happy path works end-to-end
- Check one obvious edge case if applicable
Output the plan as text:
Smoke Test Plan:
1. [Test description] — verifies [what]
2. [Test description] — verifies [what]
3. [Test description] — verifies [what]
Approach: [agent-browser / claude-in-chrome / computer-use / terminal]
Dev server command: [command]
Step 4: Execute
If a project-specific testing skill or MCP tool was identified in Step 2, use that. The paths below are fallbacks.
Web App Path
Start the dev server if not already running. Wait for it to be ready. If /agent-browser is available, run the /agent-browser skill. Otherwise, use claude-in-chrome MCP to interact with the app.
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. Use computer-use MCP to interact with the UI.
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.
Check your task list for remaining tasks and proceed.
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.
- Use the Monitor tool to tail app logs for errors or warnings while verifying, so backend failures surface alongside UI checks.
- To diagnose failures, run the
/investigateskill on the smoke test report.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
review-api-usage
Check API, library, and framework usage in code against official documentation and installed skill knowledge. Flags deprecated APIs, incorrect method signatures, wrong parameter types, version-incompatible patterns, and best-practice violations. Use when the user asks to "review API usage", "check API usage", "verify against docs", "check library usage", "validate API calls", "check against documentation", or "check for deprecated APIs".
resolve-pr-comments
Evaluate, fix, answer, and reply to GitHub pull request review comments. Handles both change requests (fix or skip) and reviewer questions (explain using reasoning recalled from past Claude Code transcripts). Use when the user asks to "resolve PR comments", "fix review comments", "address PR feedback", "handle review comments", "address review feedback", "respond to PR comments", "answer review questions", or "address code review".
consult-codex
Multi-turn consultation with Codex CLI for second opinions, brainstorming, or collaborative problem-solving. Use when the user asks to "consult codex", "ask codex", "get codex's opinion", "brainstorm with codex", "discuss with codex", or "chat with codex".
review-tooling
Detect what dev tooling infrastructure a project has and flag gaps across linters, formatters, pre-commit hooks, test runners, and CI/CD pipelines. Returns structured findings without applying changes. Use when the user asks to "review tooling", "check project tooling", "what tooling is missing", "review dev infrastructure", or "tooling audit".
create-changelog
Create a CHANGELOG.md following keepachangelog.com conventions with version history backfilled from GitHub releases or git tags. Use when the user asks to "create a changelog", "add a changelog", "initialize changelog", "start a changelog", "set up changelog", "generate changelog", or "backfill changelog".
update-changelog
Update the Unreleased section of CHANGELOG.md based on current changes. No-op if CHANGELOG.md does not exist. Use when the user asks to "update changelog", "add to changelog", "update the changelog", "changelog entry", "add changelog entry", or "log this change".
Didn't find tool you were looking for?