{"name":"write-pull-request-description-prompt","description":"A prompt that writes a pull request description reviewers can act on fast - a small diagram or tree of what changed, before-and-after evidence such as test output or screenshots, and a merge-danger note on how reversible the change is and what it could affect. Use when the user opens a PR, asks for a PR body, or wants reviewers to understand a change quickly.","category":"coding-prompts","tags":["github","docs","writing"],"models":["any"],"proven":false,"passing_families":0,"model_testing":"Not yet model-tested; testing Jan 2027","url":"https://theskillvault.ai/skills/write-pull-request-description-prompt","api_url":"https://theskillvault.ai/api/skills/write-pull-request-description-prompt","raw_url":"https://theskillvault.ai/api/skills/write-pull-request-description-prompt/raw","body":"# Write a pull request description (prompt)\n\nA good PR body shows the change, proves it works and says how risky it is to merge. This prompt writes that in a few lines.\n\n## When to use\n- You are opening a pull request and need a description.\n- Reviewers keep asking \"what does this do?\" or \"did you test it?\".\n- A change is risky and you want the risk stated up front.\n\n## Steps\n1. Get the diff: `git diff main...HEAD` (or the PR's \"Files changed\").\n2. Collect evidence: test output, a screenshot or a before-and-after.\n3. Paste both into the prompt below.\n4. Check the merge-danger section is honest, then paste the result into the PR.\n\n## Prompt\n```text\nWrite a pull request description for the change below. No preamble, keep prose short.\n\n## Summary\nShow the change in the smallest useful view: pseudocode for logic, a call tree for control flow, a file tree for structure, or a short diff sketch. Add one or two sentences on why.\n\n## Evidence\n- Before: what happened before (failing test, bug output, screenshot).\n- After: what happens now (passing test, output, screenshot).\n\n## Merge danger\n- Door: one-way (hard to undo: data migrations, public API changes, deletes) or two-way (easy to revert).\n- Blast radius: one word (tiny, local, module, app-wide), plus what could break if it is wrong.\n\nDIFF:\n{{DIFF}}\n\nEVIDENCE:\n{{TEST OUTPUT OR NOTES}}\n```\n\n## How to adapt\n- Team has a PR template? Paste it and ask the AI to fill it using these rules.\n- For a tiny fix, ask for the summary and evidence only.\n\n## Gotchas\n- Scan the diff for API keys, tokens and `.env` values before pasting it into any AI tool.\n- Do not let the AI invent evidence. If you have no test output, it should say \"not tested\".\n\n## Portability\nWorks on GitHub, GitLab or Bitbucket with any chat AI or coding agent. No tool lock-in. For the commit itself, use write-commit-message-prompt.\n\n## Done when\n- The description shows what changed, proof it works and the merge risk.\n- A reviewer can understand it without opening every file.\n\n## Example prompt\n\"Write the PR description for my branch. Here is the diff and the test output.\"\n\n---\nAdapted from \"pr\" in mattpocock/skills (MIT, Copyright (c) 2026 Matt Pocock). The upstream skill credits Dex Horthy / Humanlayer (\"show-me\") as inspiration. See LICENSE.txt.","files":["LICENSE.txt"],"license":"MIT","license_name":"MIT License","license_url":"https://opensource.org/license/mit","attribution":"Based on work by Matt Pocock (mattpocock/skills, pr); inspired by Dex Horthy / Humanlayer (show-me) (Copyright (c) 2026 Matt Pocock, MIT License), https://github.com/mattpocock/skills/tree/a496f5513d4a4cf889bc48e189e579f4b0bdf6aa/skills/engineering/pr; adapted by TheSkillVault, https://theskillvault.ai","install":{"claude_code":"curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/write-pull-request-description-prompt/raw' -o ~/'.claude/skills/write-pull-request-description-prompt/SKILL.md' && curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/write-pull-request-description-prompt/files/LICENSE.txt' -o ~/'.claude/skills/write-pull-request-description-prompt/LICENSE.txt'","cursor":"curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/write-pull-request-description-prompt/raw' -o '.cursor/skills/write-pull-request-description-prompt/SKILL.md' && curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/write-pull-request-description-prompt/files/LICENSE.txt' -o '.cursor/skills/write-pull-request-description-prompt/LICENSE.txt'","agents":"curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/write-pull-request-description-prompt/raw' -o '.agents/skills/write-pull-request-description-prompt/SKILL.md' && curl -fsSL --create-dirs 'https://theskillvault.ai/api/skills/write-pull-request-description-prompt/files/LICENSE.txt' -o '.agents/skills/write-pull-request-description-prompt/LICENSE.txt'","mcp_url":"https://theskillvault.ai/mcp","cursor_mcp_deeplink":"cursor://anysphere.cursor-deeplink/mcp/install?name=theskillvault&config=eyJ1cmwiOiJodHRwczovL3RoZXNraWxsdmF1bHQuYWkvbWNwIn0%3D","mcp_config":{"mcpServers":{"theskillvault":{"url":"https://theskillvault.ai/mcp"}}}},"bundles":[],"tested_on":[{"family":"chatgpt","name":"ChatGPT","outcome":null,"date":null,"source":null,"counts":false,"stale":false},{"family":"claude","name":"Claude","outcome":null,"date":null,"source":null,"counts":false,"stale":false},{"family":"gemini","name":"Gemini","outcome":null,"date":null,"source":null,"counts":false,"stale":false},{"family":"grok","name":"Grok","outcome":null,"date":null,"source":null,"counts":false,"stale":false},{"family":"llama","name":"Llama","outcome":null,"date":null,"source":null,"counts":false,"stale":false},{"family":"deepseek","name":"DeepSeek","outcome":null,"date":null,"source":null,"counts":false,"stale":false},{"family":"mistral","name":"Mistral","outcome":null,"date":null,"source":null,"counts":false,"stale":false},{"family":"qwen","name":"Qwen","outcome":null,"date":null,"source":null,"counts":false,"stale":false},{"family":"kimi","name":"Kimi K","outcome":null,"date":null,"source":null,"counts":false,"stale":false}],"proven_rule":{"threshold":5,"window_days":365,"computed_at":"2026-11-02T03:20:33.817Z"}}