name: pr description: Commit, push, and open a pull request on GitHub allowed-tools: Bash(git *), Bash(gh *)
Pull Request Skill
Commit changes, push the branch, and open a pull request on GitHub.
Instructions
Check Current State
- Run
git statusto see changed files - Run
git diff --stagedandgit diffto see all changes - Run
git log --oneline -5to see recent commits
- Run
Stage and Commit
- Stage specific files by name (avoid
git add -Aorgit add .) - Never stage sensitive files (.env, credentials, etc.)
- Follow conventional commit format:
type(scope): description - Keep commit messages concise (under 72 characters)
- Stage specific files by name (avoid
Create or Use Branch
- If on
main, create a new branch:git checkout -b <branch-name> - Branch name format:
type/short-description(e.g.,feat/code-comparison,fix/marker-cleanup) - If already on a feature branch, use it
- If on
Push to Remote
- Push with upstream tracking:
git push -u origin <branch-name>
- Push with upstream tracking:
Assign Labels Add
--labelflags togh pr createbased on the PR type and scope.Type labels — pick based on the commit type:
Commit type Label fixbugfeatenhancementdocsdocumentationtest(no type label) refactor(no type label) chore(no type label) Component labels — if the scope matches a component label in the repo, add it:
Scope Label compassCompassinteractionInteractionRun
gh label listto check available labels if unsure. Multiple labels can be combined:gh pr create --label "bug" --label "Compass" ...Open Pull Request
- Use
gh pr createto open the PR - Write a clear title (under 70 characters)
- Write a description that follows the structure below based on PR type
- Start with a Type checklist — check the one that applies:
gh pr create --title "type(scope): description" --label "label" --body "$(cat <<'EOF' ## Type - [ ] Feature - [ ] Bug fix - [ ] Refactor - [ ] Test - [ ] Docs - [ ] Chore ## Summary - bullet points describing what changed and why ## Bug Details (only for bug fixes) **What was the bug?** Describe the incorrect behavior. **Why did it happen?** Explain the root cause. **How was it fixed?** Describe the solution. ## Test Coverage If tests were added or updated, link to the file on the branch (permalink): - [`src/registry/map/__tests__/component.test.tsx`](https://github.com/alamenai/terrae/blob/<branch-name>/src/registry/map/__tests__/component.test.tsx) EOF )"- Use
Verify and Report
- Show the PR URL to the user
- Run
git statusto confirm clean state
Important Rules
- Do NOT push to
maindirectly — always use a feature branch - Do NOT force push unless explicitly requested
- Ask user before proceeding with each step