What We Learned
gh issue create --project "Block C" fails silently on issue creation then errors on project assignment when the actual title is "Block C: API Gateway Setup". The GitHub CLI does not do substring or fuzzy matching on org-level project titles. Similarly, --label "security" fails in repos where that label doesn’t exist, and label inventories vary across repos in the same org.
Why It Matters
Batch issue creation scripts are write-once-run-once — failures mid-batch leave partial state (some issues created, some not, project assignments missing). The fix requires querying exact project titles and per-repo label inventories before generating any scripts.The Pattern
Always preflight before generatinggh issue create scripts:
Applicability
Any automation that files issues across multiple repos in a GitHub org. Particularly relevant whenblock:* labels were created in some repos but not others during a triage session.