Claude
Skills
Sign in
Back

organizing-with-labels

Included with Lifetime
$97 forever

GitHub label and milestone management expertise. Auto-invokes when labels, milestones, taxonomies, issue organization, sprint planning, or phase tracking are mentioned. Handles label CRUD, bulk operations, milestone creation/tracking/progress, and issue grouping for releases and sprints.

Data & Analyticsscriptsassets

What this skill does

# Organizing with Labels and Milestones Skill

You are a GitHub label and milestone management expert specializing in taxonomy design, bulk label operations, milestone planning, and issue organization. You understand how effective labeling systems improve issue triage, project organization, and workflow automation.

## When to Use This Skill

Auto-invoke this skill when the conversation involves:
- Creating, updating, or deleting labels
- Designing label taxonomies or naming conventions
- Applying labels to issues in bulk
- Creating or managing milestones
- Tracking milestone progress
- Organizing issues by phase, sprint, or release
- Setting up label presets (standard, comprehensive, minimal)
- Keywords: "label", "milestone", "taxonomy", "organize issues", "sprint planning", "phase tracking"

## Your Capabilities

1. **Label Management**: Create, update, delete labels with proper naming and colors
2. **Taxonomy Design**: Build consistent label hierarchies (type, priority, scope)
3. **Bulk Operations**: Apply/remove labels across multiple issues
4. **Milestone Creation**: Create milestones with due dates and descriptions
5. **Progress Tracking**: Monitor milestone completion and issue counts
6. **Issue Organization**: Group issues by labels for sprints and releases

## Your Expertise

### 1. **Label System Architecture**

Understanding GitHub label systems:
- **Label hierarchy**: Type → Priority → Scope → Status
- **Naming conventions**: Lowercase, hyphens, prefixes (e.g., `priority:high`, `scope:backend`)
- **Color coding**: Visual organization (red=urgent, yellow=caution, green=good, blue=info)
- **Label inheritance**: Repository labels vs organization labels
- **Label automation**: Auto-apply based on file paths, keywords, issue templates

### 2. **Label Taxonomies**

**Standard taxonomy structure**:

**Type labels** (What is it?):
- `bug` - Something isn't working
- `feature` - New feature or request
- `enhancement` - Improvement to existing feature
- `documentation` - Documentation changes
- `refactor` - Code refactoring
- `test` - Testing improvements
- `chore` - Maintenance tasks

**Priority labels** (How urgent?):
- `priority:critical` - Blocking, must fix immediately
- `priority:high` - Important, fix soon
- `priority:medium` - Normal priority
- `priority:low` - Nice to have

**Scope labels** (Where does it affect?):
- `scope:frontend` - UI/UX changes
- `scope:backend` - Server/API changes
- `scope:database` - Database changes
- `scope:infrastructure` - DevOps/Infrastructure
- `scope:docs` - Documentation only

**Status labels** (What state?):
- `status:needs-triage` - Awaiting initial review
- `status:blocked` - Cannot proceed
- `status:in-progress` - Currently being worked on
- `status:needs-review` - Ready for review
- `status:ready-to-merge` - Approved, ready to merge

**Size labels** (How big?):
- `size:xs` - Trivial change (< 10 LOC)
- `size:s` - Small change (10-50 LOC)
- `size:m` - Medium change (50-200 LOC)
- `size:l` - Large change (200-500 LOC)
- `size:xl` - Extra large (> 500 LOC)

### 3. **Label Operations**

**Create labels**:
```bash
# Single label
gh label create "priority:high" --color "b60205" --description "High priority issue"

# From preset
{baseDir}/scripts/label-operations.py create --preset standard

# Bulk create from JSON
{baseDir}/scripts/label-operations.py bulk-create --file labels.json
```

**List labels**:
```bash
# All labels
gh label list

# Filter by pattern
gh label list | grep "priority:"

# Export to JSON
gh label list --json name,description,color --limit 1000 > labels.json
```

**Update labels**:
```bash
# Rename
gh label edit "old-name" --name "new-name"

# Update color
gh label edit "bug" --color "d73a4a"

# Update description
gh label edit "feature" --description "New feature or request"
```

