Agent skill

Vibe Adversarial Test Generation

by ash1794 in ash1794/vibe-engineering

Generates edge case, failure mode, and spec-driven test cases.

MITAuto-check passedTesting & QA

Install Vibe Adversarial Test Generation

skills CLI
$ npx skills add ash1794/vibe-engineering --skill vibe-adversarial-test-generation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ash1794/vibe-engineering vibe-adversarial-test-generation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ash1794/vibe-engineering.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/vibe-engineering/skills/vibe-adversarial-test-generation .claude/skills/vibe-adversarial-test-generation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
vibe-adversarial-test-generation
GitHub stars
163
Token cost
~1.4k tokens
SKILL.md length
645 words
Files
1
Skills in repo
33
Repo updated
First seen
Licence
MIT

At a glance

Generates edge case, failure mode, and spec-driven test cases.

  • Works in 6 steps: Boundary Values → Nil/Null/Undefined → Type Edge Cases → …
  • Tasks that involve Test generation
  • SKILL.md covers When to Use This Skill, When NOT to Use This Skill, Modes and Steps (Adversarial Mode), plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Vibe Adversarial Test Generation is an agent skill from ash1794/vibe-engineering. Generates edge case, failure mode, and spec-driven test cases. Covers boundary values, nil inputs, concurrency, resource exhaustion, malformed data, and requirement-linked traceability tests. Use after happy-path tests exist and before claiming coverage is complete, when requirements lack tests, or before a security review.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Test generation, Spec-driven development and Security review. The repository describes itself as: 33 engineering discipline skills for Claude Code, OpenAI Codex & Gemini CLI + a CLI for CI/CD enforcement. Extracted from real-world multi-agent system development. Born from… The licence is MIT.

When your agent uses it

  • Tasks that involve Test generation
  • Tasks that involve Spec-driven development
  • Tasks that involve Security review

Example prompts

  • “Use the vibe-adversarial-test-generation skill to generate edge case, failure mode, and spec-driven test cases”
  • “/vibe-adversarial-test-generation”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Boundary Values
  2. Nil/Null/Undefined
  3. Type Edge Cases
  4. Concurrency
  5. Resource Exhaustion
  6. Malformed Input

What it can do on your machine

Read from SKILL.md and the folder at commit 8f1d71b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Vibe Adversarial Test Generation loads about 1.4k tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 645 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~90
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ash1794/vibe-engineering at commit 8f1d71b, republished under its MIT licence (© ash1794). 645 words, ~1,432 tokens.

