Skill: Verify server/API changes (example for Verify skill)
Verifying a server/API change
The handle is curl (or equivalent). The evidence is the response.
Pattern
- Start the server (background, with a readiness poll — see below)
curlthe route the diff touches, with inputs that hit the changed branch- Capture the full response (status + headers + body)
- Compare to expected
Lifecycle
If there’s a run-skill it handles this. If not:
No readiness endpoint? Poll the route you’re about to test until it stops returning connection-refused, then add a beat.
Worked example
Diff: adds a Retry-After header to 429 responses in rateLimit.ts.
Claim (PR body): “clients can now back off correctly.”
Inference: hitting the rate limit should now return Retry-After: <n>
in the response headers. It didn’t before.
Plan:
- Start server
- Hit the rate-limited endpoint enough times to trigger 429
- Check the 429 response has
Retry-Afterheader - Check the value is a positive integer
Execute:
Verdict: PASS — Retry-After: 12 present, positive integer.
What FAIL looks like
- Header absent → the diff didn’t take effect, or you’re not actually hitting the 429 path (check the status code first)
- Header present but value is
NaN/undefined/ negative → the logic is wrong - You got 200s all the way through → you never triggered the changed path. Tighten the request burst or check the rate limit config.