What problem does it solve? Systematic test design techniques derived from specifications can miss defects that only surface under unexpected inputs or improvised usage. This Skill provides lightweight, experience-based black-box techniques—random/ad hoc fuzzing, exploratory testing, and ad hoc testing—that shake the target with randomness and improvisation to find crashes and invariant violations that structured methods overlook. ## Core Features & Use Cases - Random / Ad Hoc Fuzzing: Throw large volumes of fixed-seed pseudo-random inputs at parsers, decoders, and sanitizers while watching invariants (no crash, expected exception types, round-trip equality, idempotence), then minimize failing inputs via delta debugging and promote them to fixed regression tests. - Exploratory Testing: Run time-boxed sessions guided by a charter, recording findings in session notes so improvised investigation stays reproducible and shareable. - Ad Hoc Testing: Perform the lightest possible smoke checks with explicit rules for when to escalate findings into exploratory sessions or coded regression tests. - Use Case: You have a string parser and want quick confidence it never crashes. Use the fuzzing procedure with a seeded PRNG (e.g., mulberry32) to generate thousands of inputs, catch a failure, shrink it to a minimal reproducer, and lock it in as a deterministic regression test. ## Quick Start Use the experience-exploratory skill to fuzz my parser function with a fixed-seed random generator and turn any crash into a minimal regression test.