Work a CodeRabbit review round on a Meshtastic PR to completion - read the unresolved threads, fix or answer each, push ONCE, reply and resolve every thread, confirm CodeRabbit actually reviewed the new head (not a reply wrapper), and only then wait on checks. Also the pre-PR step - a local `just review` on a finished change. Use whenever a PR has CodeRabbit threads, a merge is BLOCKED with everything green, or before opening a PR in a repo where CodeRabbit runs (org-wide since 2026-09).
Instal·la
npx skillscat add jamesarich/nixtastic/review-round Instal·la des del registre de SkillsCat.
Review round
CodeRabbit's findings on these repos are precise (measured: no style nits,
every finding valid). The cost is the loop around them. Everywhere exceptapple, a plain git push gets its delta reviewed with no command typed
(auto_incremental_review: true in android, and upstream's default infirmware, protobufs, meshtastic-python), so the loop is push, read,
fix, push - never a trigger comment. apple deliberately keeps it off
(2026-09-14, James), which is a different loop: a push there is not reviewed
at all and only rereview --full gets one. This skill runs it once, in the
order that avoids the four known traps:
- Replying is not resolving.
androidrefuses to enqueue until every
thread is resolved;gh pr checksshows green and says nothing. - The head SHA lies. Every CodeRabbit reply is wrapped in a review object
carrying the current head SHA with an empty body. Only a review body withActionable comments postedis a real pass.pr … reviewedknows this. - A clean round leaves no review object at all. It edits its pinned
summary comment in place to read "No actionable comments were generated",
so reading reviews alone reports a good round as unreviewed and tempts you
into a trigger comment.pr … reviewedreads that comment too, dated
against the head commit - trust its verdict over a quiet PR. Two
lookalikes it also names, where nothing really was looked at:paused
(auto-review stops afterauto_pause_after_reviewed_commitspushes,
default 5) →rereview;skipped(auto_incremental_review: false, i.e.apple) anddraft→rereview --full, because the delta pass is a
documented no-op when reviews are disabled rather than paused.prprints
the right spelling for the state it found - use that, don't choose. - One push per round. Each push spends a metered review and one of the
five commits before auto-pause; fixing findings one commit at a time
multiplied rounds past commits (#6499: 8 rounds for 6 commits).
Before the PR exists
From the worktree, on a finished change: just review. It runscoderabbit review --agent locally (free tier: 3 per hour - do not spend one
mid-implementation). Fix what it finds, commit, then open the PR. Most of a
round's findings never reach GitHub this way.
The round
just pr <repo> <n>- readreview,threads,mergelines. Ifreviewnamespaused,skippedordraft, run therereviewspelling
it prints andjust pr <repo> <n> wait --until reviewed; there is nothing
to address yet. (Fordraftthe alternative is to mark the PR ready.)just pr <repo> <n> threads- every unresolved thread with id, author,
file:line, body. Classify each, in a short table you keep for step 5:- fix - the finding is right; note the change.
- decline - it is wrong or out of scope; note the one-sentence reason.
- done - an earlier push already addressed it.
- Make every fix in the worktree (
just wt <repo> <name> <cmd>runs
there without cd), run that repo's own gate, commit - one commit or a few,
your call, but one push. - Push once.
- For each thread:
just pr <repo> <n> resolve <id> --reply "<one line>".
Fix: what changed and where. Decline: the reason. Done: which commit.
Terse, no attribution, no thanks - [[terse-pr-voice]]. just pr <repo> <n> wait --until reviewed. The push itself is the
trigger; nothing to post. If it times out (exit 75), checkjust pr <repo> <n>and act on the state it names -paused/skipped→rereviewand
wait again;running→ wait again; new threads → back to step 2. A
timeout on its own is never a reason to post anything.just pr <repo> <n> wait --until checks, thenjust pr <repo> <n>once
more:unresolved threads: 0, checks green,nextnames the enqueue.
Report proven vs unproven plainly: "CodeRabbit reviewed , 0 actionable"
is the sentence that ends a round, and only pr … reviewed may say it.
Never
- Never weaken the review profile or disable a tool to shorten a round.
- Never resolve a thread you did not address; decline it with a reason instead.
- Never read a green
CodeRabbitcheck as a review. - Never type
@coderabbitai full review(orrereview --full) to shake a
quiet PR on an incremental repo. It re-reads the whole diff and raises
fresh Minor findings on lines nobody touched, which is the loop this skill
exists to end. It is for the states that need it -skipped(apple),draft- or when James asks; at most once per PR otherwise.