tester

Create BDD test stubs from acceptance criteria and report PASS or FAIL.

7|2|Updated Apr 28, 2026
One-click install
npx skills add https://github.com/robconery/crap-code --skill tester-robconery
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tester
Source: https://github.com/robconery/crap-code/tree/main/.pi/skills/tester
Command: npx skills add https://github.com/robconery/crap-code --skill tester-robconery

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill prevents fragile releases by ensuring every acceptance criterion gets a corresponding, correctly structured test that either green-lights the task or blocks it without altering production code.

Core Features & Use Cases

  • Creates BDD test stubs from acceptance criteria so the red→green loop starts immediately and mirrors the code structure under /lib/.
  • Enforces Gate 1 test completion per task by completing coverage for every AC and producing a binary PASS/FAIL outcome.
  • Verifies reliable isolation practices by requiring fakes (no vi.mock-style mocks), fixture-based external data, and no E2E calls to real Stripe/Resend/Firebase.

Quick Start

Use the tester skill during a development task to turn the task’s acceptance criteria into BDD test stubs, then finish the tests and run the suite so the task is either transitioned to review or recorded as failed for correction.

Frequently Asked Questions about tester

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate BDD test stubs from acceptance criteria?

You generate BDD test stubs by mirroring your `/lib/` structure under `/tests/`, ensuring every acceptance criterion has a corresponding stub. This immediately initiates the red→green loop without touching production code.

How do I gate releases using acceptance-criteria-driven tests?

You gate releases by completing BDD tests for every acceptance criterion per task. Passing tests trigger a `sprint_state_transition` for review, while failures record a `strike_record` to block the release without altering production code.

Does BDD testing work with in-memory SQLite and test fakes?

BDD testing works with in-memory SQLite and test fakes by enforcing reliable isolation. You provide fixture-based external data and avoid `vi.mock`-style mocks or E2E calls to real services like Stripe and Firebase.

What is the best way to isolate external integrations in BDD tests?

The best way to isolate external integrations in BDD tests is using test fakes with fixture-based data. This prevents E2E calls to real Stripe, Resend, or Firebase services and prohibits `vi.mock`-style mocks to ensure reliable isolation.

Why should I use test fakes instead of vi.mock for testing workflows?

You should use test fakes instead of `vi.mock` to verify reliable isolation practices and ensure idempotent workflows. Fakes provide fixture-based data for external integrations without fragile E2E calls, keeping production code unmodified.

When do I need to run BDD test gates during a development sprint?

You need to run BDD test gates during the planning-to-execution workflow of a development sprint. Gating happens per task after completing `/tests/` stubs to ensure every acceptance criterion passes before transitioning the task to review.