agent team workflows

This commit is contained in:
Brian Madison
2025-06-08 17:34:38 -05:00
parent 54406fa871
commit f1fa6256f0
31 changed files with 2280 additions and 938 deletions

View File

@@ -54,7 +54,7 @@ Only needed if you want to customize agents:
### Configuring Custom Agents
- Edit YAML files in `/agents/` to customize behavior
- Create new team combinations in `team-*.yml` files
- Create new team combinations in `/agent-teams/` directory
- All configuration is now YAML-based for easy editing
### IDE Slash Commands

View File

@@ -0,0 +1,188 @@
workflow:
id: api-only
name: API-First Development
description: >-
Workflow for building REST APIs, GraphQL services, or microservices
without frontend components.
type: greenfield
project_types:
- rest-api
- graphql-api
- microservice
- backend-service
stages:
- id: api-discovery
name: API Requirements Discovery
description: Understand API consumers and requirements
steps:
- agent: analyst
action: API Requirements Analysis
description: >-
Analyze API consumers, use cases, and integration requirements
outputs:
- api-requirements
- consumer-analysis
prompts:
- "Who will consume this API? Internal services, mobile apps, third parties?"
- "What are the main operations and data flows?"
- id: api-design
name: API Product Design
description: Design API as a product
steps:
- agent: pm
action: API Product Strategy
description: >-
Define API product strategy, versioning, and roadmap
inputs:
- api-requirements
outputs:
- api-product-spec
- api-roadmap
prompts:
- "What's the API versioning strategy?"
- "How will the API evolve over time?"
- agent: architect
action: API Architecture Design
description: >-
Design RESTful resources, GraphQL schema, or service contracts
inputs:
- api-product-spec
outputs:
- api-design-doc
- openapi-spec
- data-contracts
prompts:
- "Let's design the API endpoints and data models"
- "Define authentication and authorization strategy"
- id: technical-design
name: Technical Architecture
description: Design backend architecture and infrastructure
steps:
- agent: architect
action: Backend Architecture
description: >-
Design service architecture, database, and integrations
inputs:
- api-design-doc
outputs:
- backend-architecture
- database-design
- integration-architecture
prompts:
- "Design the service layer architecture"
- "What databases and caching strategies?"
- agent: devops
action: API Infrastructure
description: >-
Design API gateway, rate limiting, monitoring, and deployment
inputs:
- backend-architecture
outputs:
- api-infrastructure
- monitoring-strategy
- deployment-plan
prompts:
- "Design API gateway and rate limiting"
- "Define monitoring and alerting strategy"
- id: validation
name: API Design Validation
description: Validate API design and documentation
steps:
- agent: po
action: API Design Review
description: >-
Review API design for completeness and usability
inputs:
- api-design-doc
- openapi-spec
outputs:
- api-validation-report
- api-documentation
prompts:
- "Review API design for developer experience"
- "Is the API documentation complete?"
- id: development-planning
name: Implementation Planning
description: Plan API implementation sprints
steps:
- agent: sm
action: API Development Stories
description: >-
Create stories for endpoints, middleware, and infrastructure
inputs:
- api-design-doc
- backend-architecture
outputs:
- api-stories
- implementation-plan
prompts:
- "Break down API into implementation stories"
- "Prioritize endpoints for phased delivery"
- agent: qa
action: API Test Planning
description: >-
Create API testing strategy and automation plan
inputs:
- openapi-spec
- api-stories
outputs:
- api-test-strategy
- contract-tests
- performance-tests
prompts:
- "Design API contract testing approach"
- "Plan load testing and performance benchmarks"
- id: developer-experience
name: Developer Experience
description: Prepare API for developers
steps:
- agent: dev
action: SDK & Documentation Planning
description: >-
Plan SDK development and interactive documentation
inputs:
- openapi-spec
- api-documentation
outputs:
- sdk-requirements
- doc-portal-plan
prompts:
- "Which language SDKs are needed?"
- "Plan interactive API documentation"
transitions:
- from: api-discovery
to: api-design
condition: requirements analyzed
- from: api-design
to: technical-design
condition: api spec completed
- from: technical-design
to: validation
condition: architecture completed
- from: validation
to: development-planning
condition: design approved
- from: development-planning
to: developer-experience
condition: stories created
artifacts:
openapi-spec:
format: openapi-3.0
description: Complete API specification
api-design-doc:
template: api-design-tmpl
description: API design decisions and patterns
contract-tests:
format: postman-collection
description: API contract test suite

View File

@@ -0,0 +1,229 @@
workflow:
id: backend-service
name: Backend Service Development
description: >-
Workflow for building microservices, backend APIs, or data processing services
with focus on scalability, reliability, and maintainability.
type: greenfield
project_types:
- microservice
- data-pipeline
- background-worker
- event-processor
stages:
- id: service-discovery
name: Service Requirements
description: Define service boundaries and responsibilities
steps:
- agent: analyst
action: Service Analysis
description: >-
Analyze service requirements, boundaries, and integrations
outputs:
- service-brief
- integration-requirements
- data-flow-analysis
prompts:
- "What is this service's primary responsibility?"
- "What other services will it interact with?"
- "What are the data input/output requirements?"
- id: service-design
name: Service Design
description: Design service architecture and contracts
steps:
- agent: architect
action: Service Architecture
description: >-
Design service internals, API contracts, and data models
inputs:
- service-brief
- integration-requirements
outputs:
- service-architecture
- api-contracts
- event-schemas
- data-models
prompts:
- "Design the service architecture pattern"
- "Define API contracts and event schemas"
- "Choose appropriate data storage solutions"
- agent: architect
action: Integration Design
description: >-
Design service mesh, messaging, and integration patterns
inputs:
- service-architecture
- integration-requirements
outputs:
- integration-architecture
- messaging-patterns
- service-mesh-config
prompts:
- "Design inter-service communication"
- "Choose messaging patterns (sync/async)"
- "Define service discovery approach"
- id: reliability-design
name: Reliability & Performance
description: Design for production reliability
steps:
- agent: devops
action: Production Architecture
description: >-
Design deployment, scaling, and reliability features
inputs:
- service-architecture
outputs:
- deployment-architecture
- scaling-strategy
- reliability-patterns
- observability-design
prompts:
- "Design auto-scaling and load balancing"
- "Plan fault tolerance and circuit breakers"
- "Design comprehensive observability"
- agent: architect
action: Performance Design
description: >-
Design caching, optimization, and performance strategies
inputs:
- service-architecture
- data-flow-analysis
outputs:
- performance-architecture
- caching-strategy
- query-optimization
prompts:
- "Identify performance bottlenecks"
- "Design caching layers"
- "Optimize data access patterns"
- id: security-design
name: Security Architecture
description: Design security controls and compliance
steps:
- agent: architect
action: Security Design
description: >-
Design authentication, authorization, and data security
inputs:
- service-architecture
- api-contracts
outputs:
- security-architecture
- auth-design
- encryption-strategy
- compliance-controls
prompts:
- "Design authentication and authorization"
- "Plan data encryption at rest and in transit"
- "Address compliance requirements"
- id: validation
name: Architecture Validation
description: Validate complete service design
steps:
- agent: po
action: Service Design Review
description: >-
Review service design for completeness and alignment
inputs:
- service-architecture
- integration-architecture
- security-architecture
outputs:
- design-approval
- risk-assessment
prompts:
- "Review service boundaries and responsibilities"
- "Validate non-functional requirements"
- id: implementation-planning
name: Implementation Planning
description: Plan service implementation
steps:
- agent: sm
action: Service Implementation Stories
description: >-
Create implementation stories with clear boundaries
inputs:
- service-architecture
- api-contracts
outputs:
- implementation-stories
- api-development-plan
- integration-test-plan
prompts:
- "Break down into implementation stories"
- "Define story dependencies"
- "Plan incremental delivery"
- agent: qa
action: Service Testing Strategy
description: >-
Design testing strategy for distributed systems
inputs:
- service-architecture
- integration-architecture
outputs:
- test-strategy
- contract-testing-plan
- chaos-testing-plan
- performance-test-plan
prompts:
- "Design contract testing approach"
- "Plan chaos engineering tests"
- "Define performance benchmarks"
- id: operational-readiness
name: Operational Readiness
description: Prepare for production deployment
steps:
- agent: devops
action: Production Readiness
description: >-
Create runbooks, monitoring, and deployment procedures
inputs:
- deployment-architecture
- observability-design
outputs:
- runbooks
- monitoring-dashboards
- alert-rules
- deployment-procedures
prompts:
- "Create operational runbooks"
- "Design monitoring dashboards"
- "Define SLIs and SLOs"
transitions:
- from: service-discovery
to: service-design
condition: requirements defined
- from: service-design
to: reliability-design
condition: architecture completed
- from: reliability-design
to: security-design
condition: reliability planned
- from: security-design
to: validation
condition: security designed
- from: validation
to: implementation-planning
condition: design approved
- from: implementation-planning
to: operational-readiness
condition: stories created
key_artifacts:
- Service architecture document
- API contracts and schemas
- Integration architecture
- Security controls
- Operational runbooks
- Test strategies

View File

@@ -0,0 +1,193 @@
workflow:
id: brownfield-enhancement
name: Brownfield Enhancement
description: >-
Workflow for adding features, refactoring, or modernizing existing applications.
Handles legacy code analysis and incremental improvements.
type: brownfield
project_types:
- feature-addition
- refactoring
- modernization
- bug-fix
stages:
- id: system-analysis
name: Existing System Analysis
description: Understand current system and identify improvement areas
steps:
- agent: analyst
action: System Assessment
description: >-
Analyze existing system, codebase, and identify pain points
inputs:
- existing-documentation
- codebase-access
outputs:
- system-assessment
- improvement-opportunities
- technical-debt-analysis
prompts:
- "Let's analyze the existing system architecture"
- "What are the main pain points and technical debt?"
- "Share any existing documentation or system diagrams"
- "You can also share the codebase if you have access to it"
- agent: dev
action: Code Analysis
description: >-
Deep dive into codebase quality and structure
inputs:
- codebase-access
outputs:
- code-quality-report
- dependency-analysis
- refactoring-candidates
prompts:
- "Let me analyze the code structure and quality"
- "Identifying areas that need refactoring"
- id: enhancement-planning
name: Enhancement Planning
description: Plan improvements and new features
steps:
- agent: pm
action: Enhancement Strategy
description: >-
Define enhancement goals and success criteria
inputs:
- system-assessment
- improvement-opportunities
outputs:
- enhancement-prd
- success-metrics
- risk-assessment
prompts:
- "What specific enhancements are we targeting?"
- "Define success metrics for these improvements"
- agent: architect
action: Integration Architecture
description: >-
Design how new features integrate with existing system
inputs:
- enhancement-prd
- system-assessment
outputs:
- integration-architecture
- migration-strategy
- compatibility-matrix
prompts:
- "How will new features integrate with existing code?"
- "Design migration strategy for gradual rollout"
- id: incremental-design
name: Incremental Design
description: Design changes that don't break existing functionality
steps:
- agent: fullstack-architect
action: Incremental Architecture
description: >-
Design architecture that allows gradual migration
inputs:
- integration-architecture
- technical-debt-analysis
outputs:
- incremental-architecture
- feature-flags-design
- rollback-strategy
prompts:
- "Design architecture for incremental deployment"
- "How do we maintain backward compatibility?"
- agent: devops
action: Deployment Strategy
description: >-
Plan zero-downtime deployment and rollback procedures
inputs:
- incremental-architecture
outputs:
- deployment-strategy
- canary-release-plan
- monitoring-upgrades
prompts:
- "Design blue-green or canary deployment"
- "Upgrade monitoring for new features"
- id: risk-mitigation
name: Risk Assessment & Mitigation
description: Identify and plan for risks in brownfield changes
steps:
- agent: qa
action: Regression Risk Analysis
description: >-
Identify regression risks and test coverage gaps
inputs:
- code-quality-report
- integration-architecture
outputs:
- regression-risk-matrix
- test-gap-analysis
- test-automation-plan
prompts:
- "What existing functionality might break?"
- "Where do we need additional test coverage?"
- agent: po
action: Change Impact Review
description: >-
Review all changes for business impact
inputs:
- enhancement-prd
- risk-assessment
- regression-risk-matrix
outputs:
- impact-analysis
- stakeholder-communication
- approval-checklist
prompts:
- "Review impact on existing users and workflows"
- "Prepare stakeholder communication plan"
- id: implementation-planning
name: Phased Implementation
description: Create phased implementation plan
steps:
- agent: sm
action: Phased Story Creation
description: >-
Create stories for incremental implementation
inputs:
- incremental-architecture
- impact-analysis
outputs:
- implementation-phases
- user-stories
- dependency-map
prompts:
- "Break down into safe, incremental phases"
- "Map dependencies between stories"
transitions:
- from: system-analysis
to: enhancement-planning
condition: assessment complete
- from: enhancement-planning
to: incremental-design
condition: strategy defined
- from: incremental-design
to: risk-mitigation
condition: architecture approved
- from: risk-mitigation
to: implementation-planning
condition: risks assessed
special_considerations:
- name: Legacy Code
description: Handle undocumented or poorly structured code
- name: Data Migration
description: Plan for data structure changes
- name: User Training
description: Consider impact on existing users
- name: Rollback Plan
description: Always have a way to revert changes

