What problem does it solve? Poorly written fuzzing harnesses miss entire code paths, produce non-reproducible crashes, and waste fuzzing compute. This Skill provides proven patterns for building harnesses that correctly route fuzzer-generated bytes into your system under test. ## Core Features & Use Cases - Harness Patterns: Covers minimal harnesses, input size validation, integer casting, FuzzedDataProvider usage, interleaved fuzzing, and structure-aware fuzzing with the arbitrary crate. - Tool-Specific Guidance: Includes signatures, compilation commands, and integration tips for libFuzzer, AFL++ persistent mode, cargo-fuzz, and go-fuzz. - Troubleshooting & Anti-Patterns: Diagnoses low execution speed, non-reproducible crashes, memory leaks, and global state issues. - Use Case: You need to fuzz a C++ string concatenation API that takes multiple typed parameters. Use the FuzzedDataProvider pattern to extract integers and terminated strings from raw fuzzer bytes, then compile with clang and AddressSanitizer. ## Quick Start Write a libFuzzer harness for my C++ parser function that accepts a byte buffer and size, with input validation and FuzzedDataProvider for structured extraction.