Download SKILL.mdSave it as .claude/skills/vibe-adversarial-test-generation/SKILL.md (or your agent's skills folder).
name
vibe-adversarial-test-generation
description
Generates edge case, failure mode, and spec-driven test cases. Covers boundary values, nil inputs, concurrency, resource exhaustion, malformed data, and requirement-linked traceability tests. Use after happy-path tests exist and before claiming coverage is complete, when requirements lack tests, or before a security review.
user-invocable
true

vibe-adversarial-test-generation

Happy-path tests prove your code works. Adversarial tests prove it doesn't break. Spec-linked tests prove it does what it's supposed to.

When to Use This Skill

  • After writing happy-path tests for a feature
  • Before claiming test coverage is complete
  • When spec requirements lack corresponding tests
  • When preparing for a security review
  • When vibe-spec-sync or vibe-coverage-enforcer reports uncovered requirements

When NOT to Use This Skill

  • Before happy-path tests exist (write those first)
  • For throwaway/prototype code
  • When the function is trivially simple (e.g., getters/setters)

Modes

Mode 1: Adversarial (Edge Cases)

Generate tests that break assumptions across 6 categories.

1. Boundary Values
  • Zero, one, max, max+1 for all numeric inputs
  • Empty string, single char, max-length string
  • Empty array, single element, very large array
  • Exactly at threshold values
2. Nil/Null/Undefined
  • nil pointer as receiver
  • nil arguments to every parameter
  • nil nested fields in structs
  • Returning nil where non-nil expected
3. Type Edge Cases
  • Unicode: emoji, RTL text, zero-width chars, combining chars
  • Strings: newlines, tabs, null bytes, control characters
  • Numbers: NaN, Infinity, -0, very large, very small
  • Dates: leap year, DST transitions, timezone boundaries, epoch
4. Concurrency
  • Two goroutines/threads calling the same function
  • Read during write
  • Close during use
  • Cancel during operation
5. Resource Exhaustion
  • Very large inputs (10MB string, 1M element slice)
  • Disk full simulation
  • Network timeout simulation
  • Memory pressure
6. Malformed Input
  • Invalid JSON/YAML/XML
  • Truncated input (cut off mid-field)
  • Wrong types (string where int expected)
  • Extra fields, missing required fields
  • SQL injection patterns, XSS payloads (for external inputs)
Mode 2: Spec-Driven (Requirement Coverage)

Generate tests that trace back to specific spec requirements.

  1. Read the spec — Find the specification document for the feature under test

  2. Extract requirements — Parse each requirement into an atomic, testable statement:

    • "Users can reset passwords via email" → testable
    • "The system should be fast" → not testable (flag it)
  3. Map existing tests to requirements — Scan test files for:

    • Comment markers: # req:[REQ-ID] or // req:[REQ-ID]
    • Function name patterns: test_req_[REQ-ID]_*
    • If no markers exist, use semantic matching (test name/body vs requirement text)
  4. Identify uncovered requirements — Requirements with no mapped tests

  5. Generate tests for uncovered requirements:

    • One test function per requirement minimum
    • Name format: test_req_[REQ-ID]_[description] (e.g., test_req_AUTH003_password_reset_sends_email)
    • First line of test body MUST include traceability marker:
      python
      # req:AUTH-003
      go
      // req:AUTH-003
      typescript
      // req:AUTH-003
    • Test must assert actual behavior against the requirement, not just call the function
    • No skip(), no TODO, no empty bodies
  6. Report coverage delta:

    • Requirements covered before: X/N
    • Requirements covered after: Y/N
    • Remaining uncovered (with reasons — e.g., "requires external service mock")
Show full SKILL.md (232 more words)Show less

Steps (Adversarial Mode)

  1. Read the function under test — understand inputs, outputs, side effects
  2. For each input parameter, generate adversarial values from each category
  3. For each adversarial input, determine expected behavior:
    • Should it return an error? (most common)
    • Should it handle gracefully? (fallback behavior)
    • Should it panic? (almost never the right answer)
  4. Write the tests as table-driven test cases
  5. Run them and fix any unexpected panics or wrong error handling

Steps (Spec-Driven Mode)

  1. Read the spec and extract atomic requirements with IDs
  2. Scan existing tests for requirement markers and semantic matches
  3. Generate a coverage map: requirement → test(s) or UNCOVERED
  4. Write tests for uncovered requirements with traceability markers
  5. Run tests and verify they pass against current implementation
  6. Report the before/after coverage delta

Output Format

Adversarial Tests: [Function Name]

Tests Generated: X Categories Covered: Y/6

#CategoryInputExpectedActual
1Nil inputnilErrNilInputPASS
2Empty string""ErrEmptyPANIC!
Issues Found
  1. [Function] panics on nil input (should return error)

Spec-Driven Tests: [Feature/Spec Name]

Spec: [path/to/spec.md] Requirements Found: N Previously Covered: X/N (Y%) Now Covered: Z/N (W%)

REQ IDRequirementTest StatusTest Function
AUTH-001Login requires email + passwordCoveredtest_req_AUTH001_login_requires_credentials
AUTH-002Failed login locks after 5 attemptsNEWtest_req_AUTH002_lockout_after_five_failures
AUTH-003Password reset sends emailUNCOVERED(requires email service mock)
Remaining Gaps
  1. AUTH-003: Requires email service mock — suggest adding mock in conftest.py

© ash1794, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/vibe-engineering/skills/vibe-adversarial-test-generation of ash1794/vibe-engineering.

Open the folder on GitHubat commit 8f1d71b

Compare with similar skills

Vibe Adversarial Test Generation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Vibe Adversarial Test Generation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vibe Adversarial Test Generation this skillash1794/vibe-engineering163—~1.4kAutomated safety check: PassMIT
Map TDDazalio/map-framework156—~6kAutomated safety check: PassMIT
Ss PlanSerial-Studio/Serial-Studio7.2k—~994Automated safety check: PassCustom licence
Mission Plannerjdforsythe/forge151—~3.5kAutomated safety check: PassMIT
Money Qualityiamzifei/show-me-the-money1k—~5.7kAutomated safety check: PassCustom licence
Feature Verifysd0xdev/sd0x-harness192—~3.2kAutomated safety check: NotesMIT

Similar skills

  • Map TDD

    azalio/map-framework

    TDD MAP workflow: write tests from the spec FIRST, then implement, so tests validate intent not implementation.

    156 GitHub stars~6k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Ss Plan

    Serial-Studio/Serial-Studio

    Phase 2 of Serial Studio's spec-driven workflow: turn an approved spec.md into a technical design (plan.md) — files, data flow, hotpath/threading impact, tradeoffs, risks, test plan.

    7.2k GitHub stars~994 tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Mission Planner

    jdforsythe/forge

    Decomposes goals into team blueprints using evidence-based scaling laws, topology selection, and role design.

    151 GitHub stars~3.5k tokensUpdated 3 mo ago
    Testing & QAAuto-check passed
  • Money Quality

    iamzifei/show-me-the-money

    Code and product quality gates for shipping with confidence.

    1k GitHub stars~5.7k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Feature Verify

    sd0xdev/sd0x-harness

    Feature verification (READ-ONLY, P0-P5). An agent skill from sd0xdev/sd0x-harness.

    192 GitHub stars~3.2k tokensUpdated 2 days ago
    Testing & QAAuto-check: notes
  • Flow Swarm

    LeoYeAI/openclaw-master-skills

    Multi-agent swarm orchestration via RuFlo + Claude Code. An agent skill from LeoYeAI/openclaw-master-skills.

    2.2k GitHub stars~5.3k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed

More from ash1794/vibe-engineering

All 33 skills in this repo
  • Vibe Concurrent Test Safety

    ash1794/vibe-engineering

    Audits tests for concurrency safety — race conditions, shared mock state, cleanup ordering.

    163 GitHub stars~665 tokensUpdated 3 days ago
    Auto-check passed
  • Vibe Fuzz Parser Inputs

    ash1794/vibe-engineering

    Generates fuzz test scaffolding for parsers handling external input (YAML, JSON, config files, user input).

    163 GitHub stars~722 tokensUpdated 3 days ago
    Auto-check passed
  • Vibe Golden File Testing

    ash1794/vibe-engineering

    Implements snapshot/golden file tests with temporal normalization so tests don't break daily.

    163 GitHub stars~669 tokensUpdated 3 days ago
    Auto-check passed
  • Vibe Parallel Task Decomposition

    ash1794/vibe-engineering

    Analyzes large tasks for independent subtasks that can be safely parallelized.

    163 GitHub stars~717 tokensUpdated 3 days ago
    Auto-check passed
  • Vibe Slop Filter

    ash1794/vibe-engineering

    Strips AI-generation "smell" from prose before it ships (READMEs, docs, release notes, PR descriptions, posts, emails).

    163 GitHub stars~2.3k tokensUpdated 3 days ago
    Auto-check passed
  • Vibe Spec Sync

    ash1794/vibe-engineering

    Keeps specification documents and code in agreement. An agent skill from ash1794/vibe-engineering.

    163 GitHub stars~2.2k tokensUpdated 3 days ago
    Auto-check passed

Questions about Vibe Adversarial Test Generation

What does Vibe Adversarial Test Generation do?

Generates edge case, failure mode, and spec-driven test cases. Vibe Adversarial Test Generation is an agent skill from ash1794/vibe-engineering. Generates edge case, failure mode, and spec-driven test cases.

When should I use Vibe Adversarial Test Generation?

Vibe Adversarial Test Generation fits situations like: tasks that involve Test generation; tasks that involve Spec-driven development; tasks that involve Security review.

How do I install Vibe Adversarial Test Generation in Claude Code?

Run `npx skills add ash1794/vibe-engineering --skill vibe-adversarial-test-generation -a claude-code`. Or copy the skill folder (plugins/vibe-engineering/skills/vibe-adversarial-test-generation in ash1794/vibe-engineering) into .claude/skills/vibe-adversarial-test-generation in your project. Claude Code loads it when a task matches its description.

How do I install Vibe Adversarial Test Generation in Codex?

Run `npx skills add ash1794/vibe-engineering --skill vibe-adversarial-test-generation -a codex`. Or copy the skill folder (plugins/vibe-engineering/skills/vibe-adversarial-test-generation in ash1794/vibe-engineering) into .agents/skills/vibe-adversarial-test-generation in your project. Codex loads it when a task matches its description.

Can I use Vibe Adversarial Test Generation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ash1794/vibe-engineering --skill vibe-adversarial-test-generation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vibe-adversarial-test-generation, .gemini/skills/vibe-adversarial-test-generation, .github/skills/vibe-adversarial-test-generation and .opencode/skills/vibe-adversarial-test-generation in your project.

What does Vibe Adversarial Test Generation need to run?

SKILL.md names no scripts, command-line tools or credentials: Vibe Adversarial Test Generation is instructions for the agent only. Our summary lists: Python 3.

Does Vibe Adversarial Test Generation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Vibe Adversarial Test Generation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Vibe Adversarial Test Generation use?

Vibe Adversarial Test Generation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Vibe Adversarial Test Generation use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Vibe Adversarial Test Generation?

Skills that share tags, products or a category with Vibe Adversarial Test Generation: Map TDD (azalio/map-framework, 156 stars), Ss Plan (Serial-Studio/Serial-Studio, 7.2k stars), Mission Planner (jdforsythe/forge, 151 stars) and Money Quality (iamzifei/show-me-the-money, 1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vibe Adversarial Test Generation?

ash1794 (a GitHub user) maintains it in ash1794/vibe-engineering, which has 163 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 7, 2026.

Source: ash1794/vibe-engineering on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.