一键导入
split
Decompose a large GitHub Issue (epic, refactor, or feature) into subtask Issues, each small enough for a single focused PR
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Decompose a large GitHub Issue (epic, refactor, or feature) into subtask Issues, each small enough for a single focused PR
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Orchestrate complete issue implementation workflow from branch to PR
Create Pull Requests with pre-flight checks and proper formatting
Standardized release workflow with version updates and CHANGELOG management
Spawn a Reviewer Agent to evaluate code changes against architecture, design, and quality criteria
Create commits with code quality checks and conventional commit messages
Run all validations before pushing to remote
| name | split |
| description | Decompose a large GitHub Issue (epic, refactor, or feature) into subtask Issues, each small enough for a single focused PR |
Decomposes a large GitHub Issue into subtask Issues, each implementable autonomously in a single PR.
IMPORTANT: All created GitHub Issues MUST be written in English.
Read Parent Issue → Propose Decomposition → Wait for Confirmation → Create Subtask Issues → Comment on Parent
gh issue view <issue-number>
Extract:
Identify subtask boundaries using these dimensions:
| Dimension | Example |
|---|---|
| Module boundary | Changes touch independent modules (e.g., adapters/ vs domain/) |
| Concern boundary | "add struct" vs "add tests" vs "update CLI flag" |
| Sequential dependency | Subtask B requires subtask A to merge first |
| Risk boundary | Mechanical rename vs logic change should be separate |
Granularity rule: Each subtask must be implementable in a single focused PR.
Guard rails:
Present the proposed subtasks to the user in this format:
Proposed split for #<parent>:
1. [Short title] — [one-line rationale]
2. [Short title] — [one-line rationale]
...
Dependencies:
- #2 depends on #1 (reason)
Proceed? (yes / adjust / cancel)
Do NOT create any Issues until the user explicitly confirms.
Accepted responses: "yes", "proceed", "go ahead", or equivalent affirmation. If the user asks for adjustments, revise the proposal and present again. If the user cancels, stop and report "Split cancelled."
Once the user confirms in Step 3, execute all gh issue create commands immediately without additional prompts or pauses between issues. Do not ask for permission again.
For each confirmed subtask, create a GitHub Issue using this template:
## Summary
[Brief description of this subtask]
## Parent Issue
Part of #<parent-number>
## Problem
[What specific problem does this subtask solve?]
## Proposed Solution
[How should this subtask be implemented?]
## Technical Implementation
- Files to modify:
- Dependencies on other subtasks: (e.g., "Depends on #N merging first" or "None")
## Acceptance Criteria
- [ ] [Specific, testable criterion]
- [ ] Tests added
- [ ] No new clippy warnings
Use the gh CLI:
gh issue create \
--title "<subtask title>" \
--body "<subtask body>" \
--label "<appropriate label>" \
--assignee "<same assignee as parent, if any>"
Record each created Issue number as you go.
After all subtask Issues are created, post a comment on the parent Issue with a task list:
gh issue comment <parent-number> --body "$(cat <<'EOF'
## Subtasks
- [ ] #N1 — Title of subtask 1
- [ ] #N2 — Title of subtask 2
...
Created by /split. Dependencies noted in each subtask's description.
EOF
)"
The parent Issue is always left open as a tracking issue. Do not close it.
Output:
## Summary
## Parent Issue
Part of #<parent>
## Problem
## Proposed Solution
## Technical Implementation
- Files to modify:
- Dependencies on other subtasks:
## Acceptance Criteria
- [ ] ...
- [ ] Tests added
- [ ] No new clippy warnings
User: "split issue #120"
Claude executes /split skill: