skills/pr-description-writer/SKILL.md
Generate high-quality Pull Request descriptions in Markdown. Supports issue, feature, and big-feature PR types with structured, production-ready output. Also generates PR titles and supports delivery as chat output or downloadable .md file. Proactively detects open GitHub PRs for the current branch and offers to update their title and description directly via the gh CLI.
npx skillsauth add joyco-studio/skills pr-description-writerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill generates clean, structured, production-ready Pull Request descriptions in Markdown format.
The user provides context about their PR (changes, bug, feature, architecture, etc). The skill determines or asks for the PR type and generates the correct template.
Before generating anything, always check if an open Pull Request already exists for the current branch using the gh CLI:
gh pr view --json number,title,url,body 2>/dev/null
This detection is automatic — do not ask the user whether to check. Always check.
Supported types:
issuefeaturebig-featureIf the user does not specify the type, ask them to choose one.
The skill must always generate a PR title before the description.
Rules:
Examples:
fix(auth): prevent session reset on refreshfeat(payments): add MercadoPago checkout supportrefactor(ui): migrate layout system to grid tokensThis skill ONLY generates Markdown output.
It always:
# <PR Title>
<PR Description using the selected template>
Always ask if there is a related issue (Linear, Jira, GitHub Issues, or similar).
If an issue exists, add this section at the top of the PR description:
## Issue
[Issue link here]
If there is no issue, omit this section.
Use for:
## Problem
<Explain the bug or problem clearly. What was happening? When did it occur?>
## Root Cause
<Explain the technical cause if known.>
## Solution
<Explain what was changed and why it fixes the problem.>
## Result
<Explain impact. Add demo links, videos, screenshots if available.>
Use for:
## Problem
<Explain the need, limitation, or missing capability.>
## Root Cause
<Optional. Only include if there was a technical limitation to solve.>
## Result
<Explain what the new feature enables and its impact.>
Rules:
Use for:
### Summary
<High level explanation of what this PR introduces and why it matters.>
### Key Changes
- <Main change>
- <Main change>
- <Main change>
---
## Architecture Overview
### 1. Concept / Strategy
<Explain main architectural idea>
### 2. Implementation
<Folders, routing, state, patterns, infra, etc>
### 3. Components / Systems
<Main modules or domains involved>
### 4. Data / State Flow
<How data moves through the system>
### 5. Navigation / UX Flow
<If applicable>
### 6. Migration / Breaking Changes
<If applicable>
---
### Notes
<Tradeoffs, future improvements, known limitations>
After generating the PR Title and PR Description, the skill must ask the user how they want to receive the output.
If an open PR was detected for the current branch, present these options:
"Do you want me to update the open PR directly, generate a .md file, or just show it here?"
Options:
gh pr edit to update title and body directly on GitHub..md fileIf no open PR was detected, present the standard options:
"Do you want me to generate a .md file with this content, or just show it here?"
Options:
.md fileWhen the user confirms they want to update the open PR, use the gh CLI:
gh pr edit <number> --title "<new title>" --body "<new body>"
Rules:
AskUserQuestion.<number> comes from the PR detected in the Proactive PR Detection step.<new title> is the generated PR title.<new body> is the generated PR description body (Markdown). Pass it via a heredoc to preserve formatting:gh pr edit <number> --title "<new title>" --body "$(cat <<'EOF'
<generated PR description body>
EOF
)"
If the user requests a .md file:
When running this skill:
Proactively check for an open PR on the current branch using gh pr view. This is automatic — do not ask the user whether to check. If a PR is found, inform the user (show PR URL and number).
Detect PR type from context OR ask user to choose:
Always ask if there is a related issue link.
If issue exists, add Issue section at the top.
Generate:
Ask how to deliver the output:
.md file. Use AskUserQuestion to confirm..md file.If the user chose to update the open PR, run gh pr edit with the generated title and body. Never run this without confirmation.
If .md file is requested, generate file-ready Markdown content.
The generated PR description must:
tools
Add sound effects, UI audio, and ambient sound to a web app using the @joycostudio/suno library. Use when the user wants to play audio on button clicks, hover states, game events, or ambient loops, and when they mention @joycostudio/suno, Suno, AudioSource, Voice, or Mixer.
tools
Analyze a Chrome DevTools Performance trace JSON file for performance anomalies, producing a structured audit report with critical issues, warnings, metrics, timeline hotspots, and actionable recommendations.
development
Analyze a bye-thrash layout thrashing report array. Parses stack traces, identifies user-code functions causing forced reflows, locates the offending style-write → layout-read pairs in source files, and produces a structured fix-suggestion report.
development
Author or refactor a skill in this repo. Use when the user asks to "create a skill", "write a skill", "add a new skill", "document this as a skill", or to restructure an existing SKILL.md (split it up, slim it down, fix the frontmatter). Covers frontmatter conventions, file layout, and the rule for splitting deep reference material into linked docs instead of bloating SKILL.md.