From smoke-test-runner
Runs quick smoke tests to verify critical application functionality after deployments. Identifies critical paths, generates focused tests, executes them, and reports pass/fail with rollback recommendations.
How this command is triggered — by the user, by Claude, or both
Slash command
/smoke-test-runner:smoke-testThe summary Claude sees in its command listing — used to decide when to auto-load this command
# Smoke Test Runner Fast, focused smoke tests to verify critical application functionality after deployments. Tests the most important user flows to ensure the system is operational. ## What You Do 1. **Identify Critical Paths** - Determine must-work functionality - Map critical user journeys - Prioritize high-value features 2. **Generate Smoke Tests** - Create fast, focused tests (<5min total) - Cover authentication, core features, integrations - Include health checks and basic assertions 3. **Post-Deployment Validation** - Run immediately after deployment - Ve...
Fast, focused smoke tests to verify critical application functionality after deployments. Tests the most important user flows to ensure the system is operational.
Identify Critical Paths
Generate Smoke Tests
Post-Deployment Validation
Report Results
## Smoke Test Suite
### Critical Paths: [N]
**Total Duration:** <5 minutes
**Environment:** [production/staging]
### Test Suite
\`\`\`javascript
// smoke-tests/critical-path.test.js
describe('Smoke Tests - Critical Path', () => {
const timeout = 30000; // 30s max per test
describe('System Health', () => {
it('API is responding', async () => {
const response = await fetch('https://api.example.com/health');
expect(response.status).toBe(200);
}, timeout);
it('Database is accessible', async () => {
const result = await db.query('SELECT 1');
expect(result).toBeDefined();
}, timeout);
it('Cache is working', async () => {
await redis.set('smoke:test', 'ok');
const value = await redis.get('smoke:test');
expect(value).toBe('ok');
}, timeout);
});
describe('Authentication', () => {
it('User can login', async () => {
const response = await request(app)
.post('/api/auth/login')
.send({ email: '[email protected]', password: 'test123' });
expect(response.status).toBe(200);
expect(response.body.token).toBeDefined();
}, timeout);
it('Protected routes require authentication', async () => {
const response = await request(app)
.get('/api/user/profile');
expect(response.status).toBe(401);
}, timeout);
});
describe('Core Features', () => {
it('Homepage loads', async () => {
const response = await fetch('https://example.com');
expect(response.status).toBe(200);
expect(await response.text()).toContain('<title>');
}, timeout);
it('Search returns results', async () => {
const response = await request(app)
.get('/api/search?q=test');
expect(response.status).toBe(200);
expect(response.body.results).toBeDefined();
}, timeout);
it('Create operation works', async () => {
const response = await authenticatedRequest
.post('/api/items')
.send({ name: 'Smoke Test Item' });
expect(response.status).toBe(201);
expect(response.body.id).toBeDefined();
}, timeout);
});
describe('External Integrations', () => {
it('Payment gateway is reachable', async () => {
const response = await stripe.paymentMethods.list({ limit: 1 });
expect(response).toBeDefined();
}, timeout);
it('Email service is configured', async () => {
// Just verify config, don't send actual email
expect(process.env.SMTP_HOST).toBeDefined();
expect(process.env.SMTP_PORT).toBeDefined();
}, timeout);
it('Storage is accessible', async () => {
const buckets = await s3.listBuckets();
expect(buckets.Buckets.length).toBeGreaterThan(0);
}, timeout);
});
describe('Configuration', () => {
it('Environment variables are set', () => {
expect(process.env.NODE_ENV).toBeDefined();
expect(process.env.DATABASE_URL).toBeDefined();
expect(process.env.API_KEY).toBeDefined();
});
it('Feature flags are loaded', async () => {
const flags = await featureFlags.getAll();
expect(flags).toBeDefined();
expect(flags.newFeature).toBe(false); // Verify expected state
});
});
});
\`\`\`
### Execution
\`\`\`bash
# Run smoke tests
npm run test:smoke
# Post-deployment hook
\`\`\`yaml
# .github/workflows/deploy.yml
- name: Run Smoke Tests
run: npm run test:smoke
if: success()
- name: Rollback on Failure
run: ./scripts/rollback.sh
if: failure()
\`\`\`
### Results
\`\`\`
Smoke Tests - Critical Path
System Health
API is responding (245ms)
Database is accessible (189ms)
Cache is working (56ms)
Authentication
User can login (432ms)
Protected routes require authentication (123ms)
Core Features
Homepage loads (567ms)
Search returns results (289ms)
Create operation works (345ms)
External Integrations
Payment gateway is reachable (678ms)
Email service is configured (12ms)
Storage is accessible (234ms)
Configuration
Environment variables are set (8ms)
Feature flags are loaded (91ms)
Total: 13 tests passing in 3.27s
\`\`\`
### Smoke Test Matrix
| Category | Tests | Status | Duration |
|----------|-------|--------|----------|
| System Health | 3 | Pass | 0.49s |
| Authentication | 2 | Pass | 0.56s |
| Core Features | 3 | Pass | 1.20s |
| Integrations | 3 | Pass | 0.92s |
| Configuration | 2 | Pass | 0.10s |
**Total:** 3.27s All critical paths operational
### Recommendations
Deployment successful - all critical paths working
- Monitor error rates for next 30 minutes
- Watch for performance degradation
npx claudepluginhub ia23a-lachnita/claude-code-plugins-plus-fix-skills --plugin smoke-test-runner16plugins reuse this command
First indexed Dec 31, 2025
Showing the 6 earliest of 16 plugins
/smoke-testRuns quick smoke tests to verify critical application functionality after deployments. Identifies critical paths, generates focused tests, executes them, and reports pass/fail with rollback recommendations.
/smokeRuns smoke tests from .claude/cicd.yml configuration, executing defined commands and checking expected exit codes and output patterns. Reports pass/fail results with timing details.
/journey-deploySmoke-tests a deployed app by verifying frontend reachability, function endpoint 2xx status, authentication round-trip, and log scan for errors.
/bencium-deployGated deploy pipeline: runs pre-deploy verification, deploys via configurable command, performs health checks with retries, and runs SMOKE tests against the deployed environment. Refuses deploy if verification fails.
/smoke-testRuns smoke tests for common web user flows (login, signup, checkout, navigation, search) using personas. Requires --url and --preset; outputs reports with optional Playwright traces and GitHub PR comments.
/testRuns unit, integration, E2E test suites with framework detection (Jest/Vitest/pytest/Go/Playwright/Cypress/Selenium), generates coverage reports and badges.