file-pullreq
Skill0 starsChanged 32 days agoMITView on GitHub
Draft and file a GitHub PR using gh-body-conventions and the PR body skeleton, via the gh-post wrapper. Supports a gate mode that stops at user approval.
- Commits and pushes
In this repository33 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- authoritative-text-rulesSkill
- breachreaperSkill
- bug-to-contractSkill
- code-review-gateSkill
- codex-contract-test-reviewSkill
- codex-plan-reviewSkill
- codex-reviewSkill
- copilot-reviewSkill
- debtreaperSkill
- diff-rootSkill
- docreaperSkill
- done-checkSkill
- driftreaperSkill
- file-adrSkill
- file-issueSkill
- file-pubdocSkill
- finding-to-auditSkill
- finding-triageSkill
- gate-miss-to-issueSkill
- gh-body-auditSkill
- gh-body-conventionsSkill
- implementSkill
- land-via-integration-branchSkill
- quality-listSkill
- read-issueSkill
- reimreSkill
- research-and-implementSkill
- researchSkill
- review-pipelineSkill
- review-telemetrySkill
- stage-commit-pushSkill
- todo-checkSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 3 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
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
- Very specific: line 29
Linked issue: Read the issue body and comments — especially any research plan they carry — with …
- Distinctive: line 72
Run this in main context: the record the rule compares against is the drafting session's own, which a subagent does not have.
- Very specific: line 78
Run gh-body-audit against the drafted body with artifact kind pr.
- Distinctive: line 86
If the user requests changes, revise, re-discharge its evidence claims, re-run the laundering pass, and re-show.
- Very specific: line 104
Add --draft if the user wants a draft PR.
- Very specific: line 106
Do not auto-add @copilot here.
- Distinctive: line 137
After filing in standalone mode, show the user:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
File Pull Request
Draft a GitHub PR title and body that follow the user's conventions, show the draft for approval, then file via gh (or, in gate mode, hand off to a caller).
Conventions
Apply the rules in gh-body-conventions to both the title and body.
Length
A typical PR body is 10–40 lines pre-merge, plus a plan-vs-actual delta if one is appended later. Trivial fixes can be much shorter; major features or multi-file refactors can be longer. Every section in the skeleton below should earn its place — a one-line fix needs neither an Impact nor a Notes section.
Title
A single descriptive line under ~70 characters. Use a conventional commit prefix (feat:, fix:, refactor:, docs:, chore:, etc.) when the surrounding repo's existing PR titles use one; otherwise no prefix.
Procedure
1. Confirm scope
Before drafting, identify:
- Target repo and base branch.
gh repo viewandgit symbolic-ref --short refs/remotes/origin/HEADif unclear. - Linked issue. Read the issue body and comments — especially any
researchplan they carry — with"${CLAUDE_SKILL_DIR}/../read-issue/scripts/read-issue.sh" <n> --repo <owner>/<repo>,<owner>/<repo>being the repo the link names, or the target repo above when the link is a bare#<n>. When the read exits nonzero, stop and report its message. - Whether the work went through
research. When## Impactis kept, fold the plan'sImpact listinto it if yes, and derive it from the local diff and commits if no. Report## Verificationagainst the plan'sTest planif yes, without copying theTest planinto it, and let it report the checks this run made if no. The plan'sChecklist of changesgoes into no section. Whether or not the work went throughresearch, do not transcribe the plan's process bookkeeping — see the reader-facing note below the skeleton.
2. Draft
Produce a title and body following the conventions above and the skeleton below.
Body skeleton
## Summary
<one-paragraph problem statement and resolution, semantic line breaks>
<Closes #N> on its own line; <Depends on #M> if applicable.
## Impact
<callers / public APIs affected>
<omit when the change is genuinely local (single private function, etc.)>
## Verification
<invariants verified, tests added/modified, cross-API coverage>
<contract tests added during review, if any>
<verification results: cargo test / pytest / etc. — pass/fail summary>
<any check run against the tree, suite or not, backing a claim made in another section>
## Notes (optional)
<known caveats, risks, follow-ups — including any behavior the plan
deferred, framed as the limitation itself (what the PR does not do, and
why), NOT as a "plan said X / actual Y" delta or a plan-comment link>The PR body is reader-facing: it documents the merged artifact for a future bisect reader / maintainer, not the research process that produced it. Do not add a Plan reference, Discovery contract status, or Open questions from the research plan section even when the work went through research-and-implement — those transcribe plan-internal bookkeeping (opaque plan-comment IDs, inconclusive-item enumerations) that rots fast and means nothing to a reader without the plan in front of them. A deferred behavior a reader genuinely needs goes in Notes, framed as the code's own limitation rather than a plan delta. (A ## Plan-vs-actual delta appended later by the caller is the one sanctioned exception — it is the audit surface for umbrella-tracked work and lives at the bottom of the body.)
The ## Plan-vs-actual delta section is appended later by the caller; do not pre-create an empty delta section here.
Section headings are optional for trivial PRs — a 5-line body covering Summary + Verification often needs no headings.
3. Discharge evidence claims
Discharge every evidence claim in the draft, as gh-body-conventions § Evidence claims defines one — across all sections, not only ## Verification.
Run this in main context: the record the rule compares against is the drafting session's own, which a subagent does not have.
Editing the body here is expected; the laundering pass runs on the result.
4. Laundering pass — run gh-body-audit
Run gh-body-audit against the drafted body with artifact kind pr. It returns a ✅ / ⚠ status. Mandatory before every gh-post pr create / gh-post pr edit. Any ⚠ blocks step 5 on gh-body-audit step 4's terms.
See gh-body-audit/SKILL.md for the procedure.
5. Show for approval
Present the laundered draft to the user verbatim before filing. Do not file without confirmation.
If the user requests changes, revise, re-discharge its evidence claims, re-run the laundering pass, and re-show. Do not file partially — the next step runs only after explicit approval.
6. File
Two modes, distinguished by the caller.
6a. Standalone mode (default)
Used when invoked directly by the user, not in gate mode. Write the laundered body to a temp file, then invoke the wrapper:
gh-post pr create \
--repo <owner>/<repo> \
--base <base-branch> \
--title "<title>" \
--body-file /tmp/<descriptive-name>.mdAdd --draft if the user wants a draft PR; extra flags (--label, --reviewer <login>, etc.) are forwarded to gh verbatim.
Do not auto-add @copilot here.
6b. Gate mode
Used when invoked as a gate by a caller that creates the PR itself. Stop after approval; do NOT run gh pr create. Output the approved title and body for the caller to pass into its PR-creation step.
Output format:
APPROVED TITLE:
<title>
APPROVED BODY (HEREDOC-ready):
<body>The caller then writes the approved body to a temp file and runs its PR-creation step, e.g.:
cat > /tmp/<descriptive-name>.md <<'EOF'
<approved body>
EOF
${CLAUDE_SKILL_DIR}/../copilot-review/scripts/pr-with-copilot-review.sh \
--base <base-branch> \
--title "<approved title>" \
--body-file /tmp/<descriptive-name>.md7. Report
After filing in standalone mode, show the user:
- The PR number and URL.
- Any follow-up actions (linking from a parent umbrella issue, triggering Copilot review separately via
copilot-review, etc.).
In gate mode, just confirm the approval and hand off to the caller.
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
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.

