responding-to-code-review
Respond to code review comments point by point, quoting each reviewer point verbatim and answering directly beneath it.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Respond to code review comments point by point, quoting each reviewer point verbatim and answering directly beneath it.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.
Use when moving local sessions between Claude Code and Codex, converting Claude Code JSONL into Codex rollout format, converting Codex rollout JSONL into Claude scrollback, or debugging cross-agent resume state.
Use when moving local sessions between Codex and Claude Code, converting Codex rollout JSONL into Claude scrollback, converting Claude Code JSONL into Codex rollout format, or debugging cross-agent resume state.
Operate remote hosts over SSH through the ssh-mcp server, driving a box like a person at a terminal instead of firing blind one-off commands.
Use when a task involves SSH or a remote host, including remote commands, interactive shells, sudo over SSH, tailing logs, deployments, scp or rsync file transfer, and port forwards or tunnels.
Use when drafting or editing prose or copy, including reports, research write-ups, guidance, documentation, READMEs, emails, announcements, summaries, blog posts, marketing copy, product copy, or any text meant to be read. Triggers whenever the user asks to draft, write, rewrite, edit, or polish copy. Applies GOV.UK and GDS house style, favoring plain English, active voice, front-loaded content, sentence case, and no bold or italics for emphasis.
| name | responding-to-code-review |
| description | Respond to code review comments point by point, quoting each reviewer point verbatim and answering directly beneath it. |
| when_to_use | Use when responding to review comments or feedback on a pull request, addressing reviewer findings, replying to a code review, or writing a comment that answers a reviewer. |
| argument-hint | [PR number, review, or comment to respond to] |
| allowed-tools | ["Bash","Read","Edit","Write","Grep","Glob"] |
Respond to the review feedback point by point: $ARGUMENTS
Every reviewer point gets quoted verbatim in a blockquote, with your response directly beneath it. This anchors each answer to the exact comment it addresses, so the reviewer can see at a glance that nothing was dropped and can check each response against what they actually wrote. One consolidated comment, never a scatter of separate replies.
This is the house style for all review responses. Follow it whether the feedback is a formal PR review, an inline thread, a Slack message, or a verbal list.
The deliverable is the response comment. This skill governs how you write it, not how you carry out the work the reviewer asked for. Making the fixes, adding the tests, running the suite, tracing a claim to verify it: those happen separately, before you write, through whatever tools or skills the task needs. This skill assumes that work is done (or that you have a truthful position on why it is not) and turns it into a point-by-point reply. Do not treat invoking it as the moment to start fixing; treat it as the moment to report.
>), then put your response directly beneath that quote.Pull the complete feedback before writing anything. Miss a point and the quote-and-respond structure silently drops it, which is the exact failure this style exists to prevent.
gh pr view <n> --json reviews --jq '.reviews[] | {author: .author.login, state, body}'gh api repos/<owner>/<repo>/pulls/<n>/comments for inline line commentsgh api repos/<owner>/<repo>/pulls/<n>/reviews/<id>/comments for one review's inline commentsThis step is not part of writing the comment. It is the precondition the comment reports on. Do it before you write (through other skills or tools), so every response is true when posted.
Once this is settled, the rest of the skill is purely about composing the reply.
Structure the comment to mirror the review:
Keep the whole thing in one comment. If the review had a "bottom line" or intro line worth acknowledging, quote and answer that too.
Beneath each quoted point, state what you did in plain, specific terms:
Match the prose to house style: plain English, active voice, no marketing language, no em-dashes.
The point of anchoring each response to a verbatim quote is that gaps become visible. Do not let that push you into hiding them.
gh pr comment <n> --body-file <path>. Writing to a file avoids shell-escaping breakage from backticks, quotes, and newlines in the body.The reference shape, data-agnostic:
Thanks for the review. Everything below is in <commit>; <headline result>. Responding to each point inline.
## <reviewer's section header, e.g. Must address>
> <reviewer point 1, verbatim, including their own bold/italic/links>
<your response: what changed, where, which commit; or why not, honestly>
> <reviewer point 2, verbatim>
<your response>
## <next reviewer section header>
> <sub-bullet or nit, verbatim>
<your response>
A real response, abbreviated:
Thanks for the fast re-review, and for verifying #1 against the real migration history. Everything below is in `06d4636`; the suite is green (193 tests, was 185). Responding to each point inline.
## 🟡 Recommend fixing before merge
> **`notion.py:289`, `page_id_from_ref` returns the wrong id for a database-view URL.** It strips all dashes then takes the last 32-hex match [...] Fix: `path = ref.split("?")[0]` before stripping dashes.
Fixed exactly as suggested: `path = ref.split("?", 1)[0]` before the dash strip, so only the path is scanned and the `?v=` view id can't win. Added a focused `test_page_id_from_ref_ignores_database_view_id` regression, and the existing test now uses a real 32-hex `?v=` (the 3-hex one masked it).
## 🟢 Nice-to-have
> **`config.py:79` reads all three secrets eagerly** [...] This is fine as-is.
Left as-is on purpose, agreeing with your read: the loud failure is the desired behavior. If we ever want to narrow the blast radius I'll take the `include_gmail` opt-in route rather than a try/except.
Note what the example does: quotes the reviewer's own emphasis and code spans verbatim, cites the commit, states the deviation (split("?", 1) vs the suggested split("?")), and on the second point agrees and defers a change with a named alternative rather than silently doing nothing.
| Anti-pattern | Why it is bad | Do this instead |
|---|---|---|
| Paraphrasing the reviewer's point | Loses their exact wording, hides what you skipped | Quote verbatim in a blockquote |
| One comment per inline thread | Noisy, hard to review as a whole | One consolidated comment |
| Skipping nits and low-priority items | Reads as ignoring feedback | Quote and respond to every point |
| "Done" / "Fixed" with no specifics | Reviewer cannot verify, distrust grows | Name the change, file, and commit |
| Claiming a fix you did not verify | Inflated claims poison the whole comment | Trace the code, run the tests, then claim |
| Silently omitting an unaddressed point | The gap is invisible and looks deliberate | Quote it and say you did not address it, with the reason |
| Re-explaining the problem back | Wastes the reviewer's time | Report the resolution; they wrote the context |