From sdlc-manager
Manage GitHub Milestones for Infiquetra Objectives. Creates, lists, and tracks progress on milestones across Infiquetra repositories. Handles the full Objective lifecycle: creation, Capability linking, progress tracking, risk assessment, cross-repo coordination, and completion. Objectives are tracked as both GitHub Milestones and Beads parent tasks.
npx claudepluginhub infiquetra/infiquetra-claude-plugins --plugin sdlc-managerThis skill uses the workspace's default tool permissions.
Manage GitHub Milestones for Infiquetra Objectives. Covers the full Objective lifecycle from
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
Manage GitHub Milestones for Infiquetra Objectives. Covers the full Objective lifecycle from creation through completion, including progress tracking and cross-repo coordination.
$INFIQUETRA_SDLC_PATH/../infiquetra-claude-plugins/plugins/sdlc-manager/scripts/sdlc_manager.py
If
$INFIQUETRA_SDLC_PATHis unset, use~/workspace/infiquetra/infiquetra-sdlcas the default base path.
python3 sdlc_manager.py milestones create \
--repo infiquetra-core \
--title "Pilot: Platform Launch" \
--due-date 2026-04-15 \
--description "Platform launch pilot — validate core workflows with early adopters"
The --title should follow the naming convention (see below). The --description can be brief;
full details live in the Objective issue.
# List open milestones
python3 sdlc_manager.py milestones list --repo infiquetra-core
# List all (open and closed)
python3 sdlc_manager.py milestones list --repo infiquetra-core --state all
# List closed milestones
python3 sdlc_manager.py milestones list --repo infiquetra-core --state closed
# Show completion % for a specific milestone
python3 sdlc_manager.py milestones progress --repo infiquetra-core --milestone 3
Output shows: total issues, open issues, closed issues, completion %, and due date. Issues are from all types linked to the milestone (Capabilities, Enhancements, Defects).
# Link a capability to its parent objective milestone
python3 sdlc_manager.py milestones link \
--repo infiquetra-core \
--issue 42 \
--milestone 3
Also do this via gh CLI:
gh issue edit 42 --repo Infiquetra/infiquetra-core --milestone "Pilot: Platform Launch"
{Type}: {Name} ({YYYY-MM-DD})
| Type | Example Milestone Title |
|---|---|
| Pilot | Pilot: Platform Launch (2026-04-15) |
| MVP | MVP: Core Integration (2026-02-28) |
| Release | Release: Olympus v1.0 (2026-05-30) |
| Program | Program: Q1 KR1 - User Adoption (2026-03-31) |
The Objective issue gets a label objective:{short-kebab-case}:
| Milestone Title | Label |
|---|---|
Pilot: Platform Launch (2026-04-15) | objective:platform-launch |
Release: Olympus v1.0 (2026-05-30) | objective:olympus-v1 |
MVP: Core Integration (2026-02-28) | objective:core-integration |
Program: Q1 KR1 - User Adoption (2026-03-31) | objective:q1-kr1 |
Objectives are tracked in two systems:
bd is the Beads/Dolt CLI for structured agent task coordination (see docs/tools/index.md for install instructions).
When creating an Objective:
# Create the Beads parent task
bd ready <objective-task-id>
# Child capabilities are Beads subtasks
bd claim <capability-task-id> # An agent claims the capability
bd update <capability-task-id> in-progress
bd complete <capability-task-id> # Syncs to GitHub Issue close
Beads tasks sync to GitHub Issues automatically. When a Beads subtask is completed, the corresponding GitHub Issue is closed and the Milestone completion % updates.
When a user says "create an objective", run through these steps:
python3 sdlc_manager.py issue create --repo <repo> --type objective
Gather during template:
python3 sdlc_manager.py milestones create \
--repo <repo> \
--title "{Type}: {Name}" \
--due-date {YYYY-MM-DD} \
--description "{Brief description}"
Note the milestone number returned — you'll need it for linking.
# Apply objective label
gh issue edit <N> --repo Infiquetra/<repo> --add-label "objective:{short-name}"
# Apply initiative label if applicable
gh issue edit <N> --repo Infiquetra/<repo> --add-label "initiative:{name}"
python3 sdlc_manager.py milestones link --repo <repo> --issue <N> --milestone <M>
# Add to project board
python3 sdlc_manager.py board add --repo <repo> --number <N>
# Sync labels to project fields
python3 sdlc_manager.py labels sync-fields --repo <repo> --number <N>
Create individual Capability issues for the work inside the Objective. For each capability:
python3 sdlc_manager.py issue create --repo <repo> --type capabilityobjective:{name} and initiative:{name} labelsmilestones link --repo <repo> --issue <N> --milestone <M>board add --repo <repo> --number <N>Flag objectives as at-risk when:
Check progress and calculate risk:
python3 sdlc_manager.py milestones progress --repo <repo> --milestone <N>
When flagging at-risk: surface the due date, current completion %, and identify which specific issues are blocking progress.
For Objectives that span multiple repositories:
Create identical milestones in each affected repo:
python3 sdlc_manager.py milestones create \
--repo infiquetra-core \
--title "Pilot: Platform Launch (2026-04-15)" \
--due-date 2026-04-15
python3 sdlc_manager.py milestones create \
--repo infiquetra-auth \
--title "Pilot: Platform Launch (2026-04-15)" \
--due-date 2026-04-15
Apply consistent labels across all repos — same objective:* and initiative:* labels
Link each repo's Capability issues to its local milestone
Track aggregate progress by checking progress across all repos:
python3 sdlc_manager.py milestones progress --repo infiquetra-core --milestone <M>
python3 sdlc_manager.py milestones progress --repo infiquetra-auth --milestone <M>
"Create an objective for the platform launch"
-> Run issue create --type objective, then milestones create, apply labels, link issue to milestone
"How's the platform launch going?"
-> Find the milestone number, run milestones progress --repo <repo> --milestone <N>
"Add capability #42 to the platform-launch objective"
-> Find milestone number for objective:platform-launch, then milestones link --repo <repo> --issue 42 --milestone <M>
"Show me all active objectives"
-> milestones list --repo <repo> for each active repo; look for open milestones
"Which objectives are at risk?" -> Run progress for each open milestone, flag those with < 80% completion and < 7 days remaining
"Mark the platform launch as complete" -> Close the GitHub milestone via gh CLI:
gh api repos/Infiquetra/<repo>/milestones/<N> -X PATCH -f state=closed
"Create a release milestone for Olympus v1.0"
-> milestones create --repo infiquetra-core --title "Release: Olympus v1.0" --due-date 2026-05-30
An Objective is complete when:
bd complete <objective-task-id>)Completion checklist:
gh api repos/Infiquetra/<repo>/milestones/<N> -X PATCH -f state=closed{Type}: {Name} ({YYYY-MM-DD})objective:{short-kebab-case} (no date)references/objective-workflow.md — Complete Objective lifecycle, types, sizing, and examples