with one click
pr
Analyze changes, detect scope issues, and create a well-structured PR
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Analyze changes, detect scope issues, and create a well-structured PR
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Clean up stale git worktrees with merged branch detection and disk usage report
Safely remove a git worktree with branch cleanup and safety checks
Create isolated git worktrees for feature development without switching branches
Check status of background verification tasks running in a git worktree
Perform a comprehensive code review of a pull request
Display native sandbox status, configuration, and recent violations
| name | pr |
| description | Analyze changes, detect scope issues, and create a well-structured PR |
| argument-hint | [--base <branch>] [--draft] |
| effort | medium |
| when_to_use | Use when ready to open a PR: analyzes changes and drafts the PR description. |
| disable-model-invocation | true |
Analyze changes, detect scope issues, and create a well-structured PR following project conventions.
gh pr create with proper formattingCalculate PR complexity to detect if split is needed:
| Criterion | Weight | Description |
|---|---|---|
| Code files | x2 | *.ts, *.tsx (excluding tests) |
| Test files | x0.5 | *.test.ts, *.spec.ts |
| Config files | x1 | *.json, *.yml, *.md |
| Directories | x3 | Distinct src/* directories |
| Commits | x1 | Number of commits |
Thresholds: 0-15 ✅ Normal | 16-25 ⚠️ Large | 26+ 🔴 Split recommended
| Pattern | Verdict |
|---|---|
| Single scope | ✅ OK |
| Related scopes (sessions + calendar) | ✅ OK |
| Unrelated scopes (payments + auth) | 🔴 Split |
| feat + fix same scope | ✅ OK |
| feat + fix different scopes | 🔴 Split |
When split is recommended, display:
🔴 Scope trop large (score: 32)
Commits par scope :
├── payments (5 commits, 8 fichiers)
│ ├── feat(payments): add Stripe checkout
│ └── fix(payments): handle currency
│
└── notifications (3 commits, 6 fichiers)
└── feat(notifications): add email templates
💡 Suggestion :
1. PR #1 : feature/payments-stripe → Commits payments
2. PR #2 : feature/notifications → Commits notifications
Options :
[A] Continuer avec une seule PR (non recommandé)
[B] Découper (semi-auto - commandes git fournies)
[C] Voir détail fichiers
Semi-auto split provides copy-paste commands:
git checkout develop
git checkout -b feature/payments-stripe
git cherry-pick abc1234 def5678
git push -u origin feature/payments-stripe
<type>(<scope>): <description>
Examples:
feat(payments): add Stripe checkout integrationfix(sessions): resolve timezone calculation bug## TLDR
<!-- 2 lines max - Executive summary -->
---
## Type
{Feature | Fix | Tech | Docs | Security}
## Description
{Context and changes}
## Technical Changes
{List of main modifications}
## Tests
- [ ] Unit tests added/passing
- [ ] Manual testing completed
## Checklist
- [ ] Code follows conventions
- [ ] No console.log left
- [ ] Types OK (`pnpm typecheck`)
---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
| Label | Color | Use When |
|---|---|---|
feature | 🟢 | New functionality |
fix | 🔴 | Bug fix |
tech | 🔵 | Refactoring, tech debt |
docs | 📘 | Documentation only |
security | 🟣 | Security fix |
breaking-change | ⚫ | Breaking changes |
WIP | 🟡 | Work in progress (draft) |
# 1. Get base branch (usually develop)
BASE_BRANCH="develop"
# 2. Calculate complexity score
CODE=$(git diff --name-only $BASE_BRANCH..HEAD | grep -E '\.(ts|tsx)$' | grep -v test | wc -l)
TESTS=$(git diff --name-only $BASE_BRANCH..HEAD | grep -E '\.test\.|\.spec\.' | wc -l)
DIRS=$(git diff --name-only $BASE_BRANCH..HEAD | cut -d'/' -f1-2 | sort -u | wc -l)
COMMITS=$(git rev-list --count $BASE_BRANCH..HEAD)
SCORE=$((CODE * 2 + TESTS / 2 + DIRS * 3 + COMMITS))
# 3. Get scopes from commits
git log --oneline $BASE_BRANCH..HEAD --format="%s" | sed -n 's/^\w*(\([^)]*\)).*/\1/p' | sort | uniq -c
# 4. Recent branches for selection
git branch --sort=-committerdate --format='%(refname:short)' | head -5
# 5. Create PR
gh pr create \
--title "<type>(<scope>): <description>" \
--body "$BODY" \
--base $BASE_BRANCH \
--label "<label>" \
--draft # if WIP
After PR creation, ALWAYS display:
✅ PR créée : https://github.com/org/repo/pull/XXX
📋 Prochaines étapes automatiques :
• SonarQube analysera la qualité du code (bugs, vulnérabilités, code smells)
• Claude Code Review fournira un feedback IA sur votre PR
⏳ Pensez à surveiller ces analyses dans les prochaines minutes.
Si des problèmes sont détectés, corrigez-les avant de demander une review humaine.
| Situation | Behavior |
|---|---|
| No scope in commits | Analyze by directories |
| Non-conventional commits | Warn + ask type manually |
| No commits (same as base) | Error: "Aucun changement" |
| Single commit | Use commit message as title |
| Merge commits | Ignore (--no-merges) |
/pr
/pr --base main
/pr --draft
Target: $ARGUMENTS (optional: --base, --draft)