vibe-fuzz-parser-inputs

A testing helper for parsers, which are code components that turn text such as YAML, JSON, or configuration files into usable data. It creates fuzz tests that try varied and unexpected inputs, including examples from existing test files.

In plain words
What is it for?
Use it when building parsers for files, webhooks, API responses, user input, or custom formats. It is not intended for standard-library parsers, controlled input, or trivial string splitting.
Why use it?
It helps reveal crashes and other parsing problems before unexpected external or user-provided data reaches production.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/ash1794/vibe-engineering/fuzz-parser-inputs
Any agent
npx skills add ash1794/vibe-engineering --skill fuzz-parser-inputs
Clone the repo
git clone --depth 1 https://github.com/ash1794/vibe-engineering

Made for: Claude Code, Codex.

Per session 42 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 695 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00042 $0.00695
Opus 5 $0.00021 $0.00347
Sonnet 5 $0.00008 $0.00139
Haiku 4.5 $0.00004 $0.00069

Measured 2d ago against content hash ca7b2689204c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

vibe-fuzz-parser-inputs scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

plugins/vibe-engineering/skills/fuzz-parser-inputs/SKILL.md · 97 lines

How it starts

The opening of the file, as written. The whole thing — 97 lines — stays where its author put it; the contents beside it link to each section on GitHub.

vibe-fuzz-parser-inputs

Every parser will eventually see input you didn't expect. Fuzz testing finds the crashes before production does.

When to Use This Skill

  • Implementing any parser (YAML, JSON, XML, config, DSL)
  • Processing user-supplied input
  • Handling webhook payloads or API responses
  • Parsing file formats

When NOT to Use This Skill

  • The parser is a well-tested standard library (e.g., encoding/json)
  • You're only reading known, controlled input
  • The parser is trivial (e.g., splitting a string by comma)

Steps

Go Fuzz Tests

  1. Create fuzz test file (parser_fuzz_test.go):

    func FuzzParseConfig(f *testing.F) {
        // Seed corpus from existing test fixtures
        files, _ := filepath.Glob("testdata/*.yaml")
        for _, file := range files {
            data, _ := os.ReadFile(file)
            f.Add(data)
        }
    
        // Add targeted seeds
        f.Add([]byte(""))           // empty
        f.Add([]byte("{}"))         // minimal valid
        f.Add([]byte("\x00\x00"))   // binary
    
        f.Fuzz(func(t *testing.T, data []byte) {
            // Should never panic
            result, err := ParseConfig(data)
            if err != nil {
                return // errors are fine
            }
            // If no error, result should be valid
            if result.Name == "" {
                t.Error("parsed successfully but Name is empty")
            }
        })
    }
    
  2. Seed the corpus from:

    • Existing test fixtures
    • Real production examples
    • Known edge cases
    • Minimally valid inputs
    • Binary/garbage data
  3. Run initial fuzz:

    go test -fuzz=FuzzParseConfig -fuzztime=30s
    
  4. Record results:

    • Crashes found
    • New corpus entries generated
    • Edge cases discovered
  5. Fix crashes -- Every panic or unexpected behavior becomes a permanent test case

Other Languages

  • JavaScript/TypeScript: Use jest-fuzz or fast-check property-based testing
  • Python: Use hypothesis for property-based testing
  • Rust: Use cargo-fuzz with libfuzzer

Read the full file on GitHub · 97 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 97 lines · 42 tokens per session scan A ca7b2689204c

Subscribe to this mod's changes

vibe-fuzz-parser-inputs is a skill published in the GitHub repository ash1794/vibe-engineering (10 stars, last pushed 3mo ago), licensed MIT. It adds 42 tokens to every session and 695 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

pptgen-drawio

根据论文或汇报内容生成多页 Draw.io 格式 PPT,支持论文答辩与通用汇报两种模式,自动导出为 .pptx。当用户提到论文答辩 PPT、答辩幻灯片、通用 PPT、汇报 PPT、根据模板生成 PPT、drawio2pptx 时使用。.

xstongxue/best-skills · 80 tokens

create-skill

Guides users through creating effective Agent Skills for Cursor. Use when the user wants to create, write, or author a new skill, or asks about skill structure, best practices, or SKILL.md format.

xstongxue/best-skills · 46 tokens

wechat-article-writer

公众号/自媒体全流程。根据用户表述自动匹配:撰写文章、封面图、正文插图、风格提取。支持多种写作风格。当用户提到写公众号、技术博客、公众号封面、正文插图、步骤图、演示图、流程示意、分析写作风格、克隆文风、模仿爆款、提取风格时使用。详见 reference 目录。.

xstongxue/best-skills · 105 tokens

project-docs

对任意代码项目生成一套面向新人的循序渐进文档集,输出到 docs/ 目录。含架构、设计思想、语言特性、代码导读、运行时模型、构建、对接、调试、设计规范共 9 篇,支持全部生成 / 只写几篇 / 更新已有文档。当用户提到"生成项目文档"、"新人文档"、"上手文档"、"架构文档"、"代码导读"、"项目理解"、"深入理解项目"、"onboarding 文档"、"给新同事看的文档"时使用。要按用户给的格式写论文章节、项目梳理、重点问题、简历项目描述的,用 codegen-doc。.

xstongxue/best-skills · 177 tokens

drawio-diagram

为深度学习模型、网络架构、算法流程等生成标准 Draw.io (.drawio) 格式的可视化图表;支持从零生成与风格迁移两种模式。从零生成:模型架构图、流程图、感受野示意图等;风格迁移:参考图 + 内容描述/项目 → 按参考图风格生成新图。确保 XML 格式正确,可直接在 Draw.io 中打开编辑。.

xstongxue/best-skills · 104 tokens

skill-prompt-convert

在 Skill(SKILL.md)与 Prompt(聊天框指令)两种格式之间相互转换。支持 Skill→Prompt 与 Prompt→Skill 双向转换,保持核心信息零丢失。当用户提到 Skill 转 Prompt、Prompt 转 Skill、格式互转、SKILL.md 转换时使用。.

xstongxue/best-skills · 72 tokens