Skip to content

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.

InvocationBehavior
/flow-next:resolve-prDetect 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-runFetch and plan without making edits.
--no-clusterSkip cross-invocation cluster analysis.

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.

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.

  • 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.

Each resolver returns one verdict per thread, routed differently in the reply + resolve step:

VerdictReplyResolve
fixedCite the fix and commits.Yes.
fixed-differentlyExplain the chosen approach.Yes.
repliedAnswer the question or push back.Reviewer decides.
not-addressingExplain the deferral or disagreement.No.
needs-humanSurface to the user.No.

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.