SkillValidated

Edge-case hunter — find the test you didn't write

A skill that inspects a change and its tests, enumerates the boundary conditions the tests do not cover — empty inputs, nulls, ordering, concurrency, unicode, limits — and drafts the two highest-value missing tests.

$cosq add edge-case-hunter

Free, works signed out. No CLI? Copy the file below into your repo — same result.

Why this one

AI-assisted edits make it easy to over-trust unverified speed (METR); boundary conditions are where accepted changes actually break.

How to use it

  1. 1Invoke once the happy-path tests pass
  2. 2Add the drafted tests in the same change, not later

What gets installed

Pick your tool to preview the exact file cosq add writes — byte-for-byte. Prefer copy-paste? Use the copy button on the file.

.claude/skills/edge-case-hunter/SKILL.md(created)
---
name: edge-case-hunter
description: Use after writing code and its tests: enumerate uncovered boundary conditions and draft the highest-value missing tests.
---

Given a change and its tests, hunt what the tests miss:

1. List the inputs and states the change handles, then the boundaries of
   each: empty, null/undefined, zero, negative, maximum, duplicate, unsorted,
   concurrent, unicode, and permission-denied cases as applicable.
2. Cross out the ones an existing test already covers — cite the test.
3. Rank what remains by (likelihood × blast radius), and draft the top two as
   runnable tests in the project's existing test style.
4. Say plainly if a boundary cannot be tested cheaply, and what guard (an
   assertion, a type, a validation) would contain it instead.

The deliverable is the two drafted tests — not a lecture on testing.