What problem does it solve? Poorly written fuzzing harnesses miss code paths, produce non-reproducible crashes, or slow campaigns to a crawl. This Skill provides proven patterns and rules for building harnesses that reliably route fuzzer input into the system under test. ## Core Features & Use Cases - Harness Patterns: Covers minimal harnesses, integer casting, FuzzedDataProvider for structured inputs, interleaved fuzzing across multiple operations, and structure-aware fuzzing with the Rust 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 exhaustion, and global state issues with concrete fixes. - 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 Ask the AI to write a libFuzzer harness for your target function using FuzzedDataProvider to structure the input.