Skip to content
cccskills
FreePublished on GitHub

pr

Analyze changed files and commits before opening a pull request, a proposed code change for review. Identify oversized or unrelated changes, suggest splits, and create a GitHub PR with a summary, description, and checklist.

OriginalShow the original description

Analyze changes, detect scope issues, and create a well-structured PR

Works withStripeGitHub
See how to install

Good for

  • Prepare a pull request for review
  • Check whether large changes should be split
  • Create a draft PR with labels

Files included (1)

  • SKILL.md5.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Create pull request

Analyze changes, detect scope issues, and create a well-structured PR following project conventions.

Process

  1. Analyze Changes: Calculate complexity score from files, commits, and directories
  2. Detect Scope Issues: Warn if PR is too large or mixes unrelated changes
  3. Suggest Split: If needed, group commits by scope and propose separate PRs
  4. Collect Info: Ask for type, target branch, draft status, labels
  5. Generate Content: Create TLDR + description + checklist
  6. Create PR: Execute gh pr create with proper formatting
  7. Remind Follow-up: Display post-PR checklist (SonarQube, Claude Review)

Complexity score

Calculate PR complexity to detect if split is needed:

CriterionWeightDescription
Code filesx2*.ts, *.tsx (excluding tests)
Test filesx0.5*.test.ts, *.spec.ts
Config filesx1*.json, *.yml, *.md
Directoriesx3Distinct src/* directories
Commitsx1Number of commits

Thresholds: 0-15 ✅ Normal | 16-25 ⚠️ Large | 26+ 🔴 Split recommended

Scope coherence

PatternVerdict
Single scope✅ OK
Related scopes (sessions + calendar)✅ OK
Unrelated scopes (payments + auth)🔴 Split
feat + fix same scope✅ OK
feat + fix different scopes🔴 Split

Split suggestion format

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

Questions to ask

  1. Type: feature | fix | tech | docs | security
  2. Target Branch: Show recent branches (develop, main, others)
  3. Draft: Yes (WIP) | No (ready for review)
  4. Labels: Based on type + optional (breaking-change, security)

PR title format

<type>(<scope>): <description>

Examples:

  • feat(payments): add Stripe checkout integration
  • fix(sessions): resolve timezone calculation bug

PR body template

## 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>

Available labels

LabelColorUse 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)

Commands to execute

# 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

Post-PR output

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.

Edge cases

SituationBehavior
No scope in commitsAnalyze by directories
Non-conventional commitsWarn + ask type manually
No commits (same as base)Error: "Aucun changement"
Single commitUse commit message as title
Merge commitsIgnore (--no-merges)

Usage

/pr
/pr --base main
/pr --draft

Target: $ARGUMENTS (optional: --base, --draft)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Evaluate Claude Code agents, skills, and commands with weighted quality criteria. Get scores, readiness grades, template comparisons, and practical improvement suggestions in Markdown or JSON reports to guide reviews before release.

  • Review skills before release
  • Compare agent definitions with reference templates
  • Quickly check critical quality criteria
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

audit-codebase

FreeSummary

Assess a codebase across seven areas, including exposed credentials, security, dependencies, structure, and tests. Receive category scores, findings tied to file locations, and a prioritized improvement plan with smaller tasks that can be completed quickly.

  • Assessing the overall health of an inherited project
  • Reviewing exposed credentials and security risks
  • Identifying dependency and test coverage gaps
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

autoresearch

FreeSummary

Measure code patterns such as casts to any or disabled lint rules, then run repeated, targeted edits. Keep changes that improve the chosen metric, revert unsuccessful changes, and track results for each improvement loop.

  • Finding code patterns to prioritize for cleanup
  • Preparing measurement files for an improvement loop
  • Repeating targeted edits to reduce casts to any
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

best-of-n

FreeSummary

Generate several separate solutions, compare them against criteria fixed in advance, and verify the selected result through executable checks or an independent reviewer. Keep a proof log documenting candidates, evidence, failures, and remaining limits.

  • Comparing implementation options before choosing one
  • Verifying a solution when a wrong choice would be costly
  • Keeping evaluation evidence for delivery or audit
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

canary

FreeSummary

Monitor a live application after deployment and compare it with a saved baseline, a record of its earlier state. Check page responses, loading times, and new errors, flag persistent changes, and produce a per-page health report.

  • Recording a healthy baseline before deployment
  • Monitoring production immediately after deployment
  • Checking key pages for slower responses or failures
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

catchup

FreeSummary

Rebuild project context after clearing a conversation or returning to work. Review recent Git history, uncommitted changes, and TODO markers to get a structured summary of project status and suggested next steps.

  • Restoring project context after /clear
  • Reviewing recent changes after a long break
  • Checking unfinished work before choosing the next task
FlorianBruniaux/claude-code-ultimate-guide6.2KUpdated Oct 20, 2026

See all skills by FlorianBruniaux

Report a problem with this skill