auto-edge-cases
Installation
SKILL.md
Edge Cases — What Claude Gets Wrong
You write beautiful happy paths that crash on the first empty input. Your code works for the demo case and fails in production. You skip guards because the "obvious" input is non-empty, positive, and ASCII.
The Boundary Checklist
Before writing any function that accepts input, ask: "What happens when this is..."
| Input Type | Check These |
|---|---|
| Collection | Empty, single-element, very large |
| Number | Zero, negative, MAX, MIN, NaN/Infinity (JS) |
| String | Empty, whitespace-only, Unicode (emoji, RTL, multi-byte), very long |
| Index/Offset | 0, length-1, length (off-by-one), negative |
| Option/Nullable | None/null/undefined — always |
| Pagination | First page, last page (partial), page beyond end, page size 0 |
| Date/Time | Midnight, DST transition, leap day, epoch, far-future |
| Arithmetic | Overflow, underflow, division by zero |