Skip to content

deployhq/reply-pr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

reply-pr

Triage and reply to a pull request's unresolved review comments —
reply-only, on each reviewer's channel, with you approving every reply.

License: MIT Agent Skill Works with Claude Code, Cursor, Codex

reply-pr reads the unresolved comments on a pull request, helps you decide what to address and what to skip, and posts a reply on the right channel for each reviewer — in your voice. It doesn't edit your code, and it doesn't post anything you haven't approved.

Why it exists

A PR usually gathers comments from several reviewers at once — CodeRabbit, Codex, Claude, and people. Replying to them properly is more fiddly than it looks:

  • each reviewer expects a different channel and @-ping (Codex inline with @codex, Claude a top-level comment with @claude, CodeRabbit inline, no ping);
  • every comment wants a reply — including the ones you skip, with a reason;
  • bots re-flag pre-existing code and add nitpicks that aren't worth re-litigating;
  • and you're meant to leave no unresolved threads behind.

reply-pr keeps track of all that, so the replies stay yours and nothing slips.

How it works

flowchart TD
    A["reply-pr on your PR"] --> B["Gather UNRESOLVED comments<br/>bots + humans, inline + top-level"]
    B --> C["Classify + assess<br/>humans first, dedup,<br/>drop CodeRabbit nitpicks,<br/>flag likely pre-existing"]
    C --> G{"You decide:<br/>tackle / skip + rationale"}
    G -->|you steer| R["Reply on each reviewer's channel<br/>item by item, in your voice"]
    R --> Z["Resolve settled threads"]
Loading

It gathers the unresolved comments, assesses each (humans first, CodeRabbit nitpicks dropped, likely-pre-existing findings flagged), and shows you a tackle/skip list to steer. Once you approve, it posts each reply on the reviewer's channel — noting the commit that fixed things where relevant — and resolves the settled threads. It is reply-only, and it never posts before you approve.

Install

With the skills CLI — cross-tool (Claude Code, Cursor, Codex, …):

npx skills add deployhq/reply-pr -g     # all your repos   (~/.claude/skills)
npx skills add deployhq/reply-pr        # this project only (./.claude/skills)

skills add defaults to project scope; since reply-pr is a personal, cross-repo tool, you probably want -g / --global. (Scope is set by the flag — the CLI doesn't prompt for it.) Inside saas.group it's also on lookmi.

Use

/reply-pr           # the current branch's open PR
/reply-pr 1016      # a specific PR
/reply-pr analyse   # analysis only — never posts

Or just say "reply to the review comments on this PR." Either way it stops at the approval gate — a tackle/skip proposal, humans first — and only posts what you approve.

Who gets replied to, and how

The rule works for any reviewer: reply in kind (where they commented) and ping only reviewers known to want it.

flowchart LR
    H["Human"] --> HR["reply in kind<br/>highest priority"]
    X["Codex"] --> XR["inline + @codex"]
    L["Claude"] --> LR["top-level + @claude"]
    C["CodeRabbit"] --> CR["inline, no ping<br/>nitpicks dropped"]
    O["Any other bot"] --> OR["reply in kind, no ping<br/>flagged for you to confirm"]
Loading

What it does and doesn't

Does Doesn't
Fetch unresolved comments Edit your code
Propose tackle / skip (you decide) Post anything before you approve it
Post replies on the right channel, in your voice Silently skip a comment
Resolve settled threads Re-litigate pre-existing code without flagging it

Requirements

  • gh CLI (authenticated), jq.

Under the hood

skills/reply-pr/
  SKILL.md               — the skill (workflow, reply rules, voice)
  scripts/gather.sh      — fetch unresolved threads (GraphQL) + top-level comments
  scripts/post-reply.sh  — post inline / top-level replies, resolve threads

The scripts are deterministic plumbing (gh + jq); the judgement — what to tackle, how to word it, when to resolve — stays in the skill, gated on your call.

About

Triage and reply to a PR's unresolved review comments — reply-only, on each reviewer's channel, with you approving every reply.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages