| name | smoke-test |
| description | Run smoke tests against a deployed environment to verify critical paths work |
Skill: smoke-test
Load Context
- Read
$ARGUMENTS for the target environment or URL. If empty, ask the user.
- Read the smoke test section of
docs/RELEASE.md (if it exists)
- Read all SPEC files under
docs/modules/ to extract key API endpoints
- Confirm the base URL for the target environment
Pre-checks
- If the target URL is unreachable (curl timeout) ā abort: "Environment unreachable: . Check deployment status."
- If no environment identifier is provided and cannot be inferred ā ask: "Please provide the target environment URL or name (staging/production)."
Steps
Step 1: Define smoke test scope
Determine test paths in priority order:
- If a
smoke-tests/ directory exists in the project root ā use the defined test cases
- If no dedicated tests exist ā extract key endpoints from each module's SPEC API Contracts section and construct minimal requests
Critical path selection principles (pick 5ā10):
- Service health check (
GET /health or /api/health)
- Simplest happy path for core business flows (e.g. register, login, fetch resource)
- Any endpoint known to have caused issues at launch (inferred from notes or history)
Step 2: Execute checks
For each test path, run and record in this format:
[1/N] GET /health
Expected: 200 OK
Actual: 200 OK ā
[2/N] POST /api/auth/register
Expected: 201 Created
Actual: 500 Internal Server Error ā
Response: {"error": "Database connection failed"}
Timeout per request: 10 seconds.
Step 3: Evaluate results
- All pass ā proceed to Step 4 (success report)
- Failures exist:
- Classify as "critical failure" (core functionality broken) or "non-critical failure" (edge case)
- Critical failure ā go to Error Handling immediately (trigger rollback)
- Non-critical failure only ā output a warning, ask the user whether to accept or trigger rollback
Step 4: Output report
Success:
ā
Smoke tests passed: <environment>
Checks: N passed / 0 failed
Duration: Xs
All critical paths are healthy.
Failure:
ā Smoke tests failed: <environment>
Checks: M passed / K failed
Failed:
ā [2/N] POST /api/auth/register
Expected: 201, Actual: 500
Response: {"error": "Database connection failed"}
Classification: critical failure
Recommended action: rollback immediately
Error Handling
| Situation | Action |
|---|
| Critical path fails (production) | Output report, automatically trigger rollback, do not wait for user confirmation |
| Critical path fails (staging) | Output report, wait for user decision |
| All requests time out | Treat as environment unreachable ā handle as critical failure |
| Auth endpoint returns 401 (test account issue) | Mark as "test configuration issue" rather than service failure ā do not trigger rollback, ask user to check test credentials |
Done When