Claude-delegated issue-tree expansion
Use when:
- the user wants "future GH issues" or a roadmap expanded into child issues
- there is already an umbrella issue and a growing issue tree
- you want parallel reasoning from Claude, but repo writes must remain in the main session
Why this pattern works
delegate_task subagents are good at read-only analysis and decomposition, but they should not be trusted for repo writes. Have Claude teams analyze different lanes in parallel, then create issues/doc updates yourself in the main session.
This worked well for expanding the weekly ecosystem execution/intelligence review initiative into multiple layers:
- umbrella issue
- framework issues
- operational refinement issues
- implementation child issues
Pattern
- Ground the tree first
- Read the umbrella doc/issue map.
- Inspect existing GitHub issues to avoid duplicates.
- Verify the canonical doc actually exists in the current worktree before delegating. If links were added earlier but the file is missing locally, recreate/fix it in the main session first.
- Identify decomposition lanes, e.g.:
- machine readiness / operations
- intelligence accessibility / knowledge systems
- automation / reporting / governance
- Delegate read-only analysis to Claude in parallel
- Use
delegate_task with acp_command='claude' and toolsets=['terminal','file'].
- Ask each subagent for:
- 3-5 non-duplicate child issues
- title
- rationale
- deliverables
- Keep each lane self-contained and explicit about already-existing issues.
Example subagent framing:
- "Propose concrete child GitHub issues under #2138... avoid duplicates... return issue titles, rationale, deliverables."
- Synthesize locally
- Review subagent summaries.
- Select only the strongest, non-overlapping child issues.
- Prefer implementation slices over vague umbrella restatements.
- Create issues yourself in the main session
- Write each issue body to
/tmp/*.md.
- Use
gh issue create ... --body-file ... from the real repo.
- Create a small, coherent batch each round (about 4-7 issues worked well; 6 was a reliable default) rather than dumping dozens of siblings at once.
- Use parallel tool calls when creating a batch of issue-body temp files or multiple
gh issue create calls that are independent.
- Do not ask subagents to create files/issues; keep all persistence local.
- Update the canonical issue map
- Patch the main planning/review doc to add the new issue IDs.
- Add a comment to the umbrella issue summarizing the newly created child issues after every wave, not just at the end.
- Verify by reading the updated doc section and
gh issue view for each created issue.
- If a doc link was added earlier but the target file is now missing locally, recreate the file first, then restore README/doc links before continuing the tree expansion. This happened in practice: README links existed while the canonical weekly-review doc was missing from the worktree.
- After each round, identify the next best split points (for example: Linux vs Windows writer, schema vs validator, runner vs schedule registration) before launching another delegation wave.
- Once the tree gets deep, explicitly branch the next wave by implementation pressure. A pattern that worked well was:
- Windows/tool-validation branch
- publication/promotion-hardening branch
- registry/governance branch
- Keep the doc's related-issues list append-only and ordered by dependency depth so later waves stay legible.
5a. Favor operationally meaningful children over more umbrella restatements
- Prefer issues like
rollback journal, pre-promotion gate, shared-asset placement, suppression renewal queue, or provider-specific budgets over generic restatements like improve automation.
- Good deep-child issues usually do one of four things:
- define a narrow contract/schema
- implement one adapter/writer/runner
- add a targeted fixture/smoke/snapshot suite
- enforce a governance gate or recovery path
- Recurse only on the strongest branches
- Do not deepen every branch at once.
- Pick the branches with the clearest implementation path and the highest dependency pressure.
- A practical pattern that worked well was:
- round 1: umbrella -> 3 broad lanes
- round 2: lane-level child issues
- round 3+: split only the hottest branches (for example Windows evidence, publication hardening, registry integration)
- Keep each wave small enough that the canonical issue map stays readable.
Recommended lane structure
For broad ecosystem initiatives, use three Claude lanes in parallel:
- machine readiness / execution routing
- intelligence accessibility / freshness / discoverability
- automation / reporting / governance
Then, if needed, do another round splitting the best new issues into implementation-level children.
As the tree gets deeper, a highly reusable second-stage branch pattern is:
- Windows/tool-validation or machine-specific execution branch
- publication/promotion hardening branch
- registry/governance/actionability branch
This branch pattern worked well because each lane had a distinct failure mode:
- Windows/tool-validation: adapters, smoke fixtures, launcher/scheduler plumbing, mixed-state reporting
- publication/promotion: staged promotion, rollback, checksums, shared-asset lifecycle, recovery-state tests
- registry/governance: drift budgets, suppressions, lineage, owner assignment, escalation
Good child-issue characteristics
Prefer issues that are:
- directly buildable
- narrow enough for one implementation pass
- clearly parented to an existing issue
- not duplicative of schema/template/automation issues already open
Good examples:
- schema + generated view
- validator CLI
- seeded registry generator
- Linux writer vs Windows writer
- runner wrapper vs schedule registration
Pitfalls
- Do not rely on delegate_task for file writes or repo changes.
- Do not create too many sibling issues at once if they overlap heavily.
- Avoid duplicating existing umbrella issues with slightly different wording.
- Always update the canonical doc/issue map after issue creation; otherwise the tree becomes invisible.
Minimal verification checklist
Stop condition
Stop deepening the tree when the next issues become mostly one of these anti-patterns:
- implementation steps too small to stand alone
- multiple proposed issues would land in the same file/PR anyway
- the next child issue is just a rewording of its parent
- governance/reporting branches are producing more tracking than execution value
A good stopping point is when each remaining issue is clearly assignable to a single implementation pass or review pass without further decomposition.
Reusable output structure
When reporting back, group by lane:
- Machine readiness / operations
- Intelligence accessibility
- Automation / reporting
Then list:
This makes it easy to continue decomposition in the next round.
1---2name: claude-delegated-issue-tree-expansion3description: Use Claude subagents for read-only gap analysis to expand an umbrella GitHub issue into a layered tree of focused child issues, then create the issues locally and update the issue map/docs.4---56# Claude-delegated issue-tree expansion78Use when:9- the user wants "future GH issues" or a roadmap expanded into child issues10- there is already an umbrella issue and a growing issue tree11- you want parallel reasoning from Claude, but repo writes must remain in the main session1213## Why this pattern works1415`delegate_task` subagents are good at read-only analysis and decomposition, but they should not be trusted for repo writes. Have Claude teams analyze different lanes in parallel, then create issues/doc updates yourself in the main session.1617This worked well for expanding the weekly ecosystem execution/intelligence review initiative into multiple layers:18- umbrella issue19- framework issues20- operational refinement issues21- implementation child issues2223## Pattern24251. Ground the tree first26- Read the umbrella doc/issue map.27- Inspect existing GitHub issues to avoid duplicates.28- Verify the canonical doc actually exists in the current worktree before delegating. If links were added earlier but the file is missing locally, recreate/fix it in the main session first.29- Identify decomposition lanes, e.g.:30 - machine readiness / operations31 - intelligence accessibility / knowledge systems32 - automation / reporting / governance33342. Delegate read-only analysis to Claude in parallel35- Use `delegate_task` with `acp_command='claude'` and `toolsets=['terminal','file']`.36- Ask each subagent for:37 - 3-5 non-duplicate child issues38 - title39 - rationale40 - deliverables41- Keep each lane self-contained and explicit about already-existing issues.4243Example subagent framing:44- "Propose concrete child GitHub issues under #2138... avoid duplicates... return issue titles, rationale, deliverables."45463. Synthesize locally47- Review subagent summaries.48- Select only the strongest, non-overlapping child issues.49- Prefer implementation slices over vague umbrella restatements.50514. Create issues yourself in the main session52- Write each issue body to `/tmp/*.md`.53- Use `gh issue create ... --body-file ...` from the real repo.54- Create a small, coherent batch each round (about 4-7 issues worked well; 6 was a reliable default) rather than dumping dozens of siblings at once.55- Use parallel tool calls when creating a batch of issue-body temp files or multiple `gh issue create` calls that are independent.56- Do not ask subagents to create files/issues; keep all persistence local.57585. Update the canonical issue map59- Patch the main planning/review doc to add the new issue IDs.60- Add a comment to the umbrella issue summarizing the newly created child issues after every wave, not just at the end.61- Verify by reading the updated doc section and `gh issue view` for each created issue.62- If a doc link was added earlier but the target file is now missing locally, recreate the file first, then restore README/doc links before continuing the tree expansion. This happened in practice: README links existed while the canonical weekly-review doc was missing from the worktree.63- After each round, identify the next best split points (for example: Linux vs Windows writer, schema vs validator, runner vs schedule registration) before launching another delegation wave.64- Once the tree gets deep, explicitly branch the next wave by implementation pressure. A pattern that worked well was:65 - Windows/tool-validation branch66 - publication/promotion-hardening branch67 - registry/governance branch68- Keep the doc's related-issues list append-only and ordered by dependency depth so later waves stay legible.69705a. Favor operationally meaningful children over more umbrella restatements71- Prefer issues like `rollback journal`, `pre-promotion gate`, `shared-asset placement`, `suppression renewal queue`, or `provider-specific budgets` over generic restatements like `improve automation`.72- Good deep-child issues usually do one of four things:73 1. define a narrow contract/schema74 2. implement one adapter/writer/runner75 3. add a targeted fixture/smoke/snapshot suite76 4. enforce a governance gate or recovery path77786. Recurse only on the strongest branches79- Do not deepen every branch at once.80- Pick the branches with the clearest implementation path and the highest dependency pressure.81- A practical pattern that worked well was:82 - round 1: umbrella -> 3 broad lanes83 - round 2: lane-level child issues84 - round 3+: split only the hottest branches (for example Windows evidence, publication hardening, registry integration)85- Keep each wave small enough that the canonical issue map stays readable.8687## Recommended lane structure8889For broad ecosystem initiatives, use three Claude lanes in parallel:901. machine readiness / execution routing912. intelligence accessibility / freshness / discoverability923. automation / reporting / governance9394Then, if needed, do another round splitting the best new issues into implementation-level children.9596As the tree gets deeper, a highly reusable second-stage branch pattern is:971. Windows/tool-validation or machine-specific execution branch982. publication/promotion hardening branch993. registry/governance/actionability branch100101This branch pattern worked well because each lane had a distinct failure mode:102- Windows/tool-validation: adapters, smoke fixtures, launcher/scheduler plumbing, mixed-state reporting103- publication/promotion: staged promotion, rollback, checksums, shared-asset lifecycle, recovery-state tests104- registry/governance: drift budgets, suppressions, lineage, owner assignment, escalation105106## Good child-issue characteristics107108Prefer issues that are:109- directly buildable110- narrow enough for one implementation pass111- clearly parented to an existing issue112- not duplicative of schema/template/automation issues already open113114Good examples:115- schema + generated view116- validator CLI117- seeded registry generator118- Linux writer vs Windows writer119- runner wrapper vs schedule registration120121## Pitfalls122123- Do not rely on delegate_task for file writes or repo changes.124- Do not create too many sibling issues at once if they overlap heavily.125- Avoid duplicating existing umbrella issues with slightly different wording.126- Always update the canonical doc/issue map after issue creation; otherwise the tree becomes invisible.127128## Minimal verification checklist129130- [ ] new issues exist via `gh issue view`131- [ ] canonical doc lists the new issue IDs132- [ ] umbrella issue has a summary comment linking the new children133- [ ] no obvious duplicate with already-open issues in the same tree134- [ ] branch names in the latest wave are still meaningful (avoid tiny sibling issues with no independent value)135136## Stop condition137138Stop deepening the tree when the next issues become mostly one of these anti-patterns:139- implementation steps too small to stand alone140- multiple proposed issues would land in the same file/PR anyway141- the next child issue is just a rewording of its parent142- governance/reporting branches are producing more tracking than execution value143144A good stopping point is when each remaining issue is clearly assignable to a single implementation pass or review pass without further decomposition.145146## Reusable output structure147148When reporting back, group by lane:149- Machine readiness / operations150- Intelligence accessibility151- Automation / reporting152153Then list:154- issue number155- title156- URL157158This makes it easy to continue decomposition in the next round.