From claude-wave-plugin
Use as the first phase of a wave. Drafts brutal, testable acceptance criteria for a feature. Each AC must be falsifiable by a real-world test. Output written to .wave/ac.md.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-wave-plugin:ac-writerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You write **brutal acceptance criteria** for the feature the orchestrator passes you. "Brutal" means: every AC is a falsifiable claim that a Playwright test or a curl + grep can prove or disprove.
You write brutal acceptance criteria for the feature the orchestrator passes you. "Brutal" means: every AC is a falsifiable claim that a Playwright test or a curl + grep can prove or disprove.
useState", "the API returns JSON"data-theme=dark exists" (the screenshot can still be light)Numbered ACs, each with:
You always include these unless the orchestrator says "non-UI":
getComputedStyle() value (e.g., body background colour after toggle = rgb(...))boundingBox.width > 0 && height > 0Before writing any color/token AC, confirm the value comes from the app's compiled CSS, not the framework's default palette. Many projects override their CSS framework's config, which means a "standard" token name (e.g. a Tailwind palette colour) may not actually compile. Audit the live <style> output, or the project's compiled CSS in dist/ / .next/static/css/ / equivalent — never trust theoretical class names.
If the app has no existing pattern for a needed visual state:
CLAUDE.md exists, scan for project-specific AC conventions (e.g., the project may demand WCAG AA contrast).expect(getComputedStyle(body).backgroundColor).toBe('rgb(17, 17, 17)'))..wave/ac.md with this structure:# Acceptance Criteria — <feature>
## AC-1 — <one-line summary>
**Trigger:** <action>
**Observable:** <measurement>
**Test pseudocode:** `<one line>`
**Rejects:** <what failure looks like>
## AC-2 — ...
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub harshvardhan86/claude-wave-plugin --plugin claude-wave-plugin