13 KiB
/sdd:project-phase
Meta
- Version: 1.2
- Category: project-management
- Complexity: high
- Purpose: Interactively plan project development phases based on user requirements and preferences
Definition
Purpose: Interactively plan the next development phase by gathering user input on desired features and improvements, with optional completion analysis of previous work.
Syntax: /sdd:project-phase [phase_name] [--analyze-only]
Parameters
| Parameter | Type | Required | Default | Description | Validation |
|---|---|---|---|---|---|
| phase_name | string | No | Auto-generate (e.g., "Phase 2", "v2.0") | Name for the new development phase | Non-empty if provided |
| --analyze-only | flag | No | false | Only perform analysis without creating new phase documentation | Boolean flag |
INSTRUCTION: Interactive Phase Planning with User Input
INPUTS
- phase_name: New phase identifier (optional, auto-generated if not provided)
- current_brief: Main project brief at
/docs/project-context/project-brief.md - user_requirements: Interactive input from user about desired features and improvements
- existing_phases: Previous phase documentation in
/docs/project-context/phases/ - analyze_only: Flag to perform analysis without creating new phase
- Optional context: Stories in
/docs/stories/completed/,/docs/stories/development/,/docs/stories/review/,/docs/stories/qa/
PROCESS
Phase 1: Environment Setup and Discovery
- VERIFY main project brief exists at
/docs/project-context/project-brief.md - CREATE
/docs/project-context/phases/directory if missing - SCAN existing phase directories to determine version number
- OPTIONAL CONTEXT GATHERING:
- Count stories in each directory (
/docs/stories/development/,/docs/stories/review/,/docs/stories/qa/,/docs/stories/completed/) - Identify recent development patterns for context only
- Count stories in each directory (
Phase 2: User Consultation for New Phase
-
PRESENT PROJECT STATUS:
- SHOW current project state and recent development activity
- SUMMARIZE any incomplete work in development/review/qa
- HIGHLIGHT recent completed features and achievements
-
ASK USER ABOUT NEW PHASE:
- ASK: "Based on the current project state, do you want to plan a new development phase?"
- EXPLAIN what a new phase would involve (planning features, organizing stories, setting goals)
- PROVIDE OPTIONS:
- "Yes, I want to plan a new phase with specific features and improvements"
- "No, I want to continue with existing work or make smaller adjustments"
- "I'm not sure, help me understand what a new phase would look like"
-
IF USER SAYS NO or UNSURE:
- SUGGEST alternatives like:
- Continuing existing stories in development
- Making incremental improvements without formal phase planning
- Reviewing current work and identifying immediate next steps
- EXIT without creating new phase documentation
- PROVIDE guidance on other available commands for incremental work
- SUGGEST alternatives like:
-
IF USER SAYS YES:
- GENERATE phase identifier:
- IF phase_name provided: USE provided name
- ELSE: AUTO-GENERATE as "phase-N" where N is next sequential number
- PROCEED to Phase 3 (Interactive Requirements Gathering)
- GENERATE phase identifier:
Phase 3: Interactive Requirements Gathering (Only if User Approved New Phase)
-
USER CONSULTATION - PRIMARY FEATURES:
- ASK: "What are the main features or improvements you want to focus on in this phase?"
- PROMPT for specific areas:
- New functionality you'd like to add
- Existing features that need improvement
- User experience enhancements
- Performance or technical improvements
- GATHER priority ranking from user input
-
USER CONSULTATION - TECHNICAL PREFERENCES:
- ASK: "Are there any technical areas you'd like to address?"
- Code refactoring or cleanup
- Testing improvements
- Performance optimizations
- Security enhancements
- Accessibility improvements
- UNDERSTAND user's technical comfort level and preferences
- ASK: "Are there any technical areas you'd like to address?"
-
USER CONSULTATION - CONSTRAINTS:
- ASK: "What constraints should we consider for this phase?"
- Time limitations
- Complexity preferences (simple vs. ambitious)
- Dependencies on external factors
- Resource availability
- CLARIFY realistic scope expectations
- ASK: "What constraints should we consider for this phase?"
-
FEATURE CATEGORIZATION (Based on user input):
- Iteration Features: User-identified improvements to existing functionality
- Extension Features: User-requested new capabilities
- Foundation Features: User-approved technical improvements
Phase 4: Optional Context Analysis
-
IF USER REQUESTS CONTEXT from previous work:
- REVIEW completed stories for relevant patterns
- ASSESS current technical foundation capabilities
- IDENTIFY any blockers from incomplete work
-
TECHNICAL FOUNDATION REVIEW (only if relevant to user goals):
- EVALUATE current stack capabilities against user requirements
- IDENTIFY necessary technical prerequisites
- ASSESS feasibility of user-requested features
-
SUCCESS CRITERIA DEFINITION (collaborative):
- WORK WITH USER to define measurable goals
- SET realistic timelines based on user constraints
- ESTABLISH clear completion criteria for each feature
Phase 5: User Confirmation for Documentation
-
IF analyze_only flag is TRUE:
- GENERATE analysis report to console
- PROVIDE recommendations without creating files
- SUGGEST optimal phase planning approach
- EXIT without file creation
-
MANDATORY USER CONFIRMATION (for full phase creation):
- PRESENT complete phase plan summary to user including:
- Proposed phase name and scope
- Feature categories and priorities (based on user input)
- Estimated timeline and effort
- Technical approach and considerations
- Story breakdown and dependencies
- ASK EXPLICITLY: "Should I proceed with creating the phase documentation files based on this plan?"
- REQUIRE explicit user approval (yes/no response)
- IF USER DECLINES: Exit without creating any files, suggest refinements
- IF USER APPROVES: Proceed to Phase 6 (Documentation Generation)
- PRESENT complete phase plan summary to user including:
Phase 6: Phase Documentation Generation (User Approved Only)
- ONLY EXECUTE if user explicitly approved in Phase 5:
-
CREATE phase directory:
/docs/project-context/phases/[phase_name]/ -
GENERATE phase brief at
/docs/project-context/phases/[phase_name]/phase-brief.md:# Phase Brief: [phase_name] **Phase Name:** [phase_name] **Created:** [date] **Previous Phase Completion:** [completion_percentage]% **Estimated Duration:** [duration] ## Phase Overview [Description of this development phase goals and focus] ## Previous Phase Summary ### Recent Development Context [Brief summary of recent work for context, if relevant] ### Current Project State [Assessment of current capabilities and foundation] ## Phase Goals & Objectives ### Primary Focus [Main goal for this phase] ### Success Criteria [Measurable outcomes and quality gates] ## Feature Categories ### Iteration Features (Improve Existing) [User-identified improvements to existing functionality with effort estimates] ### Extension Features (Build New) [User-requested new capabilities with effort estimates and dependencies] ### Foundation Features (Technical Improvements) [User-approved technical improvements with effort estimates] ## Technical Considerations ### Required Refactoring [Technical debt and refactoring needs] ### Performance Targets [Specific performance goals and metrics] ### Quality Improvements [Testing, accessibility, and code quality goals] ## Dependencies and Prerequisites [What must be completed before starting each feature category] ## Risk Assessment [Specific risks for this phase with mitigation strategies] ## Estimated Timeline [Phase-based implementation plan with milestones] ## Story Planning [List of stories to be created for this phase] ## Success Metrics [How to measure phase completion and success] -
CREATE story queue at
/docs/project-context/phases/[phase_name]/story-queue.md:# Story Queue: [phase_name] ## Ready for Development [Stories ready to move to /docs/stories/development/] ## Blocked/Waiting [Stories waiting for dependencies or decisions] ## Future Consideration [Stories for later in the phase or next phase] ## Story Dependencies [Dependency relationships between new stories] -
UPDATE main project brief:
- ADD phase summary based on user input
- UPDATE timeline with new phase
- REFERENCE new phase documentation
-
Phase 7: Story Planning and Organization
-
USER STORY DEFINITION (based on user requirements):
- CONVERT user requirements into actionable stories
- BREAK DOWN complex features into implementable chunks
- PRIORITIZE based on user preferences and dependencies
-
STORY QUEUE POPULATION:
- POPULATE story queue with user-defined priorities
- ORGANIZE by user-specified implementation order
- ESTIMATE effort based on user constraints and complexity preferences
-
EXISTING WORK INTEGRATION:
- REVIEW any incomplete stories for relevance to new phase
- SUGGEST continuation only if aligned with user goals
- IDENTIFY conflicts between existing work and new direction
Phase 8: Final Summary and Next Steps
-
COMPLETION SUMMARY:
- CONFIRM phase documentation has been created successfully
- SUMMARIZE what was implemented based on user requirements
- HIGHLIGHT key files created and their purposes
-
GENERATE operation summary with:
- User-defined feature goals and categories
- Estimated timeline based on user constraints
- Implementation approach aligned with user preferences
- Recommended next steps for development
-
PROVIDE actionable next steps:
- Commands to run to start new phase development
- Story creation recommendations based on user priorities
- Technical setup requirements for user-requested features
OUTPUTS
/docs/project-context/phases/[phase_name]/phase-brief.md: Focused phase documentation/docs/project-context/phases/[phase_name]/story-queue.md: Prioritized story backlog- Updated
/docs/project-context/project-brief.md: Phase completion summary - Console summary: Completion analysis and phase planning results
RULES
- MUST preserve all existing project documentation
- MUST prioritize user input over automated analysis
- MUST ask clarifying questions to understand user requirements
- MUST get explicit user approval before creating any new phase documentation
- MUST exit gracefully if user does not want a new phase
- MUST NOT create individual story files (only queue them)
- SHOULD focus on user-defined priorities and goals
- SHOULD build upon technical foundation already established
- MUST maintain consistency with main project brief
- SHOULD provide realistic effort estimates based on user constraints
ERROR HANDLING
- Missing project brief: Error and suggest running
/sdd:project-brieffirst - Insufficient user input: Ask clarifying questions to gather requirements
- File system errors: Report specific error and suggest manual intervention
- Invalid phase name: Sanitize and suggest corrected version
PERFORMANCE CONSIDERATIONS
- Large story collections: Process incrementally to avoid memory issues
- Complex dependency analysis: Limit analysis to direct dependencies
- File I/O optimization: Batch read operations for story analysis
SECURITY CONSIDERATIONS
- File permissions: Ensure write access to project-context directory
- Path validation: Sanitize all file paths and directory names
- Data integrity: Validate story file parsing before analysis
INTEGRATION WITH EXISTING WORKFLOW
- Before: Must have existing project brief
- After: Use
/sdd:story-newto create individual stories from queue - Complements: Works with
/sdd:project-brieffor major updates - Feeds into: Standard story development workflow
RELATED COMMANDS
/sdd:project-brief: Update main project documentation/sdd:story-new: Create individual stories from phase queue/sdd:project-status: View current development state/sdd:story-relationships: Manage dependencies between stories
VERSION HISTORY
- v1.0: Initial implementation with completion analysis and phase planning
- v1.1: Updated to prioritize interactive user input over automated analysis
- v1.2: Added mandatory user consultation before phase creation and explicit approval before documentation