← ClaudeAtlas

gh-test-planlisted

Auto-generate `testcase` sub-issues from a feature's `## Acceptance criteria` checkboxes. QA coverage tracks the spec automatically — every unchecked criterion becomes a testcase, idempotent on re-run. Auto-invoke when the user says "generate test plan for
fadymondy/gh-pms · ★ 0 · Testing & QA · score 70
Install: claude install-skill fadymondy/gh-pms
# gh-test-plan Walk a feature's acceptance criteria and create a `testcase` sub-issue per criterion that doesn't already have one. Closes the gap between "spec exists" and "QA tracks spec". ## When to use - A feature has been broken down (Gates 1–2 still ahead) and QA wants tracked coverage - After a feature's acceptance criteria changed and new tests need adding - Pre-release sweep: confirm every criterion has at least one testcase ## Inputs ``` gh-test-plan <feature-issue> [--kind unit|integration|e2e|manual] [--assignee <user>] [--dry] ``` | Flag | Default | Effect | |---|---|---| | `<feature-issue>` | required | Issue number of the parent feature. | | `--kind` | `manual` | Default test type. Each generated testcase pre-checks this box in the template; user can adjust later. | | `--assignee` | unset | Default assignee for generated testcases. | | `--dry` | off | Print what would be created without filing anything. | ## What it does ### Step 1 — Read the feature issue ```bash gh issue view {N} --json body,title,labels --jq '{title, body, labels}' ``` Extract: - The `## Acceptance criteria` section (between `## Acceptance criteria` and the next `##` heading) - Each `- [ ]` (unchecked) and `- [x]` (checked) bullet — keep the unchecked ones for testcase generation; ignore checked ones (already done means already tested per the lifecycle's gates) - Severity inheritance: read the feature's `severity:*` label ### Step 2 — Find existing testcases (idempotency) ```bash