skills/do-pullrequest-review/SKILL.md
How to process code review feedback — verify before implementing, push back when wrong, clarify before acting on partial understanding. Applied when receiving review from the code-reviewer agent or human reviewers.
npx skillsauth add thermiteau/maverick do-pullrequest-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Code review feedback requires technical evaluation, not automatic agreement. Verify before implementing. Push back when the feedback is wrong.
Run this first. If it exits non-zero, halt and report the stderr output to the user verbatim. Do not proceed.
uv run maverick preflight do-pullrequest-review
The check verifies the project is initialised and gh/uv are on PATH.
digraph receive_review {
"Receive feedback" [shape=box];
"Read all items completely" [shape=box];
"All items understood?" [shape=diamond];
"Ask for clarification on unclear items" [shape=box];
"Verify each item against codebase" [shape=box];
"Item technically correct?" [shape=diamond];
"Implement fix" [shape=box];
"Push back with reasoning" [shape=box];
"Run verification after each fix" [shape=box];
"More items?" [shape=diamond];
"Run full verification suite" [shape=box];
"Receive feedback" -> "Read all items completely";
"Read all items completely" -> "All items understood?";
"All items understood?" -> "Verify each item against codebase" [label="yes"];
"All items understood?" -> "Ask for clarification on unclear items" [label="no"];
"Ask for clarification on unclear items" -> "Verify each item against codebase";
"Verify each item against codebase" -> "Item technically correct?";
"Item technically correct?" -> "Implement fix" [label="yes"];
"Item technically correct?" -> "Push back with reasoning" [label="no"];
"Implement fix" -> "Run verification after each fix";
"Run verification after each fix" -> "More items?";
"Push back with reasoning" -> "More items?";
"More items?" -> "Verify each item against codebase" [label="yes"];
"More items?" -> "Run full verification suite" [label="no"];
}
Read the complete review before acting on any single item. Items may be related — implementing one in isolation could conflict with another.
If any item is unclear, ask for clarification on ALL unclear items before implementing ANY items.
Understand items 1, 2, 3, 6. Need clarification on items 4 and 5 before proceeding.
Do not implement the items you understand while waiting for clarification — partial understanding leads to partial (wrong) fixes.
Before implementing each suggestion, verify it is technically correct for this codebase:
Push back with technical reasoning when a suggestion is:
How to push back:
Item 3: Reviewer suggests extracting a utility class.
Checked the codebase — this logic is used in one place only.
Extracting creates indirection without reuse benefit.
Keeping inline per YAGNI.
Do not push back defensively. State the technical facts.
Process items in priority order:
After each fix, run verification (per the mav-local-verification skill). Do not batch multiple fixes without verifying between them.
The agent-code-reviewer agent provides structured two-stage feedback (spec compliance + code quality). Process it as follows:
Human reviewers may have context the agent does not. However:
gh api repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies \
-f body="Fixed — extracted validation to boundary layer."
CI failures are not suggestions — they are facts. Fix them. Use the mav-local-verification and mav-bp-cicd skills to diagnose and resolve.
| Anti-pattern | Why it fails | Instead | | --------------------------------------- | ------------------------------------------ | ------------------------------- | | Implement everything without checking | Incorrect suggestions break code | Verify each item first | | Implement some items, ask about others | Partial understanding leads to wrong fixes | Clarify all unclear items first | | Ignore review feedback | Issues accumulate and compound | Process every item | | Add extra improvements while fixing | Scope creep, muddies the review cycle | Fix only what was flagged | | Batch all fixes, verify once at the end | Cannot isolate which fix broke something | Verify after each fix |
When receiving review during a do-issue workflow:
development
--- name: do-test description: Write or update tests for a code change. Operates in two modes: `unit` (module-scoped, fast, deterministic) and `integration` (crosses module / service / database boundaries). Intended to be invoked once per testable change from inside a do-issue-* or do-epic phase. Mode is required. argument-hint: mode: unit or integration user-invocable: true disable-model-invocation: false --- **Depends on:** mav-bp-unit-testing, mav-bp-integration-testing, mav-local-verificati
development
Implement a focused code change. Use this skill as the wrapper for any implementation work so the Maverick workflow report captures what was done and so the agent applies the project's coding standards before editing. Intended to be invoked once per task from inside a do-issue-* or do-epic phase, not standalone.
testing
How to stack a PR on top of an unmerged sibling branch, and how to retarget it to the repo's default branch once the sibling merges. Prevents orphan-merge incidents when a dependent story is ready before its parent.
development
Claim, lease, heartbeat, and release protocols for when multiple Claude Code instances may act on the same issue or epic concurrently. GitHub labels and marker comments are the coordination surface; local state is a cache.