step-11-component-strategy.md 8.5 KB

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!