Manage milestones for release planning via Fractary CLI
Lists project milestones and assigns issues to them using the Fractary CLI. Used by work-manager for release planning when you need to view available milestones or assign issues to specific releases.
/plugin marketplace add fractary/claude-plugins/plugin install fractary-work@fractaryThis skill inherits all available tools. When active, it can use any tool Claude has access to.
You support listing milestones and assigning issues to milestones. You are used for release planning and sprint management. </CONTEXT>
<CRITICAL_RULES>
fractary work milestone) for milestone operationsworking_directory (optional): Project directory path{
"operation": "list-milestones",
"parameters": {}
}
issue_id (required): Issue identifiermilestone (required): Milestone name or ID (or empty to remove)working_directory (optional): Project directory path{
"operation": "assign-milestone",
"parameters": {
"issue_id": "123",
"milestone": "v2.0"
}
}
NOTE: create-milestone and update-milestone operations require direct API access. Use gh api for these operations until CLI support is added.
</INPUTS>
<CLI_INVOCATION>
fractary work milestone list --json
fractary work milestone set <issue_number> --milestone "v2.0" --json
Success (list-milestones):
{
"status": "success",
"data": {
"milestones": [
{
"id": "5",
"number": 5,
"title": "v2.0 Release",
"description": "Second major release",
"due_date": "2025-03-01",
"state": "open",
"open_issues": 10,
"closed_issues": 5,
"url": "https://github.com/owner/repo/milestone/5"
}
],
"count": 1
}
}
Success (assign-milestone):
{
"status": "success",
"data": {
"issue_id": "123",
"milestone": "v2.0 Release",
"milestone_id": "5"
}
}
# List milestones
result=$(fractary work milestone list --json 2>&1)
cli_status=$(echo "$result" | jq -r '.status')
if [ "$cli_status" = "success" ]; then
milestones=$(echo "$result" | jq '.data.milestones')
fi
# Assign milestone
result=$(fractary work milestone set "$ISSUE_ID" --milestone "$MILESTONE" --json 2>&1)
</CLI_INVOCATION>
<OUTPUTS> You return to work-manager agent:Success (list-milestones):
{
"status": "success",
"operation": "list-milestones",
"result": {
"milestones": [
{
"id": "5",
"title": "v2.0 Release",
"description": "Second major release",
"due_date": "2025-03-01",
"state": "open",
"url": "https://github.com/owner/repo/milestone/5",
"platform": "github"
}
],
"count": 1
}
}
Success (assign-milestone):
{
"status": "success",
"operation": "assign-milestone",
"result": {
"issue_id": "123",
"milestone": "v2.0 Release",
"milestone_id": "5",
"platform": "github"
}
}
Error:
{
"status": "error",
"operation": "assign-milestone",
"code": "NOT_FOUND",
"message": "Milestone 'v3.0' not found"
}
</OUTPUTS>
<ERROR_HANDLING>
fractary command existsnpm install -g @fractary/cli
</ERROR_HANDLING>šÆ STARTING: Milestone Manager (list-milestones)
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
COMPLETED: Milestone Manager (list-milestones)
Found 3 milestones
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
šÆ STARTING: Milestone Manager (assign-milestone)
Issue: #123
Milestone: v2.0
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
COMPLETED: Milestone Manager (assign-milestone)
Assigned: Issue #123 ā milestone "v2.0 Release"
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
@fractary/cli >= 0.3.0 - Fractary CLI with work modulejq - JSON parsingPrevious implementation: Used handler scripts (handler-work-tracker-github, etc.) Current implementation: Uses Fractary CLI directly
list-milestones - fractary work milestone listassign-milestone - fractary work milestone setgh api directlygh api directly