docs(skills): brief large and stacked pull requests in hr-writing-pr

Merged
BO
4d ago
+11-2

hr-writing-pr now says how to brief a large change and a stacked one. Before, it asked only for "a useful review starting point".

  • A change too big to read in file order gets a numbered reading order, with the mechanical files in a last step that says what was checked and what pattern holds.
  • A "Decisions for you" list appears only when the reviewer has a call tests cannot make (tradeoff, compatibility promise, product or scope choice, accepted risk). Bugs, missing tests and nits stay out of it.
  • A "Not covered" line names adjacent work left out on purpose.
  • A stacked pull request opens with its parent, describes only its own layer and names other layers by number.
  • The evidence line now names the head commit the checks ran against.

Which agent behavior changes: a model writing the body of a large or stacked pull request. I did not run an eval or compare generated bodies; the wording comes from reading how pingdotgg/t3code's guided-review feature (pingdotgg/t3code#18124 and #18143) briefs reviewers. Behavior change is untested.

Checks: node --test test/*.test.mjs (113 passed, 7 skipped), bun test skills/ (233 passed), and oxlint@1.85.0 and oxfmt@0.70.0 --check (the versions CI pins) all exit 0. The hr-plain-prose checker finds nothing in the added text. A newer oxfmt (0.72.0) flags two files this change does not touch.

  • The checks in the README's Development section pass.
  • A change users will notice has a CHANGELOG.md entry under Unreleased.
  • Nothing names a private project or repository, a local path, a home directory or a credential.

Summary by cubic

hr-writing-pr now says how to brief a large change or a stacked one. Before, it asked only for a useful review starting point.

  • A change too big to read in file order gets a numbered reading order, with mechanical files in a last step stating what was checked and the pattern that holds.
  • A "Decisions for you" list appears only when the reviewer has a call tests cannot make (tradeoff, compatibility promise, product or scope choice, accepted risk); bugs, missing tests, and nits stay out.
  • A "Not covered" line names adjacent work left out on purpose.
  • A stacked PR opens with its parent, describes only its own layer measured from the parent — which is that layer's final combined change — and names another layer by number when the body attributes behavior to it or depends on it.
  • The evidence line now names the head commit the checks ran against.

Summary by CodeRabbit

  • Documentation
    • Added a numbered reading order for complex changes, with path:line references and a final step for mechanical files.
    • Clarified that stacked pull requests should cover only their own layer and identify other layers when relevant.
    • Specified when to list reviewer decisions and adjacent work not covered.
    • Check evidence now identifies the head commit, and guidance covers authored line counts when generated files dominate the changes.