| name | pr-creator |
| description | Automate PR generation with version detection and release notes. Streamlines contribution workflow and version management. Creates professional PR descriptions with checklist and automation templates. |
_pr-creator
Overview
Automates professional Pull Request creation with structured descriptions, checklists, and proper formatting. Integrates with version detection and release notes generation.
When to use: Creating pull requests for features, fixes, or releases
Key principle: Use structured file-based descriptions, not inline PR text
PR Creation Workflow
Step 1: Detect Version & Changes
cat package.json | grep version
git log --oneline master..HEAD | head -10
git diff --name-only master...HEAD
Step 2: Create PR Description File
Store PR description in .github/PR_DESCRIPTION.local.md:
# <Type>: <Clear Title>
## Description
Brief summary of what this PR does (2-3 sentences).
## Changes
- Change 1
- Change 2
- Change 3
## Testing
How was this tested?
- Unit tests pass
- Manual testing steps
## Checklist
- [ ] Code follows style guidelines
- [ ] Self-review completed
- [ ] Comments added for complex areas
- [ ] Tests added (if applicable)
- [ ] Documentation updated (if applicable)
- [ ] No breaking changes (or documented)
---
🤖 Generated by _pr-creator skill
Step 3: Key PR Title Patterns
# For Features
- `feat: Add OAuth authentication`
- `feat: Implement caching layer`
# For Fixes
- `fix: Resolve race condition in data sync`
- `fix: Correct validation error message`
# For Documentation
- `docs: Update API reference`
- `docs: Add setup guide`
# For Releases
- `release: v2.1.0 release preparation`
- `chore(release): Prepare v3.0.0`
Step 4: Create the PR
git push origin feature/your-feature
gh pr create --title "feat: Add X" \
--body-file .github/PR_DESCRIPTION.local.md \
--base master
Step 5: Clean Up
rm .github/PR_DESCRIPTION.local.md
PR Description Template
# <Type>: <Descriptive Title>
## Summary
2-3 sentence summary of the change.
## Problem
What problem does this solve or feature does this add?
## Solution
How was it solved/implemented?
## Testing
- Unit tests: ✅ Passed
- Integration tests: ✅ Passed
- Manual testing: (describe steps)
## Checklist
- [ ] Code style compliance
- [ ] Tests added/updated
- [ ] Documentation updated
- [ ] No breaking changes
- [ ] Linked to issue (if applicable)
---
🤖 Generated by _pr-creator skill
PR Types & Examples
Feature PR
# feat: Implement user profile caching
## Summary
Adds in-memory caching for user profiles to reduce database queries.
## Changes
- Add ProfileCache class using LRU strategy
- Cache TTL: 5 minutes (configurable)
- Metrics: ~60% reduction in profile queries
## Testing
- ✅ 12 new unit tests
- ✅ 2 integration tests
- ✅ Manual browser testing
## Performance
- Query latency: 200ms → 50ms
- Database load: 40% reduction
Bug Fix PR
# fix: Prevent duplicate API calls on rapid clicks
## Problem
Double-clicking quickly triggers API request twice.
## Solution
Add debounce wrapper to API call. Throttle: 500ms.
## Testing
- ✅ Verified with rapid clicks
- ✅ No API duplicates observed
Release PR
# release: v2.0.0 release preparation
## Changes From v1.9.0
- ✨ Added new export API
- 🐛 Fixed auth timeout issues
- ♻️ Refactored cache layer
- 📚 Updated documentation
## Checklist
- [x] CHANGELOG updated
- [x] Docs updated
- [x] Tests passing (98% coverage)
- [x] Build successful
PR Description Checklist
Before submitting:
## PR Submission Checklist
- [ ] Title is clear and descriptive
- [ ] Type is specified (feat/fix/docs/etc)
- [ ] Description explains what and why
- [ ] Changes are properly listed
- [ ] Testing steps documented
- [ ] No hardcoded values or debug code
- [ ] Related issue linked (#123)
- [ ] Breaking changes documented (if any)
- [ ] Signature line included (🤖 marker)
Integration with Version Detection
For release PRs, include version info:
VERSION=$(cat package.json | grep '"version"' | head -1 | \
awk -F'"' '{print $4}')
git log --oneline --grep="feat\|fix" v$PREV_VERSION..HEAD
GitHub CLI Commands
gh pr create --title "feat: X" \
--body-file .github/PR_DESCRIPTION.local.md
gh pr create --title "WIP: X" --draft
gh pr create --title "fix: X" \
--assignee @me \
--label "bug,urgent"
gh pr list --creator @me
gh pr view <number>
Common PR Anti-patterns
| Anti-pattern | Problem | Fix |
|---|
| Vague title "Updates" | Unclear scope | Use specific: "feat: Add X" |
| Empty description | No context | Write summary + testing |
| No tests mentioned | Reviewers unsure | Document test coverage |
| Mixing scopes | Too big to review | Split into smaller PRs |
| Commits unclear | Hard to revert | Use _git-commit skill format |
Best Practices
- Keep PRs focused - one feature/fix per PR
- Write clear descriptions - help reviewers understand
- Link to issues - context and traceability
- Include test proof - screenshots/coverage
- Clean up drafts - delete temp
.local.md files
- Request review early - don't wait until perfect
Quick Workflow
git checkout -b feature/my-feature
cat > .github/PR_DESCRIPTION.local.md << 'EOF'
[see template above for full format]
🤖 Generated by _pr-creator skill
EOF
gh pr create \
--title "feat: My feature" \
--body-file .github/PR_DESCRIPTION.local.md
rm .github/PR_DESCRIPTION.local.md
Related Skills
- _git-commit: Proper commit message formatting
- _code-health-check: Quality checks before PR creation
- _release-process: Release PR creation and merge process