← ClaudeAtlas

shiftlisted

Run one pass of the issue-to-PR loop: triage the open issues, dispatch the ready ones to agents, keep the loop's pull requests green, and return a digest. Use when the user asks to run a shift, to work the backlog on its own, or to run the issue loop.
bengous/claude-code-plugins · ★ 4 · AI & Automation · score 73
Install: claude install-skill bengous/claude-code-plugins
# Shift One pass over the tracker with nobody watching. The state lives on GitHub, in labels, never in a file: a shift that runs twice does its work once. ## Input `$ARGUMENTS` - `--max <n>`: issues dispatched this pass. Default 2, for cost. - `--dry-run`: print each action in place of taking it. No comment, no label, no worker. ## Protocol 1. **Labels.** `gh label list --limit 100`. Create the ones it does not list: `needs-info`, `dispatched`, `blocked` for issues, `shift`, `needs-human` for PRs. ```bash gh label create needs-info --description "Missing evidence or acceptance criteria" ``` 2. **Triage.** `gh issue list --state open --json number,title,labels,createdAt`. Drop the ones already labelled `dispatched`, `blocked`, `needs-info` or `epic`. Oldest first, `bug` before the rest. Read `${CLAUDE_PLUGIN_ROOT}/skills/triage/SKILL.md` and apply its protocol to each: it verifies the issue against the current code and closes or comments as its verdict fixes. Read it, do not invoke it: `github-flow:triage` is a manual skill. `unclear` → label `needs-info`. `valid` → candidate. 3. **Dispatch.** The first `--max` candidates, in one call to `github-flow:dispatch` with their numbers. 4. **Maintain.** `gh pr list --state open --label shift --json number,headRefName,mergeable,statusCheckRollup,reviewDecision,comments`. Skip the ones labelled `needs-human`. A PR with a red check, `mergeable: CONFLICTING`, or a review comment nobody answered goes to one `github-flow:i