**Quick Reference** - Load this first for fast context (~3KB)
Inherits all available tools
Additional assets for this skill
This skill inherits all available tools. When active, it can use any tool Claude has access to.
REFERENCE.mdscripts/execute-health-checks.jstemplates/health-check-config.yamlQuick Reference - Load this first for fast context (~3KB)
Execute comprehensive API health smoke tests to validate service availability, response times, and critical endpoint functionality during release workflows.
Use this skill when:
skills:
- name: smoke-test-api
path: skills/smoke-test-api/SKILL.md
const { SmokeTestAPI } = require('./scripts/execute-health-checks.js');
const tester = new SmokeTestAPI({
baseUrl: 'https://staging.example.com',
timeout: 5000,
retries: 2
});
const result = await tester.executeHealthChecks({
environment: 'staging',
endpoints: [
{ path: '/health', method: 'GET', expectedStatus: 200 },
{ path: '/api/v1/users', method: 'GET', expectedStatus: 200 }
]
});
if (result.passed) {
console.log('✅ API health checks passed');
} else {
console.error('❌ API health checks failed');
}
environment: staging
baseUrl: https://staging.example.com
timeout: 5000
retries: 2
endpoints:
- name: health-check
path: /health
method: GET
expectedStatus: 200
sla: 100
- name: list-users
path: /api/v1/users
method: GET
expectedStatus: 200
sla: 500
/health, /ping, /status/health/db/health/cache/health/integrationsPOST /api/v1/resource (201 Created)GET /api/v1/resource/:id (200 OK)PUT /api/v1/resource/:id (200 OK)DELETE /api/v1/resource/:id (204 No Content)POST /api/v1/auth/login (200 OK + token)GET /api/v1/auth/me (200 OK with user)GET /api/v1/protected (401 without token, 200 with token)GET /api/v1/search?q=term (200 OK with results)GET /api/v1/resource?page=1&limit=10 (200 OK with paginated results)GET /api/v1/resource?status=active (200 OK with filtered results)GET /api/v1/nonexistent (404 Not Found)POST /api/v1/resource with invalid data (400 Bad Request)GET /api/v1/protected without token (401 Unauthorized)const SLA_TARGETS = {
health: 100, // Health endpoints: ≤100ms
read: 500, // Read operations: ≤500ms
write: 1000, // Write operations: ≤1000ms
search: 2000, // Search operations: ≤2000ms
timeout: 5000 // Global timeout: ≤5000ms
};
Pass: All smoke tests must pass
Fail: Any smoke test failure blocks deployment
API smoke tests are executed at these points in the release workflow:
const result = await tester.testEndpoint({
path: '/health',
method: 'GET',
expectedStatus: 200,
sla: 100
});
const result = await tester.testEndpoint({
path: '/api/v1/users',
method: 'GET',
expectedStatus: 200,
sla: 500,
headers: {
'Authorization': `Bearer ${token}`
}
});
const result = await tester.testEndpoint({
path: '/api/v1/users',
method: 'POST',
expectedStatus: 201,
sla: 1000,
body: {
name: 'Test User',
email: 'test@example.com'
}
});
{
passed: true,
details: {
totalEndpoints: 10,
passed: 10,
failed: 0,
executionTime: 1234
},
reason: 'API smoke tests passed: All 10 endpoints responding',
metrics: {
endpointsPassed: 10,
endpointsFailed: 0,
averageResponseTime: 123,
executionTime: 1234
},
results: [
{
endpoint: '/health',
method: 'GET',
status: 200,
responseTime: 45,
sla: 100,
passed: true
}
]
}
For comprehensive documentation including:
Load: skills/smoke-test-api/REFERENCE.md (~15KB)