AI Endpoint Smoke Test
Fires a Python urllib smoke test at the AI API endpoints on Vendors.ie, ReadingCurator and FluentAtDesk, flagging 500s and timeouts.
Entry verified April 21, 2026
The short answer
Hits seven endpoints across three sites with minimal valid payloads — vendors.ie /api/recommend, /api/smart-compare, /api/true-cost; readingcurator /api/what-to-read-after, /api/check-availability; fluentatdesk /.netlify/functions/submission-created. 400/401/405 are treated as live-but-rejecting-test-payload, not failures.
When to use it
Run as a scheduled check or after a Claude SDK update. Useful when you need confidence the Claude-powered tools are still up without triggering real user traffic — 500s or timeouts are the only results worth paging on; 400s just mean the endpoint is live and rejecting the stub payload.
Setup
- 1
Save the file as ~/.claude/commands/ai-smoke-test.md.
- 2
Invoke: /ai-smoke-test — no arguments.
- 3
Uses urllib only, with a 15-second timeout per endpoint.
- 4
OK = 200, WARN = 400/401/405 (endpoint live, payload rejected), FAIL = 500 or timeout.
- 5
Do NOT flag 400s as failures — the endpoints require real auth or data to return 200.
Example
You: /ai-smoke-test Claude: 3 endpoints tested. ✓ Vendors.ie /api/explain. ✓ FluentAtDesk /api/rewrite. 🔴 ReadingCurator /api/recommend — 500, Anthropic API key expired.
Source & attribution
- Author
- Bryan Collins
- Licence
- MIT (author's own work)
- Type
- Original
Original pattern published under MIT — attribution preserved by convention, not licence requirement.
Caveats
Don't include sensitive test inputs in the skill — inject from a separate secrets file.
56 skills across 10 categories, all licence-verified.