fuzz
Extends `qa.v2.md`. Load this file when dispatched with `mode: fuzz`.
> /plugin marketplace add LerianStudio/ringHow it fires
How this agent gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Extends `qa.v2.md`. Load this file when dispatched with `mode: fuzz`.
Agent definition
fuzz.mdQA Analyst — Fuzz Testing Mode
Extends `qa.v2.md`. Load this file when dispatched with `mode: fuzz`.
When Fuzz Testing Applies
- Input parsing functions (JSON, Protobuf, custom formats)
- Cryptographic operations (HMAC verification, JWT parsing)
- Financial calculation functions (amount parsing, currency conversion)
- Any function that takes untrusted external input
Fuzz Test Structure (Go)
func FuzzAmountParser(f *testing.F) {
// Seed corpus — valid representative inputs
f.Add("100.00")
f.Add("0.01")
f.Add("999999999.99")
f.Add("-100.00")
f.Fuzz(func(t *testing.T, input string) {
// Must not panic — only check for crashes/panics
_, err := ParseAmount(input)
// err is OK — panic is not
if err != nil {
return // valid rejection
}
// If no error, verify invariants
})
}Running Fuzz Tests
# Run for 60 seconds (CI budget)
go test -fuzz=FuzzAmountParser -fuzztime=60s ./internal/...
# Re-run with saved corpus
go test -run=FuzzAmountParser ./internal/...
Corpus Management
- Seed corpus: representative valid inputs + known edge cases
- Failure corpus: saved to `testdata/fuzz/FuzzFuncName/` automatically on crash
- Add discovered crashes to seed corpus after fixing
Output Format
## VERDICT: [PASS | FAIL]
## Fuzz Testing Summary
| Metric | Value |
|--------|-------|
| Functions Fuzzed | N |
| Corpus Seeds | N |
| Duration | 60s |
| Crashes Found | N |
## Corpus Report
| Function | Seeds | New Paths | Crashes |
|----------|-------|-----------|---------|
| FuzzAmountParser | 4 | 12 | 0 |
## Crashes Found
[If any]
### FuzzXxx crash at input: `<raw bytes>`
- **File saved:** `testdata/fuzz/FuzzXxx/crash-abc123`
- **Root cause:** [description]
- **Fix:** [recommendation]
## Next Steps
[PASS: "No crashes. Corpus saved." | FAIL: Fix crashes, extend corpus.]
Read more
QA Analyst — Fuzz Testing Mode
Extends `qa.v2.md`. Load this file when dispatched with `mode: fuzz`.
When Fuzz Testing Applies
- Input parsing functions (JSON, Protobuf, custom formats)
- Cryptographic operations (HMAC verification, JWT parsing)
- Financial calculation functions (amount parsing, currency conversion)
- Any function that takes untrusted external input
Fuzz Test Structure (Go)
func FuzzAmountParser(f *testing.F) {
// Seed corpus — valid representative inputs
f.Add("100.00")
f.Add("0.01")
f.Add("999999999.99")
f.Add("-100.00")
f.Fuzz(func(t *testing.T, input string) {
// Must not panic — only check for crashes/panics
_, err := ParseAmount(input)
// err is OK — panic is not
if err != nil {
return // valid rejection
}
// If no error, verify invariants
})
}Running Fuzz Tests
# Run for 60 seconds (CI budget) go test -fuzz=FuzzAmountParser -fuzztime=60s ./internal/... # Re-run with saved corpus go test -run=FuzzAmountParser ./internal/...
Corpus Management
- Seed corpus: representative valid inputs + known edge cases
- Failure corpus: saved to `testdata/fuzz/FuzzFuncName/` automatically on crash
- Add discovered crashes to seed corpus after fixing
Output Format
## VERDICT: [PASS | FAIL] ## Fuzz Testing Summary | Metric | Value | |--------|-------| | Functions Fuzzed | N | | Corpus Seeds | N | | Duration | 60s | | Crashes Found | N | ## Corpus Report | Function | Seeds | New Paths | Crashes | |----------|-------|-----------|---------| | FuzzAmountParser | 4 | 12 | 0 | ## Crashes Found [If any] ### FuzzXxx crash at input: `<raw bytes>` - **File saved:** `testdata/fuzz/FuzzXxx/crash-abc123` - **Root cause:** [description] - **Fix:** [recommendation] ## Next Steps [PASS: "No crashes. Corpus saved." | FAIL: Fix crashes, extend corpus.]
Proven engineering practices, enforced through skills. Ring is a comprehensive skills library and workflow system for AI agents that transforms how AI assistants approach software development.
Repo: LerianStudio/ring
Other agents on ring.
- codebase-explorer
Deep codebase exploration agent for architecture understanding, pattern discovery, and comprehensive code analysis. Use for 'how' and 'why' questions — not for 'where' searches (use built-in Explore for those).
Open agent - review-slicer
Review Slicer: Adaptive classification engine that evaluates semantic cohesion to decide whether slicing improves review quality. Sits between Mithril pre-analysis and reviewer dispatch. Classification-only — does NOT read source code.
Open agent - backend-go
Senior Backend Engineer specialized in Go for high-demand financial systems. Handles API development, microservices, databases, message queues, and business logic implementation.
Open agent - backend-ts
Senior Backend Engineer specialized in TypeScript/Node.js for scalable systems. Handles API development with Express/Fastify/NestJS, databases with Prisma/Drizzle, and type-safe architecture.
Open agent - bff-ts
Senior BFF (Backend for Frontend) Engineer specialized in Next.js API Routes with Clean Architecture, DDD, and Hexagonal patterns. Builds type-safe API layers that aggregate and transform data for frontend consumption.
Open agent - code-reviewer
Foundation Review: Reviews code quality, architecture, design patterns, algorithmic flow, and maintainability. Runs in parallel with other reviewers at Gate 8.
Open agent