View File

@@ -0,0 +1,219 @@
workflow:
id: frontend-only
name: Frontend Application Development
description: >-
Workflow for building frontend applications that consume existing APIs.
Perfect for SPAs, mobile apps, or micro-frontends.
type: greenfield
project_types:
- spa
- mobile-app
- micro-frontend
- static-site
stages:
- id: frontend-discovery
name: Frontend Requirements
description: Understand user needs and API constraints
steps:
- agent: analyst
action: Frontend Analysis
description: >-
Analyze user needs, existing APIs, and frontend requirements
inputs:
- api-documentation
- user-requirements
outputs:
- frontend-brief
- api-integration-plan
prompts:
- "What APIs will the frontend consume?"
- "What are the key user interactions?"
- id: ux-design
name: User Experience Design
description: Design complete user experience
steps:
- agent: ux-expert
action: Complete UX Process
description: >-
User research, personas, flows, wireframes, and prototypes
inputs:
- frontend-brief
outputs:
- user-research
- personas
- user-flows
- wireframes
- interactive-prototype
prompts:
- "Let's understand your users deeply"
- "Design the complete user journey"
- agent: ux-expert
action: Visual Design
description: >-
Create visual designs and style guide
inputs:
- wireframes
- brand-guidelines
outputs:
- visual-designs
- style-guide
- design-tokens
prompts:
- "Create the visual language"
- "Define colors, typography, and spacing"
- id: frontend-architecture
name: Frontend Technical Design
description: Design frontend architecture and components
steps:
- agent: ui-architect
action: Frontend Architecture
description: >-
Design component architecture, state management, and routing
inputs:
- interactive-prototype
- api-integration-plan
outputs:
- frontend-architecture
- component-hierarchy
- state-management-design
- routing-design
prompts:
- "Design the frontend architecture"
- "Choose framework and design patterns"
- agent: ui-architect
action: Component Design System
description: >-
Create detailed component specifications and AI generation prompts
inputs:
- visual-designs
- design-tokens
outputs:
- component-library-spec
- ai-generation-prompts
- accessibility-guidelines
prompts:
- "Design reusable component system"
- "Create prompts for AI UI generation"
- id: api-integration
name: API Integration Planning
description: Plan API integration and data flow
steps:
- agent: fullstack-architect
action: Integration Architecture
description: >-
Design API integration, data fetching, and caching strategies
inputs:
- api-documentation
- frontend-architecture
outputs:
- integration-patterns
- data-flow-design
- error-handling-strategy
- caching-strategy
prompts:
- "Design efficient API integration"
- "Plan offline capabilities if needed"
- id: performance-planning
name: Performance & Optimization
description: Plan for optimal performance
steps:
- agent: ui-architect
action: Performance Strategy
description: >-
Design performance optimization and PWA features
inputs:
- frontend-architecture
outputs:
- performance-budget
- optimization-strategy
- pwa-features
prompts:
- "Set performance budgets"
- "Plan lazy loading and code splitting"
- id: validation
name: Design Validation
description: Validate all frontend designs
steps:
- agent: po
action: Frontend Validation
description: >-
Validate UX, technical design, and accessibility
inputs:
- visual-designs
- frontend-architecture
- component-library-spec
outputs:
- design-approval
- accessibility-review
prompts:
- "Review all designs for consistency"
- "Validate accessibility compliance"
- id: development-planning
name: Frontend Development Planning
description: Plan implementation sprints
steps:
- agent: sm
action: Frontend Stories
description: >-
Create component and feature stories
inputs:
- component-library-spec
- frontend-architecture
outputs:
- component-stories
- feature-stories
- sprint-plan
prompts:
- "Break down into component stories"
- "Plan progressive enhancement"
- agent: qa
action: Frontend Testing Strategy
description: >-
Plan unit, integration, and E2E testing
inputs:
- component-stories
- user-flows
outputs:
- test-strategy
- e2e-test-scenarios
- visual-regression-tests
prompts:
- "Design component testing approach"
- "Plan E2E test scenarios"
transitions:
- from: frontend-discovery
to: ux-design
condition: requirements understood
- from: ux-design
to: frontend-architecture
condition: designs completed
- from: frontend-architecture
to: api-integration
condition: architecture defined
- from: api-integration
to: performance-planning
condition: integration planned
- from: performance-planning
to: validation
condition: optimization planned
- from: validation
to: development-planning
condition: designs approved
deliverables:
- Interactive prototype
- Component library specification
- AI UI generation prompts
- Frontend architecture document
- Performance optimization plan

View File

@@ -0,0 +1,227 @@
workflow:
id: fullstack-app
name: Full-Stack Application Development
description: >-
Comprehensive workflow for building production-ready full-stack applications
with emphasis on UI/UX and scalable architecture.
type: greenfield
project_types:
- web-app
- saas
- enterprise-app
stages:
- id: discovery
name: Discovery & Analysis
description: Deep dive into requirements and market analysis
steps:
- agent: analyst
action: Market & Requirements Analysis
description: >-
Analyze market, competitors, and gather detailed requirements
outputs:
- project-brief
- market-analysis
prompts:
- "Let's analyze the market landscape for your application"
- "What are your competitive advantages?"
- id: product-design
name: Product Design
description: Create comprehensive product specifications
steps:
- agent: pm
action: Create Detailed PRD
description: >-
Create comprehensive PRD with user stories and success metrics
inputs:
- project-brief
- market-analysis
outputs:
- prd
- success-metrics
prompts:
- "Let's define detailed features and user stories"
- "What metrics will measure success?"
- agent: ux-expert
action: Complete UX Design
description: >-
Create user research, personas, flows, and detailed wireframes
inputs:
- prd
outputs:
- user-personas
- user-flows
- wireframes
- ui-specifications
prompts:
- "Let's create detailed user personas"
- "Time to design the complete user experience"
- id: ui-development
name: UI Design & Prototyping
description: Create high-fidelity designs and interactive prototypes
steps:
- agent: ui-architect
action: UI Architecture & Design System
description: >-
Create design system, component library specs, and UI architecture
inputs:
- wireframes
- ui-specifications
outputs:
- design-system
- component-specs
- ui-architecture
prompts:
- "Let's create a scalable design system"
- "Define reusable component architecture"
- agent: ux-expert
action: Generate UI Components
description: >-
Create AI prompts and generate actual UI components
inputs:
- design-system
- component-specs
outputs:
- ui-generation-prompts
- generated-components
prompts:
- "Let's create prompts for AI UI generation"
- "Generate the core UI components"
- id: technical-architecture
name: System Architecture
description: Design complete technical architecture
steps:
- agent: fullstack-architect
action: System Architecture Design
description: >-
Design complete system including microservices, APIs, and infrastructure
inputs:
- prd
- ui-architecture
outputs:
- system-architecture
- api-specifications
- data-models
prompts:
- "Design the complete system architecture"
- "Define API contracts and data models"
- agent: architect
action: Backend Architecture
description: >-
Detail backend services, integrations, and technical specifications
inputs:
- system-architecture
- api-specifications
outputs:
- backend-architecture
- integration-specs
prompts:
- "Detail the backend service architecture"
- "Define third-party integrations"
- agent: devops
action: Infrastructure Design
description: >-
Design cloud infrastructure, CI/CD, and deployment architecture
inputs:
- system-architecture
outputs:
- infrastructure-design
- deployment-architecture
- ci-cd-pipeline
prompts:
- "Design the cloud infrastructure"
- "Create CI/CD pipeline specifications"
- id: validation
name: Comprehensive Validation
description: Validate all artifacts and ensure alignment
steps:
- agent: po
action: Full Artifact Validation
description: >-
Validate all documents, ensure alignment, and approve for development
inputs:
- prd
- system-architecture
- ui-architecture
- infrastructure-design
outputs:
- validation-report
- approved-artifacts
prompts:
- "Complete validation of all artifacts"
- "Any final adjustments needed?"
- id: development-planning
name: Sprint Planning
description: Create detailed development plan and stories
steps:
- agent: sm
action: Create Sprint Plan
description: >-
Create epics, user stories, and detailed sprint plan
inputs:
- approved-artifacts
outputs:
- epics
- user-stories
- sprint-plan
- definition-of-done
prompts:
- "Let's break this into epics and stories"
- "Create the sprint roadmap"
- id: quality-planning
name: Quality Assurance Planning
description: Define testing strategy and quality metrics
steps:
- agent: qa
action: Test Strategy & Planning
description: >-
Create comprehensive test strategy and automation plan
inputs:
- prd
- system-architecture
- user-stories
outputs:
- test-strategy
- test-cases
- automation-plan
prompts:
- "Define the testing strategy"
- "Plan test automation approach"
transitions:
- from: discovery
to: product-design
condition: project-brief completed
- from: product-design
to: ui-development
condition: prd and wireframes completed
- from: ui-development
to: technical-architecture
condition: ui components designed
- from: technical-architecture
to: validation
condition: all architecture completed
- from: validation
to: development-planning
condition: artifacts approved
- from: development-planning
to: quality-planning
condition: stories created
checkpoints:
- after: product-design
review: Stakeholder review of PRD and UX
- after: technical-architecture
review: Architecture review board
- after: validation
review: Final go/no-go decision

View File

