Skip to content
Back to skills

Colin Fix Comments

ASecurity

Address open comments on a Pull Request or Merge Request related to the current branch

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 25, 2026
code-qualitygitapi

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Scanned September 25, 2026

npx -y skills add colinmollenhour/dotfiles --skill colin-fix-comments --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Colin Fix Comments?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Colin Fix Comments
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/colinmollenhour-colin-fix-comments/badge)](https://www.skillsdirectory.com/skills/colinmollenhour-colin-fix-comments)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: colin-fix-comments
disable-model-invocation: true
description: Address open comments on a Pull Request or Merge Request related to the current branch
---

A user or bot has posted code review comments on the Pull Request or Merge Request related to the current branch or described in the optional User Comments below.

---
User Comments: $ARGUMENTS
---

1. Inspect the git remotes with `git remote -v` and if this is a Github project load the `gh-cli` skill and if it's a Gitlab project load the `glab-cli` skill.
2. Identify every open reviewer comment on the Pull Request or Merge Request and evaluate each one. **Do not filter only on resolvable / unresolved threads** — review-summary notes that block the MR/PR are frequently non-resolvable, and dropping them is the most common failure mode of this workflow. The scope must cover:

   - **GitLab**: every unresolved inline discussion (paginate `glab api 'projects/:fullpath/merge_requests/<iid>/discussions?per_page=100'` until `X-Next-Page` is empty), **plus** every non-system note posted by the same author within ~10 seconds before a `system: true` note whose body is `"requested changes"` / `"approved"` / `"approval removed"`. Those system notes are review-submission markers, and the cluster of non-system notes that precedes one is that review's body — including any non-resolvable summary note. Also cross-check `glab api 'projects/:fullpath/merge_requests/<iid>/reviewers'` for any reviewer in `state == "requested_changes"`.
   - **GitHub**: every open inline review comment (`gh api repos/:owner/:repo/pulls/<n>/comments`), **plus** the body of every review with `state == "CHANGES_REQUESTED"` that has not been superseded by a later `APPROVED` review (`gh api repos/:owner/:repo/pulls/<n>/reviews`), **plus** any actionable issue comment on the PR (`gh api repos/:owner/:repo/issues/<n>/comments`).

   For each in-scope comment, either push a fix, post a rebuttal comment, or post a question if clarification or a decision is needed from the original author. If there is already an unanswered question on the thread, skip it. If you push a fix that resolves a resolvable thread, mark it resolved. Every posted rebuttal or question must start with a self-identifying header on its own line, followed by a blank line, followed by the reply body:

   ```text
   > **AI Review Response** · Commit: <sha> · By: <harness> with <model>

   <rebuttal or clarifying question>
   ```

   - `<sha>` is the short SHA of the current PR/MR branch head (`git rev-parse --short HEAD`).
   - `<harness>` is the agent harness currently running (e.g. `Claude Code`, `OpenCode`) — take it from your own runtime identity.
   - `<model>` is the model powering this session (e.g. `Opus 4.7`, `GPT 5.4`) — take it from your own runtime identity. If you cannot determine harness or model, use `By: AI agent` instead.

3. Finally, post a new comment with a summary of the fixes, rebuttals, skipped threads and follow-up questions and the current state of the PR/MR. Use the same self-identifying header (with `· Summary` appended), followed by a blank line, followed by the summary body:

   ```text
   > **AI Review Response** · Commit: <sha> · By: <harness> with <model> · Summary

   <summary of fixes, rebuttals, skipped threads, follow-up questions, PR/MR state>
   ```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…