Transitions a GitHub milestone from planning to active execution. Use when the team is ready to begin a sprint or release cycle — bulk-transitions open issue labels from status:needs-grooming to status:in-progress, updates GitHub Projects V2 Status to In Progress, and confirms before applying changes. Requires milestone number as argument. Use after /group-items-to-milestone.
74
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
<milestone_number>$ARGUMENTS</milestone_number>
Transition a milestone from planning to active: bulk-update labels and Project board status.
API references: milestones.md | projects-v2.md
<milestone_number/> — milestone number (required).
/start-milestone 3Call 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}"
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.
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.
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-runThe 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.
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.
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}Jamie-BitFlight/claude_skills
a5218b3
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.