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.
@@ -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
- - Choices should align with the product brief constraints
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
+ ```