# @srtfisher/address-pr-review

> An agent skill and local web app for addressing pull request review feedback: it applies the fixes and drafts the replies, with a human approving every one.

Latest version **0.4.0** (published 2026-09-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install @srtfisher/address-pr-review
pnpm add @srtfisher/address-pr-review
yarn add @srtfisher/address-pr-review
bun add @srtfisher/address-pr-review
```

Provides the command `address-pr-review`.

## Health

**Score 65/100 (B)** — status: active.

Positive: esm support; no vulnerabilities; has provenance; recently updated; high maintenance score.

Warnings: low downloads; no types; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.4.0 |
| Published | 2026-09-24 |
| First published | 2026-09-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM |
| Node | >=20 |
| Dependencies | 0 |
| Unpacked size | 764.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 0 |
| Author | Sean Fisher |
| Maintainers | srtfisher |
| Keywords | code-review, pull-request, github, agent-skill, claude-code |

## Links

- npm: https://www.npmjs.com/package/@srtfisher/address-pr-review
- Repository: https://github.com/srtfisher/address-pr-review
- Homepage: https://github.com/srtfisher/address-pr-review#readme
- Issues: https://github.com/srtfisher/address-pr-review/issues
- npm.io page: https://npm.io/package/@srtfisher/address-pr-review

## Recent versions

- 0.4.0 (latest) — 2026-09-24
- 0.3.0 — 2026-09-23
- 0.2.0 — 2026-09-23
- 0.1.1 — 2026-09-23

## README

# address-pr-review

An agent skill for working through a pull request's review feedback, where you stay in charge of every word that reaches your colleagues.

The agent reads every unresolved review thread and PR comment, makes the fixes it judges right as local commits, and drafts a reply to each. Then it opens a local app that looks like the PR's "Files changed" tab: each comment on its diff, the fix the agent applied, why it did it, and its draft reply. For each item you send the reply (edited however you like), skip it, or ask the agent to change something. Items you send back get reworked and the app reopens with your other choices kept. When you approve, the agent pushes the fixes and then posts exactly the replies you approved.

![A review comment with the agent's take, the fix it committed, and its draft reply](docs/screenshots/review-dark.png)

- Keyboard-first for big PRs: `j`/`k` to move, `s` send, `x` skip, `a` ask the agent, `e` edit, `f` review and finish (then `↵` to approve), `⌘↵` send and move on, `?` for the full list.
- Marking a reply to send (or deciding the general comment) shows a button to the next item, or to finishing the review on the last one.
- A general comment on the PR, alongside the thread replies.
- `@` autocomplete from the PR's participants, then the repo's mentionable users.
- Preview rendered by GitHub's own markdown API.
- GitHub's light and dark themes, following your OS unless you pick one in the header.
- Edits autosave, and a failed post can be retried without double posting.

## Install

```sh
npx skills add srtfisher/address-pr-review
```

That installs the skill into `~/.agents/skills/` and links it for the agents you pick (Claude Code, Codex, Cursor, and others). The app ships prebuilt inside the skill, so there's nothing to compile. You need Node 20+ and the [GitHub CLI](https://cli.github.com/) logged in.

Then, on a branch with an open PR, ask your agent to use `/address-pr-review`, or just ask in plain words:

```text
> Work through the review feedback on this PR.
> Address the comments on #482.
> /address-pr-review https://github.com/acme/storefront/pull/482
```

## A review round

1. The agent reads the open feedback, commits the fixes it agrees with, and opens the app. Each item shows the comment in its diff, the agent's take (implemented, declined, acknowledged, or needs clarification), the fix it committed, and the draft reply.
2. You go through the list. Send the reply as written or after editing it, skip it, or tell the agent what to change instead. Only the agent sees that note.

   ![Sending an item back to the agent with a note on what to change](docs/screenshots/send-back-light.png)

3. Finish the round. If anything is going back to the agent, it reworks just those items and reopens the app with your other choices kept. Nothing is posted until a round ends with no items sent back.

   ![The finish dialog, summarizing what gets sent, skipped, and reworked](docs/screenshots/finish-dialog.png)

4. Once you approve, the agent pushes the fixes and posts your replies.

## How it works

The skill drives a small CLI at `skills/address-pr-review/app/cli.mjs`. It's also published to npm, so you can run it without the skill, e.g. `npx @srtfisher/address-pr-review feedback --pr 482`:

- `feedback` prints the PR's open feedback as JSON for the agent.
- `open <drafts.json>` starts the local app on `127.0.0.1` with a random port and session token, and opens your browser (`--no-browser` to skip that). `--session <dir>` reopens an earlier session for the next round, keeping your choices.
- `wait <session>` blocks until you finish a round (exit 3 means still waiting, so agents with tool timeouts can poll). The round ends `approved`, `revise`, or `canceled`.
- `post <session>` posts the replies you approved, byte for byte from the app's saved state. The agent runs it only after pushing the fixes.

Inline threads get in-thread replies. Top-level comments, review bodies, and the general comment post as new PR comments, since GitHub can't thread those.

## Development

```sh
npm install
npm test
npm run dev    # build, then open the app on the synthetic fixture (posts nothing)
```

`npm run build` writes the UI and the bundled CLI into `skills/address-pr-review/app/`, which is committed so installs work without a build. CI fails if it's out of date. The fixture is generated by `node test/fixtures/generate.ts`, and the screenshots above are taken from it.

To release, run `npm version <patch|minor|major> -m "Release %s"` to bump `package.json` and create the matching tag, then `git push origin main --follow-tags`. The release workflow runs the checks, publishes to npm through trusted publishing, and creates the GitHub release.

---
_Source: https://npm.io/package/@srtfisher/address-pr-review · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