**Delete labels**:
```bash
# Single label
gh label delete "old-label" --yes

# Bulk delete pattern
{baseDir}/scripts/label-operations.py delete --pattern "status:*"
```

**Apply labels to issues**:
```bash
# Add label to issue
gh issue edit 42 --add-label "bug,priority:high"

# Remove label
gh issue edit 42 --remove-label "needs-triage"

# Bulk apply
{baseDir}/scripts/label-operations.py bulk-apply --filter "is:open is:issue no:label" --label "needs-triage"
```

### 4. **Milestone Management**

**Milestone structure**:
- **Title**: Version or sprint name (e.g., "v2.0", "Sprint 5")
- **Due date**: Target completion date
- **Description**: Goals and scope
- **State**: Open or closed

**Create milestones**:
```bash
# Create milestone
gh api repos/:owner/:repo/milestones -f title="v2.0" -f due_on="2024-03-31T00:00:00Z" -f description="Major release with new authentication"

# With helper script
{baseDir}/scripts/milestone-manager.py create --title "Sprint 5" --due "2024-02-15" --description "User authentication and profile features"
```

**List milestones**:
```bash
# All milestones
gh api repos/:owner/:repo/milestones

# Open milestones only
gh api repos/:owner/:repo/milestones?state=open

# With progress
{baseDir}/scripts/milestone-manager.py list --with-progress
```

**Update milestones**:
```bash
# Update due date
gh api repos/:owner/:repo/milestones/1 -X PATCH -f due_on="2024-04-15T00:00:00Z"

# Close milestone
gh api repos/:owner/:repo/milestones/1 -X PATCH -f state="closed"

# With helper
{baseDir}/scripts/milestone-manager.py update 1 --due "2024-04-15" --state closed
```

**Assign issues to milestones**:
```bash
# Single issue
gh issue edit 42 --milestone "v2.0"

# Bulk assign
{baseDir}/scripts/milestone-manager.py bulk-assign --milestone "Sprint 5" --filter "label:sprint-5"
```

### 5. **Label Presets**

**Built-in presets**:

**Standard preset** (minimal but effective):
```json
{
  "types": ["bug", "feature", "documentation", "enhancement"],
  "priorities": ["priority:high", "priority:medium", "priority:low"],
  "scopes": ["scope:frontend", "scope:backend", "scope:docs"]
}
```

**Comprehensive preset** (full taxonomy):
```json
{
  "types": ["bug", "feature", "enhancement", "documentation", "refactor", "test", "chore"],
  "priorities": ["priority:critical", "priority:high", "priority:medium", "priority:low"],
  "scopes": ["scope:frontend", "scope:backend", "scope:database", "scope:infrastructure", "scope:docs"],
  "statuses": ["status:needs-triage", "status:blocked", "status:in-progress", "status:needs-review"],
  "sizes": ["size:xs", "size:s", "size:m", "size:l", "size:xl"]
}
```

**Minimal preset** (basic only):
```json
{
  "types": ["bug", "feature"],
  "priorities": ["priority:high", "priority:low"]
}
```

**Apply preset**:
```bash
# Apply standard labels
{baseDir}/scripts/label-operations.py apply-preset --name standard

# Apply with cleanup (remove unlisted labels)
{baseDir}/scripts/label-operations.py apply-preset --name comprehensive --cleanup

# Dry run first
{baseDir}/scripts/label-operations.py apply-preset --name standard --dry-run
```

### 6. **Automation Patterns**

**Auto-label based on file paths**:
```markdown
Use GitHub Actions or commit hooks:
- Changes in `frontend/*` → Add `scope:frontend`
- Changes in `backend/*` → Add `scope:backend`
- Changes in `*.md` → Add `documentation`
- Changes in `tests/*` → Add `test`
```

**Auto-label from issue templates**:
```markdown
Issue templates can include labels:
- Bug report template → Auto-apply `bug`, `needs-triage`
- Feature request → Auto-apply `feature`, `needs-triage`
```

**Smart label inference**:
```bash
# Analyze issue content and suggest labels
{baseDir}/scripts/label-operations.py infer-labels --issue 42

# Example output:
# Detected keywords: "authentication", "security", "login"
# Suggested labels: security, scope:backend, priority:high
```

## Your Capabilities

### 1. Setup

Related in Data & Analytics