Skip to content

Add walk-pr skill - #55

Draft
wesrich wants to merge 1 commit into
mainfrom
add-walk-pr-skill
Draft

Add walk-pr skill#55
wesrich wants to merge 1 commit into
mainfrom
add-walk-pr-skill

Conversation

@wesrich

@wesrich wesrich commented Aug 27, 2026

Copy link
Copy Markdown

Why?

A review tool says what is wrong. Nothing says where to look and what to decide — and those are different jobs.

This fell out of writing Copilot review instructions for a Rails app. That repo's review-scope file tells the automated reviewer to stay out of architecture, product intent, and business rules, because a human has to do those. Then the human gets handed a diff and no help doing exactly that part. walk-pr is the complement: instead of suppressing those findings, route them to the person as questions.

What Changed

  • Added skills/walk-pr — emits a reviewer's guide in five sections: the spine (reading order), decisions the diff makes that its ticket doesn't settle, blast radius, what a user sees, and what it could not determine
  • Listed it in the README's Developer Workflow table and in AGENTS.md
  • Added a "Walk PR + Code Review" entry under How skills work together — they cover opposite halves

The three constraints do most of the work

Shorter than the diff, or it doesn't get read. Questions rather than verdicts, since defect claims belong in the code review. And it ends with what it could not determine — that section is the deliverable, not a disclaimer.

That last one is load-bearing. On the PR this was drafted against, two independent automated reviewers asserted the same fabricated detail — a value present in a seed file that wasn't there, cited down to the line number. Stating what the file actually contains and admitting the intent is unknown is more useful than either confident answer.

Testing

Run against a 13-file Rails feature PR whose defects were known in advance. The guide came to ~40 lines against a 167-line diff and surfaced the two worst problems — a calculation that was never called, and eight margin changes to a contract PDF that nobody had rendered — without claiming either was a bug.

One real bug found in drafting: computing blast radius from the base branch returns "0 call sites" for everything, because the code under review isn't there yet. That reads as a finding rather than a mistake. The skill now says to check out the head first.

Also run against a docs-only PR as a control, where the "if every file is mechanical, say so and stop" clause should fire.

Post-merge

  • Run it on a few more PRs before treating the output contract as settled — two data points isn't enough to know whether five sections is the right number
  • Decide whether this stays on-demand or becomes an automatic PR comment. My read is on-demand: the value concentrates in PRs where the reviewer already senses they're out of their depth, and an auto-comment on every dependabot bump trains people to scroll past it

Screenshots

N/A — no UI changes.

🤖 Generated with Claude Code

A review tool says what is wrong. Nothing says where to look and what to
decide, and those are different jobs.

This came out of writing Copilot review instructions for a Rails app, where
the review-scope file tells the reviewer to stay out of architecture, product
intent, and business rules -- because a human has to do those. Then the human
gets a diff and no help doing exactly that part. walk-pr is the complement:
instead of suppressing those findings, it routes them to the person as
questions.

Three constraints do most of the work. Shorter than the diff, or it does not
get read. Questions rather than verdicts, since defect claims belong in the
code review. And it ends with what it could not determine -- that section is
the deliverable, not a disclaimer.

That last one is load-bearing. On the PR this was drafted against, two
independent automated reviewers asserted the same fabricated detail (a value
present in a seed file that was not there). Stating what the file actually
contains and admitting the intent is unknown is more useful than either
confident answer.

Draft: the output contract has been run against one real PR and one docs-only
control. It wants a few more before the shape is settled.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@julliancalkins julliancalkins left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good for a first pass. We can always refine this later

Comment thread skills/walk-pr/SKILL.md
# Walk PR

A review tool says what is wrong. This says **where to look and what to decide**.
Those are different jobs, and the second one has no owner.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Those are different jobs, and the second one has no owner.

Comment thread skills/walk-pr/SKILL.md
Comment on lines +38 to +40
Read the repo's conventions for the paths it touches. Do not read existing review
comments — you are writing for someone who has not read them either, and you will
just restate them.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if it might makes sense to include existing review comments in the skill context, feels like a lot of the value in this skill is to "bring the human up to speed" which would include existing discussions.

Comment thread skills/walk-pr/SKILL.md
existing records. A backfill that sets a value for records that already exist is
always a decision.

Cap this at five. If there are more, the PR is too big and that is the finding.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this could flag a lot of RM PRs haha, not sure how to fix that...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants