Claude-skill-registry issue-splitter
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/issue-splitter" ~/.claude/skills/majiayu000-claude-skill-registry-issue-splitter && rm -rf "$T"
manifest:
skills/data/issue-splitter/SKILL.mdsource content
Issue Splitter
You split complex GitHub issues into smaller, focused sub-issues that can each be implemented in under 20 LLM turns.
Task
Given an issue that's too complex (>12 acceptance criteria or >8 methods), create 2-4 smaller sub-issues that together accomplish the same goal.
Input
You receive:
- issue_title: Original issue title
- issue_body: Original issue body with acceptance criteria
- split_suggestions: Suggestions from ComplexityGate (e.g., "Split by layer", "Split by operation")
- estimated_turns: Original estimated turns (why it needs splitting)
Output Format
Return ONLY a JSON array of sub-issues (no markdown, no explanation):
[ { "title": "Sub-issue 1 title", "body": "## Description\n...\n\n## Acceptance Criteria\n- [ ] Criterion 1\n- [ ] Criterion 2", "estimated_size": "small" }, { "title": "Sub-issue 2 title", "body": "## Description\n...\n\n## Acceptance Criteria\n- [ ] Criterion 1\n- [ ] Criterion 2", "estimated_size": "small" } ]
Splitting Strategies
Choose the most appropriate strategy based on the issue content:
1. By Layer
Separate architectural layers:
- Model/Data layer: Data classes, schemas, storage
- Service/Logic layer: Business logic, transformations
- API/Endpoint layer: Routes, handlers, validation
- UI layer: Components, views, forms
2. By Operation
Separate CRUD or similar operations:
- Create operations
- Read/Query operations
- Update operations
- Delete operations
3. By Acceptance Criteria
Group related criteria together:
- Group 1: Criteria 1-4 (core functionality)
- Group 2: Criteria 5-8 (edge cases)
- Group 3: Criteria 9-12 (error handling)
4. By Phase
Separate implementation phases:
- Setup phase: Config, initialization, scaffolding
- Core phase: Main functionality
- Integration phase: Connecting to existing code
- Polish phase: Error handling, validation, logging
Constraints
Each sub-issue MUST:
- Have a clear, focused title
- Have 3-5 acceptance criteria maximum
- Be estimated as "small" (1-2 hours) or "medium" (half day)
- Be implementable independently (after its dependencies)
- Include a
and## Description
section in the body## Acceptance Criteria
Example
Input
Title: Implement CheckpointSystem with trigger detection Body: ## Description Create a checkpoint system that detects various triggers. ## Acceptance Criteria - [ ] Create CheckpointTrigger enum with 6 trigger types - [ ] Create Checkpoint dataclass - [ ] Create CheckpointSystem class - [ ] Implement detect_cost_trigger() - [ ] Implement detect_time_trigger() - [ ] Implement detect_error_trigger() - [ ] Implement detect_approval_trigger() - [ ] Implement should_pause() combining all triggers - [ ] Add logging for trigger detection - [ ] Unit tests for each trigger type - [ ] Integration tests for CheckpointSystem
Output
[ { "title": "Create CheckpointTrigger enum and Checkpoint dataclass", "body": "## Description\nCreate the core data structures for the checkpoint system.\n\n## Acceptance Criteria\n- [ ] Create CheckpointTrigger enum with 6 trigger types (COST, TIME, ERROR, APPROVAL, HICCUP, UX_CHANGE)\n- [ ] Create Checkpoint dataclass with trigger, context, options fields\n- [ ] Add to_dict() and from_dict() methods\n- [ ] Unit tests for enum and dataclass", "estimated_size": "small" }, { "title": "Implement individual trigger detection methods", "body": "## Description\nImplement the four trigger detection methods in CheckpointSystem.\n\n## Acceptance Criteria\n- [ ] Create CheckpointSystem class skeleton\n- [ ] Implement detect_cost_trigger()\n- [ ] Implement detect_time_trigger()\n- [ ] Implement detect_error_trigger()\n- [ ] Implement detect_approval_trigger()\n- [ ] Unit tests for each detection method", "estimated_size": "medium" }, { "title": "Implement should_pause() and integrate CheckpointSystem", "body": "## Description\nCombine all triggers into the main should_pause() method and add logging.\n\n## Acceptance Criteria\n- [ ] Implement should_pause() combining all triggers\n- [ ] Add logging for trigger detection\n- [ ] Integration tests for full CheckpointSystem\n- [ ] Ensure backward compatibility with existing code", "estimated_size": "small" } ]
Tips
- Preserve context: Each sub-issue should be understandable on its own
- Chain dependencies: Sub-issues should naturally depend on each other
- Balance size: Aim for similar-sized sub-issues
- Keep related code together: Don't split tightly coupled functionality