@@ -0,0 +1,179 @@
workflow:
id: greenfield-mvp
name: Greenfield MVP Development
description: >-
Complete workflow for building a new MVP from scratch. Takes you from initial
idea through planning, architecture, and development setup.
type: greenfield
project_types:
- web-app
- mobile-app
- full-stack
- app with microservice rest api
stages:
- id: discovery
name: Discovery & Requirements
description: Understand the problem space and gather requirements
steps:
- agent: analyst
action: Create Project Brief
description: >-
Brainstorm and document the project vision, goals, and high-level requirements
outputs:
- project-brief
prompts:
- "Let's explore your project idea. What problem are you trying to solve?"
- "Who are your target users and what are their main pain points?"
- id: planning
name: Product Planning
description: Define the product and create detailed requirements
steps:
- agent: pm
action: Create PRD
description: >-
Transform the project brief into a comprehensive Product Requirements Document
inputs:
- project-brief
outputs:
- prd
prompts:
- "Based on the project brief, let's define the MVP features"
- "What are the must-have features vs nice-to-have for launch?"
- agent: ux-expert
action: Design UX Strategy
description: >-
Create user flows, wireframes, and UI specifications
inputs:
- prd
outputs:
- ux-strategy
- ui-specifications
prompts:
- "Let's map out the user journey for the core features"
- "What UI patterns best serve your users' needs?"
- id: architecture
name: Technical Architecture
description: Design the system architecture and technical approach
steps:
- agent: fullstack-architect
action: Create Architecture Document
description: >-
Design comprehensive system architecture covering all layers
inputs:
- prd
- ui-specifications
outputs:
- architecture-doc
prompts:
- "Let's design a scalable architecture for your MVP"
- "What are your performance and scaling requirements?"
- agent: ui-architect
action: Create Frontend Architecture
description: >-
Detail the frontend architecture and component design
inputs:
- architecture-doc
- ui-specifications
outputs:
- frontend-architecture
- ui-prompt-specs
prompts:
- "Let's define the frontend stack and component architecture"
- "Should we generate UI components with AI assistance?"
- id: validation
name: Validation & Refinement
description: Review and validate all planning artifacts
steps:
- agent: po
action: Validate Artifacts
description: >-
Review all documents for consistency and completeness
inputs:
- project-brief
- prd
- architecture-doc
- frontend-architecture
outputs:
- validation-report
- change-requests
prompts:
- "Let's review all artifacts for consistency"
- "Are there any gaps or conflicts to address?"
- id: development-planning
name: Development Planning
description: Create actionable development stories
steps:
- agent: sm
action: Create User Stories
description: >-
Break down requirements into sprint-ready user stories
inputs:
- prd
- architecture-doc
- validation-report
outputs:
- user-stories
- sprint-plan
prompts:
- "Let's create the first sprint's user stories"
- "How should we prioritize the backlog?"
- id: development-handoff
name: Development Handoff
description: Transition to implementation phase
steps:
- agent: dev
action: Development Setup
description: >-
Review all artifacts and set up development environment
inputs:
- architecture-doc
- frontend-architecture
- user-stories
outputs:
- dev-environment
- implementation-plan
prompts:
- "Let's set up the development environment"
- "Ready to start implementing the first story?"
transitions:
- from: discovery
to: planning
condition: project-brief completed
- from: planning
to: architecture
condition: prd and ui-specifications completed
- from: architecture
to: validation
condition: all architecture docs completed
- from: validation
to: development-planning
condition: validation passed
- from: development-planning
to: development-handoff
condition: stories created
artifacts:
project-brief:
template: project-brief-tmpl
description: High-level project vision and goals
prd:
template: prd-tmpl
description: Detailed product requirements
architecture-doc:
template: fullstack-architecture-tmpl
description: Complete system architecture
frontend-architecture:
template: front-end-architecture-tmpl
description: Frontend-specific architecture
user-stories:
template: story-tmpl
description: Development-ready user stories

View File

@@ -5,13 +5,12 @@ bundle:
agents:
- bmad
- analyst
- pm
- ux-expert
- architect
- fullstack-architect
- design-architect
- po
- sm
- qa
- dev
- "*"
workflows:
- greenfield-mvp
- fullstack-app
- api-only
- brownfield-enhancement
- frontend-only
- backend-service

View File

@@ -0,0 +1,16 @@
bundle:
name: Full-Stack Development Team
description: >-
Comprehensive full-stack development team capable of handling both greenfield
application development and brownfield enhancement projects. This team combines
strategic planning, user experience design, and holistic system architecture
to deliver complete solutions from concept to deployment. Specializes in
full-stack applications, SaaS platforms, enterprise apps, feature additions,
refactoring, and system modernization.
target_environment: web
agents:
- bmad
- pm
- ux-expert
- fullstack-architect

View File

@@ -0,0 +1,11 @@
bundle:
name: Team Planning No UI
description: This is a team that is responsible for planning the project without any UI/UX design. This is for backend only projects.
target_environment: web
agents:
- bmad
- analyst
- pm
- architect
- po

View File

@@ -16,3 +16,8 @@ dependencies:
- bmad-kb
utils:
- orchestrator-commands
- workflow-management
- create-agent
- create-ide-agent
- create-team
- create-expansion-pack

View File

@@ -1,4 +1,5 @@
agent:
id: pm
name: John
title: Product Manager
description: >-

View File

@@ -1,10 +0,0 @@
bundle:
name: Team Planning No UI
target_environment: web
agents:
- bmad
- analyst
- pm
- architect
- po

View File

@@ -1,9 +1,9 @@
agent:
name: Jane
id: design-architect
title: Design Architect
id: ui-architect
title: UI Architect
description: For UI/UX specifications, front-end architecture, and UI 1-shot prompting.
persona: design-architect
persona: ui-architect
customize: ""
dependencies:
tasks:

View File

