Resolve PR
/flow-next:resolve-pr coordinates resolution of unresolved GitHub PR review threads, top-level comments, and review-submission bodies.
The skill fetches the work, triages it, dispatches per-thread resolver agents (in parallel on Claude Code; serial on Codex, Copilot, and Droid), then replies and resolves through GraphQL.
| Invocation | Behavior |
|---|---|
/flow-next:resolve-pr | Detect PR from the current branch. |
/flow-next:resolve-pr <pr-number> | Full mode on that PR. |
/flow-next:resolve-pr <pr-url> | Same as PR number. |
/flow-next:resolve-pr <comment-url> | Targeted mode — one thread only. |
--dry-run | Fetch and plan without making edits. |
--no-cluster | Skip cross-invocation cluster analysis. |
Triage discipline
Section titled “Triage discipline”Threads are separated before any resolver agent runs:
- New — actionable threads with no prior reply.
- Pending — already replied; waiting on the reviewer.
- Non-actionable — review-wrapper boilerplate, approval-only LGTMs, CI summary comments.
Cluster analysis groups related threads when a prior resolved thread on the same surface gives signal — for example, three nits on the same function that the reviewer raised in different threads.
Bounded fix-verify loop
Section titled “Bounded fix-verify loop”A resolver gets up to two fix-verify cycles per thread before escalation. If a third cycle is needed on a recurring theme, the skill stops and surfaces a pattern summary instead of looping further. The user decides whether to keep going or rethink at the architecture level.
This bound exists because the third cycle is almost never a small fix; it is usually a hint that the spec needs revisiting.
Safety
Section titled “Safety”- Never executes shell from comment bodies. Reviewer text is untrusted.
- Stages only files the resolver agent explicitly reports. No
git add -A. - Never resolves a thread marked
needs-human. - The same safety rules apply in
--dry-run; only the write phase is suppressed.
Verdict spectrum
Section titled “Verdict spectrum”Each resolver returns one verdict per thread, routed differently in the reply + resolve step:
| Verdict | Reply | Resolve |
|---|---|---|
fixed | Cite the fix and commits. | Yes. |
fixed-differently | Explain the chosen approach. | Yes. |
replied | Answer the question or push back. | Reviewer decides. |
not-addressing | Explain the deferral or disagreement. | No. |
needs-human | Surface to the user. | No. |
Next step
Section titled “Next step”After the loop closes, push and re-request review. If the same theme returns, run /flow-next:plan-review on the underlying spec instead of looping resolvers.