How this skill is triggered — by the user, by Claude, or both
Slash command
/code-reviewer:pr-createThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a pull request that follows team conventions. This skill analyses ALL commits on the branch (not just the latest), drafts a conventional commit title, writes a structured description, pushes, and creates the PR.
Create a pull request that follows team conventions. This skill analyses ALL commits on the branch (not just the latest), drafts a conventional commit title, writes a structured description, pushes, and creates the PR.
Execute every step in order. Do not skip.
Use $ARGUMENTS if provided. Otherwise default to main.
BASE_BRANCH="${ARGUMENTS:-main}"
Verify the base branch exists:
git rev-parse --verify $BASE_BRANCH
Check for uncommitted changes:
git status --short
If there are uncommitted changes, stop and ask the user whether to commit them first or proceed without them. Do not silently ignore uncommitted work.
Check current branch:
git branch --show-current
If on main (or the base branch), stop. PRs come from feature branches.
Check remote tracking:
git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null
Note whether the branch tracks a remote. If not, you will need to push with -u.
This is the most important step. The PR description must reflect the full scope of changes, not just the last commit.
Get the full commit log:
git log --oneline $BASE_BRANCH..HEAD
Get the full diff:
git diff $BASE_BRANCH...HEAD --stat
And for the detailed diff:
git diff $BASE_BRANCH...HEAD
Read every changed file in the diff to understand the full picture. Do not skim. If there are 20 changed files, read all 20.
Categorise the changes:
feat, fix, refactor, docs, test, chore, ci, perf, build)feat that also includes test changes)The PR title becomes the squash commit message. It must follow Conventional Commits:
<type>[optional scope]: <description>
Rules:
feat!: remove legacy API or note in the footerExamples of good titles:
feat(auth): add SSO login with SAML providerfix: prevent duplicate webhook delivery on retryrefactor(api): extract validation middleware from controllersdocs: add deployment runbook for productionExamples of bad titles:
Update code (no type, vague)feat: Added new feature for user authentication and also fixed some bugs (too long, past tense, multiple concerns)fix: Fix bug (redundant, no context)Use this template. Fill every section.
## Summary
- [1-3 bullet points: WHAT changed and WHY]
- [Focus on the motivation and outcome, not the implementation details]
- [If fixing a bug, describe the bug and its impact]
## Changes
- [Grouped by area: API, UI, database, tests, config, etc.]
- [Each bullet: specific file or module and what changed]
- [Include new dependencies, migrations, config changes]
## Test plan
- [How to verify the changes work]
- [Specific commands to run, or manual steps to follow]
- [What to check in CI]
- [Edge cases to test manually]
Additional sections to include when relevant:
## Breaking changes
- [What breaks, who is affected, migration steps]
## Screenshots
[For UI changes — before and after]
## Related issues
Closes #[issue number]
Rules for the description:
Push the branch:
git push -u origin $(git branch --show-current)
Create the PR:
gh pr create --title "<title>" --body "$(cat <<'EOF'
<body content>
EOF
)"
Verify creation:
gh pr view --json url,title,state
Share the PR URL and a brief summary:
PR created: <URL>
Title: <title>
Base: <base branch>
Commits: N
Files changed: N
--draft to the gh pr create command.--repo and --head flags appropriately./code-reviewer:code-review — run a code review before creating the PR to catch issues early.npx claudepluginhub hpsgd/turtlestack --plugin code-reviewerProvides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.