Check if a pull request is too large and guide splitting it into focused PRs.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add Unique-AG/ai --skill pr-split --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Pr Split?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/unique-ag-pr-split)More formats (shields.io, HTML) on the badges page.
---
name: pr-split
description: Check if a pull request is too large and guide splitting it into focused PRs.
license: MIT
compatibility: claude cursor opencode
metadata:
version: "1.0.0"
languages: all
audience: developers
workflow: analysis
since: "2026-02-24"
---
## What I do
I help you assess whether a PR is too large and guide you through splitting it if needed:
1. **Size Assessment** — Evaluate the PR by lines changed and number of distinct logical concerns
2. **Threshold Check** — Evaluate size and cohesion together: >1 concern is always too large; >400 lines is a review-risk signal that requires an atomicity check
3. **If OK**: Confirm the PR is appropriately sized
4. **If Too Large**: Identify distinct concerns, propose a logical split, and guide branch strategy
5. **If Unsplittable**: Help you document and annotate the PR for easier review despite size
Oversized PRs slow review, increase risk of missed issues, and frustrate reviewers. This skill prevents that.
## When to use me
Use when you want to:
- Check if your PR exceeds recommended size limits
- Get guidance on splitting an oversized PR
- Identify logical groupings for a large changeset
- Document why a large PR cannot be split
- Plan a sequence of dependent PRs
## PR lifecycle focus
Stage: **Scope sizing and split planning** (usually before requesting review).
## Use Instead [if available]
- Use `pr-self-review` for a full author checklist beyond PR size/scope.
- Use `pr-create` to draft and open the PR once scope is settled.
- Use `pr-review` for reviewer-side feedback on an already-open PR.
## Example usage
"Is this PR too big?"
"Help me split this PR into smaller ones"
"Check my PR size and suggest a split strategy"
---
## Workflow
Here's how I guide you through PR size assessment and splitting:
### Step 1: Size Assessment
I'll ask for your PR stats if not provided in context:
- How many files changed?
- How many lines added?
- How many lines deleted?
- Rough breakdown by area (auth, API, UI, database, etc.)
Alternatively, you can paste the PR diff or provide a link to an open PR.
### Step 2: Threshold Check
I'll evaluate against the standard threshold:
- **Too big if**: changes span >1 distinct logical concern (regardless of line count)
- **Needs atomicity check if**: >400 lines but still one concern
- If the change is cleanly splittable: treat as too large and split
- If the change is truly atomic/unsplittable: keep as one PR and use Step 3c review guidance
- **Clearly OK if**: <=400 lines and focused on one concern
Examples:
- ✅ 300 lines adding auth validation → Within threshold (single concern)
- ❌ 250 lines of auth + 200 lines of payment changes → Over threshold (2 separate concerns)
- ⚠️ 500 lines adding a complete new API endpoint with routes, handlers, and tests → Single concern; run atomicity check (split if possible, otherwise Step 3c)
- ⚠️ 600 lines refactoring one module → Single concern; run atomicity check (split if possible, otherwise Step 3c)
- ❌ 600 lines refactoring + 100 lines new feature → Over threshold (2 concerns: refactor + feature)
### Step 3a: If Within Threshold
**✅ Your PR is appropriately sized!**
- Proceed to request review
- No split needed
- Use your regular review process
### Step 3b: If Above Threshold
**⚠️ Your PR is too large.**
I'll help you split it:
1. **Identify distinct concerns**: Read the diff and group changes by concern
- "Concern A: Add authentication"
- "Concern B: Refactor payment logic"
- "Concern C: Update documentation"
2. **Order by dependency**: Determine the sequence for splitting
- Core functionality first (what other concerns depend on?)
- Dependent changes later (what depends on the core?)
- Standalone refactors last (no dependencies)
Example order:
```
PR-1: Add auth validation (core)
PR-2: Update payment to use auth (depends on PR-1)
PR-3: Documentation and cleanup (independent)
```
3. **Guide branch strategy**: Create a plan for splitting
- Create a feature branch for each concern
- Base each branch on `main` or previous PR branch (if dependent)
- Keep commits organized: one PR per concern
4. **Walk through execution**: Help you execute the split
- Which files go in which PR?
- What order to open them?
- How to test each one independently?
### Step 3c: If Unsplittable
**🔒 Large but can't be split**
Some changes are genuinely atomic and can't be split (e.g., auto-generated files, schema migrations, large renames). I'll help you handle this:
1. **Document in PR description**:
```
NOTES: This PR is larger than our standard threshold because:
[Explain why it cannot be split]
```
2. **Guide review strategy**:
- Use "file-by-file review" mode with the reviewer
- Schedule a walkthrough to discuss the change
- Highlight the most critical files for review focus
3. **Suggest alternatives**:
- Can any preparatory work be split into a separate PR?
- Can any cleanup be deferred to a follow-up PR?
- Can the change be phased over multiple PRs in a different way?
---
## Size Threshold Details
**Why 400 lines?**
- Industry research (Google, SmartBear): 400 lines is where review effectiveness drops significantly
- Beyond this, reviewers miss 50% more defects
- Aligns with "fits in one review session" (30–45 minutes)
**Why "concern-based" splitting?**
- Lines changed can be misleading (auto-generated files, large renames)
- What matters is logical cohesion: one concern per PR
- Concern-based PRs are easier to review, test, and revert if needed
## Tips for Success
- **Split early**: Before requesting review, check the size
- **Be specific about concerns**: "auth + refactor" is clearer than "various changes"
- **Test each PR independently**: After splitting, verify each PR works in isolation
- **Order carefully**: Base dependent PRs on each other, not all on main
- **Communicate**: If you can't split, explain why in the PR description
- **Ask for help**: If unsure about splitting strategy, run this skill first
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!