subissue orchestration
npx skills add https://github.com/constellos/claude-code-plugins --skill Subissue Orchestration
Skill 文档
Subissue Orchestration
Hierarchical issue management using GitHub’s native sub-issues API with automatic PR-subissue coordination.
Purpose
Subissue Orchestration enables breaking down large epics or features into smaller, trackable tasks. Uses GitHub’s native sub-issues API (GA 2025) for proper parent-child relationships that appear in GitHub’s UI and Projects, with markdown checklist fallback for compatibility.
Native Sub-Issues (Primary)
GitHub’s native sub-issues provide:
- Proper parent-child relationships visible in GitHub UI
- Integration with GitHub Projects (filtering, grouping by parent)
- Up to 100 sub-issues per parent, 8 levels of nesting
- Cross-repository support
The sync-task-to-subissue hook automatically links created subissues using the native API.
When to Use
- Breaking down epics into implementation tasks
- Creating subtasks from a task list
- Tracking progress with automated checklists
- Managing complex feature development with multiple developers
Core Capabilities
Native Sub-Issues API
Utilities from native-subissues.ts:
addNativeSubissue(cwd, parentIssue, subissueNumber)– Link as native sub-issuelistNativeSubissues(cwd, parentIssue)– List native sub-issuesremoveNativeSubissue(cwd, parentIssue, subissueNumber)– Unlink sub-issuegetParentIssue(cwd, subissueNumber)– Get parent of a sub-issueisNativeSubissuesAvailable(cwd)– Check if API is available
Subissue Creation
Create child issues with native linking:
PARENT=42
TITLE="Implement OAuth integration"
# Create subissue
SUBISSUE=$(gh issue create \
--title "$TITLE" \
--label "task" \
--body "**Parent Issue:** #$PARENT
Implementation details for OAuth integration..." \
--json number -q .number)
# Link as native sub-issue (preferred)
SUBISSUE_ID=$(gh api repos/{owner}/{repo}/issues/$SUBISSUE --jq '.id')
gh api repos/{owner}/{repo}/issues/$PARENT/sub_issues -X POST -f sub_issue_id=$SUBISSUE_ID
Checklist Management (Fallback)
For repos without native sub-issues, markdown checklists are still supported.
Utilities from subissue-checklist.ts:
hasNativeSubissues(cwd, parentIssue)– Check if native sub-issues existgenerateChecklistMarkdown(subissues)– Create checklist from arrayupdateParentIssueChecklist(cwd, parentIssue, subissues)– Sync checklistaddSubissueToChecklist(cwd, parentIssue, subissue)– Add single itemmarkSubissueComplete(cwd, parentIssue, subissueNumber)– Check off itemsyncSubissueStates(cwd, parentIssue, subissueNumbers)– Sync all states
Bulk Creation
# Create multiple subissues from list
PARENT=42
TASKS=("OAuth integration" "Email auth" "Password reset" "2FA support")
for task in "${TASKS[@]}"; do
gh issue create \
--title "$task" \
--label "task" \
--body "**Parent Issue:** #$PARENT" \
--json number -q .number
done
# Generate and update parent checklist
syncSubissueStates "$PWD" $PARENT
Examples
Create Epic with Subtasks
# Create parent epic
PARENT=$(gh issue create \
--title "Authentication System" \
--label "epic" \
--body "## Subtasks
- [ ] Implement OAuth
- [ ] Implement email auth
- [ ] Add password reset
- [ ] Add 2FA support" \
--json number -q .number)
# Create subissues
for task in "Implement OAuth" "Implement email auth" "Add password reset" "Add 2FA support"; do
gh issue create --title "$task" --label "task" --body "**Parent Issue:** #$PARENT"
done
Auto-Sync Checklist
# Mark subissue as complete
gh issue close 43
# Update parent checklist
markSubissueComplete "$PWD" 42 43
# Changes "- [ ] #43 OAuth integration" to "- [x] #43 OAuth integration"
PR-Subissue Coordination
When using stacked PRs with subagents, PRs automatically include Closes #X to close the associated subissue when merged.
Workflow:
- Task tool spawns subagent â
sync-task-to-subissuecreates subissue - Subagent makes changes â
stacked-pr-subagent-stopcreates PR - PR body includes
Closes #subissueNumber(looked up fromtask-subissues.json) - PR merges â GitHub auto-closes the linked subissue
This provides end-to-end tracking from task â subissue â PR â merge.
Best Practices
- Native sub-issues are preferred when available
- Link subissues with “Parent Issue: #N” in body for compatibility
- Use consistent labeling (epic â task hierarchy)
- Keep subissues focused and atomic
- Let stacked PR workflow handle PR-subissue linking automatically