describe-pr — Claude Code skill: what it does, how to install
Builds pull request descriptions from the repository template after reviewing changes and checks. Use it before updating a PR body with GitHub CLI.
npx skills add parcadei/Continuous-Claude-v3 --skill describe-pr -a claude-code
npx skills add parcadei/Continuous-Claude-v3 --skill describe_pr -a claude-codeWhat describe-pr does
The skill looks for thoughts/shared/pr_description.md, then uses gh to identify the PR for the current branch. When the branch has no linked PR, or is main or master, it lists open PRs and asks which one to describe.
It reads the PR diff, commit history, base branch, and metadata. Each template section is filled from that review, with user-facing changes, implementation details, breaking changes, and migrations considered. If reasoning files exist, the description gets an Approaches Tried section before verification.
Runnable verification commands from the template are executed and marked when they pass. Failed or manual checks stay unchecked with an explanation. The result is saved as thoughts/shared/prs/{number}_description.md and sent to gh pr edit. The template file is required, so its absence means the skill asks you to create it.
What it helps with
- write a PR description from a repository template
- find the pull request for the current branch
- collect the diff and commit history for a PR
- record passed and failed verification checks
- publish the completed PR body with
gh pr edit
Example prompts for the agent
- Create a description for PR
{number}using this repository's template. - Check the current branch and write the description for its linked PR.
- Update PR
{number}, run available verification steps, and save the result to the description file.
How to install describe-pr
1Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill describe-pr -a claude-codenpx skills add parcadei/Continuous-Claude-v3 --skill describe_pr -a claude-code2Manually: put the files in place
~/.claude/skills/describe_pr/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/describe_pr/
1Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill describe_pr -a codex2Manually: put the files in place
.agents/skills/describe_pr/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill describe_pr -a cursor2Manually: put the files in place
.cursor/skills/describe_pr/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install parcadei/Continuous-Claude-v3 describe_pr2Manually: put the files in place
.github/skills/describe_pr/SKILL.md1Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill describe_pr -a gemini-cli2Platform CLI
gemini skills install https://github.com/parcadei/Continuous-Claude-v3 --path .claude/skills/describe_prManually: put the files in place
.devin/skills/describe_pr/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill describe_pr -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about describe-pr
How do I install describe-pr in Claude Code?
Run npx skills add parcadei/Continuous-Claude-v3 --skill describe-pr -a claude-code from your project directory.
What does describe-pr do?
The skill reads a PR description template, gathers PR details through gh, and writes the completed body to a file. It then updates the pull request with gh pr edit.
What should I do if gh pr diff reports no default repository?
Run gh repo set-default and select the appropriate repository. The skill can then retrieve the PR diff.
Source text
SKILL.md · MIT
---
name: describe-pr
description: Generate comprehensive PR descriptions following repository templates
---
# Generate PR Description
You are tasked with generating a comprehensive pull request description following the repository's standard template.
## Steps to follow:
1. **Read the PR description template:**
- First, check if `thoughts/shared/pr_description.md` exists
- If it doesn't exist, inform the user they need to create a PR description template at `thoughts/shared/pr_description.md`
- Read the template carefully to understand all sections and requirements
2. **Identify the PR to describe:**
- Check if the current branch has an associated PR: `gh pr view --json url,number,title,state 2>/dev/null`
- If no PR exists for the current branch, or if on main/master, list open PRs: `gh pr list --limit 10 --json number,title,headRefName,author`
- Ask the user which PR they want to describe
3. **Check for existing description:**
- Check if `thoughts/shared/prs/{number}_description.md` already exists
- If it exists, read it and inform the user you'll be updating it
- Consider what has changed since the last description was written
4. **Gather comprehensive PR information:**
- Get the full PR diff: `gh pr diff {number}`
- If you get an error about no default remote repository, instruct the user to run `gh repo set-default` and select the appropriate repository
- Get commit history: `gh pr view {number} --json commits`
- Review the base branch: `gh pr view {number} --json baseRefName`
- Get PR metadata: `gh pr view {number} --json url,title,number,state`
4b. **Gather reasoning history (if available):**
- Check if reasoning files exist: `ls .git/claude/commits/*/reasoning.md 2>/dev/null`
- If they exist, aggregate them: `bash "$CLAUDE_PROJECT_DIR/.claude/scripts/aggregate-reasoning.sh" main`
- This shows what approaches were tried before the final solution
- Save the output for inclusion in the PR description
5. **Analyze the changes thoroughly:** (ultrathink about the code changes, their architectural implications, and potential impacts)
- Read through the entire diff carefully
- For context, read any files that are referenced but not shown in the diff
- Understand the purpose and impact of each change
- Identify user-facing changes vs internal implementation details
- Look for breaking changes or migration requirements
6. **Handle verification requirements:**
- Look for any checklist items in the "How to verify it" section of the template
- For each verification step:
- If it's a command you can run (like `make check test`, `npm test`, etc.), run it
- If it passes, mark the checkbox as checked: `- [x]`
- If it fails, keep it unchecked and note what failed: `- [ ]` with explanation
- If it requires manual testing (UI interactions, external services), leave unchecked and note for user
- Document any verification steps you couldn't complete
7. **Generate the description:**
- Fill out each section from the template thoroughly:
- Answer each question/section based on your analysis
- Be specific about problems solved and changes made
- Focus on user impact where relevant
- Include technical details in appropriate sections
- Write a concise changelog entry
- **If reasoning files were found (from step 4b):**
- Add an "## Approaches Tried" section before "## How to verify it"
- Include the aggregated reasoning showing failed attempts and what was learned
- This helps reviewers understand the journey, not just the destination
- Ensure all checklist items are addressed (checked or explained)
8. **Save the description:**
- Write the completed description to `thoughts/shared/prs/{number}_description.md`
- Show the user the generated description
9. **Update the PR:**
- Update the PR description directly: `gh pr edit {number} --body-file thoughts/shared/prs/{number}_description.md`
- Confirm the update was successful
- If any verification steps remain unchecked, remind the user to complete them before merging
## Important notes:
- This command works across different repositories - always read the local template
- Be thorough but concise - descriptions should be scannable
- Focus on the "why" as much as the "what"
- Include any breaking changes or migration notes prominently
- If the PR touches multiple components, organize the description accordingly
- Always attempt to run verification commands when possible
- Clearly communicate which verification steps need manual testing
© parcadei · MIT · parcadei/Continuous-Claude-v3