Skills

Fizz

Generate Echidna/Medusa-compatible Solidity fuzz suites from Foundry or Hardhat projects.

Install

npx skills add pashov/skills --skill fizz -g -a claude-code -y
Repository
pashov/skills1.3k
Category
Testing
Updated
14d ago
License
MIT
Context cost
Mediumabout 3,000 tokens
Runs scripts
Yes, review before use

What it does

Generate Echidna/Medusa-compatible Solidity fuzz suites from Foundry or Hardhat projects. Trigger on "fizz", "generate fuzz suite", "build fuzz harness", "stateful fuzzing", "fuzzing harness", "property testing", and "invariant suite".

Fizz

Generate a stateful Solidity fuzz suite under {SUITE_DIR} (default: test/fizz/), with metadata and fuzzer runtime files under {META_DIR} (default: fizz_data/).

Use Echidna and Medusa for invariant campaigns. Use Foundry for compilation, smoke testing, and quick debugging.

Workflow Rules

  • Follow the steps in order. Do not skip forward if a required artifact for the current step does not exist yet.
  • If a step fails, stop there and report the blocker.
  • If tooling is missing, say exactly what was attempted and what is missing.
  • Keep the generated Solidity suite isolated under test/fizz/ and the metadata/runtime files under fizz_data/ unless the user explicitly asks for different paths.
  • Reuse existing project setup and test logic whenever possible; do not invent a deployment flow if the repo already has one.

Parameters

  • PROJECT_ROOT: user-provided path, otherwise the current working directory.
  • SKILL_PATH: the directory containing this SKILL.md.
  • SUITE_DIR: test/fizz relative to PROJECT_ROOT. Pass --suite-dir to suite-generation steps.
  • META_DIR: fizz_data relative to PROJECT_ROOT. Pass --meta-dir to metadata steps.
  • Optional contract arguments narrow handler generation to specific contracts.
  • --no-invariants skips Step 9 only.
  • --max (or --opus, or "max quality") upgrades every subagent in this run from Sonnet to Opus. See "Subagent Model" below.
  • --guided / --automatic selects the run mode. See "Run Mode" below.

Run Mode

The skill runs in one of two modes, resolved once at the start of the run and reused for every checkpoint below:

Read the whole SKILL.md on GitHub

More in Testing