Skip to content

feat(pr): Add structured PR body skill - #1297

Merged
AkhileshNegi merged 5 commits into
mainfrom
feat/pr-ready-skill
Oct 21, 2026
Merged

AkhileshNegi merged 5 commits into
mainfrom
feat/pr-ready-skill

Conversation

@AkhileshNegi

@AkhileshNegi AkhileshNegi commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Adds a model-invoked skill that shapes PR bodies. Port of mattpocock/skills engineering/pr, itself derived from Dex Horthy's show-me (Humanlayer). We had /pr-review for reading PRs, nothing for writing them.

 .claude/skills/
+├── pr-ready/
+│   └── SKILL.md      # Summary visual + before/after Evidence + Merge Danger
 ├── grill-me/ srd-creator/ start-prd/ pr-review.md typecheck.md
 .github/workflows/
 ├── pr-formatter.yml  # on: opened        -> OpenAI, template shape
+├── pr-ready.yml      # on: labeled ready-for-review -> Claude, pr-ready shape
 └── ...

Label flow, same trigger CodeRabbit uses (.coderabbit.yaml):

sequenceDiagram
    participant Dev
    participant GH as GitHub
    participant WF as pr-ready.yml
    participant Claude as Messages API
    Dev->>GH: add label ready-for-review
    GH-->>WF: pull_request.labeled
    GH-->>GH: CodeRabbit auto-review (existing)
    WF->>GH: read SKILL.md + PR template + diff
    WF->>Claude: claude-opus-5-5, fallbacks: default
    Claude-->>WF: markdown body
    WF->>GH: pulls.update(body), previous body in <details>
Loading

Body shape it produces:

## Summary        smallest visual that makes the point: pseudocode | call tree |
                  component tree | file tree | mermaid | diff | full block
## Evidence       Before / After. Screenshots S-tier, test or console output A-tier
## Merge Danger   Door: one-way | two-way
                  Blast Radius: one word, plus ramifications

Only edits vs upstream skill: name: pr-ready, description widened to "writing or updating a PR body".

Workflow: actions/github-script + raw fetch, same pattern as pr-formatter.yml. Diff capped at 400K chars. Fails loud on missing key, API error, or stop_reason: refusal.

Evidence

Merge Danger

Door: two-way

One markdown file under .claude/. Delete to revert.

Blast Radius: pr-descriptions

  • No app runtime code. Touches only .claude/ and CI.
  • Every PR labeled ready-for-review gets its body rewritten. Previous body kept in a <details> block.
  • Runs after pr-formatter.yml (on open), so the final shape is pr-ready's. Could retire pr-formatter later.
  • Needs ANTHROPIC_API_KEY repo secret. Not present today; workflow fails with a clear message until added.
  • Cost: one Opus 5.5 call per label event, ~diff size in input tokens.

Checklist

  • Ran fastapi run --reload app/main.py or docker compose up in the repository root and test.
  • If you've fixed a bug or added code that is tested and has test cases. (CI workflow; verify by labeling this PR once the secret exists.)

Notes

Upstream: https://github.com/mattpocock/skills/blob/main/skills/engineering/pr/SKILL.md

🤖 Generated with Claude Code

Port of mattpocock/skills engineering/pr (credits: Dex Horthy's show-me).
Model-invoked when writing a PR body: Summary visual, before/after
Evidence, Merge Danger (door + blast radius).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one): 1
  • ready-for-review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: ProjectTech4DevAI/kaapi-backend/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8b298564-e1b0-4f98-99a5-a4c4c8c47f3a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot changed the title chore(claude): Add pr-ready skill for PR bodies feat(pr): Add structured PR body skill Oct 21, 2026
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

OpenAPI changes   ⚪ No API surface changes

Note

This PR does not modify the API contract.

main ↔ 271de403 · generated by oasdiff

@codecov

codecov Bot commented Oct 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

AkhileshNegi and others added 2 commits October 21, 2026 17:48
Runs .claude/skills/pr-ready/SKILL.md through the Messages API when the
ready-for-review label is applied (same trigger as CodeRabbit auto-review).
Requires ANTHROPIC_API_KEY repo secret.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@AkhileshNegi AkhileshNegi self-assigned this Oct 21, 2026
@AkhileshNegi AkhileshNegi added the enhancement New feature or request label Oct 21, 2026
@AkhileshNegi
AkhileshNegi enabled auto-merge (squash) October 21, 2026 12:31
@AkhileshNegi
AkhileshNegi merged commit db63280 into main Oct 21, 2026
6 checks passed
@AkhileshNegi
AkhileshNegi deleted the feat/pr-ready-skill branch October 21, 2026 13:07
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.8.0-main.27 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Labels

enhancement New feature or request released on @main

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants