experience-exploratory

Applies random fuzzing, exploratory testing, and ad hoc testing to uncover software defects.

Updated Jun 24, 2026
One-click install
npx skills add https://github.com/Hakkadaikon/hymme --skill experience-exploratory-hakkadaikon
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: experience-exploratory
Source: https://github.com/Hakkadaikon/hymme/tree/main/skills/experience-exploratory
Command: npx skills add https://github.com/Hakkadaikon/hymme --skill experience-exploratory-hakkadaikon

SYSTEM DOCUMENTATION & REQUIREMENTS

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.

Frequently Asked Questions about experience-exploratory

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a random fuzzing test in TypeScript?

Use a fixed-seed PRNG like mulberry32 instead of Math.random to generate inputs, then assert an invariant such as the function never throwing. Record the seed in the test so any failure can be reproduced exactly.

What is the difference between exploratory testing and ad hoc testing?

Exploratory testing is structured improvisation using a charter, timebox, and session notes as deliverables. Ad hoc testing removes even that discipline, making it suitable only for quick smoke checks with no reproducibility or coverage claims.

When should I use fuzzing versus property-based testing?

Use lightweight random fuzzing when you only need to verify the target does not crash on unexpected inputs. Switch to property-based testing or metamorphic testing when you need to verify the semantic correctness of outputs, since fuzzing only watches invariants.

Why should fuzzing tests avoid Math.random?

Math.random produces non-reproducible sequences, so a failing input cannot be replayed or debugged. A fixed-seed PRNG makes the generated input stream deterministic, and the failing input can be logged and converted into a regression test.

What are the limitations of random fuzzing for test coverage?

Random fuzzing cannot claim coverage because the exercised input set is not formally defined and deep branches may never be reached. When deeper path exploration is needed, escalate to coverage-guided fuzzing tools that instrument the target.