@@ -18,7 +18,7 @@
- [Business Analyst](#business-analyst)
- [Product Manager](#product-manager)
- [Architect](#architect)
- [Design Architect](#design-architect)
- [UI Architect](#ui-architect)
- [Product Owner](#product-owner)
- [Scrum Master](#scrum-master)
- [Developer](#developer)
@@ -370,7 +370,7 @@ npm run validate
- Technology selection
- Integration planning
### Design Architect
### UI Architect
**Name**: Jane (Web) / Millie (IDE)
**Purpose**: UI/UX and frontend architecture
@@ -581,8 +581,8 @@ bmad-core/
├── data/ # Knowledge bases and preferences
└── ide-agents/ # Standalone IDE agent files
agents/ # YAML agent configurations
bundles/ # Bundle configurations (team-*.yml)
agents/ # Individual agent YAML configurations
agent-teams/ # Team bundle configurations (team-*.yml)
tools/ # Build tooling and scripts
dist/ # Build output
```

View File

@@ -0,0 +1,28 @@
# /bmad
You are BMad, the BMAD Method orchestrator and expert guide.
## Expertise
- BMAD Method implementation
- Agent creation and configuration
- Team composition and dynamics
- Expansion pack development
## Approach
I provide hands-on guidance for customizing and extending BMAD to your specific needs.
## Focus
Making BMAD work perfectly for your project through thoughtful agent selection and configuration.
---
When activated with /bmad, I can help you:
- Create new agents or teams
- Build expansion packs
- Optimize your BMAD workflow
- Answer any BMAD Method questions
Available utilities: create-agent, create-ide-agent, create-team, create-expansion-pack

View File

@@ -0,0 +1,132 @@
# Create Agent Utility
This utility helps you create a new BMAD agent for web platforms (Gemini, ChatGPT, etc.).
## Process
Follow these steps to create a new agent:
### 1. Gather Basic Information
Ask the user for:
- **Agent ID**: A short, lowercase identifier (e.g., `data-analyst`, `security-expert`)
- **Agent Name**: The character name (e.g., "Elena", "Marcus")
- **Title**: Professional title (e.g., "Data Analyst", "Security Expert")
- **Description**: A brief description of the agent's role and primary focus
### 2. Define Personality and Expertise
Ask about:
- **Personality traits**: How should this agent behave? (professional, friendly, detail-oriented, etc.)
- **Communication style**: How do they speak? (formal, casual, technical, empathetic)
- **Expertise areas**: What are they exceptionally good at?
- **Years of experience**: How senior are they in their role?
- **Motivations**: What drives them to excel?
### 3. Identify Capabilities
Determine what the agent can do:
- **Existing tasks**: Which existing tasks from `/bmad-core/tasks/` should this agent know?
- **New tasks needed**: Does this agent need any specialized tasks that don't exist yet?
- **Templates used**: Which document templates will this agent work with?
- **Checklists**: Which quality checklists apply to this agent's work?
### 4. Create the Persona File
Create `/bmad-core/personas/{agent-id}.md` with this structure:
```markdown
# {Agent Name} - {Title}
## Character Profile
**Name:** {Agent Name}
**Title:** {Title}
**Experience:** {Years} years in {field}
## Personality
{Describe personality traits, communication style, and approach to work}
## Core Expertise
{List main areas of expertise and specialization}
## Responsibilities
{List key responsibilities in bullet points}
## Working Style
{Describe how they approach problems, collaborate, and deliver results}
## Motivations
{What drives them to excel in their role}
## Catchphrases
{Optional: Any signature phrases or ways of speaking}
```
### 5. Create the Agent Configuration
Create `/agents/{agent-id}.yml` with this structure:
```yaml
agent:
id: {agent-id}
name: {Agent Name}
title: {Title}
description: >-
{Full description of the agent's role and value}
persona: {agent-id}
customize: >-
{Any specific behavioral customizations}
dependencies:
tasks:
- {list of task IDs}
templates:
- {list of template IDs}
checklists:
- {list of checklist IDs}
data:
- {list of data file IDs}
utils:
- template-format
```
### 6. Create Any New Tasks
If new tasks were identified, create them in `/bmad-core/tasks/{task-name}.md`
### 7. Test and Validate
1. Run `npm run validate` to check configuration
2. Run `npm run build:agent -a {agent-id}` to build the agent
3. Review the generated output in `/dist/agents/{agent-id}.txt`
## Example Questions to Ask
1. "What will this agent be called? (ID like 'data-analyst')"
2. "What's their character name? (like 'Elena')"
3. "What's their professional title?"
4. "Describe their main role in 2-3 sentences."
5. "What personality traits should they have?"
6. "How many years of experience do they have?"
7. "What existing tasks should they know? (e.g., create-doc-from-template, execute-checklist)"
8. "Do they need any specialized tasks that don't exist yet?"
9. "Which document templates will they use?"
10. "What motivates them in their work?"
## Important Notes
- Keep personas engaging but professional
- Ensure all referenced tasks, templates, and checklists exist
- Web agents can be more detailed than IDE agents (no size constraints)
- Consider how this agent will collaborate with existing team members
- Run validation after creating to catch any issues

View File

@@ -0,0 +1,251 @@
# Create Expansion Pack Utility
This utility helps you create a comprehensive BMAD expansion pack that can include new agents, tasks, templates, and checklists for a specific domain.
## Understanding Expansion Packs
Expansion packs extend BMAD with domain-specific capabilities. They are self-contained packages that can be installed into any BMAD project.
## Process Overview
### Phase 1: Discovery and Planning
#### 1.1 Define the Domain
Ask the user:
- **Pack Name**: Short identifier (e.g., `healthcare`, `fintech`, `gamedev`)
- **Display Name**: Full name (e.g., "Healthcare Compliance Pack")
- **Description**: What domain or industry does this serve?
- **Key Problems**: What specific challenges will this pack solve?
- **Target Users**: Who will benefit from this expansion?
#### 1.2 Gather Examples
Request from the user:
- **Sample Documents**: Any existing documents in this domain
- **Workflow Examples**: How work currently flows in this domain
- **Compliance Needs**: Any regulatory or standards requirements
- **Output Examples**: What final deliverables look like
### Phase 2: Component Design
#### 2.1 Identify Required Agents
For each proposed agent:
- **Role**: What specialist is needed?
- **Expertise**: Domain-specific knowledge required
- **Interactions**: How they work with existing BMAD agents
- **Unique Value**: What can't existing agents handle?
#### 2.2 Design Specialized Tasks
For each task:
- **Purpose**: What specific action does it enable?
- **Inputs**: What information is needed?
- **Process**: Step-by-step instructions
- **Outputs**: What gets produced?
- **Agent Usage**: Which agents will use this task?
#### 2.3 Create Document Templates
For each template:
- **Document Type**: What kind of document?
- **Structure**: Sections and organization
- **Placeholders**: Variable content areas
- **Instructions**: How to complete each section
- **Standards**: Any format requirements
#### 2.4 Define Checklists
For each checklist:
- **Purpose**: What quality aspect does it verify?
- **Scope**: When should it be used?
- **Items**: Specific things to check
- **Criteria**: Pass/fail conditions
### Phase 3: Implementation
#### 3.1 Create Directory Structure
```
expansion-packs/
└── {pack-name}/
├── manifest.yml
├── README.md
├── agents/
│ └── {agent-id}.yml
├── personas/
│ └── {agent-id}.md
├── tasks/
│ └── {task-name}.md
├── templates/
│ └── {template-name}.md
├── checklists/
│ └── {checklist-name}.md
└── ide-agents/
└── {agent-id}.ide.md
```
#### 3.2 Create Manifest
Create `manifest.yml`:
```yaml
name: {Pack Name}
version: 1.0.0
description: >-
{Detailed description of the expansion pack}
author: {Your name or organization}
bmad_version: "4.0.0"
# Files to install
files:
- source: agents/{agent-id}.yml
destination: agents/{agent-id}.yml
- source: personas/{agent-id}.md
destination: bmad-core/personas/{agent-id}.md
- source: tasks/{task-name}.md
destination: bmad-core/tasks/{task-name}.md
# ... more files
# Optional: Update existing teams
team_updates:
- team: team-technical.yml
add_agent: {new-agent-id}
# Post-install message
post_install_message: >-
{Pack Name} installed successfully!
New agents available: {list agents}
New tasks available: {list tasks}
Run 'npm run build' to generate bundles.
```
### Phase 4: Content Creation
#### 4.1 Agent Creation Checklist
For each new agent:
1. Create persona file with domain expertise
2. Create agent configuration YAML
3. Create IDE-optimized version (optional)
4. List all task dependencies
5. Define template usage
6. Add to relevant teams
#### 4.2 Task Creation Guidelines
Each task should:
1. Have a clear, single purpose
2. Include step-by-step instructions
3. Provide examples when helpful
4. Reference domain standards
5. Be reusable across agents
#### 4.3 Template Best Practices
Templates should:
1. Include clear section headers
2. Provide inline instructions
3. Show example content
4. Mark required vs optional sections
5. Include domain-specific terminology
### Phase 5: Testing and Documentation
#### 5.1 Create README
Include:
- Overview of the pack's purpose
- List of all components
- Installation instructions
- Usage examples
- Integration notes
#### 5.2 Test Installation
1. Run `node tools/install-expansion-pack.js {pack-name}`
2. Verify all files copied correctly
3. Build agents to test configurations
4. Run sample scenarios
## Example: Healthcare Expansion Pack
```
healthcare/
├── manifest.yml
├── README.md
├── agents/
│ ├── clinical-analyst.yml
│ └── compliance-officer.yml
├── personas/
│ ├── clinical-analyst.md
│ └── compliance-officer.md
├── tasks/
│ ├── hipaa-assessment.md
│ ├── clinical-protocol-review.md
│ └── patient-data-analysis.md
├── templates/
│ ├── clinical-trial-protocol.md
│ ├── hipaa-compliance-report.md
│ └── patient-outcome-report.md
└── checklists/
├── hipaa-checklist.md
└── clinical-data-quality.md
```
## Interactive Questions Flow
### Initial Discovery
1. "What domain or industry will this expansion pack serve?"
2. "What are the main challenges or workflows in this domain?"
3. "Do you have any example documents or outputs? (Please share)"
4. "What specialized roles/experts exist in this domain?"
### Agent Planning
5. "For agent '{name}', what is their specific expertise?"
6. "What unique tasks would this agent perform?"
7. "How would they interact with existing BMAD agents?"
### Task Design
8. "Describe the '{task}' process step-by-step"
9. "What information is needed to complete this task?"
10. "What should the output look like?"
### Template Creation
11. "What sections should the '{template}' document have?"
12. "Are there any required formats or standards?"
13. "Can you provide an example of a completed document?"
### Integration
14. "Which existing teams should include these new agents?"
15. "Are there any dependencies between components?"
## Important Considerations
- **Domain Expertise**: Ensure accuracy in specialized fields
- **Compliance**: Include necessary regulatory requirements
- **Compatibility**: Test with existing BMAD agents
- **Documentation**: Provide clear usage instructions
- **Examples**: Include real-world scenarios
- **Maintenance**: Plan for updates as domain evolves
## Tips for Success
1. **Start Small**: Begin with 1-2 agents and expand
2. **Get Examples**: Real documents make better templates
3. **Test Thoroughly**: Run complete workflows
4. **Document Well**: Others will need to understand the domain
5. **Iterate**: Refine based on usage feedback

View File

@@ -0,0 +1,139 @@
# Create IDE Agent Utility
This utility helps you create a new BMAD agent optimized for IDE environments (Cursor, Windsurf, etc.).
## Important Constraints
IDE agents must be **compact and efficient** (target: under 2000 characters) to work well as slash commands.
## Process
### 1. Gather Essential Information
Ask the user for:
- **Agent ID**: Short, lowercase identifier (e.g., `api-expert`, `test-engineer`)
- **Slash command**: The command to activate (e.g., `/api`, `/test`)
- **Core purpose**: ONE primary function (IDE agents should be focused)
### 2. Define Minimal Personality
Keep it brief:
- **One-line personality**: A single trait or approach (e.g., "Direct and solution-focused")
- **Expertise**: 2-3 core skills maximum
- **Style**: How they communicate (brief! e.g., "Concise, code-first responses")
### 3. Identify Essential Capabilities
Be selective - IDE agents should be specialized:
- **1-2 primary tasks**: Only the most essential tasks
- **1 template maximum**: Only if absolutely necessary
- **Skip checklists**: Usually too large for IDE agents
- **Reuse existing tasks**: Creating new tasks for IDE agents is rare
### 4. Create the Compact IDE Agent
Create `/bmad-core/ide-agents/{agent-id}.ide.md` with this structure:
```markdown
# {Slash Command}
You are {Agent Name}, a {title/role}.
## Expertise
- {Skill 1}
- {Skill 2}
- {Skill 3 if essential}
## Approach
{One sentence about how you work}
## Focus
{One sentence about what you prioritize}
---
When activated with {slash command}, immediately focus on {primary purpose}.
```
### 5. Size Optimization Techniques
To keep agents small:
1. **Remove fluff**: No backstory, minimal personality
2. **Use references**: Reference tasks rather than inline instructions
3. **Be specific**: One job done well is better than many done poorly
4. **Trim lists**: Maximum 3-5 bullet points for any list
5. **Avoid examples**: Let referenced tasks handle examples
### 6. Test the Agent
1. Check character count: `wc -c {agent-file}`
2. Ensure it's under 2000 characters
3. Test in your IDE with the slash command
4. Verify it can access referenced tasks
## Example Questions (Keep it Simple!)
1. "What's the slash command? (e.g., /api)"
2. "What's the ONE thing this agent does best?"
3. "In 5 words or less, describe their personality"
4. "What 1-2 existing tasks do they need?"
5. "Any special focus or constraints?"
## Example: Minimal API Expert
```markdown
# /api
You are Alex, an API design expert.
## Expertise
- RESTful API design
- OpenAPI/Swagger specs
- API security patterns
## Approach
I provide immediate, practical API solutions with example code.
## Focus
Clean, secure, well-documented APIs that follow industry standards.
---
When activated with /api, immediately help with API design, endpoints, or specifications.
```
## Size Comparison
**Too Large** (persona-style):
```markdown
Alex is a seasoned API architect with over 10 years of experience
building scalable systems. They are passionate about clean design
and love to share their knowledge. Alex believes that good APIs
are like good conversations - clear, purposeful, and respectful
of everyone's time...
```
(Too much personality, not focused)
**Just Right** (IDE-style):
```markdown
You are Alex, an API design expert.
Focus: RESTful design, OpenAPI specs, security patterns.
Style: Direct solutions with example code.
```
(Minimal, focused, actionable)
## Important Notes
- **One agent, one job** - Don't try to do everything
- **Reference, don't repeat** - Use task dependencies
- **Test the size** - Must be under 2000 characters
- **Skip the story** - No background needed for IDE agents
- **Focus on action** - What they DO, not who they ARE

View File

@@ -0,0 +1,174 @@
# Create Team Utility
This utility helps you create a new BMAD team bundle by combining existing agents.
## Process
### 1. Define Team Basics
Ask the user for:
- **Team ID**: Filename without extension (e.g., `team-frontend`, `team-planning`)
- **Team Name**: Display name (e.g., "Frontend Development Team")
- **Team Description**: What this team is designed to accomplish
- **Target Environment**: Usually "web" for team bundles
### 2. List Available Agents
Show all available agents from `/agents/`:
```
Available agents:
- analyst (Mary) - Project Analyst and Brainstorming Coach
- architect (Fred) - System Architecture Expert
- bmad (BMad) - BMAD Method Orchestrator
- ui-architect (Jane) - UI/UX Architecture Expert
- dev (James) - Full Stack Developer
- devops (Alex) - Platform Engineer
- fullstack-architect (Winston) - Holistic System Designer
- pm (John) - Product Manager
- po (Sarah) - Product Owner
- qa (Quinn) - Test Architect
- sm (Bob) - Scrum Master
- ux-expert (Sally) - UX Design Expert
```
### 3. Select Team Members
For each agent the user wants to include:
1. Confirm the agent ID
2. Ask if they want to customize the persona for this team context
3. Note any special team dynamics or relationships
### 4. Optimize Team Composition
Consider:
- **Role coverage**: Does the team have all necessary skills?
- **Team size**: 3-7 agents is usually optimal
- **Collaboration**: How will these agents work together?
- **Use cases**: What problems will this team solve?
### 5. Create Team Configuration
Create `/agent-teams/{team-id}.yml`:
```yaml
bundle:
name: {Team Name}
description: >-
{Detailed description of the team's purpose and capabilities}
target_environment: web
agents:
- {agent-id-1}
- {agent-id-2}
- {agent-id-3}
# ... more agents
```
#### Using Wildcards
You can use `"*"` (quoted) to include all available agents:
```yaml
agents:
- bmad # Always include bmad first
- "*" # Include all other agents
```
Or mix specific agents with wildcard:
```yaml
agents:
- pm # Product Manager first
- architect # Then Architect
- "*" # Then all remaining agents
```
### 6. Validate and Build
1. Run `npm run validate` to check configuration
2. Run `npm run build` to generate the team bundle
3. Review output in `/dist/teams/{team-filename}.txt`
## Example Teams
### Development Team
```yaml
bundle:
name: Development Team Bundle
description: >-
Core development team for building features from story to deployment
target_environment: web
agents:
- sm # Sprint coordination
- dev # Implementation
- qa # Quality assurance
- devops # Deployment
```
### Planning Team
```yaml
bundle:
name: Planning Team Bundle
description: >-
Strategic planning team for project inception and architecture
target_environment: web
agents:
- analyst # Requirements gathering
- pm # Product planning
- architect # System design
- po # Validation
```
### Full-Stack Team
```yaml
bundle:
name: Full-Stack Team Bundle
description: >-
Complete team for full-stack application development
target_environment: web
agents:
- fullstack-architect # Holistic design
- design-architect # Frontend architecture
- dev # Implementation
- qa # Testing
- devops # Infrastructure
```
## Questions to Ask
1. "What should this team be called? (e.g., 'team-mobile')"
2. "What's the team's display name?"
3. "Describe the team's primary purpose"
4. "Which agents should be on this team? (list agent IDs)"
5. "Any special dynamics between team members?"
6. "What types of projects will this team handle?"
## Tips for Good Teams
- **Start small**: Begin with 3-4 core agents
- **Clear purpose**: Each team should have a specific focus
- **Complementary skills**: Agents should cover different aspects
- **Avoid redundancy**: Don't include agents with overlapping roles
- **Consider workflow**: Order agents by typical workflow sequence
## Common Team Patterns
1. **Scrum Team**: sm, dev, qa, po
2. **Planning Team**: analyst, pm, architect, po
3. **Design Team**: ux-expert, ui-architect, dev
4. **Full Organization**: All agents (for complex projects)
5. **Technical Team**: architect, dev, devops, qa
## Important Notes
- Teams reference existing agents - create agents first
- Keep team descriptions clear and purpose-driven
- Consider creating multiple focused teams rather than one large team
- Test team dynamics by running sample scenarios

View File

@@ -15,6 +15,14 @@ When these commands are used, perform the listed action:
- `/{agent} {query}`: Ever been talking to the PM and wanna ask the architect a question? Well just like calling bmad, you can call another agent - this is not recommended for most document workflows as it can confuse the LLM.
- `/party-mode`: This enters group chat with all available agents. The AI will simulate everyone available and you can have fun with all of them at once. During Party Mode, there will be no specific workflows followed - this is for group ideation or just having some fun with your agile team.
## Workflow Commands
- `/workflows`: List all available workflows for the current team with descriptions
- `/workflow-start {id}`: Start a specific workflow (use workflow ID or number from list)
- `/workflow-status`: Show current workflow progress, completed artifacts, and next steps
- `/workflow-resume`: Resume a workflow from where you left off (useful after starting new chat)
- `/workflow-next`: Show the next recommended agent and action in current workflow
## Agent-Specific Commands
The `/{agent}` command switches to any agent included in the bundle. The command accepts either:

View File

@@ -0,0 +1,178 @@
# Workflow Management
This utility enables the BMAD orchestrator to manage and execute team workflows.
## Workflow Commands
### /workflows
Lists all available workflows for the current team.
Example response:
```
Available workflows:
1. greenfield-mvp - Complete workflow for building a new MVP from scratch
2. fullstack-app - Comprehensive workflow for production-ready applications
3. api-only - API-first development workflow
4. brownfield-enhancement - Enhance existing applications
5. frontend-only - Frontend application development
Use /workflow-start {number or id} to begin a workflow.
```
### /workflow-start {workflow-id}
Starts a specific workflow and transitions to the first agent.
Example: `/workflow-start greenfield-mvp`
### /workflow-status
Shows current workflow progress, completed artifacts, and next steps.
Example response:
```
Current Workflow: Greenfield MVP Development
Stage: Product Planning (2 of 6)
Completed:
✓ Discovery & Requirements
- project-brief (completed by Mary)
In Progress:
⚡ Product Planning
- Create PRD (John) - awaiting input
Next: Technical Architecture
```
### /workflow-resume
Resumes a workflow from where it left off, useful when starting a new chat.
User can provide completed artifacts:
```
User: /workflow-resume greenfield-mvp
I have completed: project-brief, PRD
BMad: I see you've completed Discovery and part of Product Planning.
Based on the greenfield-mvp workflow, the next step is:
- UX Strategy with Sally (ux-expert)
Would you like me to load Sally to continue?
```
### /workflow-next
Shows the next recommended agent and action in the current workflow.
## Workflow Execution Flow
### 1. Starting a Workflow
When a workflow is started:
1. Load the workflow definition
2. Identify the first stage and step
3. Transition to the required agent
4. Provide context about expected inputs/outputs
5. Guide artifact creation
### 2. Stage Transitions
After each artifact is completed:
1. Mark the step as complete
2. Check transition conditions
3. If stage is complete, move to next stage
4. Load the appropriate agent
5. Pass relevant artifacts as context
### 3. Artifact Tracking
Track all created artifacts:
```yaml
workflow_state:
current_workflow: greenfield-mvp
current_stage: planning
current_step: 2
artifacts:
project-brief:
status: completed
created_by: analyst
timestamp: 2024-01-15T10:30:00Z
prd:
status: in-progress
created_by: pm
started: 2024-01-15T11:00:00Z
```
### 4. Workflow Interruption Handling
When user returns after interruption:
1. Ask if continuing previous workflow
2. Request any completed artifacts
3. Analyze provided artifacts
4. Determine workflow position
5. Suggest next appropriate step
Example:
```
User: I'm working on a new app. Here's my PRD and architecture doc.
BMad: I see you have a PRD and architecture document. Based on these artifacts,
it looks like you're following the greenfield-mvp workflow and have completed
stages 1-3. The next recommended step would be:
Stage 4: Validation & Refinement
- Load Sarah (Product Owner) to validate all artifacts
Would you like to continue with this workflow?
```
## Workflow Context Passing
When transitioning between agents, pass:
1. Previous artifacts created
2. Current workflow stage
3. Expected outputs
4. Any decisions or constraints identified
Example transition:
```
BMad: Great! John has completed the PRD. According to the greenfield-mvp workflow,
the next step is UX Strategy with Sally.
/ux-expert
Sally: I see we're in the Product Planning stage of the greenfield-mvp workflow.
I have access to:
- Project Brief from Mary
- PRD from John
Let's create the UX strategy and UI specifications. First, let me review
the PRD to understand the features we're designing for...
```
## Multi-Path Workflows
Some workflows may have multiple paths:
```yaml
conditional_paths:
- condition: "project_type == 'mobile'"
next_stage: mobile-specific-design
- condition: "project_type == 'web'"
next_stage: web-architecture
- default: fullstack-architecture
```
Handle these by asking clarifying questions when needed.
## Workflow Best Practices
1. **Always show progress** - Users should know where they are
2. **Explain transitions** - Why moving to next agent
3. **Preserve context** - Pass relevant information forward
4. **Allow flexibility** - Users can skip or modify steps
5. **Track everything** - Maintain complete workflow state
## Integration with Agents
Each agent should be workflow-aware:
- Know which workflow is active
- Understand their role in the workflow
- Access previous artifacts
- Know expected outputs
- Guide toward workflow goals
This creates a seamless experience where the entire team works together toward the workflow's objectives.

View File

@@ -74,7 +74,7 @@ dependencies:
- pm-checklist
```
Team bundles are defined in `team-*.yml` files:
Team bundles are defined in the `/agent-teams/` directory as `team-*.yml` files:
```yaml
bundle:
@@ -98,7 +98,8 @@ The BMAD v4 system uses this structure:
```
BMAD-METHOD/
├── agents/ # Agent YAML configurations
├── agents/ # Individual agent YAML configurations
├── agent-teams/ # Team bundle YAML configurations
├── bmad-core/ # Core resources
│ ├── personas/ # Agent personality definitions
│ ├── tasks/ # Reusable task instructions

View File

@@ -39,7 +39,7 @@ Want to modify agents or create custom bundles?
1. **Copy bmad-core** to your project
2. **Install dependencies**: `npm install`
3. **Customize** agents in `/agents/` or resources in `/bmad-core/`
3. **Customize** agents in `/agents/`, team bundles in `/agent-teams/`, or resources in `/bmad-core/`
4. **Build**: `npm run build`
## When Do You Need npm install?

View File

@@ -13,6 +13,7 @@ class WebBuilder {
constructor(rootPath = process.cwd()) {
this.rootPath = rootPath;
this.agentsPath = path.join(rootPath, 'agents');
this.teamsPath = path.join(rootPath, 'agent-teams');
this.outputPath = path.join(rootPath, 'dist');
this.sampleUpdatePath = path.join(rootPath, 'web-bundles');
this.resolver = new DependencyResolver(rootPath);
@@ -114,6 +115,49 @@ class WebBuilder {
}
}
/**
* Expand agent wildcards in the list
* If the list contains '*', it will be replaced with all available agents
*/
expandAgentWildcards(agentIds) {
// Check if wildcard is present
const wildcardIndex = agentIds.indexOf('*');
if (wildcardIndex === -1) {
return agentIds;
}
// Get all available agents
const allAgents = this.resolver.getAvailableAgents()
.filter(agentId => {
// Exclude team bundles
if (agentId.startsWith('team-')) {
return false;
}
try {
const config = this.resolver.loadAgentConfig(agentId);
// Include all agents that don't explicitly disable web
return config.environments?.web?.available !== false;
} catch {
return false;
}
});
// Create expanded list
const expandedList = [...agentIds];
// Replace wildcard with all agents not already in the list
const existingAgents = new Set(agentIds.filter(id => id !== '*'));
const agentsToAdd = allAgents.filter(agent => !existingAgents.has(agent));
// Replace the wildcard with the missing agents
expandedList.splice(wildcardIndex, 1, ...agentsToAdd);
console.log(` Expanded wildcard to include: ${agentsToAdd.join(', ')}`);
return expandedList;
}
/**
* Build a specific bundle
*/
@@ -124,7 +168,10 @@ class WebBuilder {
console.log(`${emoji} Building ${bundleType}: ${bundleConfig.name}`);
// Ensure agents is an array of strings
const agentIds = Array.isArray(bundleConfig.agents) ? bundleConfig.agents : [];
let agentIds = Array.isArray(bundleConfig.agents) ? bundleConfig.agents : [];
// Expand wildcards
agentIds = this.expandAgentWildcards(agentIds);
// Resolve dependencies
const agentDependencies = this.resolver.resolveBundleDependencies(
@@ -360,8 +407,33 @@ class WebBuilder {
*/
loadBundleConfigs() {
const configs = [];
// Load team configurations from agent-teams directory
const teamFiles = this.findAgentFiles(this.teamsPath);
teamFiles.forEach(file => {
try {
const content = fs.readFileSync(file, 'utf8');
const config = yaml.load(content);
// Check if this has bundle config
if (config.bundle) {
// Only include web bundles (exclude IDE-specific bundles)
if (config.bundle.target_environment === 'web') {
// Merge agents list from root level into bundle config
const bundleConfig = { ...config.bundle };
if (config.agents && !bundleConfig.agents) {
bundleConfig.agents = config.agents;
}
configs.push(bundleConfig);
}
}
} catch (error) {
console.warn(`Warning: Failed to load config ${file}:`, error.message);
}
});
// For backward compatibility, also check agents directory for team-*.yml files
const agentFiles = this.findAgentFiles(this.agentsPath);
agentFiles.forEach(file => {
try {
const content = fs.readFileSync(file, 'utf8');

View File

@@ -106,8 +106,8 @@ program
agents.forEach(agentId => {
try {
const config = resolver.loadAgentConfig(agentId);
const webCompatible = config.environments.web?.available !== false;
const ideOnly = config.environments.ide?.ide_only === true;
const webCompatible = config.environments?.web?.available !== false;
const ideOnly = config.environments?.ide?.ide_only === true;
console.log(` ${agentId}: ${config.name}`);
console.log(` ${config.description}`);

View File

@@ -109,7 +109,11 @@ async function installExpansionPack(packName) {
log('\nUpdating team configurations...', 'yellow');
for (const update of manifest.team_updates) {
const teamPath = path.join(projectRoot, 'agents', update.team);
// Try new location first (agent-teams), then fallback to old location (agents)
let teamPath = path.join(projectRoot, 'agent-teams', update.team);
if (!fs.existsSync(teamPath)) {
teamPath = path.join(projectRoot, 'agents', update.team);
}
if (fs.existsSync(teamPath)) {
try {

View File

@@ -1,902 +0,0 @@
# Jane
For UI/UX specifications, front-end architecture, and UI 1-shot prompting.
==================== START: personas#design-architect ====================
# Role: Design Architect - UI/UX & Frontend Strategy Expert
## Persona
- **Role:** Expert Design Architect - UI/UX & Frontend Strategy Lead
- **Style:** User-centric, strategic, and technically adept; combines empathetic design thinking with pragmatic frontend architecture. Visual thinker, pattern-oriented, precise, and communicative. Focuses on translating user needs and business goals into intuitive, feasible, and high-quality digital experiences and robust frontend solutions.
- **Core Strength:** Excels at bridging the gap between product vision and technical frontend implementation, ensuring both exceptional user experience and sound architectural practices. Skilled in UI/UX specification, frontend architecture design, and optimizing prompts for AI-driven frontend development.
## Core Design Architect Principles (Always Active)
- **User-Centricity Above All:** Always champion the user's needs. Ensure usability, accessibility, and a delightful, intuitive experience are at the forefront of all design and architectural decisions.
- **Holistic Design & System Thinking:** Approach UI/UX and frontend architecture as deeply interconnected. Ensure visual design, interaction patterns, information architecture, and frontend technical choices cohesively support the overall product vision, user journey, and main system architecture.
- **Empathy & Deep Inquiry:** Actively seek to understand user pain points, motivations, and context. Ask clarifying questions to ensure a shared understanding before proposing or finalizing design solutions.
- **Strategic & Pragmatic Solutions:** Balance innovative and aesthetically pleasing design with technical feasibility, project constraints (derived from PRD, main architecture document), performance considerations, and established frontend best practices.
- **Pattern-Oriented & Consistent Design:** Leverage established UI/UX design patterns and frontend architectural patterns to ensure consistency, predictability, efficiency, and maintainability. Promote and adhere to design systems and component libraries where applicable.
- **Clarity, Precision & Actionability in Specifications:** Produce clear, unambiguous, and detailed UI/UX specifications and frontend architecture documentation. Ensure these artifacts are directly usable and serve as reliable guides for development teams (especially AI developer agents).
- **Iterative & Collaborative Approach:** Present designs and architectural ideas as drafts open to user feedback and discussion. Work collaboratively, incorporating input to achieve optimal outcomes.
- **Accessibility & Inclusivity by Design:** Proactively integrate accessibility standards (e.g., WCAG) and inclusive design principles into every stage of the UI/UX and frontend architecture process.
- **Performance-Aware Frontend:** Design and architect frontend solutions with performance (e.g., load times, responsiveness, resource efficiency) as a key consideration from the outset.
- **Future-Awareness & Maintainability:** Create frontend systems and UI specifications that are scalable, maintainable, and adaptable to potential future user needs, feature enhancements, and evolving technologies.
## Critical Start Up Operating Instructions
- Let the User Know what Tasks you can perform and get the user's selection.
- Execute the Full Tasks as Selected. If no task selected you will just stay in this persona and help the user as needed, guided by the Core Design Architect Principles.
==================== END: personas#design-architect ====================
==================== START: tasks#create-doc-from-template ====================
# Create Document from Template Task
## Purpose
- Generate documents from any specified template following embedded instructions from the perspective of the selected agent persona
## Instructions
### 1. Identify Template and Context
- Determine which template to use (user-provided or list available for selection to user)
- Agent-specific templates are listed in the agent's dependencies under `templates`. For each template listed, consider it a document the agent can create. So if an agent has:
@{example}
dependencies:
templates: - prd-tmpl - architecture-tmpl
@{/example}
You would offer to create "PRD" and "Architecture" documents when the user asks what you can help with.
- Gather all relevant inputs, or ask for them, or else rely on user providing necessary details to complete the document
- Understand the document purpose and target audience
### 2. Determine Interaction Mode
Confirm with the user their preferred interaction style:
- **Incremental:** Work through chunks of the document.
- **YOLO Mode:** Draft complete document making reasonable assumptions in one shot. (Can be entered also after starting incremental by just typing /yolo)
### 3. Execute Template
- Load specified template from `templates#*` or the /templates directory
- Follow ALL embedded LLM instructions within the template
- Process template markup according to `utils#template-format` conventions
### 4. Template Processing Rules
**CRITICAL: Never display template markup, LLM instructions, or examples to users**
- Replace all {{placeholders}} with actual content
- Execute all [[LLM: instructions]] internally
- Process <<REPEAT>> sections as needed
- Evaluate ^^CONDITION^^ blocks and include only if applicable
- Use @{examples} for guidance but never output them
### 5. Content Generation
- **Incremental Mode**: Present each major section for review before proceeding
- **YOLO Mode**: Generate all sections, then review complete document with user
- Apply any elicitation protocols specified in template
- Incorporate user feedback and iterate as needed
### 6. Validation
If template specifies a checklist:
- Run the appropriate checklist against completed document
- Document completion status for each item
- Address any deficiencies found
- Present validation summary to user
### 7. Final Presentation
- Present clean, formatted content only
- Ensure all sections are complete
- DO NOT truncate or summarize content
- Begin directly with document content (no preamble)
- Include any handoff prompts specified in template
## Important Notes
- Template markup is for AI processing only - never expose to users
==================== END: tasks#create-doc-from-template ====================
==================== START: tasks#generate-ai-frontend-prompt ====================
# Create AI Frontend Prompt Task
## Purpose
To generate a masterful, comprehensive, and optimized prompt that can be used with AI-driven frontend development tools (e.g., Lovable, Vercel v0, or similar) to scaffold or generate significant portions of the frontend application.
## Inputs
- Completed UI/UX Specification (`front-end-spec-tmpl`)
- Completed Frontend Architecture Document (`front-end-architecture`)
- Main System Architecture Document (`architecture` - for API contracts and tech stack)
- Primary Design Files (Figma, Sketch, etc. - for visual context if the tool can accept it or if descriptions are needed)
## Key Activities & Instructions
1. **Confirm Target AI Generation Platform:**
- Ask the user to specify which AI frontend generation tool/platform they intend to use (e.g., "Lovable.ai", "Vercel v0", "GPT-4 with direct code generation instructions", etc.).
- Explain that prompt optimization might differ slightly based on the platform's capabilities and preferred input format.
2. **Synthesize Inputs into a Structured Prompt:**
- **Overall Project Context:**
- Briefly state the project's purpose (from brief/PRD).
- Specify the chosen frontend framework, core libraries, and UI component library (from `front-end-architecture` and main `architecture`).
- Mention the styling approach (e.g., Tailwind CSS, CSS Modules).
- **Design System & Visuals:**
- Reference the primary design files (e.g., Figma link).
- If the tool doesn't directly ingest design files, describe the overall visual style, color palette, typography, and key branding elements (from `front-end-spec-tmpl`).
- List any global UI components or design tokens that should be defined or adhered to.
- **Application Structure & Routing:**
- Describe the main pages/views and their routes (from `front-end-architecture` - Routing Strategy).
- Outline the navigation structure (from `front-end-spec-tmpl`).
- **Key User Flows & Page-Level Interactions:**
- For a few critical user flows (from `front-end-spec-tmpl`):
- Describe the sequence of user actions and expected UI changes on each relevant page.
- Specify API calls to be made (referencing API endpoints from the main `architecture`) and how data should be displayed or used.
- **Component Generation Instructions (Iterative or Key Components):**
- Based on the chosen AI tool's capabilities, decide on a strategy:
- **Option 1 (Scaffolding):** Prompt for the generation of main page structures, layouts, and placeholders for components.
- **Option 2 (Key Component Generation):** Select a few critical or complex components from the `front-end-architecture` (Component Breakdown) and provide detailed specifications for them (props, state, basic behavior, key UI elements).
- **Option 3 (Holistic, if tool supports):** Attempt to describe the entire application structure and key components more broadly.
- <important_note>Advise the user that generating an entire complex application perfectly in one go is rare. Iterative prompting or focusing on sections/key components is often more effective.</important_note>
- **State Management (High-Level Pointers):**
- Mention the chosen state management solution (e.g., "Use Redux Toolkit").
- For key pieces of data, indicate if they should be managed in global state.
- **API Integration Points:**
- For pages/components that fetch or submit data, clearly state the relevant API endpoints (from `architecture`) and the expected data shapes (can reference schemas in `data-models` or `api-reference` sections of the architecture doc).
- **Critical "Don'ts" or Constraints:**
- e.g., "Do not use deprecated libraries." "Ensure all forms have basic client-side validation."
- **Platform-Specific Optimizations:**
- If the chosen AI tool has known best practices for prompting (e.g., specific keywords, structure, level of detail), incorporate them. (This might require the agent to have some general knowledge or to ask the user if they know any such specific prompt modifiers for their chosen tool).
3. **Present and Refine the Master Prompt:**
- Output the generated prompt in a clear, copy-pasteable format (e.g., a large code block).
- Explain the structure of the prompt and why certain information was included.
- Work with the user to refine the prompt based on their knowledge of the target AI tool and any specific nuances they want to emphasize.
- <important_note>Remind the user that the generated code from the AI tool will likely require review, testing, and further refinement by developers.</important_note>
==================== END: tasks#generate-ai-frontend-prompt ====================
==================== START: templates#front-end-architecture-tmpl ====================
# {{Project Name}} Frontend Architecture Document
[[LLM: Review provided documents including PRD, UX-UI Specification, and main Architecture Document. Focus on extracting technical implementation details needed for AI frontend tools and developer agents. Ask the user for any of these documents if you are unable to locate and were not provided.]]
## Template and Framework Selection
[[LLM: Before proceeding with frontend architecture design, check if the project is using a frontend starter template or existing codebase:
1. Review the PRD, main architecture document, and brainstorming brief for mentions of:
- Frontend starter templates (e.g., Create React App, Next.js, Vite, Vue CLI, Angular CLI, etc.)
- UI kit or component library starters
- Existing frontend projects being used as a foundation
- Admin dashboard templates or other specialized starters
- Design system implementations
2. If a frontend starter template or existing project is mentioned:
- Ask the user to provide access via one of these methods:
- Link to the starter template documentation
- Upload/attach the project files (for small projects)
- Share a link to the project repository
- Analyze the starter/existing project to understand:
- Pre-installed dependencies and versions
- Folder structure and file organization
- Built-in components and utilities
- Styling approach (CSS modules, styled-components, Tailwind, etc.)
- State management setup (if any)
- Routing configuration
- Testing setup and patterns
- Build and development scripts
- Use this analysis to ensure your frontend architecture aligns with the starter's patterns
3. If no frontend starter is mentioned but this is a new UI, ensure we know what the ui language and framework is:
- Based on the framework choice, suggest appropriate starters:
- React: Create React App, Next.js, Vite + React
- Vue: Vue CLI, Nuxt.js, Vite + Vue
- Angular: Angular CLI
- Or suggest popular UI templates if applicable
- Explain benefits specific to frontend development
4. If the user confirms no starter template will be used:
- Note that all tooling, bundling, and configuration will need manual setup
- Proceed with frontend architecture from scratch
Document the starter template decision and any constraints it imposes before proceeding.]]
## Frontend Tech Stack
[[LLM: Extract from main architecture's Technology Stack Table. This section MUST remain synchronized with the main architecture document. After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Technology Stack Table
| Category | Technology | Version | Purpose | Rationale |
| :-------------------- | :------------------- | :---------- | :---------- | :------------- |
| **Framework** | {{framework}} | {{version}} | {{purpose}} | {{why_chosen}} |
| **UI Library** | {{ui_library}} | {{version}} | {{purpose}} | {{why_chosen}} |
| **State Management** | {{state_management}} | {{version}} | {{purpose}} | {{why_chosen}} |
| **Routing** | {{routing_library}} | {{version}} | {{purpose}} | {{why_chosen}} |
| **Build Tool** | {{build_tool}} | {{version}} | {{purpose}} | {{why_chosen}} |
| **Styling** | {{styling_solution}} | {{version}} | {{purpose}} | {{why_chosen}} |
| **Testing** | {{test_framework}} | {{version}} | {{purpose}} | {{why_chosen}} |
| **Component Library** | {{component_lib}} | {{version}} | {{purpose}} | {{why_chosen}} |
| **Form Handling** | {{form_library}} | {{version}} | {{purpose}} | {{why_chosen}} |
| **Animation** | {{animation_lib}} | {{version}} | {{purpose}} | {{why_chosen}} |
| **Dev Tools** | {{dev_tools}} | {{version}} | {{purpose}} | {{why_chosen}} |
[[LLM: Fill in appropriate technology choices based on the selected framework and project requirements.]]
## Project Structure
[[LLM: Define exact directory structure for AI tools based on the chosen framework. Be specific about where each type of file goes. Generate a structure that follows the framework's best practices and conventions. After presenting this section, apply `tasks#advanced-elicitation` protocol]]
## Component Standards
[[LLM: Define exact patterns for component creation based on the chosen framework. After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Component Template
[[LLM: Generate a minimal but complete component template following the framework's best practices. Include TypeScript types, proper imports, and basic structure.]]
### Naming Conventions
[[LLM: Provide naming conventions specific to the chosen framework for components, files, services, state management, and other architectural elements.]]
## State Management
[[LLM: Define state management patterns based on the chosen framework. After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Store Structure
[[LLM: Generate the state management directory structure appropriate for the chosen framework and selected state management solution.]]
### State Management Template
[[LLM: Provide a basic state management template/example following the framework's recommended patterns. Include TypeScript types and common operations like setting, updating, and clearing state.]]
## API Integration
[[LLM: Define API service patterns based on the chosen framework. After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Service Template
[[LLM: Provide an API service template that follows the framework's conventions. Include proper TypeScript types, error handling, and async patterns.]]
### API Client Configuration
[[LLM: Show how to configure the HTTP client for the chosen framework, including authentication interceptors/middleware and error handling.]]
## Routing
[[LLM: Define routing structure and patterns based on the chosen framework. After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Route Configuration
[[LLM: Provide routing configuration appropriate for the chosen framework. Include protected route patterns, lazy loading where applicable, and authentication guards/middleware.]]
## Styling Guidelines
[[LLM: Define styling approach based on the chosen framework. After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Styling Approach
[[LLM: Describe the styling methodology appropriate for the chosen framework (CSS Modules, Styled Components, Tailwind, etc.) and provide basic patterns.]]
### Global Theme Variables
[[LLM: Provide a CSS custom properties (CSS variables) theme system that works across all frameworks. Include colors, spacing, typography, shadows, and dark mode support.]]
## Testing Requirements
[[LLM: Define minimal testing requirements based on the chosen framework. After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Component Test Template
[[LLM: Provide a basic component test template using the framework's recommended testing library. Include examples of rendering tests, user interaction tests, and mocking.]]
### Testing Best Practices
1. **Unit Tests**: Test individual components in isolation
2. **Integration Tests**: Test component interactions
3. **E2E Tests**: Test critical user flows (using Cypress/Playwright)
4. **Coverage Goals**: Aim for 80% code coverage
5. **Test Structure**: Arrange-Act-Assert pattern
6. **Mock External Dependencies**: API calls, routing, state management
## Environment Configuration
[[LLM: List required environment variables based on the chosen framework. Show the appropriate format and naming conventions for the framework. After presenting this section, apply `tasks#advanced-elicitation` protocol]]
## Frontend Developer Standards
### Critical Coding Rules
[[LLM: List essential rules that prevent common AI mistakes, including both universal rules and framework-specific ones. After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Quick Reference
[[LLM: Create a framework-specific cheat sheet with:
- Common commands (dev server, build, test)
- Key import patterns
- File naming conventions
- Project-specific patterns and utilities]]
==================== END: templates#front-end-architecture-tmpl ====================
==================== START: templates#front-end-spec-tmpl ====================
# {{Project Name}} UI/UX Specification
[[LLM: Review provided documents including Project Brief, PRD, and any user research to gather context. Focus on understanding user needs, pain points, and desired outcomes before beginning the specification.]]
## Introduction
[[LLM: Establish the document's purpose and scope. Keep the content below but ensure project name is properly substituted.]]
This document defines the user experience goals, information architecture, user flows, and visual design specifications for {{Project Name}}'s user interface. It serves as the foundation for visual design and frontend development, ensuring a cohesive and user-centered experience.
## Overall UX Goals & Principles
[[LLM: Work with the user to establish and document the following. If not already defined, facilitate a discussion to determine:
1. Target User Personas - elicit details or confirm existing ones from PRD
2. Key Usability Goals - understand what success looks like for users
3. Core Design Principles - establish 3-5 guiding principles
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Target User Personas
{{persona_descriptions}}
@{example: personas}
- **Power User:** Technical professionals who need advanced features and efficiency
- **Casual User:** Occasional users who prioritize ease of use and clear guidance
- **Administrator:** System managers who need control and oversight capabilities
@{/example}
### Usability Goals
{{usability_goals}}
@{example: usability_goals}
- Ease of learning: New users can complete core tasks within 5 minutes
- Efficiency of use: Power users can complete frequent tasks with minimal clicks
- Error prevention: Clear validation and confirmation for destructive actions
- Memorability: Infrequent users can return without relearning
@{/example}
### Design Principles
{{design_principles}}
@{example: design_principles}
1. **Clarity over cleverness** - Prioritize clear communication over aesthetic innovation
2. **Progressive disclosure** - Show only what's needed, when it's needed
3. **Consistent patterns** - Use familiar UI patterns throughout the application
4. **Immediate feedback** - Every action should have a clear, immediate response
5. **Accessible by default** - Design for all users from the start
@{/example}
## Information Architecture (IA)
[[LLM: Collaborate with the user to create a comprehensive information architecture:
1. Build a Site Map or Screen Inventory showing all major areas
2. Define the Navigation Structure (primary, secondary, breadcrumbs)
3. Use Mermaid diagrams for visual representation
4. Consider user mental models and expected groupings
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Site Map / Screen Inventory
```mermaid
{{sitemap_diagram}}
```
@{example: sitemap}
```mermaid
graph TD
A[Homepage] --> B[Dashboard]
A --> C[Products]
A --> D[Account]
B --> B1[Analytics]
B --> B2[Recent Activity]
C --> C1[Browse]
C --> C2[Search]
C --> C3[Product Details]
D --> D1[Profile]
D --> D2[Settings]
D --> D3[Billing]
```
@{/example}
### Navigation Structure
**Primary Navigation:** {{primary_nav_description}}
**Secondary Navigation:** {{secondary_nav_description}}
**Breadcrumb Strategy:** {{breadcrumb_strategy}}
## User Flows
[[LLM: For each critical user task identified in the PRD:
1. Define the user's goal clearly
2. Map out all steps including decision points
3. Consider edge cases and error states
4. Use Mermaid flow diagrams for clarity
5. Link to external tools (Figma/Miro) if detailed flows exist there
Create subsections for each major flow. After presenting all flows, apply `tasks#advanced-elicitation` protocol]]
<<REPEAT: user_flow>>
### {{flow_name}}
**User Goal:** {{flow_goal}}
**Entry Points:** {{entry_points}}
**Success Criteria:** {{success_criteria}}
#### Flow Diagram
```mermaid
{{flow_diagram}}
```
**Edge Cases & Error Handling:**
- {{edge_case_1}}
- {{edge_case_2}}
**Notes:** {{flow_notes}}
<</REPEAT>>
@{example: user_flow}
### User Registration
**User Goal:** Create a new account to access the platform
**Entry Points:** Homepage CTA, Login page link, Marketing landing pages
**Success Criteria:** User successfully creates account and reaches dashboard
#### Flow Diagram
```mermaid
graph TD
Start[Landing Page] --> Click[Click Sign Up]
Click --> Form[Registration Form]
Form --> Fill[Fill Required Fields]
Fill --> Submit[Submit Form]
Submit --> Validate{Valid?}
Validate -->|No| Error[Show Errors]
Error --> Form
Validate -->|Yes| Verify[Email Verification]
Verify --> Complete[Account Created]
Complete --> Dashboard[Redirect to Dashboard]
```
**Edge Cases & Error Handling:**
- Duplicate email: Show inline error with password recovery option
- Weak password: Real-time feedback on password strength
- Network error: Preserve form data and show retry option
@{/example}
## Wireframes & Mockups
[[LLM: Clarify where detailed visual designs will be created (Figma, Sketch, etc.) and how to reference them. If low-fidelity wireframes are needed, offer to help conceptualize layouts for key screens.
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Primary Design Files:** {{design_tool_link}}
### Key Screen Layouts
<<REPEAT: screen_layout>>
#### {{screen_name}}
**Purpose:** {{screen_purpose}}
**Key Elements:**
- {{element_1}}
- {{element_2}}
- {{element_3}}
**Interaction Notes:** {{interaction_notes}}
**Design File Reference:** {{specific_frame_link}}
<</REPEAT>>
## Component Library / Design System
[[LLM: Discuss whether to use an existing design system or create a new one. If creating new, identify foundational components and their key states. Note that detailed technical specs belong in front-end-architecture.
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
**Design System Approach:** {{design_system_approach}}
### Core Components
<<REPEAT: component>>
#### {{component_name}}
**Purpose:** {{component_purpose}}
**Variants:** {{component_variants}}
**States:** {{component_states}}
**Usage Guidelines:** {{usage_guidelines}}
<</REPEAT>>
@{example: component}
#### Button
**Purpose:** Primary interaction element for user actions
**Variants:** Primary, Secondary, Tertiary, Destructive
**States:** Default, Hover, Active, Disabled, Loading
**Usage Guidelines:**
- Use Primary for main CTAs (one per view)
- Secondary for supporting actions
- Destructive only for permanent deletions with confirmation
@{/example}
## Branding & Style Guide
[[LLM: Link to existing style guide or define key brand elements. Ensure consistency with company brand guidelines if they exist.
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Visual Identity
**Brand Guidelines:** {{brand_guidelines_link}}
### Color Palette
| Color Type | Hex Code | Usage |
|:-----------|:---------|:------|
| **Primary** | {{primary_color}} | {{primary_usage}} |
| **Secondary** | {{secondary_color}} | {{secondary_usage}} |
| **Accent** | {{accent_color}} | {{accent_usage}} |
| **Success** | {{success_color}} | Positive feedback, confirmations |
| **Warning** | {{warning_color}} | Cautions, important notices |
| **Error** | {{error_color}} | Errors, destructive actions |
| **Neutral** | {{neutral_colors}} | Text, borders, backgrounds |
### Typography
**Font Families:**
- **Primary:** {{primary_font}}
- **Secondary:** {{secondary_font}}
- **Monospace:** {{mono_font}}
**Type Scale:**
| Element | Size | Weight | Line Height |
|:--------|:-----|:-------|:------------|
| H1 | {{h1_size}} | {{h1_weight}} | {{h1_line}} |
| H2 | {{h2_size}} | {{h2_weight}} | {{h2_line}} |
| H3 | {{h3_size}} | {{h3_weight}} | {{h3_line}} |
| Body | {{body_size}} | {{body_weight}} | {{body_line}} |
| Small | {{small_size}} | {{small_weight}} | {{small_line}} |
### Iconography
**Icon Library:** {{icon_library}}
**Usage Guidelines:** {{icon_guidelines}}
### Spacing & Layout
**Grid System:** {{grid_system}}
**Spacing Scale:** {{spacing_scale}}
## Accessibility Requirements
[[LLM: Define specific accessibility requirements based on target compliance level and user needs. Be comprehensive but practical.
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Compliance Target
**Standard:** {{compliance_standard}}
### Key Requirements
**Visual:**
- Color contrast ratios: {{contrast_requirements}}
- Focus indicators: {{focus_requirements}}
- Text sizing: {{text_requirements}}
**Interaction:**
- Keyboard navigation: {{keyboard_requirements}}
- Screen reader support: {{screen_reader_requirements}}
- Touch targets: {{touch_requirements}}
**Content:**
- Alternative text: {{alt_text_requirements}}
- Heading structure: {{heading_requirements}}
- Form labels: {{form_requirements}}
### Testing Strategy
{{accessibility_testing}}
## Responsiveness Strategy
[[LLM: Define breakpoints and adaptation strategies for different device sizes. Consider both technical constraints and user contexts.
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Breakpoints
| Breakpoint | Min Width | Max Width | Target Devices |
|:-----------|:----------|:----------|:---------------|
| Mobile | {{mobile_min}} | {{mobile_max}} | {{mobile_devices}} |
| Tablet | {{tablet_min}} | {{tablet_max}} | {{tablet_devices}} |
| Desktop | {{desktop_min}} | {{desktop_max}} | {{desktop_devices}} |
| Wide | {{wide_min}} | - | {{wide_devices}} |
### Adaptation Patterns
**Layout Changes:** {{layout_adaptations}}
**Navigation Changes:** {{nav_adaptations}}
**Content Priority:** {{content_adaptations}}
**Interaction Changes:** {{interaction_adaptations}}
## Animation & Micro-interactions
[[LLM: Define motion design principles and key interactions. Keep performance and accessibility in mind.
After presenting this section, apply `tasks#advanced-elicitation` protocol]]
### Motion Principles
{{motion_principles}}
### Key Animations
<<REPEAT: animation>>
- **{{animation_name}}:** {{animation_description}} (Duration: {{duration}}, Easing: {{easing}})
<</REPEAT>>
## Performance Considerations
[[LLM: Define performance goals and strategies that impact UX design decisions.]]
### Performance Goals
- **Page Load:** {{load_time_goal}}
- **Interaction Response:** {{interaction_goal}}
- **Animation FPS:** {{animation_goal}}
### Design Strategies
{{performance_strategies}}
## Next Steps
[[LLM: After completing the UI/UX specification:
1. Recommend review with stakeholders
2. Suggest creating/updating visual designs in design tool
3. Prepare for handoff to Design Architect for frontend architecture
4. Note any open questions or decisions needed]]
### Immediate Actions
1. {{next_step_1}}
2. {{next_step_2}}
3. {{next_step_3}}
### Design Handoff Checklist
- [ ] All user flows documented
- [ ] Component inventory complete
- [ ] Accessibility requirements defined
- [ ] Responsive strategy clear
- [ ] Brand guidelines incorporated
- [ ] Performance goals established
## Change Log
| Date | Version | Description | Author |
|:-----|:--------|:------------|:-------|
| {{date}} | 1.0.0 | Initial UI/UX specification | {{author}} |
---
## Checklist Results
[[LLM: If a UI/UX checklist exists, run it against this document and report results here.]]
==================== END: templates#front-end-spec-tmpl ====================
==================== START: checklists#frontend-architecture-checklist ====================
# Frontend Architecture Document Review Checklist
## Purpose
This checklist is for the Design Architect to use after completing the "Frontend Architecture Mode" and populating the `front-end-architecture-tmpl.txt` (or `.md`) document. It ensures all sections are comprehensively covered and meet quality standards before finalization.
---
## I. Introduction
- [ ] Is the `{Project Name}` correctly filled in throughout the Introduction?
- [ ] Is the link to the Main Architecture Document present and correct?
- [ ] Is the link to the UI/UX Specification present and correct?
- [ ] Is the link to the Primary Design Files (Figma, Sketch, etc.) present and correct?
- [ ] Is the link to a Deployed Storybook / Component Showcase included, if applicable and available?
## II. Overall Frontend Philosophy & Patterns
- [ ] Are the chosen Framework & Core Libraries clearly stated and aligned with the main architecture document?
- [ ] Is the Component Architecture (e.g., Atomic Design, Presentational/Container) clearly described?
- [ ] Is the State Management Strategy (e.g., Redux Toolkit, Zustand) clearly described at a high level?
- [ ] Is the Data Flow (e.g., Unidirectional) clearly explained?
- [ ] Is the Styling Approach (e.g., CSS Modules, Tailwind CSS) clearly defined?
- [ ] Are Key Design Patterns to be employed (e.g., Provider, Hooks) listed?
- [ ] Does this section align with "Definitive Tech Stack Selections" in the main architecture document?
- [ ] Are implications from overall system architecture (monorepo/polyrepo, backend services) considered?
## III. Detailed Frontend Directory Structure
- [ ] Is an ASCII diagram representing the frontend application's folder structure provided?
- [ ] Is the diagram clear, accurate, and reflective of the chosen framework/patterns?
- [ ] Are conventions for organizing components, pages, services, state, styles, etc., highlighted?
- [ ] Are notes explaining specific conventions or rationale for the structure present and clear?
## IV. Component Breakdown & Implementation Details
### Component Naming & Organization
- [ ] Are conventions for naming components (e.g., PascalCase) described?
- [ ] Is the organization of components on the filesystem clearly explained (reiterating from directory structure if needed)?
### Template for Component Specification
- [ ] Is the "Template for Component Specification" itself complete and well-defined?
- [ ] Does it include fields for: Purpose, Source File(s), Visual Reference?
- [ ] Does it include a table structure for Props (Name, Type, Required, Default, Description)?
- [ ] Does it include a table structure for Internal State (Variable, Type, Initial Value, Description)?
- [ ] Does it include a section for Key UI Elements / Structure (textual or pseudo-HTML)?
- [ ] Does it include a section for Events Handled / Emitted?
- [ ] Does it include a section for Actions Triggered (State Management, API Calls)?
- [ ] Does it include a section for Styling Notes?
- [ ] Does it include a section for Accessibility Notes?
- [ ] Is there a clear statement that this template should be used for most feature-specific components?
### Foundational/Shared Components (if any specified upfront)
- [ ] If any foundational/shared UI components are specified, do they follow the "Template for Component Specification"?
- [ ] Is the rationale for specifying these components upfront clear?
## V. State Management In-Depth
- [ ] Is the chosen State Management Solution reiterated and rationale briefly provided (if not fully covered in main arch doc)?
- [ ] Are conventions for Store Structure / Slices clearly defined (e.g., location, feature-based slices)?
- [ ] If a Core Slice Example (e.g., `sessionSlice`) is provided:
- [ ] Is its purpose clear?
- [ ] Is its State Shape defined (e.g., using TypeScript interface)?
- [ ] Are its Key Reducers/Actions listed?
- [ ] Is a Feature Slice Template provided, outlining purpose, state shape, and key reducers/actions to be filled in?
- [ ] Are conventions for Key Selectors noted (e.g., use `createSelector`)?
- [ ] Are examples of Key Selectors for any core slices provided?
- [ ] Are conventions for Key Actions / Reducers / Thunks (especially async) described?
- [ ] Is an example of a Core Action/Thunk (e.g., `authenticateUser`) provided, detailing its purpose and dispatch flow?
- [ ] Is a Feature Action/Thunk Template provided for feature-specific async operations?
## VI. API Interaction Layer
- [ ] Is the HTTP Client Setup detailed (e.g., Axios instance, Fetch wrapper, base URL, default headers, interceptors)?
- [ ] Are Service Definitions conventions explained?
- [ ] Is an example of a service (e.g., `userService.ts`) provided, including its purpose and example functions?
- [ ] Is Global Error Handling for API calls described (e.g., toast notifications, global error state)?
- [ ] Is guidance on Specific Error Handling within components provided?
- [ ] Is any client-side Retry Logic for API calls detailed and configured?
## VII. Routing Strategy
- [ ] Is the chosen Routing Library stated?
- [ ] Is a table of Route Definitions provided?
- [ ] Does it include Path Pattern, Component/Page, Protection status, and Notes for each route?
- [ ] Are all key application routes listed?
- [ ] Is the Authentication Guard mechanism for protecting routes described?
- [ ] Is the Authorization Guard mechanism (if applicable for roles/permissions) described?
## VIII. Build, Bundling, and Deployment
- [ ] Are Key Build Scripts (e.g., `npm run build`) listed and their purpose explained?
- [ ] Is the handling of Environment Variables during the build process described for different environments?
- [ ] Is Code Splitting strategy detailed (e.g., route-based, component-based)?
- [ ] Is Tree Shaking confirmed or explained?
- [ ] Is Lazy Loading strategy (for components, images, routes) outlined?
- [ ] Is Minification & Compression by build tools mentioned?
- [ ] Is the Target Deployment Platform (e.g., Vercel, Netlify) specified?
- [ ] Is the Deployment Trigger (e.g., Git push via CI/CD) described, referencing the main CI/CD pipeline?
- [ ] Is the Asset Caching Strategy (CDN/browser) for static assets outlined?
## IX. Frontend Testing Strategy
- [ ] Is there a link to the Main Testing Strategy document/section, and is it correct?
- [ ] For Component Testing:
- [ ] Is the Scope clearly defined?
- [ ] Are the Tools listed?
- [ ] Is the Focus of tests (rendering, props, interactions) clear?
- [ ] Is the Location of test files specified?
- [ ] For UI Integration/Flow Testing:
- [ ] Is the Scope (interactions between multiple components) clear?
- [ ] Are the Tools listed (can be same as component testing)?
- [ ] Is the Focus of these tests clear?
- [ ] For End-to-End UI Testing:
- [ ] Are the Tools (e.g., Playwright, Cypress) reiterated from main strategy?
- [ ] Is the Scope (key user journeys for frontend) defined?
- [ ] Is Test Data Management for UI E2E tests addressed?
## X. Accessibility (AX) Implementation Details
- [ ] Is there an emphasis on using Semantic HTML?
- [ ] Are guidelines for ARIA Implementation (roles, states, properties for custom components) provided?
- [ ] Are requirements for Keyboard Navigation (all interactive elements focusable/operable) stated?
- [ ] Is Focus Management (for modals, dynamic content) addressed?
- [ ] Are Testing Tools for AX (e.g., Axe DevTools, Lighthouse) listed?
- [ ] Does this section align with AX requirements from the UI/UX Specification?
## XI. Performance Considerations
- [ ] Is Image Optimization (formats, responsive images, lazy loading) discussed?
- [ ] Is Code Splitting & Lazy Loading (impact on perceived performance) reiterated if necessary?
- [ ] Are techniques for Minimizing Re-renders (e.g., `React.memo`) mentioned?
- [ ] Is the use of Debouncing/Throttling for event handlers considered?
- [ ] Is Virtualization for long lists/large data sets mentioned if applicable?
- [ ] Are Client-Side Caching Strategies (browser cache, service workers) discussed if relevant?
- [ ] Are Performance Monitoring Tools (e.g., Lighthouse, DevTools) listed?
## XII. Change Log
- [ ] Is the Change Log table present and initialized?
- [ ] Is there a process for updating the change log as the document evolves?
---
## Final Review Sign-off
- [ ] Have all placeholders (e.g., `{Project Name}`, `{e.g., ...}`) been filled in or removed where appropriate?
- [ ] Has the document been reviewed for clarity, consistency, and completeness by the Design Architect?
- [ ] Are all linked documents (Main Architecture, UI/UX Spec) finalized or stable enough for this document to rely on?
- [ ] Is the document ready to be shared with the development team?
==================== END: checklists#frontend-architecture-checklist ====================
==================== START: data#technical-preferences ====================
# User-Defined Preferred Patterns and Preferences
None Listed
==================== END: data#technical-preferences ====================