Awesome-omni-skill pr-description-generator
Auto-activates when user mentions creating pull request, PR description, or merge request. Generates comprehensive PR descriptions from git diff and commit history.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cli-automation/pr-description-generator" ~/.claude/skills/diegosouzapw-awesome-omni-skill-pr-description-generator && rm -rf "$T"
manifest:
skills/cli-automation/pr-description-generator/SKILL.mdsafety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
- makes HTTP requests (curl)
- references .env files
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content
Pull Request Description Generator
Generates comprehensive, professional PR descriptions that make reviews faster and easier.
When This Activates
- User says: "create PR", "write PR description", "open pull request"
- User runs:
gh pr create - User asks: "what should my PR description say?"
PR Description Template
## 🎯 What [One sentence summary of changes] ## 🔨 Changes - [Bullet points of key changes] - [Focus on user-visible changes] - [Mention refactoring/technical changes] ## 🤔 Why [Explanation of why this change is needed] [Link to issue/ticket if applicable] ## 🧪 Testing - [ ] Unit tests pass - [ ] Integration tests pass - [ ] Manual testing completed - [ ] Edge cases verified **Testing steps:** 1. [How to test this locally] 2. [What to look for] 3. [Edge cases to verify] ## 📸 Screenshots/Videos [If UI changes: add before/after screenshots] [If workflow changes: add demo GIF/video] ## ⚠️ Breaking Changes [If breaking: list what breaks and migration guide] [If not breaking: remove this section] ## 📝 Checklist - [ ] Tests added/updated - [ ] Documentation updated - [ ] Changelog updated (if applicable) - [ ] No hardcoded secrets - [ ] Follows code style guidelines - [ ] Reviewed own code first ## 🔗 Related Closes #[issue number] Related: #[related PR/issue] Depends on: #[dependency PR]
Process
-
Gather context:
git log origin/main..HEAD --oneline git diff origin/main..HEAD --stat -
Analyze changes:
- What's the main feature/fix?
- What files were touched?
- Any breaking changes?
- UI changes?
-
Generate description:
- Clear "What" summary
- Detailed "Changes" list
- Explain "Why" this matters
- Testing instructions
- Screenshots if UI changed
-
Present to user for review/edit
Examples
Feature PR
## 🎯 What Add user authentication with JWT tokens ## 🔨 Changes - Implemented JWT-based authentication system - Added login and register endpoints - Created auth middleware for protected routes - Added password hashing with bcrypt - Implemented token refresh mechanism ## 🤔 Why Users need secure authentication to access protected features. Current system uses session cookies which don't work well with our mobile app. Closes #123 ## 🧪 Testing - [x] Unit tests pass (18 new tests added) - [x] Integration tests pass - [x] Manual testing completed - [x] Tested token expiration and refresh **Testing steps:** 1. Run `npm test` 2. Start server: `npm run dev` 3. Register new user: POST `/api/auth/register` 4. Login: POST `/api/auth/login` 5. Access protected route with token in Authorization header 6. Verify token expires after 15 minutes ## 📸 Screenshots  ## 📝 Checklist - [x] Tests added (18 new tests) - [x] Documentation updated (API.md) - [x] Changelog updated - [x] No hardcoded secrets (all in .env.example) - [x] Follows ESLint rules - [x] Reviewed own code ## 🔗 Related Closes #123 Depends on: #120 (database schema)
Bug Fix PR
## 🎯 What Fix null pointer exception in user profile page ## 🔨 Changes - Added null check for user.avatar before rendering - Added default avatar fallback - Updated ProfileCard component tests ## 🤔 Why Users without avatars were seeing blank profile pages. This happened when users registered via OAuth (no avatar uploaded). Fixes #234 ## 🧪 Testing - [x] Unit tests pass (2 new tests) - [x] Manual testing: Created user without avatar, profile renders correctly **Test cases:** 1. User with avatar → renders avatar ✅ 2. User without avatar → renders default avatar ✅ 3. User with null avatar property → renders default avatar ✅ ## 📝 Checklist - [x] Tests added for null case - [x] No breaking changes - [x] Verified in staging environment
Smart Features
Auto-Detect Breaking Changes
// If code diff shows: // - Removed exports // - Changed function signatures // - Renamed database columns // → Automatically mark as BREAKING CHANGE
Auto-Generate Testing Steps
// If PR adds new API endpoint: // → Auto-generate curl commands for testing // If PR adds UI component: // → Auto-generate component usage example
Auto-Link Issues
// Scan commit messages for: "fixes #123", "closes #456" // → Automatically add to PR description footer
Rules
✅ DO:
- Write for reviewers (assume they're busy)
- Include "why" not just "what"
- Add testing instructions
- Show UI changes with screenshots
- List breaking changes prominently
❌ DON'T:
- Be vague ("fixed some bugs")
- Assume reviewers know context
- Skip testing section
- Forget to link related issues
- Submit without self-review
Automation
# Generate and create PR in one command gh pr create --title "feat: add authentication" --body "$(droid generate-pr-description)"
Always show description to user before creating PR.