What problem does it solve? Code that accepts untrusted input (parsers, deserializers, validators) often breaks on malformed, extreme, or random data, but writing expected outputs for every case is impractical. This Skill provides a structured method for fuzzing and coverage-guided fuzzing where the oracle is simply "does not crash, hang, or violate invariants." ## Core Features & Use Cases - Fuzzing procedure: Step-by-step workflow for selecting a single untrusted entry point, defining a breakage oracle (no crashes, no hangs, invariants hold), generating wide inputs, seeding a corpus, and setting termination criteria with fast-check in TypeScript. - Coverage-guided fuzzing: Instructions for instrumented fuzzers like @jazzer.js that grow a persistent corpus by rewarding new branch coverage, with separate short CI jobs and long nightly exploration runs. - Completion checklists: Concrete verification items such as invariant assertions, seed fixation for reproduction, crash minimization, and corpus persistence for regression. - Use Case: You have a parseConfig function that accepts arbitrary strings. Use this Skill to write a fast-check fuzz test asserting it never throws and always returns ok or error, then fix any minimized counterexample as a regression test. ## Quick Start Ask the AI to apply the generative-fuzzing skill to write a fuzz test for your parser function using fast-check with invariant checks and a fixed seed.