name: pr description: Push branch and create a GitHub PR following the bashdep PR template user-invocable: true argument-hint: "[#issue]" disable-model-invocation: true allowed-tools: Bash, Read, Grep, Glob
Create Pull Request
Push the current branch and open a PR using the project's PR template.
IMPORTANT: This skill MUST be used for ALL pull request creation — even when the user just says "create pr" without
/pr. Never create a PR without following these steps.
Current Branch Context
- Branch: !
git branch --show-current - Commits: !
git log main..HEAD --oneline 2>/dev/null - Changed files: !
git diff main..HEAD --stat 2>/dev/null
Arguments
$ARGUMENTS— Issue reference (optional, e.g.,#42or42). If provided, the PR Background section links to it.
Instructions
-
Review the branch context above — commits and changed files are already loaded.
-
MANDATORY: Update
CHANGELOG.md— Read it and check the## Unreleasedsection. If the changes from this branch aren't already listed there, you MUST update it before pushing. Do NOT skip. Do NOT proceed without verifying.- Add entries under the appropriate subsection
(
### Added,### Changed,### Fixed,### Removed) - Reference the issue number where applicable (e.g.,
(#123)) - Commit the update:
git add CHANGELOG.md && git commit -m "docs: update changelog"
- Add entries under the appropriate subsection
(
-
Verify quality gate locally before pushing:
make pre_commit/runThe pre-commit hook (if installed) runs the same checks. If it fails, read the output, fix the underlying issue, commit the fix, then retry. Do NOT use
--no-verifyto bypass. -
Push branch:
git push -u origin HEAD -
Generate PR title:
- If
$ARGUMENTScontains an issue number, fetch the issue title:gh issue view <number> --json title -q '.title' - Format:
<type>(<scope>): <short description>(conventional commit style, under 70 chars) - Derive the type from the branch prefix
(
feat/→ feat,fix/→ fix,docs/→ docs)
- If
-
Create PR using the structure from
.github/PULL_REQUEST_TEMPLATE.md:gh pr create --title "<title>" --assignee @me --body "$(cat <<'EOF' ### 🔗 Ticket <Related #<issue-number>, or "n/a"> ## 🤔 Background <1-2 sentences: motivation and context for the changes> ## 💡 Goal <One sentence: the outcome this PR delivers> ## 🔖 Changes - <bullet 1: what changed and why> - <bullet 2> - <bullet 3> (optional) ## 🖼️ Screenshots n/a EOF )"MANDATORY: Always follow the template structure (
🔗 Ticket→🤔 Background→💡 Goal→🔖 Changes→🖼️ Screenshots). Never use a different format.Assignee: Always assign to
@me.Issue linking: Use
Related #<n>in the Ticket section.Closes #<n>/Fixes #<n>are fine in commit bodies if the user wants auto-close, but keep the PR template's prose form.Body guidelines:
- Background: 1-2 sentences of context (the why)
- Goal: a single sentence framing the outcome
- Changes: 2-4 short bullets focused on what + why
- No file lists, no code snippets, no class names in the body
- Drop the
🖼️ Screenshotssection content for non-UI changes (replace withn/a)
-
Report the PR URL to the user.
Example Usage
/pr
/pr #42
/pr 15
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.