← ClaudeAtlas

gh-bulklisted

Apply a single action to many issues at once — bulk-label, bulk-close-stale, bulk-reassign, bulk-set-severity. Always lists matches and asks for confirmation before applying. Auto-invoke when the user says "close all stale", "label everything in svc:X", "bulk update".
fadymondy/gh-pms · ★ 0 · AI & Automation · score 70
Install: claude install-skill fadymondy/gh-pms
# gh-bulk Run a controlled bulk operation across a query'd set of issues. The skill never applies anything until the user confirms the target list. ## When to use - Backlog hygiene: "close all `type:request` issues from before Q1" - Re-tagging after a service rename: "everything currently `svc:bridge` becomes `svc:api`" - Reassigning after a team change: "all issues assigned to @alice → @bob" - Severity recalibration: "all open `type:bug` without a severity → `severity:medium`" ## Inputs ``` gh-bulk --query "<github-search-query>" --action <action> [--value <value>] [--reason <text>] [--yes] ``` | Flag | Required | Effect | |---|---|---| | `--query` | yes | A GitHub search query (`gh issue list --search`). Examples: `is:open type:request created:<2026-01-01`, `is:open svc:bridge no:assignee`. | | `--action` | yes | One of: `label`, `unlabel`, `close`, `reassign`, `set-severity`, `set-effort`, `comment`. | | `--value` | depends | The argument for the action: label name (`label`/`unlabel`), assignee handle (`reassign`), severity name (`set-severity`), effort tier (`set-effort`), comment body (`comment`). Not used for `close`. | | `--reason` | for `close` | Free-text close reason; appended to a `## Bulk close reason` section in the issue body and posted as a one-line comment for audit. | | `--yes` | no | Skip the confirmation prompt. **Use only when scripting**; default flow always confirms. | ## What it does ### Step 1 — Resolve the target list ```bash gh issue list --