What problem does it solve? Finding memory corruption, crashes, and undefined behavior in C/C++ code manually is slow and unreliable. This Skill guides you through setting up libFuzzer, LLVM's coverage-guided fuzzer, so you can automatically generate test inputs that explore code paths and surface bugs like buffer overflows and use-after-free errors. ## Core Features & Use Cases - Harness Writing Guidance: Provides patterns for writing LLVMFuzzerTestOneInput harnesses, including FuzzedDataProvider usage, interleaved fuzzing, and rules for deterministic, fast harnesses. - Compilation & Sanitizer Integration: Covers Clang flags like -fsanitize=fuzzer,address,undefined, static library builds, and CMake integration for instrumented fuzzing builds. - Campaign Management: Explains corpus creation and minimization, fuzzing dictionaries, multi-core options (-jobs/-workers/-fork), coverage analysis with llvm-cov, and troubleshooting common issues. - Use Case: You maintain a C++ library that parses PNG files. Use this Skill to write a fuzzing harness, compile it with AddressSanitizer, seed a corpus with sample PNGs, and run a campaign that discovers a heap-buffer-overflow before it ships. ## Quick Start Use the libfuzzer skill to write a fuzzing harness for my C++ parser function and show me how to compile and run it with AddressSanitizer.