Roadmap -> GitHub Issue Wave
Use when you have already produced a roadmap, readiness matrix, or gap analysis and the next step is to create the missing GitHub issues without duplicating existing work.
When to use
- A roadmap identifies future work and the user wants issues created
- The user names a new domain/career lane and asks to research practices, create GitHub features/issues, or build job-ready capability; first create a lightweight roadmap artifact, then turn it into an issue wave
- You have an issue/review/readiness summary and need to convert only the missing items into GitHub issues
- You need one umbrella issue plus a small set of focused child issues
Core pattern
If the roadmap does not exist yet, create a lightweight roadmap first
- Put it under
docs/roadmaps/<domain>-<purpose>-roadmap.md when it is durable product/career direction
- Mine local job-market scans or strategy docs for existing demand signals before fresh web research
- Check current external practice/tool anchors just enough to avoid stale framing
- Include a capability-wave sequence and an initial issue set in the roadmap
- Commit/push the roadmap before or immediately after creating the issue wave when repo policy permits docs-only commits
Ground on the roadmap artifact first
- Read the roadmap/review doc that defines the future work
- Extract the exact candidate issues to create
Audit existing issues before drafting anything
- Search GitHub by the key nouns/phrases for each candidate
- Check both open and closed issues
- Classify each candidate as:
- already open -> do not recreate
- already closed/delivered -> do not recreate
- adjacent but not duplicate -> reference it
- missing -> eligible to create
Reuse existing labels exactly
- Audit repo labels before creation
- Only use labels that actually exist
- Prefer the smallest stable label set needed for routing
Create one epic first
- The epic should explain why the wave exists, list the intended child issues, and link the grounding artifacts
- Create the epic before the children so child bodies can reference the parent issue number
Create child issues only for truly missing work
- Each child should cover one validation/proof/workstream, not a mixed bundle
- Include:
- summary
- why
- scope
- deliverables
- success criteria
- parent issue number
- related existing issues
Verify every created issue
- Immediately
gh issue view each issue
- Confirm title, labels, URL, and rendered body
- Fix any parent references/placeholders immediately if wrong
Good issue-shaping heuristics
- Prefer one epic + 3-6 children for a tightly related wave
- Use children for family-level proofs/examples, not for already-open infrastructure work
- Do not recreate broad infra issues if they already exist; reference them from the new epic
- If an issue is really a duplicate/sub-scope of an existing open issue, fold it into the existing issue rather than create a new one
Domain / career-lane issue wave pattern
When the user names a new technical domain or career lane and asks to build knowledge, demos, and job-readiness:
- Start with a bounded research/docs taxonomy issue before implementation-heavy demos.
- Use that first issue to inventory current practices, tools, role taxonomy, and job-skill mapping.
- Sequence downstream child issues from lower-risk proof to public portfolio packet, for example:
- knowledge base + job taxonomy
- solver/benchmark proof in the domain
- CAD/layout/process automation demo
- full tool-flow demo/report
- portfolio/job-application packet
- Keep each child issue one artifact family wide. Do not let the knowledge-base issue absorb downstream benchmark code, CAD automation, full tool-flow execution, or resume/portfolio writing.
- In the first issue plan, explicitly list downstream issue numbers as non-goals / follow-ups so adversarial review can verify scope discipline.
- Lock the first issue to durable artifacts that can guide later execution, such as a report plus a machine-readable taxonomy/skill matrix and a test that verifies required sections/entries.
Recommended body skeleton
Epic
- Summary
- Why now
- Grounding
- Scope
- Deliverables
- Related existing issues
Child
- Summary
- Why
- Scope
- Deliverables
- Success criteria
- Parent
- Related
Commands
# Search for duplicates first
gh issue list --state all --limit 200 --search "<key phrase>"
# Check label existence
gh label list --limit 300
# Create epic
gh issue create --title "epic(...): ..." --body-file /tmp/epic.md --label enhancement --label priority:high
# Create child
gh issue create --title "feat(...): ..." --body-file /tmp/child.md --label enhancement --label priority:medium
# Verify
gh issue view <num> --json number,title,url,labels,body
Pitfalls
- Do not create issues directly from a roadmap without searching for existing open/closed issues first
- Do not recreate issues for already-delivered foundations just because the roadmap mentions them
- Do not assume labels exist; verify them first
- Do not create children before the epic if the child body should reference the parent number
- Do not stop after creation without verification
Learned example pattern
For OrcaWave/OrcaFlex canonical spec-contract work:
- Keep existing infrastructure issues (#1652, #1586, #1637, #1591, #1594) as references when they already cover the area
- Create a new epic only for the genuinely missing validation wave
- Create children for specific structure-family proofs (e.g. FPSO, jumper, riser variants, benchmark promotion) when those are absent from the tracker
- Verify all created issues immediately after creation
1---2name: roadmap-to-github-issue-wave3description: Turn a roadmap/readiness review into a de-duplicated GitHub epic + child issue set with verification and explicit scope boundaries.4license: MIT5---67# Roadmap -> GitHub Issue Wave89Use when you have already produced a roadmap, readiness matrix, or gap analysis and the next step is to create the missing GitHub issues without duplicating existing work.1011## When to use12- A roadmap identifies future work and the user wants issues created13- The user names a new domain/career lane and asks to research practices, create GitHub features/issues, or build job-ready capability; first create a lightweight roadmap artifact, then turn it into an issue wave14- You have an issue/review/readiness summary and need to convert only the missing items into GitHub issues15- You need one umbrella issue plus a small set of focused child issues1617## Core pattern180. If the roadmap does not exist yet, create a lightweight roadmap first19 - Put it under `docs/roadmaps/<domain>-<purpose>-roadmap.md` when it is durable product/career direction20 - Mine local job-market scans or strategy docs for existing demand signals before fresh web research21 - Check current external practice/tool anchors just enough to avoid stale framing22 - Include a capability-wave sequence and an initial issue set in the roadmap23 - Commit/push the roadmap before or immediately after creating the issue wave when repo policy permits docs-only commits24251. Ground on the roadmap artifact first26 - Read the roadmap/review doc that defines the future work27 - Extract the exact candidate issues to create28292. Audit existing issues before drafting anything30 - Search GitHub by the key nouns/phrases for each candidate31 - Check both open and closed issues32 - Classify each candidate as:33 - already open -> do not recreate34 - already closed/delivered -> do not recreate35 - adjacent but not duplicate -> reference it36 - missing -> eligible to create37383. Reuse existing labels exactly39 - Audit repo labels before creation40 - Only use labels that actually exist41 - Prefer the smallest stable label set needed for routing42434. Create one epic first44 - The epic should explain why the wave exists, list the intended child issues, and link the grounding artifacts45 - Create the epic before the children so child bodies can reference the parent issue number46475. Create child issues only for truly missing work48 - Each child should cover one validation/proof/workstream, not a mixed bundle49 - Include:50 - summary51 - why52 - scope53 - deliverables54 - success criteria55 - parent issue number56 - related existing issues57586. Verify every created issue59 - Immediately `gh issue view` each issue60 - Confirm title, labels, URL, and rendered body61 - Fix any parent references/placeholders immediately if wrong6263## Good issue-shaping heuristics64- Prefer one epic + 3-6 children for a tightly related wave65- Use children for family-level proofs/examples, not for already-open infrastructure work66- Do not recreate broad infra issues if they already exist; reference them from the new epic67- If an issue is really a duplicate/sub-scope of an existing open issue, fold it into the existing issue rather than create a new one6869## Domain / career-lane issue wave pattern7071When the user names a new technical domain or career lane and asks to build knowledge, demos, and job-readiness:72- Start with a bounded research/docs taxonomy issue before implementation-heavy demos.73- Use that first issue to inventory current practices, tools, role taxonomy, and job-skill mapping.74- Sequence downstream child issues from lower-risk proof to public portfolio packet, for example:75 1. knowledge base + job taxonomy76 2. solver/benchmark proof in the domain77 3. CAD/layout/process automation demo78 4. full tool-flow demo/report79 5. portfolio/job-application packet80- Keep each child issue one artifact family wide. Do not let the knowledge-base issue absorb downstream benchmark code, CAD automation, full tool-flow execution, or resume/portfolio writing.81- In the first issue plan, explicitly list downstream issue numbers as non-goals / follow-ups so adversarial review can verify scope discipline.82- Lock the first issue to durable artifacts that can guide later execution, such as a report plus a machine-readable taxonomy/skill matrix and a test that verifies required sections/entries.8384## Recommended body skeleton8586### Epic87- Summary88- Why now89- Grounding90- Scope91- Deliverables92- Related existing issues9394### Child95- Summary96- Why97- Scope98- Deliverables99- Success criteria100- Parent101- Related102103## Commands104105```bash106# Search for duplicates first107gh issue list --state all --limit 200 --search "<key phrase>"108109# Check label existence110gh label list --limit 300111112# Create epic113gh issue create --title "epic(...): ..." --body-file /tmp/epic.md --label enhancement --label priority:high114115# Create child116gh issue create --title "feat(...): ..." --body-file /tmp/child.md --label enhancement --label priority:medium117118# Verify119gh issue view <num> --json number,title,url,labels,body120```121122## Pitfalls123- Do not create issues directly from a roadmap without searching for existing open/closed issues first124- Do not recreate issues for already-delivered foundations just because the roadmap mentions them125- Do not assume labels exist; verify them first126- Do not create children before the epic if the child body should reference the parent number127- Do not stop after creation without verification128129## Learned example pattern130For OrcaWave/OrcaFlex canonical spec-contract work:131- Keep existing infrastructure issues (#1652, #1586, #1637, #1591, #1594) as references when they already cover the area132- Create a new epic only for the genuinely missing validation wave133- Create children for specific structure-family proofs (e.g. FPSO, jumper, riser variants, benchmark promotion) when those are absent from the tracker134- Verify all created issues immediately after creation