PR Creator
Creates professional pull requests — always as drafts, with proper templates and conventions.
Instructions
1. Gather Repository State
# Current branch
git branch --show-current
# Verify not on main/master
git branch --show-current | grep -E '^(main|master)$' && echo "ERROR: Cannot PR from main"
# Check remote tracking
git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo "No upstream"
# Commits vs main
git log main..HEAD --oneline
# Changed files
git diff main..HEAD --stat
Block if:
- On main/master
- No commits ahead of main
- Uncommitted changes (warn, offer to commit first)
2. Analyze Changes
Determine type from files:
feat— New functionalityfix— Bug fixesdocs— Only .md, docs/ changesrefactor— Restructure, same behaviortest— Test files onlybuild— build.gradle.kts, Makefile, CIchore— Maintenance
Determine scope from paths:
compiler— compiler/src/**fir/ir/generation— specific subdirectoriesgradle— gradle-plugin/**samples— samples/**
3. Generate PR Title
<type>[(scope)]: <description>
- Max 72 characters
- No trailing period
- Imperative mood
4. Populate PR Template
cat .github/pull_request_template.md
Fill template with analysis from step 2.
5. BLOCK Forbidden Patterns (CRITICAL)
MUST NEVER appear in PR title or description:
- "Generated with Claude Code" / "Generated by Claude"
- "Co-Authored-By: Claude" / any
Co-authored-by:.*Anthropic - Robot emoji + "Generated"
PRs must appear professional and human-authored.
6. Push and Create Draft PR
# Push branch
git push -u origin $(git branch --show-current)
# Create draft PR
gh pr create \
--draft \
--title "<title>" \
--body "$(cat <<'EOF'
<populated template>
EOF
)"
7. Output
PR CREATED (Draft)
URL: {url}
Title: {title}
To mark ready: gh pr ready {number}
To view: gh pr view {number} --web
Error Messages
Not on feature branch:
PR BLOCKED — Cannot create PR from main/master
Create a feature branch first: git checkout -b feat/your-feature
No commits:
PR BLOCKED — No commits ahead of main
Title too long:
PR BLOCKED — Title exceeds 72 characters (currently: {n})
Suggested: "{shortened}"
Supporting Files
resources/pr-title-conventions.md— Title format specresources/pr-description-guide.md— Description best practices
Related Skills
git-commit-guardian— Clean commits before PRbdd-test-runner— Run tests before PR
Converted and distributed by TomeVault — claim your Tome and manage your conversions.