gitlab-milestone
npx machina-cli add skill grandcamel/GitLab-Assistant-Skills/gitlab-milestone --openclawMilestone Skill
Milestone management operations for GitLab using the glab CLI.
Quick Reference
| Operation | Command | Risk |
|---|---|---|
| List milestones | glab milestone list | - |
| Create milestone | glab milestone create <title> | ⚠️ |
Risk Legend: - Safe | ⚠️ Caution | ⚠️⚠️ Warning | ⚠️⚠️⚠️ Danger
When to Use This Skill
ALWAYS use when:
- User wants to manage project milestones
- User mentions "milestone", "sprint", "iteration", "release planning"
- User wants to organize work into time-boxed periods
NEVER use when:
- User wants to assign milestones to issues (use gitlab-issue)
- User wants to create releases (use gitlab-release)
Available Commands
List Milestones
glab milestone list [options]
Options:
| Flag | Description |
|---|---|
-s, --state=<state> | Filter by state: active, closed, all |
-P, --per-page=<n> | Results per page |
--all | Get all milestones |
Examples:
# List active milestones
glab milestone list
# List all milestones including closed
glab milestone list --state=all
# List closed milestones
glab milestone list --state=closed
# List with more results
glab milestone list --per-page=50
Create Milestone
glab milestone create <title> [options]
Options:
| Flag | Description |
|---|---|
-d, --description=<desc> | Milestone description |
--due-date=<date> | Due date (YYYY-MM-DD format) |
--start-date=<date> | Start date (YYYY-MM-DD format) |
Examples:
# Create simple milestone
glab milestone create "Sprint 1"
# Create with description
glab milestone create "Q1 Release" \
-d "Features planned for Q1 2024 release"
# Create with dates
glab milestone create "Sprint 5" \
--start-date=2024-02-01 \
--due-date=2024-02-14 \
-d "Two-week sprint"
# Create release milestone
glab milestone create "v2.0.0" \
--due-date=2024-03-15 \
-d "Major version 2.0 release"
Common Workflows
Workflow 1: Sprint Planning
# 1. Create new sprint milestone
glab milestone create "Sprint 12" \
--start-date=2024-03-01 \
--due-date=2024-03-14 \
-d "Sprint 12 goals:
- Complete authentication feature
- Fix critical bugs
- Improve test coverage"
# 2. Assign issues to milestone
glab issue update 101 -m "Sprint 12"
glab issue update 102 -m "Sprint 12"
glab issue update 103 -m "Sprint 12"
# 3. View sprint issues
glab issue list --milestone="Sprint 12"
Workflow 2: Release Planning
# 1. List current milestones
glab milestone list
# 2. Create release milestone
glab milestone create "Release 1.5" \
--due-date=2024-04-01 \
-d "Version 1.5 release including:
- New dashboard
- Performance improvements
- Bug fixes from user feedback"
# 3. Associate issues
glab issue list --label="release-1.5" | while read issue; do
glab issue update $issue -m "Release 1.5"
done
Workflow 3: Review Sprint Progress
# 1. List sprint milestones
glab milestone list --state=active
# 2. Check open issues in sprint
glab issue list --milestone="Sprint 12" --state=opened
# 3. Check closed issues
glab issue list --milestone="Sprint 12" --state=closed
# 4. Check MRs in sprint
glab mr list --milestone="Sprint 12"
Milestone Naming Conventions
Common patterns for milestone names:
| Pattern | Example | Use Case |
|---|---|---|
| Sprint N | Sprint 1, Sprint 2 | Agile sprints |
| YYYY-QN | 2024-Q1, 2024-Q2 | Quarterly planning |
| vX.Y.Z | v1.0.0, v2.1.0 | Version releases |
| YYYY-MM | 2024-03, 2024-04 | Monthly cycles |
| Feature Name | "User Authentication" | Feature-based milestones |
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| Authentication failed | Invalid/expired token | Run glab auth login |
| Milestone not found | Wrong name or closed | Check with glab milestone list --state=all |
| Invalid date | Wrong format | Use YYYY-MM-DD format |
| Permission denied | Not maintainer | Need maintainer+ role |
Related Documentation
Source
git clone https://github.com/grandcamel/GitLab-Assistant-Skills/blob/main/skills/gitlab-milestone/SKILL.mdView on GitHub Overview
This skill enables you to manage GitLab milestones using the glab CLI. It covers listing and creating milestones, plus sprint/iteration planning to organize work within time-boxed periods. It’s essential for coordinating sprint goals, releases, and milestone-based progress.
How This Skill Works
The skill leverages glab milestone list and glab milestone create commands to retrieve and create milestones. It supports flags for filtering by state, pagination, and retrieving all milestones; creation supports descriptions and date ranges. Workflows show linking issues to milestones and reviewing sprint progress via related issue and MR queries.
When to Use It
- You want to manage project milestones (list, create, or organize sprints/iterations).
- You mention terms like milestone, sprint, iteration, or release planning and need structured time-bound work
- You plan a sprint with a dedicated milestone and dates to track progress
- You are preparing a release milestone with a due date and description
- You want to review sprint progress by inspecting issues and MRs tied to a milestone
Quick Start
- Step 1: List current milestones with glab milestone list
- Step 2: Create a new milestone, e.g., glab milestone create "Sprint 12" --start-date=2024-03-01 --due-date=2024-03-14 -d "Sprint 12 goals"
- Step 3: Assign issues to a milestone and view progress: glab issue update 101 -m "Sprint 12"; glab issue list --milestone="Sprint 12"
Best Practices
- Use consistent milestone naming patterns: Sprint N, YYYY-QN, vX.Y.Z, YYYY-MM, or Feature Name.
- Always attach a clear description and, when relevant, start and due dates to each milestone.
- Use glab milestone list with --state and --all to get a complete view of active and closed milestones.
- Link related issues to milestones (glab issue update <id> -m "<Milestone>") and monitor with glab issue list and glab mr list.
- In sprint and release planning, leverage milestone-based workflows to align scope, dates, and progress
Example Use Cases
- List active milestones with glab milestone list to view current sprint goals
- List all milestones including closed using glab milestone list --state=all
- Create a simple milestone: glab milestone create "Sprint 1"
- Create a milestone with a description and dates: glab milestone create "Q1 Release" -d "Features for Q1" --start-date=2024-01-01 --due-date=2024-03-31
- Create a release milestone with a due date and description: glab milestone create "v2.0.0" --due-date=2024-03-15 -d "Major version 2.0 release"