reduce-ssa-repro
Reduce SSA Reproduction
Minimize an SSA file that triggers a bug in the noir-ssa pipeline. Use after the bisect-ssa-pass skill has identified which passes cause the issue.
Setup
-
Build the
noir-ssaCLI as a debug binary:cargo build -p noir_ssa_cliAlways use debug builds (
target/debug/noir-ssa). Many SSA invariant checks are#[cfg(debug_assertions)]-guarded and compiled out of release builds. -
Set
SKILL_DIRto this skill's directory (for script references):SKILL_DIR=<path-to-repo>/.claude/skills/reduce-ssa-repro -
Gather from bisection:
- The SSA file (
input.ssa)
- The SSA file (
More from noir-lang/noir
noir-idioms
Guidelines for writing idiomatic, efficient Noir programs. Use when writing or reviewing Noir code.
43extract-fuzzer-repro
Extract a Noir reproduction project from fuzzer failure logs in GitHub Actions. Use when a CI fuzzer test fails and you need to create a local reproduction.
37noir-optimize-acir
Workflow for measuring and optimizing the ACIR circuit size of a constrained Noir program. Use when asked to optimize a Noir program's gate count or circuit size.
36bisect-ssa-pass
Workflow for debugging SSA pass semantic preservation using the noir-ssa CLI. Use when a program's behavior changes incorrectly during the SSA pipeline - bisects passes to identify which one breaks semantics. The `pass_vs_prev` fuzzer finds such issues automatically.
32debug-fuzzer-failure
End-to-end workflow for debugging SSA fuzzer failures from CI. Extracts a reproduction case from GitHub Actions logs, then bisects SSA passes to identify the bug. Use when a `pass_vs_prev` or similar fuzzer test fails in CI.
30noir-frontend-tests
Guide for writing noirc_frontend unit tests. Use when adding, writing, or reviewing frontend tests — regression tests, reproduction tests, error-checking tests, or should_panic tests in the compiler frontend.
1