agentleFS
wado-langwado-lang/wado/.claude/skills/pull-request/SKILL.md

pull-request

Skill120 starsChanged 14 days agoMITView on GitHub

The rules for opening a PR you must read before creating or editing any pull request.

53 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use issue-campaign, contracts and 9 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.
  • samchonSkill

    issue-campaign

    Defines the default solo repository-wide issue campaign for typia: exhaustive discovery, lead-vetted issue publication, one unified CI-validated implementation pull request per cycle, solo Self-Review, and repeated rediscovery until a full clean round. Use for broad audits, many issue candidates, or repeated issue-to-pull-request campaigns unless the user explicitly requests parallel or multi-agent execution; do not use for one already-defined issue or an ordinary pull request.

    Also in 3 projects that use this

  • AnthropicSkill

    contracts

    Answer a question across a corpus of contract documents with verified citations. Use when the user asks what a contract says, which contracts have a clause, what changed between amendments, or any question that needs reading and citing across a set of contract files. The corpus must be on the local filesystem (see README).

    Also in 3 projects that use this

  • mfang0126Skill

    development

    Full-stack development workflow skill. Guides the complete cycle from understanding requirements to shipping code via PR with Preview validation.

    Also in 3 projects that use this

  • VercelSkill

    gh-stack

    Manages stacked PRs and splits multi-part work into reviewable branches with gh-stack. Use for stack creation, viewing, edits, push, submit, sync, rebase, merge, or checkout; when asked to split or isolate work for review; whenever a user mentions a stack, branch layers, dependent PRs, or gh stack; or when a stack is checked out.

    Also in 3 projects that use this

  • carapace-shSkill

    git

    Use when working with Git — object model, references, index, branching, merging, rebasing, remotes, diffs, config, hooks, worktrees, submodules, and plumbing commands. Triggers on: "git", "git branch", "git commit", "git merge", "git rebase", "git checkout", "git stash", "git reset", "git submodule", "git worktree", "git blame", "git bisect", "git reflog", "git hooks", "git config".

    Also in 3 projects that use this

  • Microsoft AzureSkill

    release-notes

    Author and update release notes for Azure App Configuration libraries and providers. USE FOR: write release notes, add release note entry, update release notes, draft release notes, new version release notes, format release notes. DO NOT USE FOR: generating changelogs from git history, writing internal engineering notes.

    Also in 5 projects that use this

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 8 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 48 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If even one question you put to the user is still unanswered, stop here.

    line 8
  2. Distinctive:

    Check mergeability by exit status, before any step below.

    line 20
  3. Very specific:

    If conflicting, resolve with the git-upstream-sync skill.

    line 32
  4. Distinctive:

    Read the branch's own changes, generated files left out:

    line 36
  5. Distinctive:

    If the branch is worth more than one thing, name the largest and leave the rest to the description.

    line 59
  6. Distinctive:

    Do not include trial-and-error history in the description.

    line 77
  7. Very specific:

    If the branch obviously closes a known issue, add a closing keyword (Closes #N).

    line 89
  8. Distinctive:

    No need to include a test section.

    line 92
  9. Distinctive:

    Check mergeability again, as above: main moves while these steps run.

    line 105
  10. Distinctive:

    If the tool is unavailable, check the PR status and its review comments every 10 minutes instead.

    line 118
  11. Very specific:

    Keep checking mergeability (mergeable_state).

    line 121

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

First: a question you asked is a stop

If even one question you put to the user is still unanswered, stop here. Do not open a pull request, do not edit one, do not write a title or a description. End the turn by asking each question again in full: what it is about, the options, and your recommendation. The user may not remember it, and "the open question" or a count of them gives nothing to answer.

A pull request never goes out with an open question behind it. "The rest is ready" is not a reason to proceed, and neither is a question that looks minor: the user decides what is minor.

Check mergeability

Check mergeability by exit status, before any step below. Run it alone and read the result before going on: chained to a later step, it stops nothing.

git fetch origin main &&
  git merge-tree --write-tree --no-messages --name-only HEAD origin/main

Exit 0 = mergeable; exit 1 = conflicts, printing the merged tree OID followed by one conflicted path per line. This runs the real (ort) merge in memory and touches neither the worktree nor the index.

If conflicting, resolve with the git-upstream-sync skill.

Before writing

Read the branch's own changes, generated files left out:

git diff origin/main...HEAD -- $(scripts/changed-sources.sh)

The title and description come from that diff, not from the session that produced it. scripts/changed-sources.sh drops what .gitattributes marks linguist-generated or linguist-vendored, which is where a regenerated corpus or a fetched one would otherwise bury the change the PR is actually about. Say in the description that the generated output was regenerated, not what moved inside it.

Revise the branch while you are there: clean up comments and docs according to the project rules.

Title

A short summary of the value the branch creates, not of what was edited. A reader scanning a list of PRs is deciding whether to care.

<type>(<scope>): <the value>

If the branch is worth more than one thing, name the largest and leave the rest to the description.

type is one of these, with ! for a breaking change. The scope is optional. .claude/hooks/pr-conventions.mts reads the types from this list.

  • feat
  • fix
  • docs
  • perf
  • refactor
  • chore

Description

Open with the outcome, in a paragraph a reader can stop after: what holds once this is merged, and what it is worth. Mechanism comes after, under headings.

Do not include trial-and-error history in the description; the commit history is the SSoT. That is any sentence which only parses against the pre-branch state: "previously X, now Y", "an earlier approach", "X was replaced by Y", a count given as a delta ("2 -> 0"). Read each sentence back and ask whether it works for someone who sees only the merged tree. If it needs the old state, cut it.

  • No: "Codegen looked the global up by name; it now compares the read's type."
  • Yes: "Codegen compares the read site's result_ty against the slot's type."

The opening paragraph is the hardest place to hold that line: a speedup is worth stating, the struggle to find it is not.

If the branch obviously closes a known issue, add a closing keyword (Closes #N). Do not go looking for one to attach.

No need to include a test section. CI runs the full test suite.

Angle brackets need nothing but a code span: `t_<Name>` renders as written. The GitHub MCP server drops them and HTML-escapes quotes in the text it reads back. Check the web UI before believing the description is broken, and never rewrite prose to work around it.

Cut the draft before posting. A first draft follows the shape of the work: a heading for each thing that happened, at the length it took to do. Read it back and cut every sentence a reader would skip.

Just before opening

Check mergeability again, as above: main moves while these steps run.

Then run mise run update-baselines and commit the update. This is the only step that updates the baselines. CI fails on any difference from either one: the stdlib coverage, a region a test now reaches included, and the fuel benchmarks. wado-compiler/lib/AGENTS.md says what the coverage baseline may change.

After opening

Subscribe to the PR with subscribe_pr_activity. Handle every event it delivers; skipping one is a decision you state.

If the tool is unavailable, check the PR status and its review comments every 10 minutes instead. Stop once the review has settled and CI passes.

Keep checking mergeability (mergeable_state). If conflicting, resolve it with the git-upstream-sync skill.

Answer a review, human or bot, with the code-review-response skill.

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.