← ClaudeAtlas

surface-enumerationlisted

Pre-implementation input-surface enumeration — before writing a parser/validator/sanitizer/classifier, enumerate every input variant so each becomes a required test case.
devseunggwan/praxis · ★ 1 · AI & Automation · score 73
Install: claude install-skill devseunggwan/praxis
# surface-enumeration ## Overview Code that validates, classifies, routes, sanitizes, or interprets variable input fails one missed variant at a time. A reviewer finds case A, you fix it, the next round finds case B, and so on — each round is a full round-trip because the input surface was never enumerated up front. This skill front-loads that enumeration: list the variants **before** implementing, turn each into a test case, and re-run the full list after every fix. **Core principle:** enumerate the input surface before writing the handler — a variant you did not list is a variant you did not test. ## When to Use - Implementing anything that inspects variable input: SQL/shell/markup parsers, sanitizers, auth/validation checks, intent/command classifiers, tokenizers, routers, regex matchers. - A reviewer (Codex / BugBot / human) just found a missed input case — before fixing only that case, enumerate the whole surface so the next round is empty. - Designing a mock/fixture for input-handling code (each enumerated variant is a fixture case, including a must-fail case). - Dispatching N independent PRs / worktrees in parallel, or authoring a lesson-reflection / convention-guideline update — enumerate the shared-file collision surface, or the source guideline's own §1~§N matrix, before starting. Skip for code with a fixed, closed input (a function called only with an enum you control) or a single-token mechanical transform with no interpretation. ## Process ###