From deepest-plan
API platform validation via curl / httpie against real running servers. Captures full response bodies, headers, status codes. Tests CRUD, auth, error paths, pagination, rate limiting. Cited as platform_skill on API gates in deepest-plan output.
How this skill is triggered — by the user, by Claude, or both
Slash command
/deepest-plan:api-validationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
HTTP endpoint validation for REST, GraphQL (over HTTP), JSON-RPC, and webhook receivers. Does NOT handle frontend (use `web-validation`), fullstack orchestration (use `fullstack-validation`), or contract-schema testing for non-HTTP (use custom harness).
HTTP endpoint validation for REST, GraphQL (over HTTP), JSON-RPC, and webhook receivers. Does NOT handle frontend (use web-validation), fullstack orchestration (use fullstack-validation), or contract-schema testing for non-HTTP (use custom harness).
curl -sf http://localhost:PORT/health)pg_isready, redis-cli ping, etc.)# Happy path
curl -s -X POST http://localhost:3000/api/resource \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"example"}' \
| tee e2e-evidence/vgN-happy.json | jq .
# Status-only (check status code behavior)
curl -s -o e2e-evidence/vgN-unauth.json \
-w "%{http_code}\n%{time_total}\n" \
-X POST http://localhost:3000/api/resource \
> e2e-evidence/vgN-unauth-meta.txt
# Error path
curl -s -X POST http://localhost:3000/api/resource \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"invalid":"payload"}' \
| tee e2e-evidence/vgN-invalid.json
# Verify DB side effect
psql "$DATABASE_URL" -c "SELECT * FROM resource WHERE name='example'" \
| tee e2e-evidence/vgN-db.txt
Good:
id non-null AND name == 'example' AND NO password field"error.field == 'name'"Bad (reject):
<validation_gate id="VG-N" blocking="true" platform="api"
protocol="functional-validation"
platform_skill="api-validation"
verdict_by="gate-validation-discipline">
<preflight skill="preflight">[server + DB + env ready]</preflight>
<execute>[curl sequences covering happy + auth + validation + idempotency]</execute>
<capture>[response JSON + status + headers to e2e-evidence/vgN-*]</capture>
<pass_criteria>[specific jq-checkable assertions]</pass_criteria>
<review>[jq -e expressions; grep for specific status codes]</review>
<verdict>PASS → next | FAIL → error-recovery → re-run</verdict>
<mock_guard skill="no-mocking-validation-gates">
Real DB, real API. No supertest against mock app, no in-memory DB.
</mock_guard>
</validation_gate>
Every endpoint validated by a gate MUST cover:
For idempotent endpoints:
For paginated endpoints:
total / hasMore fields reflect truth| Symptom | Likely cause | Fix |
|---|---|---|
| 200 OK with error body | Handler swallowed exception | Check handler; use 4xx for client errors |
| 500 with no log | Stack trace suppressed in prod | Check log level; add structured error logger |
| CORS preflight fails | OPTIONS handler missing | Add explicit OPTIONS or use cors middleware |
| Timing-attack on auth | Compare-time differs for valid vs invalid | Use constant-time compare |
Never log or commit evidence containing real tokens, API keys, or PII. Use test tokens; rotate after evidence capture.
npx claudepluginhub krzemienski/deepest-plan-plugin --plugin deepest-planGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.