.claude/skills/pr/SKILL.md
Push branch and create a GitHub PR with concise, issue-linked description
npx skillsauth add TypedDevs/bashunit prInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Push branch and create a PR with a concise, issue-linked description.
IMPORTANT: This skill MUST be used for ALL pull request creation — even when the user says "create pr" without
/pr. Never create a PR without following these steps.
git branch --show-currentgit log main..HEAD --oneline 2>/dev/nullgit diff main..HEAD --stat 2>/dev/null$ARGUMENTS - Issue reference (optional, e.g., #42 or 42). If provided, the PR will be linked to this issue.Review the branch context above — the commits and changed files are already loaded.
MANDATORY: Update CHANGELOG.md — Read CHANGELOG.md and check the ## Unreleased section. If the changes from this branch are NOT already listed there, you MUST update it before proceeding. Do NOT skip this step. Do NOT proceed to push without verifying.
### Added, ### Changed, ### Fixed, etc.)(Issue #123))git add CHANGELOG.md && git commit -m "docs: update changelog"
git push -u origin HEAD
pre-commit hook runs tests, shellcheck, and linting automatically on commit. Ensure all checks passed before pushing.--no-verify to bypass.$ARGUMENTS contains an issue number, fetch the issue title:
gh issue view <number> --json title -q '.title'
<type>(<scope>): <short description> (conventional commit style, under 70 chars)feat/ → feat, fix/ → fix, docs/ → docs).github/PULL_REQUEST_TEMPLATE.md:gh pr create --title "<title>" --assignee @me --label "<label>" --body "$(cat <<'EOF'
## 🤔 Background
Related #<issue-number>
<1-2 sentences: motivation and context for the changes>
## 💡 Changes
- <bullet 1: what changed and why>
- <bullet 2>
- <bullet 3> (optional)
- <bullet 4> (optional)
EOF
)"
MANDATORY: Always follow the PR template structure (## 🤔 Background + ## 💡 Changes). Never use a different format.
Assignee: Always assign to @me (the PR creator).
Labels: Add the single most relevant label based on the branch prefix and change context:
bug — branch starts with fix/ and addresses a defectenhancement — branch starts with feat/ or adds new functionalitydocumentation — branch starts with docs/ or only changes docsrefactor — code restructuring with no behavior changeui — visual/frontend-only changesinvestigation — spikes, research, or exploratory workBody guidelines:
Related #<number>, then 1-2 sentences of context. NEVER use Closes or Fixes.# Read project config from .claude/github-project.json
ITEM_ID=$(gh project item-list PROJECT_NUMBER --owner OWNER --format json \
| jq -r '.items[] | select(.content.number == ISSUE_NUMBER) | .id')
gh project item-edit \
--id "$ITEM_ID" \
--project-id "PROJECT_ID" \
--field-id "STATUS_FIELD_ID" \
--single-select-option-id "IN_REVIEW_OPTION_ID"
Note: Requires project scope. Run gh auth refresh -s project if needed.
/pr
/pr #42
/pr 15
development
Run complete TDD red-green-refactor cycle for a test
tools
Run pre-release validation and execute the release process
testing
Run comprehensive pre-release validation checklist
tools
Fetch GitHub issue, create branch, plan and implement with TDD, then open PR