agentleFS
kimgoetzkekimgoetzke/coding-agent-configs/skills/generate-pr-description/SKILL.md

generate-pr-description

Skill2 starsChanged 7 months agoMITView on GitHub

Generates a concise pull request description from a PR or the current branch. Use only when explicitly invoked by the user to draft PR text.

7 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

20 rules. 0 are common, 16 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 7 edited versions we read keep these.

  • 16

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If given a PR number or URL, inspect its metadata, commits, and full diff.

    line 14
  2. Distinctive:

    Read enough surrounding code and documentation to understand behaviour rather than merely restating file changes.

    line 16
  3. Distinctive:

    Use 1–5 bullets; target at most 15 words each.

    line 25
  4. Distinctive:

    Keep one distinct change per bullet and group closely related implementation details.

    line 26
  5. Distinctive:

    Prefer product or user-facing behaviour over file names and implementation mechanics.

    line 27
  6. Distinctive:

    If the PR only changes tests, describe those test changes.

    line 30
  7. Distinctive:

    Do not claim behaviour unsupported by the diff.

    line 31
  8. Distinctive:

    Write at most one extremely succinct sentence explaining the problem, need, or motivation.

    line 35
  9. Distinctive:

    Use no more than three succinct bullets.

    line 45
  10. Very specific:

    Use this exact structure, omitting ### Notes entirely when unnecessary:

    line 49
  11. Distinctive:

    Before responding, remove redundancy, implementation trivia, unsupported claims, and every non-essential word.

    line 70
  12. Distinctive:

    If no existing PR was resolved, do not offer an update or create a PR but stop instead.

    line 74
  13. Distinctive:

    Update the resolved PR with the generated description without asking for further approval.

    line 84
  14. Distinctive:

    After presenting the description, ask:

    line 88
  15. Distinctive:

    Do not update the PR unless the user then gives explicit authorisation.

    line 92
  16. Very specific:

    Prefer GitHub CLI (gh) when available.

    line 98
  17. Distinctive:

    Update only the resolved PR's body, preserving the generated description exactly.

    line 99
  18. Very specific:

    Use gh pr edit {number} --body-file {temporary-file} rather than interpolating the description into shell arguments.

    line 100
  19. Very specific:

    If gh is unavailable, use a safe available GitHub integration.

    line 101
  20. Distinctive:

    Delete any temporary file afterwards.

    line 102

“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Generate PR description

Generate the PR description without wrapping it in a code fence. Never post or edit it unless authorised under 4. Decide whether to update the PR.

1. Establish the change

  • If given a PR number or URL, inspect its metadata, commits, and full diff.
  • Otherwise, inspect the PR associated with the current branch. If none exists, compare the current branch with the repository's default branch, including committed changes only.
  • Read enough surrounding code and documentation to understand behaviour rather than merely restating file changes.
  • Derive motivation from reliable context such as the PR, linked issue, commit messages, or repository documentation. Never invent motivation. If it remains unclear, ask one focused question before drafting.

2. Select content

What

Describe outcomes and observable behaviour, not the editing process.

  • Use 1–5 bullets; target at most 15 words each.
  • Keep one distinct change per bullet and group closely related implementation details.
  • Prefer product or user-facing behaviour over file names and implementation mechanics.
  • Include internal changes only when they are the substance of the PR or materially affect maintainers.
  • Omit tests, formatting, generated files, routine wiring, and incidental refactors from feature or fix PRs.
  • If the PR only changes tests, describe those test changes.
  • Do not claim behaviour unsupported by the diff.

Why

Write at most one extremely succinct sentence explaining the problem, need, or motivation. Do not repeat the What section.

Notes

Omit this section by default. Add it only when critical understanding requires one of:

  • stating that something was deliberately not done;
  • explaining why something was skipped;
  • providing essential context not suitable for What or Why.

Use no more than three succinct bullets. Do not add routine test, deployment, or implementation commentary.

3. Output

Use this exact structure, omitting ### Notes entirely when unnecessary:

## Description

### What? What has changed/is the new behaviour?

This PR:

- <succinct change>
- <succinct change>

### Why? Motivation and context

<extremely succinct context>

### Notes

- <succinct critical note>

Before responding, remove redundancy, implementation trivia, unsupported claims, and every non-essential word.

4. Decide whether to update the PR

If no existing PR was resolved, do not offer an update or create a PR but stop instead.

Otherwise, first resolve this decision:

Are you running in auto mode? Yes or no.

Choose Yes only when auto mode is explicitly indicated by the current agent or runtime. Never infer it. If its status is unclear, choose No.

If Yes

Update the resolved PR with the generated description without asking for further approval. Auto mode provides authorisation for this update.

If No

After presenting the description, ask:

Would you like me to update PR #{number} with this description?

Do not update the PR unless the user then gives explicit authorisation. Invoking this skill, requesting a description, prior approval, or implied approval does not count. If the user declines or does not answer, leave the PR unchanged.

Updating

Once authorised through either branch:

  • Prefer GitHub CLI (gh) when available.
  • Update only the resolved PR's body, preserving the generated description exactly.
  • Use gh pr edit {number} --body-file {temporary-file} rather than interpolating the description into shell arguments.
  • If gh is unavailable, use a safe available GitHub integration. If none locally available, report that the update could not be made.
  • Delete any temporary file afterwards.
  • Confirm which PR was updated; never merge, close, or otherwise modify a PR.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.