원클릭으로
speckit-phase
Detect deployment boundaries in a spec's user stories and generate phase annotations.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Detect deployment boundaries in a spec's user stories and generate phase annotations.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Orchestrate iterative spec clarification and remediation (Homer loop) on spec.md until all findings are resolved.
Orchestrate iterative cross-artifact analysis and remediation (Lisa loop) on spec.md, plan.md, and tasks.md until all findings are resolved.
Orchestrate iterative code review and remediation (Marge loop) over the feature branch diff until all findings are resolved.
Orchestrate the full SpecKit pipeline (reconcile, specify, homer, phase, plan, tasks, lisa, split, ralph, marge) from feature description to reviewed implementation.
Post a PR review with inline comments for findings requiring human judgment — one-way doors, concurrency risks, architectural decisions, and project-specific patterns.
Analyze a feature branch diff against baseline and project-specific review packs; optionally remediate the auto-fixable findings in severity order.
| name | speckit-phase |
| description | Detect deployment boundaries in a spec's user stories and generate phase annotations. |
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
Analyze the user stories in an existing spec.md for natural deployment boundaries and generate the ## Phases section. This command runs after /speckit-specify has created the spec and before Homer clarifies it.
Resolve the feature directory: Run bash .specify/scripts/bash/check-prerequisites.sh --json --paths-only from repo root via Bash tool. Parse the JSON output for FEATURE_DIR and FEATURE_SPEC. If the script exits non-zero, display its output and stop.
Read spec.md: Read the spec file at FEATURE_SPEC. If it does not exist, display an error and stop.
Parse user stories: Locate the ## User Scenarios & Testing section and extract all user stories from it (their titles, descriptions, and acceptance scenarios).
Detect deployment boundary signals across all user stories:
Assign each story to exactly one phase using vertical-slice grouping by product surface:
a. Identify product surfaces: Group stories by the product surface, domain, or concern area they affect (e.g., payments, user profiles, notifications). Use story titles, descriptions, and the entities/data they reference to determine grouping.
b. Order surfaces by dependency: If surface B depends on surface A (e.g., notifications depend on payment events), surface A's phases come first. Independent surfaces are ordered by risk (higher risk first) as a tiebreaker.
c. Slice each surface vertically: Within each product surface, assign phases in deployment dependency order -- foundational changes (migrations, infrastructure) in one phase, then dependent features (integrations, services) and user-facing work (UI, endpoints) in the next phase. Each surface should be fully deployable before the next surface begins.
d. Merge thin layers: If a surface has only one story or its foundational and UI layers are trivially small, merge them into a single phase rather than creating two phases with one story each.
e. Result: A feature touching N product surfaces produces up to 2N phases (foundation + feature per surface), ordered so each surface is complete before the next starts. The collective set of surfaces forms the full feature.
Determine release strategy per phase:
Single-concern features: If none of the signals above are detected (all stories are low-risk additive work), generate a single phase containing all stories with release strategy "direct release". Do not artificially split straightforward work into multiple phases.
Write the ## Phases section into spec.md using the results from steps 4-7. Place this section between ## User Scenarios & Testing (after all its subsections) and ## Requirements. If a ## Phases section already exists (populated or placeholder), replace it entirely. If no ## Phases section exists, insert a new one at the correct position.
Format each phase as a subsection:
## Phases
### Phase {N}: {slug}
**Stories**: {comma-separated story references, e.g., "User Story 1, User Story 3"}
**Release Strategy**: {dark launch with gradual reveal | direct release}
**Rationale**: {explanation of why this phase boundary exists}
Constraints:
expand-schema, payment-integration)Report results: Output the number of phases generated, each phase's slug and release strategy, and confirm the section was written to spec.md.