saas-smoke-check

Critical-path smoke gate before QA hand-off — runs the automated suite. A failed check means the build is not QA-ready.

SKILL.md

GitHub

!bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys locale,automation,workflow,qa.level,testing.strict

Smoke Check

Interaction Localization Rule: When locale: pt-BR (or user speaks Portuguese), ALL questions (AskUserQuestion / ask_question), confirmation prompts, and selectable options MUST be translated and presented in Brazilian Portuguese (PT-BR). Any English question text or options in this skill are illustrative examples — NEVER display English questions or options to a Portuguese developer. Internal reasoning, code synthesis, tests, and documentation files MUST remain in English.

This skill is the gate between "implementation done" and "ready for QA hand-off". It runs the automated test suite, checks for test coverage gaps, batch-verifies critical paths with the developer, and produces a PASS/FAIL report.

The rule is simple: a build that fails smoke check does not go to QA. Handing a broken build to QA wastes their time and demoralises the team.

Output: production/qa/smoke-[date].md


Every AskUserQuestion call follows .claude/docs/automation-modes.md (collaborative asks always · guided major-only · autonomous logs and proceeds; automation_always_ask categories always prompt).

qa.level: at minimal, smoke-check is optional — if run, a FAIL is advisory and never blocks hand-off, and a project with no product tests is checked by its build, launch and critical paths alone (Phase 1 step 1); at standard, it is required before a phase transition; at full, before every commit. This sits in front of the Phase 6 testing.strict.config resolution (which only matters once a smoke run gates). Distinct axis from workflow.

Parse Arguments

Arguments can be combined: /saas-smoke-check sprint --platform mobile

Base mode (first argument, default: sprint):

  • sprint — full smoke check against the current sprint's stories
  • quick — skip coverage scan (Phase 3) and Batch 3; use for rapid re-checks

Platform flag (--platform, default: none):

  • --platform desktop — add desktop web checks (keyboard, mouse, wide viewports)
  • --platform mobile — add mobile responsive checks (touch targets, portrait viewport <640px)
  • --platform tablet — add tablet viewport checks (768px-1024px)
  • --platform all — add all viewport variants; output per-viewport verdict table

If --platform is provided, Phase 4 adds platform-specific batches and Phase 5 outputs a per-platform verdict table in addition to the overall verdict.


Phase 1: Detect Test Setup

Read references/1-detect-setup.md now and follow it — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.

Phase 2: Run Automated Tests

Read references/2-run-tests.md now and follow it — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.

Phase 3: Check Test Coverage

Read references/3-coverage.md now and follow it — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.

Phase 4: Run Manual Smoke Checks

Read references/4-manual-checks.md now and follow it — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.

Phase 5: Generate Report

Read references/5-report.md now and follow it — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.

Phase 6: Write and Gate

Read references/6-write-gate.md now and follow it — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.

Collaborative Protocol

Applies in collaborative mode (the default). For guided and autonomous modes, see .claude/docs/automation-modes.md — the rules below describe what collaborative mode requires, not universal behavior.

  • Never treat NOT RUN as automatic FAIL — record it as NOT RUN and let the developer confirm status manually. Unconfirmed NOT RUN yields NOT ASSESSED, not FAIL — and not a pass verdict either.
  • Never auto-fix failures — report them and state what must be resolved. Do not attempt to edit source code or test files.
  • PASS WITH WARNINGS does not block QA hand-off — it records advisory gaps for /saas-story-done to follow up on.
  • quick argument skips Phase 3 (coverage scan) and Phase 4 Batch 3. Use it for rapid re-checks after fixing a specific failure.
  • Use AskUserQuestion for all manual smoke check verification.
  • Never write the report without asking — Phase 6 requires explicit approval before any file is created.