.cursor/skills/qa-backend/SKILL.md
Backend QA for API/Lambda/gRPC testing. Validates endpoints, response schemas, error handling, and integration tests. Returns JSON with test results.
npx skillsauth add astro44/Autonom8-Agents qa-backendInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Validates backend services: REST APIs, Lambda functions, gRPC endpoints, and database operations.
{
"project_dir": "/path/to/backend",
"ticket_id": "TICKET-XXX",
"service_type": "rest|lambda|grpc|graphql",
"base_url": "http://localhost:3000",
"test_path": "tests/",
"checks": ["endpoints", "schemas", "errors", "auth"]
}
# Run API tests
cd $project_dir
npm test -- --grep "api"
# or
pytest tests/api/ -v
# Local Lambda test
sam local invoke MyFunction -e events/test-event.json
# Run unit tests
npm test -- --grep "lambda"
# Use grpcurl for endpoint testing
grpcurl -plaintext localhost:50051 list
grpcurl -plaintext -d '{"id": "123"}' localhost:50051 myservice.MyService/GetItem
# Check endpoint responds
curl -s -o /dev/null -w "%{http_code}" $base_url/api/health
# Expected: 200
# Check endpoint returns valid JSON
curl -s $base_url/api/users | jq .
// Validate response matches schema
const Ajv = require('ajv');
const ajv = new Ajv();
const schema = require('./schemas/user.json');
const validate = ajv.compile(schema);
const response = await fetch('/api/users/1');
const data = await response.json();
const valid = validate(data);
// valid should be true
# Test 404 handling
curl -s -w "\n%{http_code}" $base_url/api/nonexistent
# Expected: 404 with error body
# Test 400 handling (bad input)
curl -s -X POST -H "Content-Type: application/json" \
-d '{"invalid": true}' \
$base_url/api/users
# Expected: 400 with validation errors
# Test unauthorized access
curl -s -w "\n%{http_code}" $base_url/api/protected
# Expected: 401
# Test with valid token
curl -s -H "Authorization: Bearer $TOKEN" $base_url/api/protected
# Expected: 200
{
"skill": "qa-backend",
"status": "pass|fail",
"service_type": "rest",
"tests": {
"total": 25,
"passed": 23,
"failed": 2,
"skipped": 0
},
"checks": {
"endpoints": {
"passed": true,
"tested": 8,
"all_responding": true
},
"schemas": {
"passed": false,
"violations": [
{
"endpoint": "GET /api/users",
"field": "createdAt",
"expected": "string (ISO date)",
"actual": "number (timestamp)"
}
]
},
"errors": {
"passed": true,
"404_handled": true,
"400_handled": true,
"500_handled": true
},
"auth": {
"passed": true,
"unauthorized_returns_401": true,
"valid_token_accepted": true
}
},
"errors": [
{
"test": "GET /api/users schema",
"message": "createdAt should be ISO string, got timestamp",
"severity": "MEDIUM"
}
],
"next_action": "proceed|fix"
}
| Check | What it Validates | Severity | |-------|-------------------|----------| | Endpoints respond | All routes return non-500 | HIGH | | Schema validation | Response matches contract | MEDIUM | | Error handling | Proper error responses | MEDIUM | | Auth enforcement | Protected routes require auth | HIGH | | Rate limiting | Rate limits enforced | LOW | | CORS headers | Correct CORS config | MEDIUM |
Any HIGH severity failure?
YES → status: "fail", next_action: "fix"
Any MEDIUM severity failure?
YES → status: "warning", next_action: "fix"
All checks pass?
YES → status: "pass", next_action: "proceed"
REST API test:
{
"project_dir": "/projects/api-service",
"service_type": "rest",
"base_url": "http://localhost:3000",
"checks": ["endpoints", "schemas", "errors", "auth"]
}
Lambda test:
{
"project_dir": "/projects/lambda-function",
"service_type": "lambda",
"checks": ["endpoints", "schemas", "errors"]
}
gRPC test:
{
"project_dir": "/projects/grpc-service",
"service_type": "grpc",
"base_url": "localhost:50051",
"checks": ["endpoints", "schemas"]
}
development
Scores proposal complexity against codebase surface. Uses proposal text analysis and readiness stats to determine decomposition tier and agent count.
testing
Fast filesystem readiness scan — counts docs, source files, manifests, platform signals. Produces initial ReadinessReport for agent spawning decisions.
testing
Merges bookend agent reports into revised readiness, complexity, and decomposition plan. Produces the final evidence-backed assessment consumed by sprint-architect-agent.
development
Rigorously reasons about definitions, proofs, and computations in algebra, analysis, discrete math, probability, linear algebra, and applied math. Verifies derivations, spots invalid steps, and states assumptions clearly. Use when solving or proving math problems, reviewing mathematical arguments, modeling with equations, interpreting statistics, or when the user mentions proofs, lemmas, theorems, integrals, series, matrices, optimization, or numerical methods.