gsd-complete-milestone
Handles the archival of completed milestones and coordinates the setup for subsequent development phases.
Install
mkdir -p .claude/skills/gsd-complete-milestone && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12815" && unzip -o skill.zip -d .claude/skills/gsd-complete-milestone && rm skill.zipInstalls to .claude/skills/gsd-complete-milestone
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Archive completed milestone and prepare for next versionKey capabilities
- →Archive completed milestones
- →Update ROADMAP.md and REQUIREMENTS.md
- →Create historical records of shipped versions
- →Tag git with new version numbers
- →Verify milestone readiness
- →Offer next steps for new milestones
How it works
The skill checks for a milestone audit, verifies readiness, gathers statistics, extracts accomplishments, archives milestone and requirements, updates PROJECT.md, commits changes, and tags the git repository.
Inputs & outputs
When to use gsd-complete-milestone
- →Archive completed sprint milestones
- →Prepare documentation for new versions
- →Transition tasks between milestones
About this skill
<codex_skill_adapter>
A. Skill Invocation
- This skill is invoked by mentioning
$gsd-complete-milestone. - Treat all user text after
$gsd-complete-milestoneas{{GSD_ARGS}}. - If no arguments are present, treat
{{GSD_ARGS}}as empty.
B. AskUserQuestion → request_user_input Mapping
GSD workflows use AskUserQuestion (Claude Code syntax). Translate to Codex request_user_input:
Parameter mapping:
header→headerquestion→question- Options formatted as
"Label" — description→{label: "Label", description: "description"} - Generate
idfrom header: lowercase, replace spaces with underscores
Batched calls:
AskUserQuestion([q1, q2])→ singlerequest_user_inputwith multiple entries inquestions[]
Multi-select workaround:
- Codex has no
multiSelect. Use sequential single-selects, or present a numbered freeform list asking the user to enter comma-separated numbers.
Execute mode fallback:
- When
request_user_inputis rejected (Execute mode), present a plain-text numbered list and pick a reasonable default.
C. Task() → spawn_agent Mapping
GSD workflows use Task(...) (Claude Code syntax). Translate to Codex collaboration tools:
Direct mapping:
Task(subagent_type="X", prompt="Y")→spawn_agent(agent_type="X", message="Y")Task(model="...")→ omit (Codex uses per-role config, not inline model selection)fork_context: falseby default — GSD agents load their own context via<files_to_read>blocks
Parallel fan-out:
- Spawn multiple agents → collect agent IDs →
wait(ids)for all to complete
Result parsing:
- Look for structured markers in agent output:
CHECKPOINT,PLAN COMPLETE,SUMMARY, etc. close_agent(id)after collecting results from each agent </codex_skill_adapter>
Purpose: Create historical record of shipped version, archive milestone artifacts (roadmap + requirements), and prepare for next milestone. Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tagged. </objective>
<execution_context> Load these files NOW (before proceeding):
- @/Users/gabrielwillen/VSCode/stateforward/emel/emel.cpp/.codex/get-shit-done/workflows/complete-milestone.md (main workflow)
- @/Users/gabrielwillen/VSCode/stateforward/emel/emel.cpp/.codex/get-shit-done/templates/milestone-archive.md (archive template) </execution_context>
User input:
- Version: {{version}} (e.g., "1.0", "1.1", "2.0") </context>
Follow complete-milestone.md workflow:
-
Check for audit:
- Look for
.planning/v{{version}}-MILESTONE-AUDIT.md - If missing or stale: recommend
$gsd-audit-milestonefirst - If audit status is
gaps_found: recommend$gsd-plan-milestone-gapsfirst - If audit status is
passed: proceed to step 1
## Pre-flight Check {If no v{{version}}-MILESTONE-AUDIT.md:} ⚠ No milestone audit found. Run `$gsd-audit-milestone` first to verify requirements coverage, cross-phase integration, and E2E flows. {If audit has gaps:} ⚠ Milestone audit found gaps. Run `$gsd-plan-milestone-gaps` to create phases that close the gaps, or proceed anyway to accept as tech debt. {If audit passed:} ✓ Milestone audit passed. Proceeding with completion. - Look for
-
Verify readiness:
- Check all phases in milestone have completed plans (SUMMARY.md exists)
- Present milestone scope and stats
- Wait for confirmation
-
Gather stats:
- Count phases, plans, tasks
- Calculate git range, file changes, LOC
- Extract timeline from git log
- Present summary, confirm
-
Extract accomplishments:
- Read all phase SUMMARY.md files in milestone range
- Extract 4-6 key accomplishments
- Present for approval
-
Archive milestone:
- Create
.planning/milestones/v{{version}}-ROADMAP.md - Extract full phase details from ROADMAP.md
- Fill milestone-archive.md template
- Update ROADMAP.md to one-line summary with link
- Create
-
Archive requirements:
- Create
.planning/milestones/v{{version}}-REQUIREMENTS.md - Mark all v1 requirements as complete (checkboxes checked)
- Note requirement outcomes (validated, adjusted, dropped)
- Delete
.planning/REQUIREMENTS.md(fresh one created for next milestone)
- Create
-
Update PROJECT.md:
- Add "Current State" section with shipped version
- Add "Next Milestone Goals" section
- Archive previous content in
<details>(if v1.1+)
-
Commit and tag:
- Stage: MILESTONES.md, PROJECT.md, ROADMAP.md, STATE.md, archive files
- Commit:
chore: archive v{{version}} milestone - Tag:
git tag -a v{{version}} -m "[milestone summary]" - Ask about pushing tag
-
Offer next steps:
$gsd-new-milestone— start next milestone (questioning → research → requirements → roadmap)
<success_criteria>
- Milestone archived to
.planning/milestones/v{{version}}-ROADMAP.md - Requirements archived to
.planning/milestones/v{{version}}-REQUIREMENTS.md .planning/REQUIREMENTS.mddeleted (fresh for next milestone)- ROADMAP.md collapsed to one-line entry
- PROJECT.md updated with current state
- Git tag v{{version}} created
- Commit successful
- User knows next steps (including need for fresh requirements) </success_criteria>
<critical_rules>
- Load workflow first: Read complete-milestone.md before executing
- Verify completion: All phases must have SUMMARY.md files
- User confirmation: Wait for approval at verification gates
- Archive before deleting: Always create archive files before updating/deleting originals
- One-line summary: Collapsed milestone in ROADMAP.md should be single line with link
- Context efficiency: Archive keeps ROADMAP.md and REQUIREMENTS.md constant size per milestone
- Fresh requirements: Next milestone starts with
$gsd-new-milestonewhich includes requirements definition </critical_rules>
When not to use it
- →When a milestone audit is missing or stale
- →When a milestone audit found gaps
- →When phases in a milestone have incomplete plans
Limitations
- →Requires a milestone audit to be present and passed
- →All phases in a milestone must have completed plans
- →Requires user confirmation at verification gates
How it compares
This workflow automates the archiving and updating of project documentation and git history for a completed milestone, unlike manual file manipulation and command execution.
Compared to similar skills
gsd-complete-milestone side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| gsd-complete-milestone (this skill) | 0 | 3mo | No flags | Intermediate |
| linear | 10 | 2mo | No flags | Beginner |
| zapier-workflows | 11 | 8mo | Review | Beginner |
| attio-skill-generator | 7 | 7mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by stateforward
View all by stateforward →You might also like
linear
lobehub
Linear issue management guide. Use when working with Linear issues, creating issues, updating status, or adding comments. Triggers on Linear issue references (LOBE-xxx), issue tracking, or project management tasks. Requires Linear MCP tools to be available.
zapier-workflows
davila7
Manage and trigger pre-built Zapier workflows and MCP tool orchestration. Use when user mentions workflows, Zaps, automations, daily digest, research, search, lead tracking, expenses, or asks to "run" any process. Also handles Perplexity-based research and Google Sheets data tracking.
attio-skill-generator
kesslerio
Generate use-case-specific Attio workflow skills from templates. Use when creating new skills for lead qualification, deal management, customer onboarding, or custom Attio workflows.
automation-brainstorm
MacroMan5
Interactive workflow design advisor for Power Automate, n8n, Make, Zapier and other platforms. Guides users through planning automation workflows with smart questions about triggers, actions, data flow, and error handling. Uses research sub-agent to find best practices and generates detailed implementation plan. Triggers when user mentions "create workflow", "build flow", "design automation", "need ideas for", or describes workflow requirements without having a complete design.
daily-briefing
anthropics
Start your day with a prioritized sales briefing. Works standalone when you tell me your meetings and priorities, supercharged when you connect your calendar, CRM, and email. Trigger with "morning briefing", "daily brief", "what's on my plate today", "prep my day", or "start my day".
jira
davila7
Use when the user mentions Jira issues (e.g., "PROJ-123"), asks about tickets, wants to create/view/update issues, check sprint status, or manage their Jira workflow. Triggers on keywords like "jira", "issue", "ticket", "sprint", "backlog", or issue key patterns.