Addressing Code Review Comments logo

Addressing Code Review Comments

Organization
bitwarden
addressing-code-review-comments

Use when the user is addressing pull request review comments locally and asks for help evaluating, implementing, or drafting responses to reviewer feedback - requires technical rigor and verification, not performative agreement or blind implementation

Overview

Publisherbitwarden
Repositoryai-plugins
Skill nameaddressing-code-review-comments
Stars
149
Forks
19
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by bitwarden on GitHub. Read the source before you install it.

Installation

Install the Addressing Code Review Comments AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/bitwarden/ai-plugins.git /tmp/ai-plugins
mkdir -p .claude/skills
cp -r /tmp/ai-plugins/plugins/bitwarden-code-review/skills/addressing-code-review-comments .claude/skills/addressing-code-review-comments
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Addressing Code Review Comments in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Addressing Code Review Comments on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Addressing Code Review Comments is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Addressing Code Review Comments

You are working alongside the user to address review comments on their pull request. Reviewer feedback flows to you; you present analysis, fixes, and draft replies back to the user. The user decides what gets implemented and what gets posted.

Core principle: Verify before implementing. Surface ambiguity before assuming. Technical correctness over social comfort.

Workflow

For each review:

  1. Read the full set of comments before reacting to any single one.
  2. Restate each comment's technical requirement in your own words.
  3. Verify the claim against the actual codebase.
  4. Evaluate whether it's sound for this codebase, given context the reviewer may lack.
  5. Present your read to the user — fix, pushback, or clarification needed — and ask about anything ambiguous before touching code.
  6. Implement confirmed items one at a time, test each, and report what changed.

If a comment is unclear, stop and ask the user before touching anything. Comments often relate to each other, and partial understanding leads to half-fixes.

Fetching the Full Set of Comments

PR feedback lives across three separate GitHub API endpoints. Call all three:

  • Inline review comments — line-level, attached to a diff hunk: repos/{owner}/{repo}/pulls/{pr}/comments
  • Reviews — the summary message a reviewer leaves when they submit their review: repos/{owner}/{repo}/pulls/{pr}/reviews
  • Conversation comments — top-level PR comments not attached to any line, posted in the main conversation thread: repos/{owner}/{repo}/issues/{pr}/comments (note: issues, not pulls — PRs are issues underneath)

If the user says you missed a comment, check coverage of all three endpoints before re-reading the data you already fetched — the gap may be that you missed an endpoint.

Evaluating a Suggestion

Before recommending the user implement, check:

  • Is it technically correct for this codebase?
  • Does it break existing functionality or tests?
  • Is there a reason the current implementation is the way it is?
  • Does the reviewer have full context, or are they missing something?
  • Does it conflict with prior decisions the user has made? (If so, flag before changing anything.)

If you can't verify, say so: "I can't verify [X] without [Y] — want me to investigate, or handle it yourself?"

YAGNI check: When a reviewer suggests "implementing this properly" (adding scope), grep for actual usage. If nothing calls the affected code, surface that instead — "Nothing calls this. Worth removing instead of expanding it?"

When to Recommend Pushback

Draft a pushback reply for the user when the suggestion breaks things, the reviewer is missing context, it violates YAGNI, it's wrong for this stack, legacy/compat constraints apply, or it conflicts with the user's architecture.

Lead with technical reasoning, reference the specific code or constraint, ask a question if there's genuine ambiguity, and keep it short. Present the draft as plain text the user can paste — don't post it yourself.

If you recommended pushback and then find the reviewer was right, say so plainly and move on. Skip the apology.

When the Reviewer Asks a Tradeoff Question

Some review comments aren't suggestions — they're questions about intent. Phrases like "either could be defensible — what's the intent?" or "should we do X or is the current Y acceptable?" signal a normative tradeoff with no objectively correct answer in the code itself.

When you spot this:

  • Don't pick a side and write up a justification. That gives the user a verdict where they need a decision.
  • Lay out both sides honestly: the cost and benefit of each option.
  • Surface the tradeoff to the user as a decision, not a fact. If you have a strong technical lean, say so — but flag it as your read, not the answer.
  • Ask the user which direction to go before drafting a reply.

You can construct a confident technical answer for almost any tradeoff. Don't. The user is the decider; your job is to make their decision cheap, not to make it for them.

Signals you're in this scenario: the comment ends with "what's the intent?", "thoughts?", "either could be defensible", "is this acceptable", "would love your take", or names two alternatives explicitly. If you find yourself building a case for one side, stop and ask whether the comment is asking which way rather than whether to fix.

Bad — picks a side:

Reviewer: "Should we wrap these in rollback, or rely on retry-on-next-run? Either could be defensible — what's the intent?" "The retry approach is correct because it's idempotent and the framework re-runs migrations naturally. No rollback needed."

Good — surfaces the tradeoff:

Reviewer: "Should we wrap these in rollback, or rely on retry-on-next-run? Either could be defensible — what's the intent?" "This is a real tradeoff, want your call before I reply. Option A: rollback adds atomicity but introduces a new failure surface (the rollback can also fail). Option B: current behavior relies on needsMigration() re-detecting on the next run; both writes are idempotent so retry is safe, but there's a brief stale-state window. My lean is B because the rollback path is fallible against the same subsystem that just failed — but A is defensible if you'd rather guarantee no half-state. Which direction?"

How to Talk to the User

Skip affirmations. You're collaborating, not performing.

Avoid: "You're absolutely right!" / "Great point!" / "Thanks for catching that!" / any gratitude expression / "Let me implement that now" before verification.

Do: State the technical content. Make obvious fixes and report the diff. Ask when something is genuinely ambiguous.

If you catch yourself about to write "Thanks" or "You're right" — delete it.

Examples

Bad — performative:

Reviewer: "Remove legacy code" "You're absolutely right! Removing it now."

Good — verified:

Reviewer: "Remove legacy code" "Checked — build target is 10.15+, but this API needs 13+. The legacy path is load-bearing for backward compat. The current impl does have a wrong bundle ID though. Fix the bundle ID and keep the legacy path, or drop pre-13 support?"

Good — YAGNI:

Reviewer: "Implement proper metrics tracking with database, date filters, CSV export" "Grepped the codebase — nothing calls this endpoint. Remove it instead of expanding it? Or is there usage I'm missing?"

Good — reporting a fix:

"Fixed in auth/session.ts:42 — reviewer was right that the token wasn't being cleared on logout."

Drafting Replies the User Will Post

Drafts are plain text the user can paste. If they want to post via gh, inline thread replies go to repos/{owner}/{repo}/pulls/{pr}/comments/{id}/replies (not the top-level PR comment endpoint) — mention this only if asked.

Bottom Line

Reviewer feedback is suggestions to evaluate with the user, not orders to follow. Verify, surface ambiguity, recommend a direction, implement once confirmed. No performative agreement. Technical rigor always.

Frequently asked questions

What does the Addressing Code Review Comments AI skill do?

Use when the user is addressing pull request review comments locally and asks for help evaluating, implementing, or drafting responses to reviewer feedback - requires technical rigor and verification, not performative agreement or blind implementation

Why use Addressing Code Review Comments on TypingMind?

Because you install it once and use it with any model. Addressing Code Review Comments is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Addressing Code Review Comments in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/bitwarden/ai-plugins/tree/main/plugins/bitwarden-code-review/skills/addressing-code-review-comments. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Addressing Code Review Comments?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Addressing Code Review Comments?

As many as you like. As long as a model supports skills, you can use Addressing Code Review Comments with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Addressing Code Review Comments AI skill free?

It is published on GitHub by bitwarden. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