debug-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.
Install
mkdir -p .claude/skills/debug-fuzzer-failure && curl -L -o skill.zip "https://mcp.directory/api/skills/download/4666" && unzip -o skill.zip -d .claude/skills/debug-fuzzer-failure && rm skill.zipInstalls to .claude/skills/debug-fuzzer-failure
About this skill
Debugging SSA Fuzzer Failures
This skill provides the complete workflow for debugging SSA optimization bugs discovered by CI fuzzers. It combines two sub-skills:
extract-fuzzer-repro— Extract a Noir project from CI failure logsbisect-ssa-pass— Bisect SSA passes to find the one that breaks semantics
When to Use This Skill
Use this when:
- A
pass_vs_prevfuzzer test fails in CI - You have a GitHub Actions URL showing a fuzzer failure
- You need to go from "CI is red" to "I know which SSA pass has the bug"
Note: This workflow is tailored for pass_vs_prev failures, which detect SSA passes that break semantic preservation. Other fuzzers exist that test different properties and may require different debugging approaches. Identify the fuzzer type from the failing test name in the GitHub logs — it follows the format targets::<fuzzer_type>::tests::fuzz_with_arbtest. If the failure comes from a fuzzer other than pass_vs_prev, ask the developer for guidance on how to proceed.
Workflow Overview
- Extract reproduction case from CI logs (
extract-fuzzer-repro) - Verify the failure reproduces locally
- Bisect, analyze, and fix (
bisect-ssa-pass)
Step 1: Extract the Reproduction Case
Use the extract-fuzzer-repro skill to get a local Noir project from the CI logs.
Input: GitHub Actions job URL (e.g., https://github.com/noir-lang/noir/actions/runs/12345/job/67890)
Output: A Noir project directory with:
src/main.nr— The generated program that triggered the failureProver.toml— Input values that cause the bug
Quick reference:
# Download logs from GitHub Actions
gh run view <run-id> --job <job-id> --log > fuzzer_log.txt
# Extract the Noir project (the skill has detailed instructions)
# Look for "Program:" and "Inputs:" sections in the log
Step 2: Verify the Failure Reproduces Locally
Before bisecting, confirm the issue reproduces:
cd <extracted_project>
nargo execute
If using experimental features (like enums/match), add the appropriate flags:
nargo execute -Zenums
Step 3: Bisect and Fix
Use the bisect-ssa-pass skill to:
- Identify which optimization pass breaks semantics
- Analyze the incorrect transformation
- Create a regression test
- Fix the bug
Tips
- The
pass_vs_prevfuzzer compares interpretation results before and after each pass, so failures indicate semantic preservation bugs - Keep the extracted project around until the fix is merged — you may need to re-test
- If the SSA is complex, focus on the specific function/block where the semantic change occurs
Related Skills
extract-fuzzer-repro— Detailed instructions for extracting from CI logsbisect-ssa-pass— Detailed instructions for SSA bisection and regression tests
More by noir-lang
View all skills by noir-lang →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversFrida enables dynamic instrumentation and debugging for mobile and desktop apps, offering advanced process management an
Automate Xcode build, testing, and management using JavaScript scripts for efficient project workflows and smart error r
Access ShadowGit repositories securely with read-only git log, diff, blame, and grep to analyze commit history and debug
Integrate with Sentry to retrieve and analyze error reports and stacktraces, streamlining issue tracking and speeding up
Supercharge Android Studio workflows with AI-driven SVG conversion, live logcat, and advanced mobile dev tools for smart
Log Analyzer offers advanced Python log analysis, pattern filtering, pytest output parsing, and code coverage reporting
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.