Skill v1.0.1
currentAutomated scan100/100+3 new
version: "1.0.1" name: create-pr description: create a pull request with standardized description template disable-model-invocation: true
Create Pull Request
Create a pull request with a well-structured description based on the branch changes.
Instructions
Gates (run in order)
Do not draft or run gh pr create until each step passes.
- Branch gate:
git branch --show-currentis not the default branch (main,master, or the repo’s documented default). Pass: branch name is printed and satisfies this. - Evidence gate: You have run the commands in Gather Context for the same
main..HEAD(ororigin/main..HEADif localmainis missing) range you will summarize. Pass: you can name at least one commit subject and one area of files changed without inventing details. - Template gate: The final PR title and body contain no unreplaced placeholders (
<...>,TODO,TBD). Optional sections with no content are removed, not left as stubs. Pass: a quick scan finds no angle-bracket placeholders or filler tokens. - Create gate:
gh pr createexits successfully and prints a PR URL (or the PR number/URL fromghoutput). Pass: URL (or id) is recorded; if the command fails, do not claim the PR was created.
1. Gather Context
First, collect information about the changes:
# Get current branch and verify it's not maingit branch --show-current# Get commit history for this branchgit log --oneline main..HEAD# Get detailed commit messages for contextgit log --format="### %s%n%n%b" main..HEAD# Get file change statisticsgit diff --stat main..HEAD# Get the actual diff for understanding changesgit diff main..HEAD
2. Analyze the Changes
Based on the gathered information, determine:
- What changed: Categorize changes (features, fixes, refactors, docs, tests)
- Why it changed: Infer motivation from commit messages and code changes
- Impact: Breaking changes, new dependencies, migrations needed
- Testing: What tests were added/modified, how to verify manually
3. Check for Related Issues
Look for issue references:
- In commit messages (e.g., "fixes #123", "closes #456")
- In branch name (e.g.,
fix/issue-123-description) - In code comments or TODOs addressed
4. Generate PR Description
Create the PR using this template structure:
gh pr create --title "<type>(<scope>): <description>" --body "$(cat <<'EOF'## Summary<1-3 sentence overview of what this PR does and why>## Changes<Categorized bullet list of changes>### Added- <new features or capabilities>### Changed- <modifications to existing functionality>### Fixed- <bug fixes>### Removed- <deprecated or removed functionality>## Motivation<Why were these changes needed? What problem does this solve?>## Testing<How was this tested?>- [ ] Unit tests added/updated- [ ] Integration tests added/updated- [ ] Manual testing performed### Manual Testing Steps<If applicable, steps to manually verify the changes>## Breaking Changes<If any, describe what breaks and migration path. Remove section if none.>## Related Issues<Link to related issues. Remove section if none.>- Closes #<issue_number>- Related to #<issue_number>## Checklist- [ ] Code follows project style guidelines- [ ] Self-review completed- [ ] Tests pass locally- [ ] Linting passes- [ ] Documentation updated (if needed)EOF)"
Optionally append a footer trailer per project convention (e.g. a tool-attribution line). Omit it when the project has no such convention.
5. Title Format
Use conventional commit format for the PR title:
feat(scope): add new featurefix(scope): correct bug behaviorrefactor(scope): restructure without behavior changedocs(scope): update documentationtest(scope): add or modify testschore(scope): maintenance tasks
6. Apply Labels
After creating the PR, apply appropriate labels based on the changes. Use gh pr edit <number> --add-label <label>.
Check the repository's available labels first:
gh label list
Common Type Labels
| Label | When to Use | |
|---|---|---|
enhancement | New features, capabilities, or improvements | |
bug | Bug fixes | |
documentation | Documentation-only changes | |
breaking-change | User-facing breaking changes requiring migration |
Breaking Change Criteria
Only apply breaking-change for user-facing changes that require users to modify their:
- Configuration files
- CLI invocations
- API integrations
Do NOT apply for internal refactors unless they affect external consumers.
7. After Creation
After creating the PR:
- Display the PR URL with applied labels
- Suggest adding reviewers if appropriate
- Note if any CI checks need to pass
Guidelines
DO:
- Be specific about what changed and why
- Include testing evidence
- Link related issues
- Note breaking changes prominently
- Remove empty optional sections
DON'T:
- Include irrelevant commits (keep PR focused)
- Leave placeholder text in the description
- Skip the testing section
- Create PRs without running local checks first