Skip to content

Latest commit

 

History

History
227 lines (164 loc) · 12.3 KB

File metadata and controls

227 lines (164 loc) · 12.3 KB

Label Management

This document describes the label system for plugin-dev.

Files

  • labels.yml: Source of truth for all repository labels
  • LABELS.md: This documentation file
  • workflows/sync-labels.yml: Automated workflow that syncs label definitions on push to main

Label Categories

Type Labels

Standard GitHub labels for issue/PR classification:

Label Color Description
bug #d73a4a Something isn't working
documentation #0075ca Improvements or additions
duplicate #cfd3d7 Already exists
enhancement #a2eeef New feature or request
invalid #e4e669 Doesn't seem right
question #d876e3 Further information requested
refactor #fef65b Code restructuring without behavior change
chore #c5def5 Maintenance tasks
wontfix #ffffff Will not be worked on

Component Labels

Identify which part of the codebase (cool blue/purple tones):

Label Color Description
component:agent #0052cc Agents layer
component:command #5319e7 Commands layer
component:docs #d4c5f9 Documentation files
component:hook #006b75 Hooks layer
component:skill #1d76db Skills layer
component:marketplace #0366d6 Marketplace manifest
component:mcp #032f62 MCP integration

Scope Labels

Labels for plugin development concerns (warm coral/pink family):

Label Color Description
scope:triggering #e91e63 Trigger phrase/description issues
scope:validation #f44336 Plugin validation concerns

Priority Labels

Urgency classification (heat map: hot → cool):

Label Color Description
priority:critical #b60205 Blocking, security, or breaking
priority:high #d93f0b Important but not blocking
priority:medium #fbca04 Should be addressed
priority:low #0e8a16 Nice to have

Status Labels

Current work state:

Label Color Description
status:blocked #e99695 Blocked by dependencies
status:in-progress #90caf9 Work in progress
status:needs-repro #f9c4f4 Needs reproduction steps
status:needs-review #fff3b3 Ready for review
status:needs-design #c5cae9 Needs design decision
status:analyzed #a5d6a7 Analyzed by Claude
needs-analysis #b39ddb Request Claude analysis

Effort Labels

Time estimates:

Label Color Description
effort:small #c2e0c6 < 1 hour
effort:medium #bfdadc 1-4 hours
effort:large #f9d0c4 > 4 hours

Community Labels

Label Color Description
good first issue #7057ff Good for newcomers
help wanted #008672 Extra attention needed
idea #f9a825 Feature idea or suggestion
showcase #6f42c1 Community showcase

Dependency Labels

Label Color Description
dependencies #0366d6 Dependency updates
github-actions #000000 GitHub Actions updates

Category Labels

Type of change:

Label Color Description
breaking #bd2130 Breaking change (major version)
automation #28a745 CI/CD and workflow improvements
optimization #2188ff Performance improvements

Workflow Labels

Label Color Description
triage #ededed Needs initial review
stale #ededed No recent activity
pinned #fef2c0 Never mark as stale
roadmap #0e8a16 Long-term roadmap item

Special Labels

Label Color Description
experiment #ff6ec7 Experimental/testing
security #ee0701 Security-related
reverted #666666 Merged but later reverted

Label Application Guidelines

Required Labels

Every issue and PR should have:

  1. One type label: bug, enhancement, documentation, refactor, chore, etc.
  2. One priority label: priority:critical, priority:high, priority:medium, priority:low
  3. One effort label: effort:small, effort:medium, effort:large

Contextual Labels

Apply when relevant:

  • Component labels: When the change affects specific plugin components
  • Scope labels: When the change affects triggering or validation
  • Status labels: To track work progress
  • Category labels: For breaking changes, automation, or optimization work
  • Community labels: For contributor-friendly issues

Label Combinations

Common label combinations for plugin-dev:

Scenario Labels
Skill not triggering bug, component:skill, scope:triggering
New agent feature enhancement, component:agent, priority:*
Marketplace manifest issue bug, component:marketplace, priority:*
Validation script fix bug, component:docs, automation
MCP integration enhancement enhancement, component:mcp, effort:*
Hook development docs documentation, component:hook, effort:small
Command triggering bug bug, component:command, scope:triggering
Plugin architecture design enhancement, status:needs-design, roadmap
Dependabot PR chore, dependencies, effort:small

Managing Labels

Adding a New Label

  1. Update labels.yml (source of truth):

    - name: "new-label"
      color: "ff6ec7"
      description: "Description here"
  2. Update LABELS.md with the new label documentation

  3. Create a PR - the workflow runs in dry-run mode to preview

  4. Merge to main - the label is created automatically

Updating a Label

  1. Update labels.yml with new color/description
  2. Update LABELS.md documentation
  3. Create a PR - preview changes in dry-run mode
  4. Merge to main - changes applied automatically

Deleting a Label

Deleting labels requires manual action - the automated workflow only creates and updates labels (never deletes) for safety.

  1. Remove from labels.yml

  2. Remove from LABELS.md

  3. Delete from GitHub manually:

    gh label delete "label-name" --yes

Color Scheme Rationale

Category Color Family Rationale
Type GitHub defaults Familiar to all GitHub users
Component Cool blues/purples Technical, structural feel
Scope Warm coral/pink Distinct from components, user-facing issues
Priority Heat map (red → green) Intuitive urgency indication
Status Soft pastels Non-distracting state indicators
Effort Green → red gradient Easy (green) to hard (red)
Category Semantic colors Breaking=red, automation=green
Workflow Neutral greys Background process labels

Label Naming Conventions

  • Prefixed labels: Use colons for categories (component:, scope:, priority:, status:, effort:)
  • Standard labels: Keep GitHub defaults as-is (bug, help wanted, good first issue)
  • Multi-word labels: Use hyphens for custom labels, keep spaces for GitHub ecosystem compatibility
  • Case: All lowercase

Label Count

Current total: ~49 labels

Balanced for good organization without overwhelming contributors. Check labels.yml for the complete list.