What problem does it solve? Bug reports on Wasmtime or Cranelift often arrive with large, noisy failing inputs (.wasm, .wat, .wast, or .clif files) that obscure the root cause. This Skill guides you through shrinking those inputs down to the smallest case that still reproduces the crash, trap, panic, or miscompilation, producing a legible artifact suitable for a bug report or regression test. ## Core Features & Use Cases - Per-reducer predicate skeletons: Copy-and-edit shell templates for wasm-tools shrink, Binaryen wasm-reduce, creduce (wat/wast/clif), and clif-util bugpoint, each encoding the tool's specific contract for what counts as "interesting". - Wasm fallback chain: A three-tool strategy (shrink, then wasm-reduce, then disassemble plus creduce) for modules using proposals a given reducer cannot parse, such as wide-arithmetic instructions. - Differential miscompile predicates: A guarded two-configuration predicate shape (e.g. opt-level=0 vs default) for wrong-answer bugs that have no trap or panic message to grep. - Manual reduction playbook: Semantic techniques like neutralizing inputs one at a time and returning the diverging value directly, for cases where automated reducers plateau. - Use Case: A fuzzer reports a 649-line module that miscompiles under Cranelift. You confirm determinism, run shrink and creduce in parallel, then apply the manual playbook to produce a roughly 22-line self-checking module that proves the bug. ## Quick Start Reduce my failing file input.wasm to the smallest module that still traps with integer divide by zero when run under Wasmtime.