gh-pushlisted
Install: claude install-skill fadymondy/gh-pms
# gh-push
Ship completed work in one command: commit on the feature branch, push, PR, merge, advance the linked issue to `status:done`.
`gh-push` is the gh-pms counterpart to the popular `/push` skill — but PR-aware. It enforces the **"every feature must end with a linked PR"** rule from `workflows/default.yaml#branching` and refuses any path that would write feature work directly to the protected base branch.
## When to invoke
- User runs `/gh-pms:gh-push #N` (or shorthand `/push` if no other skill claims it)
- User says "ship #N", "push #N", "open PR for #N", "ready to merge #N"
- An issue is `status:documented` and the user signals they're ready to merge
## Pre-flight
1. **Resolve the target issue.**
- If the user passed `#N`, use it.
- Otherwise read `~/.cache/gh-pms/state.json` and pick the issue with `current_status` = `in-progress`, `ready-for-testing`, `in-testing`, `ready-for-docs`, or `documented`.
- If still ambiguous, run `gh issue list --assignee @me --state open --label status:in-progress` and pick if exactly one matches; otherwise ASK the user via `AskUserQuestion`.
2. **Read issue + state.**
- `gh issue view {N} --json number,title,labels,body,milestone`
- Extract: kind (from `type:*` label or native Issue Type), current `status:*`, branch (from state file).
3. **Branch policy check.**
- Get current branch: `git rev-parse --abbrev-ref HEAD`.
- If it is in `branching.protected_base` (default: `main`, `master`):
- If the kind is