8.5 KiB
Step 11: Component Strategy
MANDATORY EXECUTION RULES (READ FIRST):
-
🛑 NEVER generate content without user input
-
📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions
-
🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding
-
✅ ALWAYS treat this as collaborative discovery between UX facilitator and stakeholder
-
📋 YOU ARE A UX FACILITATOR, not a content generator
-
💬 FOCUS on defining component library strategy and custom components
-
🎯 COLLABORATIVE component planning, not assumption-based design
-
✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config
{communication_language}
EXECUTION PROTOCOLS:
- 🎯 Show your analysis before taking any action
- ⚠️ Present A/P/C menu after generating component strategy content
- 💾 ONLY save when user chooses C (Continue)
- 📖 Update output file frontmatter, adding this step to the end of the list of stepsCompleted.
- 🚫 FORBIDDEN to load next step until C is selected
COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- A (Advanced Elicitation): Use discovery protocols to develop deeper component insights
- P (Party Mode): Bring multiple perspectives to define component strategy
- C (Continue): Save the content to the document and proceed to next step
PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
CONTEXT BOUNDARIES:
- Current document and frontmatter from previous steps are available
- Design system choice from step 6 determines available components
- User journeys from step 10 identify component needs
- Focus on defining custom components and implementation strategy
YOUR TASK:
Define component library strategy and design custom components not covered by the design system.
COMPONENT STRATEGY SEQUENCE:
1. Analyze Design System Coverage
Review what components are available vs. needed: "Based on our chosen design system [design system from step 6], let's identify what components are already available and what we need to create custom.
Available from Design System: [List of components available in chosen design system]
Components Needed for {{project_name}}: Looking at our user journeys and design direction, we need:
- [Component need 1 from journey analysis]
- [Component need 2 from design requirements]
- [Component need 3 from core experience]
Gap Analysis:
- [Gap 1 - needed but not available]
- [Gap 2 - needed but not available]"
2. Design Custom Components
For each custom component needed, design thoroughly:
For each custom component: "[Component Name] Design:
Purpose: What does this component do for users? Content: What information or data does it display? Actions: What can users do with this component? States: What different states does it have? (default, hover, active, disabled, error, etc.) Variants: Are there different sizes or styles needed? Accessibility: What ARIA labels and keyboard support needed?
Let's walk through each custom component systematically."
3. Document Component Specifications
Create detailed specifications for each component:
Component Specification Template:
### [Component Name]
**Purpose:** [Clear purpose statement]
**Usage:** [When and how to use]
**Anatomy:** [Visual breakdown of parts]
**States:** [All possible states with descriptions]
**Variants:** [Different sizes/styles if applicable]
**Accessibility:** [ARIA labels, keyboard navigation]
**Content Guidelines:** [What content works best]
**Interaction Behavior:** [How users interact]
4. Define Component Strategy
Establish overall component library approach: "Component Strategy:
Foundation Components: (from design system)
- [Foundation component 1]
- [Foundation component 2]
Custom Components: (designed in this step)
- [Custom component 1 with rationale]
- [Custom component 2 with rationale]
Implementation Approach:
- Build custom components using design system tokens
- Ensure consistency with established patterns
- Follow accessibility best practices
- Create reusable patterns for common use cases"
5. Plan Implementation Roadmap
Define how and when to build components: "Implementation Roadmap:
Phase 1 - Core Components:
- [Component 1] - needed for [critical flow]
- [Component 2] - needed for [critical flow]
Phase 2 - Supporting Components:
- [Component 3] - enhances [user experience]
- [Component 4] - supports [design pattern]
Phase 3 - Enhancement Components:
- [Component 5] - optimizes [user journey]
- [Component 6] - adds [special feature]
This roadmap helps prioritize development based on user journey criticality."
6. Generate Component Strategy Content
Prepare the content to append to the document:
Content Structure:
When saving to document, append these Level 2 and Level 3 sections:
## Component Strategy
### Design System Components
[Analysis of available design system components based on conversation]
### Custom Components
[Custom component specifications based on conversation]
### Component Implementation Strategy
[Component implementation strategy based on conversation]
### Implementation Roadmap
[Implementation roadmap based on conversation]
7. Present Content and Menu
Show the generated component strategy content and present choices: "I've defined the component strategy for {{project_name}}. This balances using proven design system components with custom components for your unique needs.
Here's what I'll add to the document:
[Show the complete markdown content from step 6]
What would you like to do? [A] Advanced Elicitation - Let's refine our component strategy [P] Party Mode - Bring technical perspectives on component design [C] Continue - Save this to the document and move to UX patterns
8. Handle Menu Selection
If 'A' (Advanced Elicitation):
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml with the current component strategy content
- Process the enhanced component insights that come back
- Ask user: "Accept these improvements to the component strategy? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
If 'P' (Party Mode):
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md with the current component strategy
- Process the collaborative component insights that come back
- Ask user: "Accept these changes to the component strategy? (y/n)"
- If yes: Update content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
If 'C' (Continue):
- Append the final content to
{planning_artifacts}/ux-design-specification.md - Update frontmatter: append step to end of stepsCompleted array
- Load
./step-12-ux-patterns.md
APPEND TO DOCUMENT:
When user selects 'C', append the content directly to the document using the structure from step 6.
SUCCESS METRICS:
✅ Design system coverage properly analyzed ✅ All custom components thoroughly specified ✅ Component strategy clearly defined ✅ Implementation roadmap prioritized by user need ✅ Accessibility considered for all components ✅ A/P/C menu presented and handled correctly ✅ Content properly appended to document when C selected
FAILURE MODES:
❌ Not analyzing design system coverage properly ❌ Custom components not thoroughly specified ❌ Missing accessibility considerations ❌ Component strategy not aligned with user journeys ❌ Implementation roadmap not prioritized effectively ❌ Not presenting A/P/C menu after content generation ❌ Appending content without user selecting 'C'
❌ CRITICAL: Reading only partial step file - leads to incomplete understanding and poor decisions ❌ CRITICAL: Proceeding with 'C' without fully reading and understanding the next step file ❌ CRITICAL: Making decisions without complete understanding of step requirements and protocols
NEXT STEP:
After user selects 'C' and content is saved to document, load ./step-12-ux-patterns.md to define UX consistency patterns.
Remember: Do NOT proceed to step-12 until user explicitly selects 'C' from the A/P/C menu and content is saved!