Skip to content

Milestones and Sprint Tracking

GitHub Milestones group issues into time-boxed sprints with progress bars.

Sprint Naming Convention

Format: Sprint N (YYYY-WNN) -- e.g. Sprint 1 (2025-W12) due 2025-03-21.

Creating a Sprint

With the helper script

./scripts/create-sprint.sh "Sprint 1 (2025-W12)" "2025-03-21"

The script reads GH_OWNER/GH_REPO from .env, or detects them via gh repo view.

Manually

GITHUB_TOKEN= gh api repos/{owner}/{repo}/milestones \
  -f title="Sprint 1 (2025-W12)" -f due_on="2025-03-21T23:59:59Z"

Assigning Issues to a Milestone

GITHUB_TOKEN= gh issue edit 123 --milestone "Sprint 1 (2025-W12)"

Or use the GitHub UI sidebar on any issue.

Integration with Slash Commands

/next-task prioritises issues by milestone due-date so current-sprint tasks surface first. /sprint-report reads milestone progress to generate a summary.

Viewing Sprint Progress

GITHUB_TOKEN= gh api repos/{owner}/{repo}/milestones --jq \
  '.[] | "\(.title): \(.open_issues) open, \(.closed_issues) closed"'

GitHub also shows a progress bar on each milestone page.