skills/noir-lang/noir/extract-fuzzer-repro

extract-fuzzer-repro

SKILL.md

Extract Fuzzer Reproduction from GitHub Actions

Use this skill to extract a reproduction project from fuzzer failures in CI. This creates a minimal Noir project you can use locally to reproduce and debug the issue.

1. Get the Job ID

From the GitHub Actions URL, extract the job ID. The URL format is:

https://github.com/noir-lang/noir/actions/runs/RUN_ID/job/JOB_ID

2. Fetch the Logs

gh api repos/noir-lang/noir/actions/jobs/JOB_ID/logs 2>&1 | tee fuzzer_logs.txt

3. Find the Reproduction Code

Search for the generated Noir source:

grep -nE "unconstrained fn main|fn main" fuzzer_logs.txt

The fuzzer output has this structure:

---
AST:
global G_A: i8 = -127_i8;
unconstrained fn main(a: pub i8) -> pub i8 {
    ...
}
---
ABI Inputs:
a = "-0x5c"
---
Seed: 0xc63ed07b00100000

4. Check for Required Compiler Flags

Some failures only manifest with specific flags (e.g., -Zenums for match expressions, optimization flags, etc.). Note any flags mentioned in the logs as you'll need them to reproduce the issue.

5. Create the Reproduction Project

nargo new repro_project
cd repro_project

Copy the AST section to src/main.nr and create Prover.toml with the ABI inputs.

6. Verify the Reproduction

# Include any required flags from the logs
nargo execute

This should reproduce the failure you saw in CI. If it doesn't, double-check you're using the same compiler flags from the logs.

Weekly Installs
31
Repository
noir-lang/noir
GitHub Stars
1.3K
First Seen
Feb 5, 2026
Installed on
claude-code31
mcpjam30
kilo30
junie30
windsurf30
zencoder30