substrate-ai 0.1.22 → 0.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{app-Bltq6BEm.js → app-CY3MaJtP.js} +55 -2
- package/dist/cli/index.js +2195 -679
- package/dist/index.d.ts +20 -0
- package/dist/index.js +1 -1
- package/package.json +2 -2
- package/packs/bmad/data/elicitation-methods.csv +51 -0
- package/packs/bmad/manifest.yaml +67 -0
- package/packs/bmad/prompts/analysis-step-1-vision.md +1 -1
- package/packs/bmad/prompts/analysis-step-2-scope.md +14 -4
- package/packs/bmad/prompts/architecture-step-2-decisions.md +7 -0
- package/packs/bmad/prompts/critique-analysis.md +88 -0
- package/packs/bmad/prompts/critique-architecture.md +96 -0
- package/packs/bmad/prompts/critique-planning.md +96 -0
- package/packs/bmad/prompts/critique-stories.md +93 -0
- package/packs/bmad/prompts/elicitation-apply.md +40 -0
- package/packs/bmad/prompts/planning-step-3-nfrs.md +5 -1
- package/packs/bmad/prompts/readiness-check.md +146 -0
- package/packs/bmad/prompts/refine-artifact.md +52 -0
- package/packs/bmad/prompts/ux-step-1-discovery.md +69 -0
- package/packs/bmad/prompts/ux-step-2-design-system.md +64 -0
- package/packs/bmad/prompts/ux-step-3-journeys.md +80 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# BMAD Critique Agent — Stories Phase
|
|
2
|
+
|
|
3
|
+
## Artifact Under Review
|
|
4
|
+
|
|
5
|
+
{{artifact_content}}
|
|
6
|
+
|
|
7
|
+
## Project Context
|
|
8
|
+
|
|
9
|
+
{{project_context}}
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Your Role
|
|
14
|
+
|
|
15
|
+
You are an adversarial quality reviewer. Your job is to find what's wrong with this stories document before developers start implementing based on incomplete or untestable requirements.
|
|
16
|
+
|
|
17
|
+
Adopt a critical mindset: assume the stories are incomplete or ambiguous until proven otherwise.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Quality Standards for Stories Artifacts
|
|
22
|
+
|
|
23
|
+
A high-quality stories artifact must satisfy ALL of these criteria:
|
|
24
|
+
|
|
25
|
+
### 1. FR Coverage
|
|
26
|
+
- Every functional requirement from the planning phase must be covered by at least one story.
|
|
27
|
+
- Orphaned stories (not tracing to any FR) indicate scope creep and should be flagged.
|
|
28
|
+
- If the project context includes FRs, cross-reference each story against them.
|
|
29
|
+
- Missing coverage of critical FRs (priority: must) is a blocker.
|
|
30
|
+
|
|
31
|
+
### 2. Acceptance Criteria (AC) Testability
|
|
32
|
+
- Every story must have at least 3 acceptance criteria.
|
|
33
|
+
- Each acceptance criterion must be independently verifiable — a developer must be able to write a test for it.
|
|
34
|
+
- ACs stated as "the feature works correctly" or "the user can use the feature" are unacceptable.
|
|
35
|
+
- Each AC must specify the precise observable outcome: "Given X, when Y, then Z."
|
|
36
|
+
- Unmeasurable ACs are major issues; missing ACs are blockers.
|
|
37
|
+
|
|
38
|
+
### 3. Task Granularity
|
|
39
|
+
- Each story must have a task breakdown that covers the full implementation scope.
|
|
40
|
+
- Tasks should be completable in 1-4 hours by a single developer.
|
|
41
|
+
- Tasks that are too vague ("implement feature") or too large ("build entire authentication system") should be flagged.
|
|
42
|
+
- Missing tasks for database migrations, tests, or documentation are minor issues.
|
|
43
|
+
|
|
44
|
+
### 4. Dependency Validity
|
|
45
|
+
- Story dependencies must be valid — referencing story keys that actually exist.
|
|
46
|
+
- Circular dependencies are blockers.
|
|
47
|
+
- Missing dependencies — where a story assumes work from a story not listed as a dependency — are major issues.
|
|
48
|
+
- Stories in the first epic should have no cross-story dependencies.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Instructions
|
|
53
|
+
|
|
54
|
+
1. Read the artifact carefully. Do not assume anything is correct.
|
|
55
|
+
2. For each quality dimension above, identify whether it is met, partially met, or missing.
|
|
56
|
+
3. For each issue found, classify its severity:
|
|
57
|
+
- **blocker**: A missing story for a critical FR, circular dependency, or completely untestable ACs.
|
|
58
|
+
- **major**: Vague ACs, uncovered important FRs, or missing cross-story dependencies.
|
|
59
|
+
- **minor**: Task granularity improvements, documentation gaps, or style issues.
|
|
60
|
+
|
|
61
|
+
4. If the artifact meets all criteria, emit a `pass` verdict with zero issues.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Output Contract
|
|
66
|
+
|
|
67
|
+
Emit ONLY this YAML block — no preamble, no explanation, no other text.
|
|
68
|
+
|
|
69
|
+
If no issues found:
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
verdict: pass
|
|
73
|
+
issue_count: 0
|
|
74
|
+
issues: []
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
If issues found:
|
|
78
|
+
|
|
79
|
+
```yaml
|
|
80
|
+
verdict: needs_work
|
|
81
|
+
issue_count: 2
|
|
82
|
+
issues:
|
|
83
|
+
- severity: blocker
|
|
84
|
+
category: fr-coverage
|
|
85
|
+
description: "FR-3 (user authentication) has no corresponding story in any epic."
|
|
86
|
+
suggestion: "Add stories for: user registration, login flow, session management, and password reset — these are required by FR-3 which has priority 'must'."
|
|
87
|
+
- severity: major
|
|
88
|
+
category: ac-testability
|
|
89
|
+
description: "Story 1-2 AC2 states 'the CLI command works correctly' — this cannot be tested without knowing what 'correctly' means."
|
|
90
|
+
suggestion: "Replace with specific testable criteria: 'Given a valid config file, when the user runs `substrate init`, then a CLAUDE.md file is created at the project root containing the project name and methodology.'"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**IMPORTANT**: `issue_count` must equal the exact number of items in `issues`.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Elicitation: {{method_name}}
|
|
2
|
+
|
|
3
|
+
You are an expert analyst applying a structured elicitation method to improve an artifact.
|
|
4
|
+
|
|
5
|
+
## Method
|
|
6
|
+
|
|
7
|
+
**Name:** {{method_name}}
|
|
8
|
+
|
|
9
|
+
**Description:** {{method_description}}
|
|
10
|
+
|
|
11
|
+
**Output Pattern:** {{output_pattern}}
|
|
12
|
+
|
|
13
|
+
## Artifact to Enhance
|
|
14
|
+
|
|
15
|
+
{{artifact_content}}
|
|
16
|
+
|
|
17
|
+
## Instructions
|
|
18
|
+
|
|
19
|
+
Apply the **{{method_name}}** method to the artifact content above.
|
|
20
|
+
|
|
21
|
+
Follow the output pattern: `{{output_pattern}}`
|
|
22
|
+
|
|
23
|
+
Work through the method systematically. Identify non-obvious insights, hidden assumptions, risks, or improvements that the artifact does not already capture. Mark each insight clearly.
|
|
24
|
+
|
|
25
|
+
Return your analysis as structured YAML:
|
|
26
|
+
|
|
27
|
+
```yaml
|
|
28
|
+
result: success
|
|
29
|
+
insights: |
|
|
30
|
+
[Your enhanced content with insights clearly marked. Use markdown formatting.
|
|
31
|
+
Each insight should be labeled with the method step that generated it.
|
|
32
|
+
Be specific and actionable — avoid restating what is already in the artifact.]
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
If you cannot apply the method meaningfully (e.g., the artifact is insufficient), return:
|
|
36
|
+
|
|
37
|
+
```yaml
|
|
38
|
+
result: failed
|
|
39
|
+
insights: ""
|
|
40
|
+
```
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
### Functional Requirements (from Step 2)
|
|
12
12
|
{{functional_requirements}}
|
|
13
13
|
|
|
14
|
+
### Technology Constraints (from Analysis Phase)
|
|
15
|
+
{{technology_constraints}}
|
|
16
|
+
|
|
14
17
|
---
|
|
15
18
|
|
|
16
19
|
## Mission
|
|
@@ -29,7 +32,8 @@ Complete the PRD by defining **non-functional requirements**, **tech stack**, **
|
|
|
29
32
|
- Key-value pairs mapping technology concerns to specific choices
|
|
30
33
|
- Use real, current technologies — do not fabricate frameworks
|
|
31
34
|
- Cover at minimum: language, framework, database, testing
|
|
32
|
-
-
|
|
35
|
+
- **MUST honor stated technology constraints** — if the analysis specifies a cloud platform, language, or framework preference, use it. Do not substitute alternatives unless the constraint is technically impossible for the requirements.
|
|
36
|
+
- If you must deviate from a stated constraint, explicitly note the deviation and rationale
|
|
33
37
|
|
|
34
38
|
3. **Build the domain model:**
|
|
35
39
|
- Key entities and their relationships
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# BMAD Adversarial Readiness Check Agent
|
|
2
|
+
|
|
3
|
+
## Context (pre-assembled by pipeline)
|
|
4
|
+
|
|
5
|
+
### Functional Requirements
|
|
6
|
+
{{functional_requirements}}
|
|
7
|
+
|
|
8
|
+
### Non-Functional Requirements
|
|
9
|
+
{{non_functional_requirements}}
|
|
10
|
+
|
|
11
|
+
### Architecture Decisions
|
|
12
|
+
{{architecture_decisions}}
|
|
13
|
+
|
|
14
|
+
### Generated Stories
|
|
15
|
+
{{stories}}
|
|
16
|
+
|
|
17
|
+
{{ux_decisions}}
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Mission
|
|
22
|
+
|
|
23
|
+
You are a senior engineering lead conducting a go/no-go review before implementation begins.
|
|
24
|
+
**Your success is measured by finding gaps others missed — not by confirming everything is fine.**
|
|
25
|
+
|
|
26
|
+
Approach this review with professional skepticism. Assume gaps exist until proven otherwise.
|
|
27
|
+
Your job is to protect the engineering team from starting implementation with an incomplete or
|
|
28
|
+
contradictory plan. A false READY verdict costs 10x more than a correct NEEDS_WORK verdict.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Review Protocol
|
|
33
|
+
|
|
34
|
+
Work through each check in order. Be thorough. Be adversarial.
|
|
35
|
+
|
|
36
|
+
### Step 1: FR Coverage Analysis
|
|
37
|
+
|
|
38
|
+
For EVERY functional requirement listed above:
|
|
39
|
+
1. Identify which story (by key) explicitly covers this FR in its acceptance criteria
|
|
40
|
+
2. Determine if the coverage is **full** (AC directly tests the FR), **partial** (FR mentioned but not tested), or **missing** (no story covers it)
|
|
41
|
+
3. Flag missing coverage as a **blocker** finding
|
|
42
|
+
4. Flag partial coverage as a **major** finding
|
|
43
|
+
|
|
44
|
+
Ask yourself: "If I only built the stories as written, would this FR be implemented?" If the answer is "maybe" or "no", flag it.
|
|
45
|
+
|
|
46
|
+
### Step 2: Architecture Compliance Check
|
|
47
|
+
|
|
48
|
+
For EVERY story:
|
|
49
|
+
1. Check if the story's implementation implies a technology or pattern **not in the architecture decisions**
|
|
50
|
+
2. Check if the story **contradicts** an architecture decision (e.g., story uses REST when architecture specifies GraphQL)
|
|
51
|
+
3. Flag contradictions as **blocker** findings
|
|
52
|
+
4. Flag implicit technology references not in architecture as **major** findings
|
|
53
|
+
|
|
54
|
+
### Step 3: Story Quality Assessment
|
|
55
|
+
|
|
56
|
+
For EVERY story:
|
|
57
|
+
1. Are the acceptance criteria in Given/When/Then or clearly testable format?
|
|
58
|
+
- Vague ACs like "the system works correctly" = **major** finding
|
|
59
|
+
2. Are the tasks granular enough to estimate? (Each task should be < 1 day)
|
|
60
|
+
- Monolithic tasks like "implement the entire auth system" = **major** finding
|
|
61
|
+
3. Does the story have a clear definition of done?
|
|
62
|
+
- Missing or ambiguous DoD = **minor** finding
|
|
63
|
+
|
|
64
|
+
### Step 4: Constraint Adherence
|
|
65
|
+
|
|
66
|
+
1. Does the architecture honor all technology constraints from the product brief?
|
|
67
|
+
2. If any technology constraint was overridden, is there an explicit rationale?
|
|
68
|
+
3. Flag any silent deviations (constraint ignored without explanation) as **blocker** findings
|
|
69
|
+
4. Flag deviations with rationale as **major** findings
|
|
70
|
+
|
|
71
|
+
### Step 5: UX Alignment (Conditional)
|
|
72
|
+
|
|
73
|
+
**Only if UX decisions are provided above:**
|
|
74
|
+
|
|
75
|
+
For EVERY story that involves user-facing functionality:
|
|
76
|
+
1. Does the story reference the component strategy or design system from UX decisions?
|
|
77
|
+
2. Does the story account for accessibility requirements?
|
|
78
|
+
3. Does the story align with the user journey flows?
|
|
79
|
+
4. Flag missing UX alignment as **major** findings
|
|
80
|
+
|
|
81
|
+
**If no UX decisions were provided, skip this step entirely.**
|
|
82
|
+
|
|
83
|
+
### Step 6: Dependency Validity
|
|
84
|
+
|
|
85
|
+
For EVERY story with dependencies on other stories:
|
|
86
|
+
1. Do the referenced stories actually exist (check story keys)?
|
|
87
|
+
2. Are the dependency chains acyclic?
|
|
88
|
+
3. Flag invalid references as **blocker** findings
|
|
89
|
+
4. Flag potentially circular dependencies as **major** findings
|
|
90
|
+
|
|
91
|
+
### Step 7: Final Verdict
|
|
92
|
+
|
|
93
|
+
Determine your verdict:
|
|
94
|
+
- **NOT_READY**: Any of these conditions are true:
|
|
95
|
+
- 3 or more blocker findings
|
|
96
|
+
- FR coverage_score < 50%
|
|
97
|
+
- Multiple critical architecture contradictions
|
|
98
|
+
- **NEEDS_WORK**: Any of these conditions are true:
|
|
99
|
+
- 1-2 blocker findings (auto-remediable via story regeneration)
|
|
100
|
+
- FR coverage_score 50-79%
|
|
101
|
+
- Several major findings
|
|
102
|
+
- **READY**: All of these conditions are true:
|
|
103
|
+
- Zero blocker findings
|
|
104
|
+
- FR coverage_score >= 80%
|
|
105
|
+
- Only minor findings (if any)
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Output Contract
|
|
110
|
+
|
|
111
|
+
Emit ONLY this YAML block as your final output — no other text.
|
|
112
|
+
|
|
113
|
+
**CRITICAL YAML RULES**: All string values MUST be quoted with double quotes. Arrays use `-` notation. Keep values on single lines.
|
|
114
|
+
|
|
115
|
+
```yaml
|
|
116
|
+
verdict: "READY"
|
|
117
|
+
coverage_score: 95
|
|
118
|
+
findings:
|
|
119
|
+
- category: "fr_coverage"
|
|
120
|
+
severity: "blocker"
|
|
121
|
+
description: "FR-3 (User can export reports as PDF) has no story covering it. Story 2-4 mentions reporting but does not include export functionality."
|
|
122
|
+
affected_items:
|
|
123
|
+
- "FR-3"
|
|
124
|
+
- "2-4"
|
|
125
|
+
- category: "story_quality"
|
|
126
|
+
severity: "minor"
|
|
127
|
+
description: "Story 1-2 AC3 is vague: 'the system responds appropriately'. Should specify expected response time and format."
|
|
128
|
+
affected_items:
|
|
129
|
+
- "1-2"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Valid verdict values: READY, NEEDS_WORK, NOT_READY
|
|
133
|
+
Valid category values: fr_coverage, architecture_compliance, story_quality, constraint_adherence, ux_alignment, dependency_validity
|
|
134
|
+
Valid severity values: blocker, major, minor
|
|
135
|
+
|
|
136
|
+
If you cannot perform the review:
|
|
137
|
+
|
|
138
|
+
```yaml
|
|
139
|
+
verdict: "NOT_READY"
|
|
140
|
+
coverage_score: 0
|
|
141
|
+
findings:
|
|
142
|
+
- category: "fr_coverage"
|
|
143
|
+
severity: "blocker"
|
|
144
|
+
description: "Unable to perform readiness review: insufficient context provided."
|
|
145
|
+
affected_items: []
|
|
146
|
+
```
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# BMAD Refinement Agent
|
|
2
|
+
|
|
3
|
+
## Phase Context
|
|
4
|
+
|
|
5
|
+
{{phase_context}}
|
|
6
|
+
|
|
7
|
+
## Original Artifact
|
|
8
|
+
|
|
9
|
+
{{original_artifact}}
|
|
10
|
+
|
|
11
|
+
## Critique Issues to Address
|
|
12
|
+
|
|
13
|
+
The following issues were identified by the quality reviewer. You must address each one:
|
|
14
|
+
|
|
15
|
+
{{critique_issues}}
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Your Role
|
|
20
|
+
|
|
21
|
+
You are a skilled technical writer and architect. Your job is to improve the artifact above by addressing every issue in the critique list.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Instructions
|
|
26
|
+
|
|
27
|
+
1. Read the original artifact carefully to understand its full content and intent.
|
|
28
|
+
|
|
29
|
+
2. Review each critique issue and understand exactly what needs to change:
|
|
30
|
+
- **blocker** issues must be fully resolved — the refined artifact must not contain the original deficiency.
|
|
31
|
+
- **major** issues must be addressed with substantive improvements, not cosmetic changes.
|
|
32
|
+
- **minor** issues should be addressed where possible without disrupting the overall structure.
|
|
33
|
+
|
|
34
|
+
3. Produce a revised version of the artifact that:
|
|
35
|
+
- Addresses every listed issue
|
|
36
|
+
- Preserves all correct and valid content from the original
|
|
37
|
+
- Maintains the same format and structure as the original (YAML fields, markdown sections, etc.)
|
|
38
|
+
- Does NOT introduce new problems while fixing existing ones
|
|
39
|
+
|
|
40
|
+
4. The refined artifact must be complete and self-contained — it replaces the original entirely.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Output
|
|
45
|
+
|
|
46
|
+
Return ONLY the refined artifact content — no preamble, no "Here is the refined version:", no explanation.
|
|
47
|
+
|
|
48
|
+
Start directly with the artifact content, exactly as the original was formatted.
|
|
49
|
+
|
|
50
|
+
If the original was a YAML block, return a YAML block.
|
|
51
|
+
If the original was a markdown document, return a markdown document.
|
|
52
|
+
If the original was structured text, maintain that structure.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# BMAD UX Design Step 1: Discovery + Core Experience
|
|
2
|
+
|
|
3
|
+
## Context (pre-assembled by pipeline)
|
|
4
|
+
|
|
5
|
+
### Product Brief (from Analysis Phase)
|
|
6
|
+
{{product_brief}}
|
|
7
|
+
|
|
8
|
+
### Requirements (from Planning Phase)
|
|
9
|
+
{{requirements}}
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Mission
|
|
14
|
+
|
|
15
|
+
Conduct a thorough **UX discovery** for this product. Your goal is to define:
|
|
16
|
+
1. The target user personas and their goals
|
|
17
|
+
2. The core experience vision — what should it feel like to use this product?
|
|
18
|
+
3. Emotional response targets — what emotions should users feel?
|
|
19
|
+
4. Inspiration references — existing products, design patterns, or aesthetics to reference
|
|
20
|
+
|
|
21
|
+
This is the foundation for all subsequent UX design decisions. Be specific and user-centered.
|
|
22
|
+
|
|
23
|
+
## Instructions
|
|
24
|
+
|
|
25
|
+
1. **Define target personas** (2-4 personas):
|
|
26
|
+
- Name + role (e.g., "Alex, startup founder")
|
|
27
|
+
- Primary goal when using this product
|
|
28
|
+
- Key frustrations the product should solve
|
|
29
|
+
- Technical comfort level
|
|
30
|
+
|
|
31
|
+
2. **Articulate the core experience vision**:
|
|
32
|
+
- What is the ONE sentence that captures how users should experience this product?
|
|
33
|
+
- Example: "Effortless, like having a brilliant assistant who anticipates your needs"
|
|
34
|
+
|
|
35
|
+
3. **Set emotional response targets** (3-5 emotional goals):
|
|
36
|
+
- What should users feel when they first open the product?
|
|
37
|
+
- What should they feel after completing a key task?
|
|
38
|
+
- Example: "Confident, not overwhelmed; Surprised by how fast it works"
|
|
39
|
+
|
|
40
|
+
4. **Identify inspiration references** (2-4 references):
|
|
41
|
+
- Products, apps, or design systems whose UX quality to emulate
|
|
42
|
+
- What specifically to borrow (interaction model, visual clarity, information density)
|
|
43
|
+
|
|
44
|
+
## Output Contract
|
|
45
|
+
|
|
46
|
+
Emit ONLY this YAML block as your final output — no other text.
|
|
47
|
+
|
|
48
|
+
**CRITICAL**: All string values MUST be quoted with double quotes.
|
|
49
|
+
|
|
50
|
+
```yaml
|
|
51
|
+
result: success
|
|
52
|
+
target_personas:
|
|
53
|
+
- "Alex (startup founder): wants rapid iteration; frustrated by slow dev tools; high technical comfort"
|
|
54
|
+
- "Sam (product manager): needs clear status visibility; frustrated by context-switching; moderate technical comfort"
|
|
55
|
+
core_experience: "Instant clarity — every action produces visible, understandable results within seconds"
|
|
56
|
+
emotional_goals:
|
|
57
|
+
- "Empowered: users feel in control of a complex process"
|
|
58
|
+
- "Focused: the interface surfaces only what matters right now"
|
|
59
|
+
- "Confident: clear feedback means users always know what's happening"
|
|
60
|
+
inspiration_references:
|
|
61
|
+
- "Linear.app: information density and keyboard-first workflow"
|
|
62
|
+
- "Raycast: speed and discoverability without cognitive overload"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
If you cannot produce valid output:
|
|
66
|
+
|
|
67
|
+
```yaml
|
|
68
|
+
result: failed
|
|
69
|
+
```
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# BMAD UX Design Step 2: Design System + Visual Foundation
|
|
2
|
+
|
|
3
|
+
## Context (pre-assembled by pipeline)
|
|
4
|
+
|
|
5
|
+
### Product Brief (from Analysis Phase)
|
|
6
|
+
{{product_brief}}
|
|
7
|
+
|
|
8
|
+
### Requirements (from Planning Phase)
|
|
9
|
+
{{requirements}}
|
|
10
|
+
|
|
11
|
+
### UX Discovery (from Step 1)
|
|
12
|
+
{{ux_discovery}}
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Mission
|
|
17
|
+
|
|
18
|
+
Build on the UX discovery to define the **design system and visual foundation** for this product. Your goal is to establish the design language that will guide all UI development decisions.
|
|
19
|
+
|
|
20
|
+
## Instructions
|
|
21
|
+
|
|
22
|
+
1. **Define the design system approach**:
|
|
23
|
+
- Should this product use an existing component library (e.g., shadcn/ui, MUI, Chakra) or custom?
|
|
24
|
+
- What is the rationale based on the target personas and core experience vision?
|
|
25
|
+
- Example: "shadcn/ui with Tailwind CSS — minimal overhead, full customization, matches developer-focused audience"
|
|
26
|
+
|
|
27
|
+
2. **Establish the visual foundation** — the overall aesthetic:
|
|
28
|
+
- Layout philosophy: spacious or dense? Grid or freeform?
|
|
29
|
+
- Motion: animated transitions or static? Micro-interactions?
|
|
30
|
+
- Personality: professional/corporate, playful/approachable, technical/utilitarian?
|
|
31
|
+
|
|
32
|
+
3. **Define 3-5 design principles**:
|
|
33
|
+
- Short, actionable statements that guide UI decisions
|
|
34
|
+
- Example: "Progressive disclosure: show complexity only when needed"
|
|
35
|
+
- Example: "Keyboard first: every action reachable without a mouse"
|
|
36
|
+
|
|
37
|
+
4. **Specify color and typography direction**:
|
|
38
|
+
- Color palette: light/dark mode? Primary accent color family?
|
|
39
|
+
- Typography: serif, sans-serif, monospace for code? Specific families if known?
|
|
40
|
+
- Example: "Dark-mode-first with neutral gray base, blue accent. Inter for UI, JetBrains Mono for code"
|
|
41
|
+
|
|
42
|
+
## Output Contract
|
|
43
|
+
|
|
44
|
+
Emit ONLY this YAML block as your final output — no other text.
|
|
45
|
+
|
|
46
|
+
**CRITICAL**: All string values MUST be quoted with double quotes.
|
|
47
|
+
|
|
48
|
+
```yaml
|
|
49
|
+
result: success
|
|
50
|
+
design_system: "shadcn/ui with Tailwind CSS — provides accessible, composable primitives with full design token control"
|
|
51
|
+
visual_foundation: "Dense-information layout with generous whitespace at page level. Subtle motion for state changes only. Technical-utilitarian personality with warm accents to reduce coldness."
|
|
52
|
+
design_principles:
|
|
53
|
+
- "Progressive disclosure: surface complexity only when the user requests it"
|
|
54
|
+
- "Keyboard-first: every interaction is achievable without a mouse"
|
|
55
|
+
- "Visible state: system status is always visible, never hidden"
|
|
56
|
+
- "Consistent feedback: every action produces an immediate, unambiguous response"
|
|
57
|
+
color_and_typography: "Dark-mode primary with light-mode option. Slate gray base with indigo accent. Inter 400/500/600 for UI text, JetBrains Mono for code and terminal output."
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
If you cannot produce valid output:
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
result: failed
|
|
64
|
+
```
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# BMAD UX Design Step 3: User Journeys + Component Strategy + Accessibility
|
|
2
|
+
|
|
3
|
+
## Context (pre-assembled by pipeline)
|
|
4
|
+
|
|
5
|
+
### Product Brief (from Analysis Phase)
|
|
6
|
+
{{product_brief}}
|
|
7
|
+
|
|
8
|
+
### Requirements (from Planning Phase)
|
|
9
|
+
{{requirements}}
|
|
10
|
+
|
|
11
|
+
### UX Discovery (from Step 1)
|
|
12
|
+
{{ux_discovery}}
|
|
13
|
+
|
|
14
|
+
### Design System (from Step 2)
|
|
15
|
+
{{design_system}}
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Mission
|
|
20
|
+
|
|
21
|
+
Complete the UX design by mapping **user journeys**, defining the **component strategy**, identifying key **UX patterns**, and establishing **accessibility and responsive design guidelines**.
|
|
22
|
+
|
|
23
|
+
## Instructions
|
|
24
|
+
|
|
25
|
+
1. **Map 2-4 critical user journeys**:
|
|
26
|
+
- Each journey covers a key workflow from the user's perspective
|
|
27
|
+
- Format: "User goal → Entry point → Steps → Success state → Failure state"
|
|
28
|
+
- Focus on the 2-4 highest-value workflows from the requirements
|
|
29
|
+
- Example: "New user onboarding → Landing page → Sign up → Dashboard → First action → Completion"
|
|
30
|
+
|
|
31
|
+
2. **Define the component strategy**:
|
|
32
|
+
- What are the 3-5 most complex/critical UI components to design first?
|
|
33
|
+
- For each: name, purpose, key interactions, and data requirements
|
|
34
|
+
- Example: "Pipeline status dashboard: real-time progress visualization with expandable step details"
|
|
35
|
+
|
|
36
|
+
3. **Identify 3-5 key UX patterns**:
|
|
37
|
+
- Specific interaction patterns that recur across the product
|
|
38
|
+
- Example: "Optimistic updates: apply changes immediately, roll back on error"
|
|
39
|
+
- Example: "Command palette (Cmd+K): global action access without navigation"
|
|
40
|
+
- Example: "Toast notifications: transient feedback for async operations"
|
|
41
|
+
|
|
42
|
+
4. **Establish accessibility and responsive design guidelines**:
|
|
43
|
+
- WCAG target level (AA recommended minimum)
|
|
44
|
+
- Keyboard navigation requirements
|
|
45
|
+
- Screen reader support priorities
|
|
46
|
+
- Responsive breakpoints and mobile strategy (mobile-first? adaptive? PWA?)
|
|
47
|
+
- Example: "WCAG AA minimum. Full keyboard navigation for all core flows. ARIA labels on all interactive elements. Mobile-responsive at 320px+ breakpoints."
|
|
48
|
+
|
|
49
|
+
## Output Contract
|
|
50
|
+
|
|
51
|
+
Emit ONLY this YAML block as your final output — no other text.
|
|
52
|
+
|
|
53
|
+
**CRITICAL**: All string values MUST be quoted with double quotes.
|
|
54
|
+
|
|
55
|
+
```yaml
|
|
56
|
+
result: success
|
|
57
|
+
user_journeys:
|
|
58
|
+
- "First run: User installs CLI → runs 'substrate auto init' → provides project concept → pipeline starts automatically → watches real-time progress → reviews results"
|
|
59
|
+
- "Resume after failure: User sees failed story → inspects error → runs 'substrate auto resume' → pipeline retries from last checkpoint → completes successfully"
|
|
60
|
+
- "Amend existing run: User wants to change direction → runs 'substrate auto amend --concept ...' → sees diff of changes → approves → pipeline re-runs affected phases"
|
|
61
|
+
component_strategy: "Priority components: (1) Pipeline status view — hierarchical phase/story progress with real-time updates; (2) Story detail panel — structured view of AC, tasks, and test results; (3) Error inspector — contextual error display with suggested fixes"
|
|
62
|
+
ux_patterns:
|
|
63
|
+
- "Streaming output: display pipeline logs in real-time with ANSI color preservation"
|
|
64
|
+
- "Progressive detail: collapsed by default, expand on demand"
|
|
65
|
+
- "Inline error recovery: show fix suggestions adjacent to failure context"
|
|
66
|
+
- "Persistent state: remember last run context across sessions"
|
|
67
|
+
accessibility_guidelines:
|
|
68
|
+
- "WCAG AA compliance minimum"
|
|
69
|
+
- "Full keyboard navigation for all interactive elements"
|
|
70
|
+
- "High-contrast mode support via prefers-color-scheme"
|
|
71
|
+
- "Reduced motion media query respected for animations"
|
|
72
|
+
- "ARIA live regions for streaming output updates"
|
|
73
|
+
- "Mobile-responsive at 320px minimum width"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
If you cannot produce valid output:
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
result: failed
|
|
80
|
+
```
|