start-milestone

Installation
SKILL.md

<milestone_number>$ARGUMENTS</milestone_number>

Start Milestone

Transition a milestone from planning to active: bulk-update labels and Project board status.

API references: milestones.md | projects-v2.md

Arguments

<milestone_number/> — milestone number (required).

/start-milestone 3

Workflow

Step 1: Resolve Milestone

Call mcp__plugin_dh_backlog__backlog_list_milestones(state="open").

From the returned list, find the entry where number == <milestone_number/>.

If not found in the open list, call mcp__plugin_dh_backlog__backlog_list_milestones(state="all") and filter again.

If milestone is closed, report and stop.

If open_issues == 0, warn: "No open issues. Add items first with /group-items-to-milestone {number}"

Step 2: List Issues

Call mcp__plugin_dh_backlog__backlog_list_issues(milestone="{title}", state="open").

The response contains a list of issues with number, title, state, and labels fields.

Step 3: Confirm

Start milestone "{title}" — {N} open issues

Issues to transition (status:needs-grooming → status:in-progress):
  #12  SAM: Error Recovery        [priority:p1, status:needs-grooming]
  #8   gitlab-skill: Remove URL   [priority:p1, status:needs-grooming]
  #14  create-backlog-item skill  [priority:p2, status:needs-grooming]

Proceed?

Use AskUserQuestion with Yes / No options. Stop without changes if No.

Step 4: Bulk Label Transition

Use the Python automation script (preferred — avoids per-issue bash loops):

uv run .claude/skills/gh/scripts/github_project_setup.py milestone start \
  --number {number}

Or, to preview changes without applying them:

uv run .claude/skills/gh/scripts/github_project_setup.py milestone start \
  --number {number} --dry-run

The script removes status:needs-grooming and adds status:in-progress to each open issue, creates the label if missing, reports per-issue results, and exits non-zero if any issue fails.

Step 5: Update Project V2

Run:

uv run .claude/skills/gh/scripts/github_project_setup.py project update-status \
  --milestone {number} --status "In Progress"

See projects-v2.md for details.

Step 6: Report

Milestone #{N} "{title}" started.

  {count} issues transitioned to status:in-progress
  {failed_count} issues failed (see details above)

Work on individual items:
  /work-backlog-item {title}

Error Handling

  • Milestone not found: list open milestones and stop.
  • Milestone already closed: report closed date and stop.
  • Label edit fails for specific issue: log and continue; report failures at end.
  • User declines confirmation: stop without changes.
Related skills

More from jamie-bitflight/claude_skills

Installs
5
GitHub Stars
40
First Seen
Mar 29, 2026