RU

Automate fuzz testing for Rust crates.

Install

mkdir -p .claude/skills/run-fuzz && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12556" && unzip -o skill.zip -d .claude/skills/run-fuzz && rm skill.zip

Installs to .claude/skills/run-fuzz

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Run cargo-fuzz targets with proper nightly toolchain and options
64 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Run specific fuzz targets with a custom iteration count.
  • Run all available fuzz targets briefly.
  • List available fuzz targets.
  • Reproduce crashes using artifact files.
  • Navigate to the correct crate directory for fuzzing.
  • Use the nightly Rust toolchain for fuzzing.

How it works

The skill executes `cargo +nightly fuzz run` commands within the specified crate directories, either for a single target, all targets, or to reproduce a crash, based on user input.

Inputs & outputs

You give it
A fuzz target name, an iteration count, 'all', or 'list'.
You get back
Fuzz test results, a list of available targets, or crash reproduction output.

When to use run-fuzz

  • Testing contract edge cases
  • Running fuzzer on data structures
  • Validating input parsing

About this skill

Run Fuzz Target

Run fuzz tests against gossip-rs data structures and contract types.

Usage

  • /run-fuzz <target> - Run specific fuzz target (default 10,000 runs)
  • /run-fuzz <target> <runs> - Run with custom iteration count
  • /run-fuzz all - Run all targets briefly (1,000 runs each)
  • /run-fuzz list - List available targets

Available Targets

Fuzz targets are distributed across crates:

gossip-contracts (crates/gossip-contracts/fuzz/)

TargetTests
fuzz_derivation_chainDerivation chain construction and validation
fuzz_item_identity_keyItemIdentityKey creation and hashing

gossip-stdx (crates/gossip-stdx/fuzz/)

TargetTests
fuzz_byte_slabByteSlab pool allocation, slot lifecycle
fuzz_inline_vecInlineVec push/pop/access with arbitrary inputs
fuzz_ring_bufferRingBuffer enqueue/dequeue under arbitrary sequences

Workflow

Run Single Target

cd crates/<crate> && cargo +nightly fuzz run <target> -- -runs=10000

Examples:

cd crates/gossip-stdx && cargo +nightly fuzz run fuzz_byte_slab -- -runs=10000
cd crates/gossip-contracts && cargo +nightly fuzz run fuzz_derivation_chain -- -runs=10000

Run All Targets

# gossip-contracts targets
cd crates/gossip-contracts
for target in fuzz_derivation_chain fuzz_item_identity_key; do
  echo "Running $target..."
  cargo +nightly fuzz run $target -- -runs=1000
done

# gossip-stdx targets
cd ../gossip-stdx
for target in fuzz_byte_slab fuzz_inline_vec fuzz_ring_buffer; do
  echo "Running $target..."
  cargo +nightly fuzz run $target -- -runs=1000
done

Check for Crashes

Crashes are saved to fuzz/artifacts/<target>/ within each crate. To reproduce:

cd crates/<crate>
cargo +nightly fuzz run <target> fuzz/artifacts/<target>/<crash-file>

Prerequisites

  • Nightly Rust toolchain: rustup install nightly
  • cargo-fuzz: cargo install cargo-fuzz

When not to use it

  • When the user does not have the nightly Rust toolchain installed.
  • When the user does not have `cargo-fuzz` installed.
  • When the user wants to run fuzz tests without specifying a target.

Prerequisites

Nightly Rust toolchaincargo-fuzz

Limitations

  • It requires the nightly Rust toolchain.
  • It requires `cargo-fuzz`.
  • It only runs fuzz tests against gossip-rs data structures and contract types.

How it compares

This skill provides a simplified interface for running `cargo-fuzz` tests, handling toolchain selection and directory navigation, which is more direct than manually constructing and executing the commands.

Compared to similar skills

run-fuzz side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
run-fuzz (this skill)05moReviewIntermediate
cargo-fuzz22moReviewIntermediate
audit-prep-assistant12moReviewIntermediate
libafl12moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry