gh-test-planlisted
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