bubbles-test-integrity

Validates tests against Gherkin scenarios and blocks mocks, silent passes, and self-validating assertions.

1|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/pkirsanov/bubbles --skill bubbles-test-integrity-pkirsanov
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: bubbles-test-integrity
Source: https://github.com/pkirsanov/bubbles/tree/main/skills/bubbles-test-integrity
Command: npx skills add https://github.com/pkirsanov/bubbles --skill bubbles-test-integrity-pkirsanov

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? AI-generated and hand-written tests often look complete but are fake: they mock the systems they claim to test end-to-end, silently pass when features are broken, or assert values the test itself injected. This Skill enforces specification-driven test quality so that a passing suite actually proves the software works. ## Core Features & Use Cases - Seven quality gates: Gherkin scenario coverage, no internal mocks in live categories, no silent-pass patterns, real behavior assertions, Test Plan ↔ DoD parity, adversarial regression cases for bug fixes, and no self-validating test setups. - Per-category test taxonomy: Defines what "real" means for unit, functional, integration, ui-unit, e2e-api, e2e-ui, stress, and load tests, including grep-based scans for interception patterns like page.route, cy.intercept, msw, and nock. - Structured verification workflow: An eight-step audit sequence plus a decision tree that classifies any test as REAL, FAKE, SELF-VALIDATING, PROXY, MOCKED, SILENT-PASS, or TAUTOLOGICAL. - Use Case: Before marking a bug fix done, run the Skill's checks to confirm at least one regression test uses adversarial input that would fail if the bug returned, and that no early-return bailout hides a redirect to the login page. ## Quick Start Review the tests in this scope against the Gherkin scenarios and flag any that are mocked, silent-passing, or self-validating.

Frequently Asked Questions about bubbles-test-integrity

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

FAQPage Schema
How do I verify tests actually cover Gherkin scenarios?▼

Map each Given/When/Then scenario in the scope artifact to at least one executable test, then count scenarios versus matching tests. Every scenario must have a test that sets up the Given precondition, performs the When action, and asserts the Then outcome.

How to detect mocked tests in end-to-end test suites?▼

Scan test files classified as integration, e2e-api, or e2e-ui for interception patterns like page.route, context.route, cy.intercept, msw, nock, and wiremock. Any match must either be reclassified as a mocked category or rewritten to hit the real running stack.

What is a self-validating test and why is it a problem?▼

A self-validating test asserts on values the test itself hardcoded or injected rather than output produced by the code under test. Apply the replacement heuristic: if the code were replaced with return input and the test still passes, it must be rewritten.

Can unit tests use mocks under these test quality rules?▼

Unit tests may mock external third-party dependencies but never internal modules. Assertions must verify that the code under test responded correctly to the mock's behavior, not that the mock returned what it was told to return.

What makes a bug fix regression test adversarial?▼

An adversarial regression test uses input that would fail if the bug were reintroduced, such as data that does not match a buggy filter or a direct assertion that a redirect failure does not occur. Tautological tests whose setup mirrors the broken code path are prohibited.

When does the adversarial regression gate not apply?▼

The adversarial regression gate applies only to bug fixes and regression scopes. Feature-only scopes are exempt unless they claim to close an existing bug, in which case at least one adversarial regression case is required.