gh-reopenlisted
Install: claude install-skill fadymondy/gh-pms
# gh-reopen
Bring a closed issue back into the lifecycle when its work regresses or needs additional follow-up. Closes the gh-pms loop's missing reverse arrow.
## When to use
- User says "reopen #N", "X regressed since release", "we need to fix #N again"
- A `done` feature surfaced a bug that's actually a regression of the original work, not a new defect
- Post-release rework that should re-use the original issue's history rather than spawn a duplicate
## Inputs
```
gh-reopen <issue-number> --reason "<text>" [--force] [--no-branch]
```
| Flag | Required | Effect |
|---|---|---|
| `<issue>` | yes | Closed issue number to reopen. |
| `--reason` | yes | Short why-text. Becomes part of the reopen comment + audit trail. |
| `--force` | no | Bypass the WIP-limit guardrail (assignee already has an in-progress issue). |
| `--no-branch` | no | Skip auto-creating a fresh feature branch. Use only when continuing work in an existing branch. |
## What it does
### Step 1 — Pre-flight
1. Verify the issue is currently closed:
```bash
STATE=$(gh issue view {N} --json state -q .state)
```
If `OPEN`, refuse: "Issue #${N} is already open. Use `/gh-pms:gh-current` to start work on it."
2. Verify WIP guardrail unless `--force`:
```bash
ME=$(gh api user --jq .login)
gh issue list --assignee "$ME" --label status:in-progress --state open --json number
```
Refuse if non-empty: "You already have an in-progress issue (#${other}). Finish it or pass --force."
### Step