acceptance-testing
Use when validating that implementation meets specification requirements — applies acceptance-driven backpressure with behavioral validation gates that prevent completion claims without passing tests. Triggers: spec-to-code validation, feature completion verification, pre-merge acceptance gate, release readiness check.
- Installs
- 85
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/pixel-process-ug/superkit-agents --skill acceptance-testing- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads acceptance-testing automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Acceptance Testing
Overview
Acceptance-driven backpressure connects specification acceptance criteria directly to test requirements, creating a validation chain that prevents premature completion claims. The system cannot cheat — you cannot claim a feature is done unless tests derived from spec acceptance criteria actually pass.
Announce at start: "I'm using the acceptance-testing skill to validate against specification criteria."
The Backpressure Chain
+------------+ derives +------------+ validates +------------+
| SPECS |---------------->| TESTS |---------------->| CODE |
| | | | | |
| Acceptance | | Test cases | | Must pass |
| Criteria | | from AC | | all tests |
+------------+ +------------+ +------------+
^ |
| backpressure |
+--------------------------------------------------------------+
If tests fail, implementation must change (not the spec or test)
Phase 1: Extract Acceptance Criteria
Goal: From each specification file, extract all Given/When/Then acceptance criteria.
Actions
- Locate all specification files (
specs/*.md) - Extract every acceptance criterion with its ID
- Document in structured format
Example Extraction
## From spec: 01-color-extraction.md
### AC-1: Extract dominant colors
- Given an uploaded image (PNG, JPG, or WebP)
- When color extraction is triggered
- Then 5-10 dominant colors are returned
- And each color includes hex, RGB, and HSL representations
### AC-2: Handle invalid images
- Given a corrupted or unsupported file
- When color extraction is attempted
- Then an appropriate error is returned
- And no partial results are produced
STOP — HARD-GATE: Do NOT proceed to Phase 2 until:
- All spec files are located and read
- Every acceptance criterion is extracted with an ID
- Criteria are in Given/When/Then format
- No criteria are ambiguous (if ambiguous, clarify with spec author)
Phase 2: Derive Test Cases
Goal: Map every acceptance criterion to at least one test case.
┌─────────────────────────────────────────────────────────────────┐
│ HARD-GATE: Every acceptance criterion must have at least one │
│ corresponding test. No exceptions. If a criterion has no │
│ test, the feature is NOT complete. │
└─────────────────────────────────────────────────────────────────┘
Traceability Table
| Acceptance Criterion | Test Type | Test Description | Test File:Line |
|---|---|---|---|
| AC-1: Extract dominant colors | Integration | Upload valid image, verify 5-10 colors with hex/RGB/HSL | test/color.test.js:15 |
| AC-2: Handle invalid images | Integration | Upload corrupted file, verify error, verify no partial data | test/color.test.js:42 |
Decision Table: Test Type for Acceptance Criteria
| Criterion Type | Test Type | Rationale |
|---|---|---|
| Data input/output behavior | Integration | Tests real data flow |
| Error handling behavior | Integration | Tests error paths end-to-end |
| Performance requirement | Load test | Requires measurement under load |
| UI behavior | E2E (Playwright) | Tests real browser interaction |
| Subjective quality | LLM-as-judge | Cannot be deterministically tested |
| Security requirement | Integration + security test | Tests authorization and input validation |
STOP — HARD-GATE: Do NOT proceed to Phase 3 until:
- Every acceptance criterion has at least one test mapped
- Test types are appropriate for the criterion type
- Test file locations are identified
Phase 3: Write Tests Before Implementation
Goal: Write acceptance tests that will fail until the feature is correctly implemented.
Actions
This phase integrates with test-driven-development:
- Write test from acceptance criterion (RED)
- Implement feature to pass test (GREEN)
- Refactor while keeping test green (REFACTOR)
Behavioral Outcome Focus
| Verify This (Behavioral) | NOT This (Implementation) |
|---|---|
| "5-10 colors are returned" | "K-means runs with k=8" |
| "Response time < 200ms" | "Cache is hit on second call" |
| "Error message is user-friendly" | "CustomError class is thrown" |
| "Data persists across sessions" | "PostgreSQL INSERT executes" |
| "UI updates within 500ms" | "WebSocket message is received" |
STOP — HARD-GATE: Do NOT proceed to Phase 4 until:
- All acceptance tests are written
- Tests fail before implementation (RED confirmed)
- Tests verify behavioral outcomes, not implementation details
Phase 4: Validation Gates
Goal: Before claiming any task complete, ALL gates must pass.
| Gate | Check | Tool | Required |
|---|---|---|---|
| Unit tests | All pass | Test runner | Always |
| Integration tests | All pass | Test runner | Always |
| Acceptance tests | All AC-derived tests pass | Test runner | Always |
| Build | Compiles without errors | Build tool | Always |
| Lint | No violations | Linter | Always |
| Typecheck | No type errors | Type checker | When applicable |
┌─────────────────────────────────────────────────────────────────┐
│ HARD-GATE: ACCEPTANCE │
│ │
│ Cannot claim completion without ALL acceptance tests passing. │
│ If any acceptance test fails, the feature is NOT done. │
│ Fix the implementation, not the spec or the test. │
└─────────────────────────────────────────────────────────────────┘
STOP — HARD-GATE: Do NOT proceed to Phase 5 until:
- All validation gates pass
- Acceptance tests pass with green status
- No gates are skipped or marked as "will fix later"
Phase 5: Traceability Report
Goal: Produce a report linking every spec criterion to its test and result.
Report Template
## Acceptance Test Report
| Spec | Criterion | Test | Status |
|------|-----------|------|--------|
| 01-color-extraction.md | AC-1: Extract dominant colors | test/color.test.js:15 | PASS |
| 01-color-extraction.md | AC-2: Handle invalid images | test/color.test.js:42 | PASS |
| 02-palette-rendering.md | AC-1: Render palette grid | test/palette.test.js:8 | PASS |
### Summary
- Total criteria: N
- Tested: N
- Passing: N
- Failing: 0
- Coverage: 100%
Anti-Patterns / Common Mistakes
| Anti-Pattern | Why It Is Wrong | Correct Approach |
|---|---|---|
| Changing specs to match implementation | Defeats the purpose of specification | Fix the implementation, not the spec |
| Skipping edge case criteria | Edge cases cause production bugs | ALL acceptance criteria get tests |
| Testing implementation details | Brittle tests that break on refactor | Test observable behavioral outcomes |
| Claiming "tests pass" without acceptance tests | Unit tests alone are insufficient | Acceptance tests are a separate, required category |
| Writing acceptance tests after implementation | Tests shaped to pass, not to specify | Write BEFORE implementation (TDD) |
| Deferring acceptance tests to "later" | Later never comes | Write them in Phase 2, before coding |
| Marking failing tests as "known issues" | Hides incomplete implementation | Fix the code until tests pass |
Rationalization Prevention
| Excuse | Reality |
|---|---|
| "The unit tests cover this" | Unit tests test components in isolation; acceptance tests verify integrated behavior |
| "The spec is obvious, no need for formal tests" | Obvious specs still need verifiable tests |
| "We can manually verify this" | Manual verification is not repeatable or trustworthy |
| "The acceptance criteria are too vague to test" | Clarify the criteria; vague specs produce vague code |
| "This is just a cosmetic change" | Cosmetic changes can break layout, accessibility, and UX |
Integration Points
| Skill | Relationship |
|---|---|
spec-writing | Acceptance criteria come from specs |
test-driven-development | TDD cycle uses acceptance-derived tests |
llm-as-judge | For subjective criteria that cannot be deterministically tested |
verification-before-completion | Final verification includes acceptance test check |
autonomous-loop | Exit gate requires acceptance tests passing |
code-review | Review checks acceptance test coverage |
planning | Plan includes acceptance test writing as explicit tasks |
Skill Type
RIGID — The backpressure chain must not be bypassed. Every acceptance criterion must have a test. No completion without passing acceptance tests. Fix the implementation, not the spec or the test.
FAQ
What does the acceptance-testing skill do?
Use when validating that implementation meets specification requirements — applies acceptance-driven backpressure with behavioral validation gates that prevent completion claims without passing tests. Triggers: spec-to-code validation, feature completion verification, pre-merge acceptance gate, release readiness check.
How do I install acceptance-testing?
Run npx skills add https://github.com/pixel-process-ug/superkit-agents --skill acceptance-testing in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/acceptance-testing/ (personal) or .claude/skills/acceptance-testing/ (project).
Which AI agents can use acceptance-testing?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is acceptance-testing safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains acceptance-testing?
It is published by pixel-process-ug in pixel-process-ug/superkit-agents. It has 85 recorded installs.
More from pixel-process-ug/superkit-agents
ui-ux-pro-max
pixel-process-ug/superkit-agents
Use when the user needs full UI/UX design intelligence — styles, palettes, fonts, UX guidelines, chart selection, and accessible, performant implementation across any supported stack. Triggers: user says "design", "UI", "UX", "color palette", "typography", "accessibility", "responsive design", "chart type", "style guide", building any user-facing interface.
frontend-ui-design
pixel-process-ug/superkit-agents
Use when designing UI components, creating component architectures, implementing responsive layouts, setting up design systems, or selecting state management solutions for frontend applications
reverse-engineering-specs
pixel-process-ug/superkit-agents
Use when onboarding to an existing codebase that lacks specifications — exhaustively traces code paths and produces implementation-free behavioral specifications for safe refactoring, feature addition, or legacy modernization
canvas-design
pixel-process-ug/superkit-agents
Use when the user needs HTML Canvas, SVG graphics, data visualization, generative art, or interactive visual elements with D3.js or similar libraries. Triggers: user says "canvas", "SVG", "chart", "data visualization", "D3", "generative art", "animation", "interactive graphics", drawing on screen.
autonomous-loop
pixel-process-ug/superkit-agents
Use when running Ralph-style iterative autonomous development. Triggers on /ralph or /loop commands, when autonomous iterative development is needed, when a project has specs and an implementation plan ready for iterative execution, or when deterministic context loading with subagent delegation and dual-condition exit gates is required. Orchestrates PLANNING, BUILDING, and STATUS cycles.
mobile-design
pixel-process-ug/superkit-agents
Use when the user needs mobile app design and development patterns for React Native, Flutter, or SwiftUI — including platform HIG compliance, gestures, and offline-first architecture. Triggers: user says "mobile", "iOS", "Android", "React Native", "Flutter", "SwiftUI", "app design", "mobile navigation", "touch targets", "offline-first".
Popular testing & qa skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
grilling
mattpocock/skills
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
migrate-to-shoehorn
mattpocock/skills
Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.
run-train
lllllllama/rigorpilot-skills
Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.
test-driven-development
obra/superpowers
Use when implementing any feature or bugfix, before writing implementation code
finishing-a-development-branch
obra/superpowers
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work