pr-split-advisor
Analyzes implementation plans and recommends PR splitting strategy.
Skill by DrJKL
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/drjkl-pr-split-advisor
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/pr-split-advisor
What's inside
- Skill name
pr-split-advisor- Description
- Analyzes implementation plans and recommends PR splitting strategy. Use after a plan.md is approved to determine single PR, vertical slices, or stacked PRs approach.
- License
- MIT
- Instructions
- 296 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# PR Split Advisor
Analyzes an approved implementation plan and recommends whether to keep work as a single PR or split into multiple PRs using vertical slices or stacked PRs.
## Configuration
Uses the **production API** by default. No configuration needed for read operations.
**Defaults (no setup required):**
- API URL: `https://api-gateway-856475788601.us-central1.run.app`
- Read-only endpoints at `/public/*` require no authentication
**For write operations** (state transitions), set:
```bash
export PIPELINE_API_KEY="..." # Get from GCP Secret Manager or ask admin
```
## When to Use
- After `plan-generator` produces an approved `plan.md`
- When starting implementation of a multi-file change
- When asked "should I split this into multiple PRs?"
- Before creating branches/worktrees for implementation
## Workflow
### 0. Verify Pipeline Ticket Exists
Before proceeding, confirm a ticket exists in the pipeline API. If not, run `ticket-intake` first.
```typescript
const ticket = await client.getTicket(ticketId)
if (!ticket) {
throw new Error('❌ No pipeline ticket found. Run ticket-intake first to register this ticket in the pipeline API.')
}
```
If no `ticketId` is available, search by Notion page ID or list recent tickets:
```typescript
const ticket = await client.findByNotionId(notionPageId)
if (!ticket) {
console.error('❌ No pipeline ticket found for this Notion page. Run ticket-intake first.')
process.exit(1)
}
const ticketId = ticket.id
```
### 1. Load and Parse the Plan
Fetch ticket context via the Pipeline API and extract plan details:
```typescript
import { PipelineClient } from '@pipeline/client'
const client = new PipelineClient({
apiUrl: process.env.PIPELINE_API_URL || 'https://api-gateway-856475788601.us-central1.run.app',
agentId: process.env.AGENT_ID,
})
const ticket = await client.getTicket(ticketId)
// Use ticket.plan for split analysis
```
From the plan, extract:
- Files to modify (with estimated LoC changes)
- Files to create (with estimated LoC)
- Layers touched (components, stores, utils, types, tests)
- Dependencies between changes
### 2. Analyze Scope
Calculate metrics:
| Metric | How to Assess |
| ------------------- | ---------------------------------------------------- |
| Total estimated LoC | Sum of all file estimates |
| File count | Number of files affected |
| Layer count | Distinct layers (component, store, util, type, test) |
| Coupling | Can changes be tested independently? |
### 3. Apply Decision Rules
```
IF estimated LoC < 200:
→ Single PR (unless changes are completely unrelated)
IF estimated LoC 200-400 AND changes are tightly coupled:
→ Single PR (review burden is acceptable)
IF estimated LoC > 300 AND changes span multiple layers:
→ Consider splitting
IF changes have no dependencies on each other:
→ Vertical Slices (independent PRs, any merge order)
IF changes have logical dependencies (e.g., types → utils → components):
→ Stacked PRs (ordered merge using Graphite)
```
### 4. Generate Recommendation
Produce analysis in this format:
```markdown
# PR Split Analysis
## Scope Summary
- **Estimated LoC:** {number}
- **Files affected:** {count}
- **Layers touched:** {list}
## Recommendation: {Single PR / Vertical Slices / Stacked PRs}
### RationaleFrom DrJKL/ticket-to-pr-pipeline, MIT.
More from DrJKL/ticket-to-pr-pipeline
- 0.414score
issue-triage
DrJKL
Triages GitHub issue backlogs systematically.
SkillDFreshness: DClaude Code +9 - 0.414score
quality-checks
DrJKL
Runs quality gates (format, lint, typecheck) via single script.
SkillDFreshness: DClaude Code +9 - 0.409score
addressing-review-comments
DrJKL
Checks out a PR branch via worktree, implements code review feedback as individual commits linking to each comment URL, runs quality gates, and hands off to…
SkillDFreshness: DClaude Code +9 - 0.409score
notion-personal
DrJKL
Access personal/life Notion workspace shared with girlfriend.
SkillDFreshness: DClaude Code +9 - 0.409score
resolving-review-comments
DrJKL
Resolves GitHub PR review threads after commits address feedback.
SkillDFreshness: DClaude Code +9 - 0.409score
reviewing-external-prs
DrJKL
Review external GitHub PRs with human approval for each comment.
SkillDFreshness: DClaude Code +9 - 0.409score
slack-context-fetcher
DrJKL
Fetches Slack thread content using a Slack bot for ticket context enrichment.
SkillDFreshness: DClaude Code +9 - 0.409score
coderabbit-intake
DrJKL
Fast-track CodeRabbit issues to PRs.
SkillDFreshness: DClaude Code +9 - 0.409score
ci-checker
DrJKL
Checks GitHub CI status and guides fixing failures.
SkillDFreshness: DClaude Code +9 - 0.408score
review-orchestrator
DrJKL
Dispatch review subagents, compile feedback, triage for human decision.
SkillDFreshness: DClaude Code +9 - 0.406score
pr-creator
DrJKL
Generate PR description, create PR with labels, update Notion.
SkillDFreshness: DClaude Code +9 - 0.406score
metrics-dashboard
DrJKL
Tracks pipeline velocity, success rates, and cycle times.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Feb 8, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/DrJKL/ticket-to-pr-pipeline
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from DrJKL
- 0.414score
quality-checks
DrJKL
Runs quality gates (format, lint, typecheck) via single script.
SkillDFreshness: DClaude Code +9 - 0.414score
issue-triage
DrJKL
Triages GitHub issue backlogs systematically.
SkillDFreshness: DClaude Code +9 - 0.409score
resolving-review-comments
DrJKL
Resolves GitHub PR review threads after commits address feedback.
SkillDFreshness: DClaude Code +9 - 0.409score
ci-checker
DrJKL
Checks GitHub CI status and guides fixing failures.
SkillDFreshness: DClaude Code +9 - 0.409score
notion-personal
DrJKL
Access personal/life Notion workspace shared with girlfriend.
SkillDFreshness: DClaude Code +9 - 0.409score
reviewing-external-prs
DrJKL
Review external GitHub PRs with human approval for each comment.
SkillDFreshness: DClaude Code +9
Cite this page
pr-split-advisor skill. Agent Mart. https://agentmart.dev/skills/drjkl-pr-split-advisor (last updated 2026-10-24)