agentleFS
revisit-studiesrevisit-studies/study/.agents/skills/write-pull-request/SKILL.md

write-pull-request

Skill46 starsChanged 44 days agoBSD-3-ClauseView on GitHub

Draft or revise repository-grounded pull request titles and descriptions for senior engineering review, using a fixed architecture-first template and natural human tone. Use when asked to write, create, or update PR copy; do not use for reviewing someone else's code.

6 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use audit-test-suite, change-data-safely and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • yaohuangguanSkill

    audit-test-suite

    Find where an existing test suite is weak and decide what to test next, ranked by risk. Use this when asked to add missing tests, find gaps, raise coverage, assess test quality or see which areas are thin, even if the request only mentions a coverage percentage.

    Also in 3 projects that use this

  • yaohuangguanSkill

    change-data-safely

    Change a database schema or stored data without breaking running code or losing data. Use this for any migration, new or changed column, backfill, bulk update, delete, index, or change to a stored format, including in small projects. Data mistakes are often impossible to undo.

    Also in 3 projects that use this

  • SauravSrivastavSkill

    debug-failure

    Diagnose a failing test, command, or runtime behavior using evidence and produce a minimal verified fix.

    Also in 3 projects that use this

  • MicrosoftSkill

    fix-flaky-test

    Reproduces and fixes flaky or quarantined tests. Tries local reproduction first (fast), then falls back to CI reproduce workflow (reproduce-flaky-tests.yml). Use this when asked to investigate, reproduce, debug, or fix a flaky test, a quarantined test, or an intermittently failing test.

    Also in 3 projects that use this

  • Codagent-AISkill

    implement-change

    Implements an approved change in one continuous session, with tiered test runs. Use when asked to implement a change from its approved definition, or to invoke codagent:implement-change.

    Also in 3 projects that use this

  • srclightSkill

    refactor-safely

    This skill should be used when the user asks to "refactor", "rename", "move", "change a function signature", "extract a method", "delete unused code", "clean up", or any modification that could break callers or dependents. Provides a pre-change safety checklist using srclight's graph tools to assess blast radius before touching code.

    Also in 3 projects that use this

  • +6 more from yaohuangguan

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 9 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write the PR as the engineer responsible for the change.

    line 8
  2. Distinctive:

    Read the repository instructions and its existing PR conventions.

    line 14
  3. Distinctive:

    Do not invent motivation, tradeoffs, UI behavior, rollout needs, issue links, or validation.

    line 18
  4. Distinctive:

    Follow an established repository convention when one exists.

    line 24
  5. Distinctive:

    Use these headings in this order:

    line 28
  6. Very specific:

    Keep all five sections. Give Architecture the most detail when the change is architectural.

    line 53
  7. Distinctive:

    Prefer active voice, concrete verbs, and short paragraphs.

    line 58
  8. Very specific:

    Use we only for an actual shared decision.

    line 61
  9. Distinctive:

    Avoid promotional or synthetic phrasing such as "This PR aims to," "leverages," "seamless," "robust," "comprehensive," "enhances," and …

    line 62
  10. Distinctive:

    Avoid canned openings, repetitive sentence shapes, exhaustive file inventories, decorative emoji, and a concluding summary that merely …

    line 63
  11. Distinctive:

    Use the shortest description that gives a senior reviewer the architectural context, behavioral impact, validation evidence, and …

    line 66

“Common” is measured: kept by at least 6 in 10 of the 6 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

Write Pull Request

Write the PR as the engineer responsible for the change. Optimize for a senior reviewer who needs to understand why the change exists, how responsibilities and data or control flow moved, and where the remaining risk is.

Ground the Draft

Before writing:

  • Read the repository instructions and its existing PR conventions.
  • Compare the exact head against the intended base. Trace the changed runtime paths, tests, configuration, migrations, and generated artifacts that affect the final behavior.
  • For an existing PR, refresh its current head, base, title, body, and check state. Describe the final implementation, not abandoned iterations.
  • Separate verified local results, remote checks, pending checks, and work that was not run. Never infer a passing result from the presence of a test or workflow.
  • Do not invent motivation, tradeoffs, UI behavior, rollout needs, issue links, or validation. State an unknown plainly when the available evidence cannot resolve it.

Draft locally unless the user has authorized creating or updating the remote PR. When creating a PR, open it as a draft unless the user explicitly asks for it to be ready for review or otherwise non-draft. When publishing is authorized, preserve unrelated PR metadata and read back the resulting title and body.

Title

Follow an established repository convention when one exists. Otherwise, use a concise imperative title that names the outcome or system boundary, not the implementation chore. Avoid ticket prefixes unless the repository uses them.

Description Template

Use these headings in this order:

## Why

<What problem or constraint prompted the change, why it matters now, and any relevant issue or operational context.>

## Architecture

<Explain the previous path and the new path. Describe ownership, boundaries, data or control flow, important invariants, and the reasoning behind material decisions. Call out compatibility constraints, deliberate non-goals, or meaningful tradeoffs when supported by evidence.>

## User-facing impact

<Briefly describe what a user will notice. Say "No user-facing changes." when accurate. Include screenshots only when they exist and materially help review.>

## Validation

- `<command or check>` — <result>
- <manual or remote check> — <result or current status>

## Risk and rollout

<Identify concrete regression risks and any migration, configuration, deployment, observability, rollback, or sequencing requirements. If no special rollout is needed, say so and briefly explain the remaining risk.>

Keep all five sections. Give Architecture the most detail when the change is architectural. For a genuinely small or non-architectural change, say that directly instead of inflating it. Keep User-facing impact shorter than the architectural explanation unless the PR is primarily a UI change.

Tone and Style

  • Sound like a thoughtful engineer talking to peers: direct, specific, calm, and appropriately candid about uncertainty.
  • Prefer active voice, concrete verbs, and short paragraphs. Use bullets only for information that is easier to scan as a list.
  • Explain behavior and design decisions rather than narrating files or restating the diff. Mention identifiers and paths only when they help a reviewer follow the architecture.
  • Make causal links explicit: what changed, why this layer owns it, and what downstream behavior follows.
  • Use we only for an actual shared decision. Do not refer to yourself as an assistant or describe the writing process.
  • Avoid promotional or synthetic phrasing such as "This PR aims to," "leverages," "seamless," "robust," "comprehensive," "enhances," and "ensures" when a concrete statement would be clearer.
  • Avoid canned openings, repetitive sentence shapes, exhaustive file inventories, decorative emoji, and a concluding summary that merely repeats the body.
  • Calibrate confidence to the evidence. Prefer "The focused unit suite passed" over "This is fully tested," and identify anything pending or not run.

Use the shortest description that gives a senior reviewer the architectural context, behavioral impact, validation evidence, and operational risk needed to make a decision.

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.