Skip to content

Describe issue type and label taxonomy for slicing and triage - #60

Merged
dieterbaier merged 2 commits into
mainfrom
feature/issue-type-and-label-taxonomy
Jul 12, 2026
Merged

Describe issue type and label taxonomy for slicing and triage#60
dieterbaier merged 2 commits into
mainfrom
feature/issue-type-and-label-taxonomy

Conversation

@dieterbaier

Copy link
Copy Markdown
Member

Problem

When slice-issues decomposes a parent issue, it creates each child with only a
title and body — no issue type and no labels. Slices therefore can't be
filtered or triaged onto a project board without opening each one.
architecture-impact defines Epic vs UserStory, but nothing carries that
typing through to slices, and there is no shared, board-friendly label
convention.

Change

  • Add skills/references/issue-labels.md — a reusable taxonomy:
    • type vocabulary: epic, user-story, task, refactoring, bug;
    • precedence for setting type: native issue type (gh --type, org-only) →
      type: label → title prefix ([EPIC]/[UserStory]);
    • independent label dimensions — type:, area:, and an optional project
      grouping (e.g. a roadmap phase-N label or a milestone);
    • keep workflow status in the board, not in labels;
    • gh issue create --type/--label/--parent examples.
  • slice-issues — require reading the taxonomy, set --type/--label when
    creating each child, and add a slicing rule to type and label every slice.
  • architecture-impact — point Epic/UserStory marking at the shared
    taxonomy.

Why

Derived from real use: creating roadmap Epics + sub-issues for a consuming
project surfaced that the slicing step gave no guidance on issue type or on the
labels needed to classify issues on a GitHub project board.

Notes

Engine-independent: the toolkit fixes the dimensions and precedence; a project
chooses concrete area:/grouping label names. GitHub issue types are org-only,
so personal repos fall back to type: labels — documented explicitly.

🤖 Generated with Claude Code

The slice-issues skill created sub-issues with only a title and body, so slices
had no type and no labels — they could not be filtered or triaged onto a project
board without reading each body. architecture-impact defined Epic/UserStory but
nothing carried that through to slices or to board-friendly labels.

- Add skills/references/issue-labels.md: a reusable type vocabulary
  (epic/user-story/task/refactoring/bug), the native-type -> type-label ->
  title-prefix precedence, and independent label dimensions (type, area,
  optional grouping such as a roadmap phase), keeping workflow status in the
  board rather than in labels. Includes gh issue create examples with
  --type/--label/--parent.
- slice-issues: require reading the taxonomy, set --type/--label when creating
  each child issue, and add a slicing rule to type and label every slice.
- architecture-impact: point Epic/UserStory marking at the shared taxonomy.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@dieterbaier dieterbaier left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Die Taxonomie ist als gemeinsame Referenz sinnvoll und die Trennung von Typ, Bereich, Gruppierung und Board-Status ist sauber. Ich habe einen operativen Widerspruch im slice-issues-Beispiel kommentiert: Die Taxonomie beschreibt native Issue Types und type:-Labels als alternative Fallback-Stufen, der Beispielbefehl und die Slicing-Regel verlangen aktuell beides gleichzeitig. Das kann auf persönlichen Repositories direkt scheitern und führt auf Org-Repositories zu einer unnötigen Doppelklassifikation.

5. For each sliced task, create a child issue with GitHub's sub-issue support:
5. For each sliced task, create a child issue with GitHub's sub-issue support,
setting its type and labels per `../references/issue-labels.md`:

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hier widerspricht der ausführbare Beispielbefehl der Taxonomie: --type und <type-label> werden gleichzeitig verlangt, obwohl issue-labels.md sie als bevorzugte Alternative bzw. Fallback beschreibt. Auf persönlichen Repositories scheitert --type; auf Org-Repositories entsteht unnötig eine doppelte Typklassifikation. Bitte zwei explizite Varianten zeigen (native Type oder type:-Label) und in der Regel darunter ebenfalls klarstellen, dass genau eine Typ-Repräsentation verwendet wird – außer ein Projekt entscheidet bewusst, native Types zusätzlich für Board-Kompatibilität zu spiegeln. Außerdem sollte vor gh issue create geprüft bzw. festgelegt werden, dass die verwendeten Labels existieren, sonst schlägt das Slicing trotz korrekter Taxonomie fehl.

The example command and slicing rule required --type and a type: label at the
same time, contradicting issue-labels.md (they are alternatives). That fails on
personal repos (no native types) and double-classifies on org repos. Show two
explicit variants (native issue type OR type: label) and state that exactly one
type representation is used.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@dieterbaier

Copy link
Copy Markdown
Member Author

Addressed: the slice-issues step 5 now shows two explicit variants — native --type (org repos) or a type: label (personal repos) — and both step 5 and the slicing rule state that exactly one type representation is used, never both. Matches the precedence in issue-labels.md.

@dieterbaier dieterbaier left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nachprüfung abgeschlossen: Der bisherige Reviewpunkt ist sauber behoben. slice-issues zeigt jetzt zwei getrennte Erstellungsvarianten (native Issue Type oder type:-Label), fordert ausdrücklich genau eine Typ-Repräsentation und verweist weiterhin auf die Taxonomie, die das vorherige Anlegen der verwendeten Labels festlegt. Die CI ist grün. Ich habe keine weiteren Findings.

@dieterbaier
dieterbaier merged commit 14deee1 into main Jul 12, 2026
1 check passed
@dieterbaier
dieterbaier deleted the feature/issue-type-and-label-taxonomy branch July 12, 2026 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant