Skill: GitHub Labels

A Claude Code skill that sets up a structured label taxonomy on any GitHub repo — priority, clarity, risk, blast radius, and more.

12 April 20266 min readAgent optimised version
AI-Ometerslop disclosure index
Co-written50%
 

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

  • gh CLI installed and authenticated (gh auth status should succeed)
  • Write access to the target repository

How it works

  1. Ask the user which repository to target (owner/repo format, or auto-detect from current git remote)
  2. Present the available label groups and ask which ones to install
  3. Create each label via gh label create with --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.

LabelColorDescription
P1#b60205Must ship first, blocks other work
P2#d93f0bCore features, ship after P1
P3#e99695Polish and low-urgency items
P4#f9d0c4Post-launch polish and enhancements
P5#fef2c0Nice to have, no pressure

2. Clarity (clarity)

How well-defined is the issue? Drives whether it needs a spike or is ready to build.

LabelColorDescription
clarity:1#5319e7Vague idea — no spec, no definition of done, needs discussion
clarity:2#7b61ffProblem defined, solution unclear — needs a design spike
clarity:3#a78bfaDirection known, details TBD — can start with questions
clarity:4#c4b5fdClear spec, minor ambiguities — AI-shippable with light review
clarity:5#ddd6feCrystal clear, full definition of done — just execute

3. Risk (risk)

How dangerous is this change? Higher = more review and testing needed.

LabelColorDescription
risk:1#0e8a16Isolated change, well-tested area, hard to break
risk:2#53d353Small surface area, existing patterns, minor regression chance
risk:3#fbca04Touches shared code, some edge cases, needs careful testing
risk:4#e99695Cross-domain impact, state management, concurrency concerns
risk:5#b60205Data model migration, navigation architecture, or seed data changes

4. Blast Radius (blast)

How many files/domains does this touch?

LabelColorDescription
blast:1#bfdadcSingle file — one view or one service, no ripple effects
blast:2#7ec8cbSingle domain — 2-5 files within one feature folder
blast:3#3bb3b8Cross-domain — touches shared code or 2+ feature domains
blast:4#1d7a7eArchitectural — services, navigation, data flow changes
blast:5#0e4f52Full-stack — data pipeline + app, or schema changes

5. Size (size)

T-shirt sizing for effort estimation.

LabelColorDescription
size:XS#c5def5Trivial change, single file
size:S#85c1e9Straightforward, few files
size:M#5dade2Moderate scope, some design needed
size:L#2e86c1Significant feature, many files
size:XL#1a5276Epic-level, major cross-cutting work

6. Parallelism (parallelism)

Lane-based work distribution — which issues can run concurrently.

LabelColorDescription
parallel:1#f0e68cLane 1 work stream
parallel:2#daa520Lane 2 work stream
parallel:3#cd853fLane 3 work stream
parallel:4#b8860bLane 4 work stream
parallel:5#8b6914Lane 5 work stream
serial#6c757dCross-cutting — touches 2+ lanes, run alone

7. Sequencing (sequencing)

Implementation order within a milestone or epic.

LabelColorDescription
seq:01#006b75Sequence step 1
seq:02#006b75Sequence step 2
seq:03#006b75Sequence step 3
seq:04#006b75Sequence step 4
seq:05#006b75Sequence step 5
seq:06#006b75Sequence step 6
seq:07#006b75Sequence step 7
seq:08#006b75Sequence step 8
seq:09#006b75Sequence step 9
seq:10#006b75Sequence step 10

8. Type (type)

What kind of work is this? Tells agents (and humans) which approach to take.

LabelColorDescription
type:bug#d73a4aSomething isn't working correctly
type:feature#0075caNew functionality or capability
type:refactor#cfd3d7Code improvement, no behaviour change
type:chore#edededMaintenance — deps, CI, config, docs
type:spike#d4c5f9Research or time-boxed exploration

9. Special (special)

Workflow flags that don't fit a scale.

LabelColorDescription
ai-shippable#1d76dbDelegatable to AI agents — clarity:4+ and risk:2 or lower
needs-design#d4c5f9Requires 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

  1. Detect repo: Check gh repo view --json nameWithOwner -q .nameWithOwner from the current directory. If it works, offer it as the default. Otherwise ask.

  2. 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.
  3. Confirm: Show the total label count and target repo, ask for confirmation.

  4. Execute: Create labels, reporting progress. Group output by category.

  5. Summary: Report what was created/updated, note any failures.