From superpowers-plus
Converts approved spec requirements into structured, testable acceptance criteria table with ID, description, test type (UI/API/Logic), preconditions, and expected results. Use post-spec approval before implementation plans.
npx claudepluginhub xhyqaq/superpowers-plus --plugin superpowers-plusThis skill uses the workspace's default tool permissions.
**Announce at start:** "I'm using the writing-acceptance-criteria skill to convert the approved spec into a testable acceptance criteria document."
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Guides TDD-style skill creation: pressure scenarios as tests, baseline agent failures, write docs to enforce compliance, verify with RED-GREEN-REFACTOR.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Announce at start: "I'm using the writing-acceptance-criteria skill to convert the approved spec into a testable acceptance criteria document."
Core principle: Every requirement in the spec must become a criterion with a deterministic pass/fail check. If you cannot write such a check, the requirement is not yet specified well enough.
Save to: docs/superpowers/acceptance/YYYY-MM-DD-<feature>.md
Present the document, commit it, then wait for explicit user approval before invoking writing-plans. (Skip in autonomous mode — see below.)
docs/superpowers/specs/YYYY-MM-DD-<topic>-design.mdFor each requirement, write one or more rows in the acceptance criteria table.
Every criterion must include:
| Field | Meaning |
|---|---|
| ID | Sequential identifier: AC-001, AC-002, ... |
| Description | One sentence stating the observable behavior being verified |
| Test type | One of: UI interaction / API / Logic |
| Preconditions | System state, data, or setup required before the test runs |
| Expected result | The specific, measurable outcome that constitutes a pass |
Test type definitions:
UI interaction — requires a running browser; executed with superpowers:playwright-cliAPI — HTTP request/response or CLI invocation; executed with curl, httpie, or the project's test runnerLogic — pure function, data transformation, or unit behavior; executed by running the project's test suite directlySave to docs/superpowers/acceptance/YYYY-MM-DD-<feature>.md with this exact header:
# Acceptance Criteria: [Feature Name]
**Spec:** `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md`
**Date:** YYYY-MM-DD
**Status:** Draft
---
## Criteria
| ID | Description | Test Type | Preconditions | Expected Result |
|----|-------------|-----------|---------------|-----------------|
| AC-001 | ... | UI interaction | ... | ... |
| AC-002 | ... | API | ... | ... |
| AC-003 | ... | Logic | ... | ... |
Fix inline. No need to re-review after fixing.
git add docs/superpowers/acceptance/YYYY-MM-DD-<feature>.md
git commit -m "docs: add acceptance criteria for <feature>"
Announce:
"Acceptance criteria written and committed to
docs/superpowers/acceptance/<filename>.md. Please review and let me know if any criteria need adjustment before we proceed to writing the implementation plan."
Wait for explicit user approval. If changes are requested, update the document, re-run self-review, and re-commit. Update Status: from Draft to Approved once the user approves.
If the user previously granted autonomous mode:
Status: to Approved directlysuperpowers:writing-plans immediatelyThese are failures — never write them:
If a requirement cannot be made testable, stop. Return to the spec and clarify with the user before writing the criterion.
UI interaction when the behavior is purely server-sidewriting-plans before user approval (outside autonomous mode)acceptance-testingCalled after:
superpowers:brainstorming — invoke this skill after the spec is approved and committedReferenced by:
superpowers:writing-plans — plan tasks should note which AC IDs they satisfysuperpowers:executing-plans — subagents receive relevant AC IDs in their task-local contextsuperpowers:acceptance-testing — reads this document to drive the final verification passProceeds to:
superpowers:writing-plans — invoke after user approval (or immediately in autonomous mode)