review-comments
Process code review comments left in `.review/comments.json` by the Neovim review plugin. Triggered when the user says "process my review comments", "address review comments", "/review-comments", or a
SKILL.mdskills/local/review-comments/SKILL.md
GitHubReview
The user reviews agent-produced code in Neovim (a small plugin, Diffview optional) and saves their inline comments to <repo>/.review/comments.json. Each entry has file, side (new or old), line, code (the line's text at comment time), body, and resolved. Your job here is to go through the unresolved ones.
Your job
Read <repo>/.review/comments.json and walk through every entry where resolved is false.
For each unresolved comment, use your judgment:
- If the comment is clearly asking for a specific fix, implement it.
- If the comment is a question, suggestion, or feels ambiguous, discuss it with the user first before making any changes.
- If you disagree with a comment or see a better approach, say so and explain why.
- If a comment is now obsolete (the code already changed, the file moved, etc.), remove it from the JSON array.
- After you address a comment — by fixing it or by resolving the discussion — set its
resolvedfield totruein the JSON file. - Preserve
file,side,line, and other metadata for any comments that remain unresolved.
Start by summarizing your read of each comment — whether you plan to fix it, discuss it, or think it's obsolete — and then proceed accordingly.
Notes
- Side
newmeans a line in the working tree;oldmeans a line in the base revision. - Line drift on
side: "new": comments left in a plain buffer (not Diffview) anchor to the line number at save time. If the user edited afterwards,linemay no longer point at the right spot. Before treating a comment as obsolete, comparecodeto the current text atfile:line— if they don't match, search a few lines above and below for the matchingcodeand use that location instead. Only ifcodeis nowhere nearby should you consider the comment obsolete. - The repo's
.review/directory is git-ignored via.git/info/exclude, so JSON edits don't show up ingit status. - If
.review/comments.jsondoesn't exist, tell the user there's nothing to review — they probably haven't run:ReviewStartin Neovim yet, or haven't left any comments.