pr-description-writer
Skill22 starsChanged 3 months agoMITView on GitHub
Draft and post a GitHub PR title and body from git diff and commit history. Use when opening a new PR, when the user asks to "write a PR description", "draft a PR", "open a PR for this branch", or after running the git-commit skill and pushing the branch. Chains naturally after git-commit and before qodoloop / coderabbitloop.
- Commits and pushes
6 other projects use a version of this.
Adopted by
Most recently taken up by
- Lethe044/agentskill-kittheir own version, first seen Nov 1, 2026
- Infomaniak/desktop-kDrivetheir own version, first seen Oct 8, 2026
- poorvith-mp/skills-developertheir own version, first seen Aug 19, 2026
- michaelm7456/claude-skillstheir own version, first seen Jul 19, 2026
- ATOM00blue/agent-skills-protheir own version, first seen May 22, 2026
- kakarot-oncloud/claude-dev-skillstheir own version, first seen Apr 19, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- Infomaniak/desktop-kDrive★ 121same name
- Lethe044/agentskill-kit★ 50same name
- ATOM00blue/agent-skills-pro★ 0same name
- kakarot-oncloud/claude-dev-skills★ 0same name
- michaelm7456/claude-skills★ 0same name
- poorvith-mp/skills-developer★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository194 other files it gives its agents.
- 0-templateSkill
- ab-test-analyzerSkill
- academy-guideSkill
- add-to-my-skillsSkill
- adr-authorSkill
- ai-tools-setupSkill
- algorithmic-artSkill
- api-and-interface-designSkill
- api-designerSkill
- api-docs-writerSkill
- apple-store-submitSkill
- aws-cost-optimizerSkill
- bash-script-hardeningSkill
- blog-post-writerSkill
- book-summarizerSkill
- branch-cleanupSkill
- brand-copy-landingSkill
- brand-copySkill
- brand-designSkill
- brand-guidelinesSkill
- browser-testing-with-devtoolsSkill
- canvas-designSkill
- changelog-generatorSkill
- changelog-keeperSkill
- chart-chooserSkill
- ci-cd-and-automationSkill
- ci-fix-loopSkill
- claude-apiSkill
- cloudflare-block-countriesSkill
- coderabbitloopSkill
- code-review-and-qualitySkill
- code-reviewerSkill
- code-simplificationSkill
- codexloopSkill
- comms-notionSkill
- comms-slackSkill
- comms-whatsappSkill
- competitive-analysisSkill
- concept-explainerSkill
- constraint-driven-developmentSkill
- context-engineeringSkill
- context-repoSkill
- cover-letter-writerSkill
- crash-courseSkill
- cron-schedulerSkill
- data-digestSkill
- data-pipeline-architectSkill
- debug-detectiveSkill
- debugging-and-error-recoverySkill
- decision-matrixSkill
- dependabot-triageSkill
- dependency-upgraderSkill
- deprecation-and-migrationSkill
- dev-instantdbSkill
- discernment-nudgeSkill
- doc-coauthoringSkill
- dockerfile-proSkill
- docs-index-keeperSkill
- documentation-and-adrsSkill
- docxSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 4 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
4
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
- Distinctive: line 58
If the diff is large (>500 changed lines), read file-by-file rather than all at once.
- Very specific: line 66
If a PR exists in OPEN state: update it with gh pr edit.
- Very specific: line 67
If no PR exists: create one with gh pr create.
- Distinctive: line 77
If a template exists, mirror its section headings and populate them.
- Very specific: line 83
Use Conventional Commits prefix when the branch/commits use it: feat(scope):, fix:, etc.
- Distinctive: line 108
If commits already have good conventional messages, use them as the skeleton.
- Distinctive: line 114
Always pass the body via a heredoc or temp file: never interpolate it into the command string (quotes and newlines will break the shell):
“Common” is measured: kept by at least 6 in 10 of the 5 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.
Files
🤖 Auto-generated by weekly-pattern-learner · qodoloop and coderabbitloop both open with
gh pr view: the PR creation/description step was never codified as its own skill
PR Description Writer
Draft a GitHub-ready PR title and body from the branch's commit history and diff, then create or update the PR so reviewers and AI tools have full context.
Inputs
- Base branch (optional, default:
mainormaster, detect fromgh repo view) - Draft mode (optional, default: off)
- Template (optional): if
.github/pull_request_template.mdexists, use its section headings
Workflow
1. Gather branch context
# Current branch
git rev-parse --abbrev-ref HEAD
# Base branch
gh repo view --json defaultBranchRef -q '.defaultBranchRef.name'
# Commits since base
git log <base>..<head> --oneline --no-merges
# Diff summary (full diff for small PRs, stat-only for large)
git diff <base>..<head> --stat
git diff <base>..<head> # only if total changes < ~500 linesIf the diff is large (>500 changed lines), read file-by-file rather than all at once.
2. Check for existing PR
gh pr view --json number,title,body,state 2>/dev/null- If a PR exists in
OPENstate: update it withgh pr edit. - If no PR exists: create one with
gh pr create.
3. Check for a PR template
cat .github/pull_request_template.md 2>/dev/null \
|| cat .github/PULL_REQUEST_TEMPLATE.md 2>/dev/null \
|| cat PULL_REQUEST_TEMPLATE.md 2>/dev/nullIf a template exists, mirror its section headings and populate them. Skip sections that ask for credentials, tokens, internal hostnames, or content unrelated to the diff.
4. Draft title and body
Title rules:
- Use Conventional Commits prefix when the branch/commits use it:
feat(scope):,fix:, etc. - ≤ 70 characters
- Imperative mood ("Add X", "Fix Y", not "Added X")
- Include ticket number if present in branch name (e.g.
LIN-123,GH-456)
Body sections (use the template if one was found, otherwise use this structure):
## Summary
- <bullet: what changed>
- <bullet: why>
## Changes
- `<file or subsystem>`: <what changed and why>
## Test plan
- [ ] <what to run and what result to expect>
- [ ] <manual steps if automated tests don't cover it>
## Notes
<optional: anything a reviewer should watch for, known gaps, follow-up issues>Rules:
- Describe intent, not what the diff already shows line-by-line.
- If commits already have good conventional messages, use them as the skeleton.
- Skip any section that has nothing meaningful to say.
- Reference specific files, functions, or lines only when they aid navigation.
5. Create or update the PR
Always pass the body via a heredoc or temp file: never interpolate it into the command string (quotes and newlines will break the shell):
# Create new PR
gh pr create \
--title "<title>" \
--body "$(cat <<'PRBODY'
<body>
PRBODY
)" \
--base <base> \
[--draft]
# Update existing PR
gh pr edit <number> \
--title "<title>" \
--body "$(cat <<'PRBODY'
<body>
PRBODY
)"6. Confirm and report
gh pr view --json number,title,url -q '"PR #\(.number): \(.title)\n\(.url)"'Print the PR number, title, and URL. If the PR was newly created, note whether CI triggered automatically.
Chaining
| Before this skill | After this skill |
olko:git-commit + git push | olko:qodoloop |
git push -u origin <branch> | olko:coderabbitloop |
| N/A | olko:open-source-publisher (for new repos) |
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.

