adversarial-qa
Exploratory, adversarial QA: exercise a feature through whichever surface(s) it exposes — UI, API, or both — and surface issues the plan and committed tests…
Planning rules and plan template for drafting implementation plans. Invoked as /plan-draft for an ad-hoc planning session, or used by the planner sub-agent in the /feature workflow. (Named plan-draft so it does not collide with Claude Code's built-in plan-mode /plan command.)
$ npx -y skills add cunhaax/ai-workflow --skill plan-draft --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/plan-draftContext preview
The summary Claude sees to decide when to auto-load this skill.
Planning rules and plan template for drafting implementation plans. Invoked as /plan-draft for an ad-hoc planning session, or used by the planner sub-agent in the /feature workflow. (Named plan-draft so it does not collide with Claude Code's built-in plan-mode /plan command.)
name: plan-draft description: > Planning rules and plan template for drafting implementation plans. Invoked as /plan-draft for an ad-hoc planning session, or used by the planner sub-agent in the /feature workflow. (Named plan-draft so it does not collide with Claude Code's built-in plan-mode /plan command.)
Use this skill to produce a structured implementation plan before writing any code. Can be invoked standalone (`/plan-draft`) or applied by the `planner` sub-agent during the `/feature` workflow.
---
Before planning, collect all relevant context:
it before planning — the Requirements section must quote the source verbatim.
be affected, ADRs in `docs/adr/`, and relevant product docs in `docs/`.
---
phone, so constrain the units, not the total: goal in 1–2 sentences, one line per acceptance criterion, one line per key decision, one line per NEEDS_DECISION. There is no hard line cap — the per-item limits keep it short. If the acceptance criteria grow past ~10, treat that as a signal the task should be split into smaller slices, not that the summary should be longer. Each acceptance criterion must be user-visible behaviour, not implementation ("a visitor submitting an invalid form sees the error next to the field", not "add a guard clause in the controller"). Number each criterion `AC-<slug>-n`, where `<slug>` is derived from the current git branch name: strip one leading type prefix if present (`worktree-`, `feat-`, `feature-`, `fix-`, `bugfix-`, `hotfix-`, `chore-`, or similar — these are redundant, every branch in the suite has one), replace remaining `/` with `-`, and truncate to 30 characters — plain `AC-n` restarts at 1 for every feature and collides with every other feature's `AC-1` once tests live side by side in the same suite, so the slug is what keeps the tag globally unique, greppable, and short. Every `AC-<slug>-n` MUST map to at least one Test Strategy entry tagged `[AC-<slug>-n]`; a criterion with no test is an incomplete plan. Everything below the summary is the detailed contract the summary stands on — the two must never disagree.
end-to-end tests are coded against. For full-stack slices it pins routes, fields/params, response shapes, error rendering, and schema changes. Deviating from an approved Contract during implementation is a material change requiring re-approval. Mark it "None" for pure backend/infra work.
sentences, what problem this solves and the shape of the solution — then lists every decision taken during planning and every alternative considered and rejected, each with its reason. The plan is self-contained: a reader with no access to the planning conversation must understand what to build and why. Nothing load-bearing may live only in the chat.
exactly as specified by the user or the linked spec. Do not summarize or omit details — the `code-critic` cross-checks every requirement and edge case in this section against the committed tests. If they come from a document, quote them; if from the user's prompt, reproduce them in full.
`NEW` / `EDIT` / `DELETE` / `MOVE`, with a phrase on what changes and why. It is the implementer's checklist and the reviewer's blast-radius map — a file in the diff but not here is an undiscussed change.
might reasonably expect this change to include but it deliberately does not. This is where scope disagreements surface cheaply and what stops the implementer gold-plating. Write "None" only if you mean it.
skipped. Number each edge case `EDGE-<slug>-n`, reusing the same `<slug>` derived for acceptance criteria (see above) — plain `edge-N` restarts at 1 for every feature and collides with every other feature's `edge-1` once tests live side by side in the same suite. Every `EDGE-<slug>-n` MUST map to at least one Test Strategy entry tagged `[EDGE-<slug>-n]`; an edge case with no test is an incomplete plan.
case. Tests are the plan's deterministic oracle — every claim the plan makes about user-visible behaviour (error placement, section open/closed state, button enable/disable, post-failure page coherence, persistence-vs-UI consistency) MUST map to a committed end-to-end test that exercises the behaviour and observes the rendered result (per project convention; e.g., Playwright for a web UI). If a UI claim is worth writing down in the plan, it is worth committing as a test.
If you catch yourself writing "Try X and confirm Y", convert it into a committed test assertion in the Test Strategy. The one exception is **environmental preconditions** that are not themselves behaviour under test (e.g. "a migration was edited in place, so the local DB must be reset first") — record those under **Environment & Preconditions**, not as verification.
the key data class or signature, number the edge cases. The plan is reviewed line by l
Turns Claude Code into a small development team instead of one agent guessing alone — with a git-level gate that keeps the humans in charge of what actually ships.
Repo: cunhaax/ai-workflow
Exploratory, adversarial QA: exercise a feature through whichever surface(s) it exposes — UI, API, or both — and surface issues the plan and committed tests…
Code review checklist and coding standards, extended per project by whatever file AGENTS.md's Review & Planning Guidance section names (defaulting to…
Runs the full feature workflow: plan, critique, implement, review, QA. Use this when starting a new feature. Guides you through each phase with explicit gates…
Bootstraps and validates the AI workflow in a project that has this plugin installed: scaffolds whichever project-owned files are missing, detects the…
Critiques an implementation plan using pre-mortem, inversion, load-bearing assumption analysis, and consistency checks. Invoked as /plan-critic for ad-hoc plan…
Appends the cost half to a workflow-retro record: parses the feature session's Claude Code transcripts with a bundled read-only script (tokens per agent,…