GitHub Labels Skill
This skill implements the label taxonomy described in Workflow, April 2026. Install it on any GitHub repository using gh label create.
Prerequisites
ghCLI installed and authenticated (gh auth statusshould succeed)- Write access to the target repository
How it works
- Ask the user which repository to target (owner/repo format, or auto-detect from current git remote)
- Present the available label groups and ask which ones to install
- Create each label via
gh label createwith--force(upserts — safe to re-run)
Label Groups
Present these groups to the user. Let them pick individually or say "all" for everything.
1. Priority (priority)
Triage priority — what ships first.
| Label | Color | Description |
|---|---|---|
P1 | #b60205 | Must ship first, blocks other work |
P2 | #d93f0b | Core features, ship after P1 |
P3 | #e99695 | Polish and low-urgency items |
P4 | #f9d0c4 | Post-launch polish and enhancements |
P5 | #fef2c0 | Nice to have, no pressure |
2. Clarity (clarity)
How well-defined is the issue? Drives whether it needs a spike or is ready to build.
| Label | Color | Description |
|---|---|---|
clarity:1 | #5319e7 | Vague idea — no spec, no definition of done, needs discussion |
clarity:2 | #7b61ff | Problem defined, solution unclear — needs a design spike |
clarity:3 | #a78bfa | Direction known, details TBD — can start with questions |
clarity:4 | #c4b5fd | Clear spec, minor ambiguities — AI-shippable with light review |
clarity:5 | #ddd6fe | Crystal clear, full definition of done — just execute |
3. Risk (risk)
How dangerous is this change? Higher = more review and testing needed.
| Label | Color | Description |
|---|---|---|
risk:1 | #0e8a16 | Isolated change, well-tested area, hard to break |
risk:2 | #53d353 | Small surface area, existing patterns, minor regression chance |
risk:3 | #fbca04 | Touches shared code, some edge cases, needs careful testing |
risk:4 | #e99695 | Cross-domain impact, state management, concurrency concerns |
risk:5 | #b60205 | Data model migration, navigation architecture, or seed data changes |
4. Blast Radius (blast)
How many files/domains does this touch?
| Label | Color | Description |
|---|---|---|
blast:1 | #bfdadc | Single file — one view or one service, no ripple effects |
blast:2 | #7ec8cb | Single domain — 2-5 files within one feature folder |
blast:3 | #3bb3b8 | Cross-domain — touches shared code or 2+ feature domains |
blast:4 | #1d7a7e | Architectural — services, navigation, data flow changes |
blast:5 | #0e4f52 | Full-stack — data pipeline + app, or schema changes |
5. Size (size)
T-shirt sizing for effort estimation.
| Label | Color | Description |
|---|---|---|
size:XS | #c5def5 | Trivial change, single file |
size:S | #85c1e9 | Straightforward, few files |
size:M | #5dade2 | Moderate scope, some design needed |
size:L | #2e86c1 | Significant feature, many files |
size:XL | #1a5276 | Epic-level, major cross-cutting work |
6. Parallelism (parallelism)
Lane-based work distribution — which issues can run concurrently.
| Label | Color | Description |
|---|---|---|
parallel:1 | #f0e68c | Lane 1 work stream |
parallel:2 | #daa520 | Lane 2 work stream |
parallel:3 | #cd853f | Lane 3 work stream |
parallel:4 | #b8860b | Lane 4 work stream |
parallel:5 | #8b6914 | Lane 5 work stream |
serial | #6c757d | Cross-cutting — touches 2+ lanes, run alone |
7. Sequencing (sequencing)
Implementation order within a milestone or epic.
| Label | Color | Description |
|---|---|---|
seq:01 | #006b75 | Sequence step 1 |
seq:02 | #006b75 | Sequence step 2 |
seq:03 | #006b75 | Sequence step 3 |
seq:04 | #006b75 | Sequence step 4 |
seq:05 | #006b75 | Sequence step 5 |
seq:06 | #006b75 | Sequence step 6 |
seq:07 | #006b75 | Sequence step 7 |
seq:08 | #006b75 | Sequence step 8 |
seq:09 | #006b75 | Sequence step 9 |
seq:10 | #006b75 | Sequence step 10 |
8. Type (type)
What kind of work is this? Tells agents (and humans) which approach to take.
| Label | Color | Description |
|---|---|---|
type:bug | #d73a4a | Something isn't working correctly |
type:feature | #0075ca | New functionality or capability |
type:refactor | #cfd3d7 | Code improvement, no behaviour change |
type:chore | #ededed | Maintenance — deps, CI, config, docs |
type:spike | #d4c5f9 | Research or time-boxed exploration |
9. Special (special)
Workflow flags that don't fit a scale.
| Label | Color | Description |
|---|---|---|
ai-shippable | #1d76db | Delegatable to AI agents — clarity:4+ and risk:2 or lower |
needs-design | #d4c5f9 | Requires design work before implementation |
Execution
For each selected group, run gh label create for every label in that group:
gh label create "<name>" --color "<hex without #>" --description "<description>" --repo "<owner/repo>" --force
The --force flag means this is idempotent — running it again updates existing labels rather than erroring.
Interaction Flow
-
Detect repo: Check
gh repo view --json nameWithOwner -q .nameWithOwnerfrom the current directory. If it works, offer it as the default. Otherwise ask. -
Present groups: Show the user a numbered list:
Available label groups: 1. Priority (P1-P5) — triage priority 2. Clarity (clarity:1-5) — issue definition quality 3. Risk (risk:1-5) — change danger level 4. Blast Radius (blast:1-5) — scope of impact 5. Size (size:XS-XL) — effort estimation 6. Parallelism (parallel:1-5 + serial) — lane assignment 7. Sequencing (seq:01-10) — implementation order 8. Type (type:bug, feature, refactor, chore, spike) — work category 9. Special (ai-shippable, needs-design) — workflow flags Enter numbers (e.g. "1,3,4"), "all", or ask me about any group. -
Confirm: Show the total label count and target repo, ask for confirmation.
-
Execute: Create labels, reporting progress. Group output by category.
-
Summary: Report what was created/updated, note any failures.