agentsclimarketplace

Exhaustive match

Skill selamy-labs/agent-skills/skills/exhaustive-match

Use when every known variant must be handled. Prefer compiler, type-checker, linter, or test-enforced exhaustive matches.From its SKILL.md

Install
npx -y skills add selamy-labs/agent-skills --skill exhaustive-match

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

1.6 KB, 315 tokens by cl100k_base, as published. Nobody here has run it

Exhaustive Match

Use this skill when a status, enum, union, event type, command, or error code has a finite set of known variants and missing one would create incorrect behavior.

Workflow

  1. Model the variants as an enum, tagged union, sealed class, literal union, or another construct your toolchain can reason about.
  2. Replace loose if chains with a match, switch, dispatch table, or strategy selection that enumerates every known case.
  3. Make the default branch unreachable, absent, or fail closed. Do not use a broad default that hides newly added variants.
  4. Enable the strongest available enforcement: compiler exhaustiveness, type-checker assertions, lint rules, or a test that compares handled cases to the declared variant set.
  5. Add or update one test per behavior group, plus a test that proves unknown external values are rejected at the boundary.

Review Checks

  • Adding a new variant creates a visible failure until behavior is implemented.
  • Unknown external input is parsed separately from internal exhaustive handling.
  • The fallback path is explicit and safe, not a catch-all for forgotten cases.
  • The match body stays small; complex behavior is delegated to named handlers.

Anti-Patterns

  • Keeping a default branch that returns a plausible value for all unknowns.
  • Exhaustively matching raw strings from outside the system instead of parsing them into a known type first.
  • Adding a variant without updating tests, documentation, and caller behavior.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,835. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.