bmad-method 6.6.1-next.2 → 6.6.1-next.3

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.
Files changed (27) hide show
  1. package/evals/bmm-skills/bmad-product-brief/evals.json +267 -0
  2. package/evals/bmm-skills/bmad-product-brief/files/branfield-memo.md +46 -0
  3. package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/addendum.md +40 -0
  4. package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/brief.md +56 -0
  5. package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/decision-log.md +27 -0
  6. package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/distillate.md +28 -0
  7. package/evals/bmm-skills/bmad-product-brief/files/meridian-mobility-report.md +116 -0
  8. package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/addendum.md +41 -0
  9. package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/brief.md +57 -0
  10. package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/decision-log.md +29 -0
  11. package/evals/bmm-skills/bmad-product-brief/files/pantry-bridge-interviews.md +90 -0
  12. package/evals/bmm-skills/bmad-product-brief/files/q2-brainstorm.md +101 -0
  13. package/evals/bmm-skills/bmad-product-brief/triggers.json +18 -0
  14. package/package.json +1 -1
  15. package/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md +48 -93
  16. package/src/bmm-skills/1-analysis/bmad-product-brief/assets/brief-template.md +41 -0
  17. package/src/bmm-skills/1-analysis/bmad-product-brief/customize.toml +48 -29
  18. package/src/bmm-skills/1-analysis/bmad-product-brief/agents/artifact-analyzer.md +0 -60
  19. package/src/bmm-skills/1-analysis/bmad-product-brief/agents/opportunity-reviewer.md +0 -44
  20. package/src/bmm-skills/1-analysis/bmad-product-brief/agents/skeptic-reviewer.md +0 -44
  21. package/src/bmm-skills/1-analysis/bmad-product-brief/agents/web-researcher.md +0 -49
  22. package/src/bmm-skills/1-analysis/bmad-product-brief/bmad-manifest.json +0 -17
  23. package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/contextual-discovery.md +0 -58
  24. package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/draft-and-review.md +0 -87
  25. package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/finalize.md +0 -78
  26. package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/guided-elicitation.md +0 -71
  27. package/src/bmm-skills/1-analysis/bmad-product-brief/resources/brief-template.md +0 -60
@@ -0,0 +1,267 @@
1
+ {
2
+ "skill_name": "bmad-product-brief",
3
+ "_design_notes": "16 single-shot evals across two patterns. Pattern A (A1-A8) tests artifact correctness given complete inputs in headless mode. Pattern B (B1-B8) tests process discipline (decision log fidelity, polish execution, phase ordering, intent boundaries, distillate generation) by inspecting transcript and side-artifacts. Facilitation/conversation-quality evals are deferred to a future multi-turn simulator.",
4
+ "evals": [
5
+ {
6
+ "id": "A1",
7
+ "_pattern": "artifact-correctness",
8
+ "prompt": "Run headless. Create a product brief for InsuLens.\n\nContext (use exactly this \u2014 do not invent):\n- Product: a smartphone app that pairs with off-the-shelf $200 thermal imaging accessories (FLIR ONE Pro and Seek Compact Pro). The app guides homeowners through a structured walkthrough and produces a professional-grade insulation audit in under 20 minutes.\n- Target: suburban homeowners aged 35-65 with houses built before 2000 (poor original insulation, rising energy bills).\n- Validation evidence: 50 user interviews completed in Q4 2025; 78% expressed willingness to pay $49 for a one-time audit if results were credible.\n- Stakes: this brief is the primary input investors will read before our first Series A pitch call.\n- Hardware dependency: requires a thermal imaging accessory (we do not manufacture hardware).\n- Known unknowns: insurance/warranty implications of homeowner-driven audits; whether the 78% intent translates to paid conversion at scale.\n- Distillate: yes, generate one \u2014 the brief will feed downstream PRD work.\n\nRight-size for investor-stage rigor. Output a JSON status block at the end with status, intent, and artifact paths.",
9
+ "expected_output": "A run folder containing brief.md (with valid YAML frontmatter), decision-log.md, and distillate.md. Brief is 1-2 pages, addresses target audience, hardware dependency, validation evidence, and surfaces unknowns alongside knowns. Final assistant message includes JSON with status='complete', intent='create', and artifact paths.",
10
+ "files": [],
11
+ "expectations": [
12
+ "A run folder is created with brief.md and decision-log.md",
13
+ "brief.md has YAML frontmatter containing all four required fields: title, status, created (ISO 8601), updated (ISO 8601)",
14
+ "brief.md frontmatter status is 'draft' or 'final' (not missing or empty)",
15
+ "brief.md word count is between 250 and 1500",
16
+ "brief.md identifies the suburban-homeowner-aged-35-65 target audience",
17
+ "brief.md references the thermal imaging hardware dependency (FLIR ONE Pro / Seek Compact Pro or equivalent)",
18
+ "brief.md references the 50-user interview validation OR the 78% willingness-to-pay finding",
19
+ "brief.md surfaces at least one explicit unknown or unvalidated assumption",
20
+ "brief.md does not introduce facts absent from the input prompt (no invented competitors, fabricated metrics, or unstated partnerships)",
21
+ "distillate.md exists in the run folder",
22
+ "The final assistant message contains a JSON object with keys 'status', 'intent', and at least one artifact path",
23
+ "The JSON 'intent' value is 'create'"
24
+ ]
25
+ },
26
+ {
27
+ "id": "A2",
28
+ "_pattern": "artifact-correctness",
29
+ "prompt": "Run headless. Create a brief for our app idea.",
30
+ "expected_output": "Headless mode with insufficient context should halt with status='blocked' and a reason field. No (or only skeleton) brief should be written. The skill must not invent a product to draft against.",
31
+ "files": [],
32
+ "expectations": [
33
+ "The final assistant message contains a JSON object with key 'status' set to 'blocked'",
34
+ "The JSON output includes a 'reason' field explaining what context is missing",
35
+ "If brief.md exists at all, its body content (excluding frontmatter) is fewer than 100 words OR is a placeholder skeleton \u2014 the skill did not invent a product",
36
+ "The transcript contains no clarifying questions sent back to the user (headless mode honored)"
37
+ ]
38
+ },
39
+ {
40
+ "id": "A3",
41
+ "_pattern": "artifact-correctness",
42
+ "prompt": "Run headless. Create a brief for our neighborhood compost coordinator app idea \u2014 we are moving forward with it. Q2 brainstorming session notes are at evals/bmm-skills/bmad-product-brief/files/q2-brainstorm.md; pull only what is relevant to the compost concept.",
43
+ "expected_output": "Brief focuses tightly on the compost coordinator concept. Source brainstorm is filtered, not ingested wholesale. Decision-log records that filtering occurred.",
44
+ "files": ["evals/bmm-skills/bmad-product-brief/files/q2-brainstorm.md"],
45
+ "expectations": [
46
+ "brief.md addresses the neighborhood compost coordinator concept",
47
+ "brief.md does not introduce content from unrelated brainstorm topics (weather + mood, meditation chime, podcasting tool, craft beer subscription, AI sommelier, office plants, ride coordinator, cookbook app, AR home staging)",
48
+ "brief.md word count is between 250 and 1500",
49
+ "brief.md incorporates at least 2 specific details from the compost section of the brainstorm (e.g., two-sided market with apartment dwellers and home compost-pile owners, hyperlocal neighborhood scope, free-at-launch with eventual subscription, Portland Sunnyside/Hawthorne pilot)",
50
+ "decision-log.md indicates the brainstorm was filtered for relevance, not ingested whole"
51
+ ]
52
+ },
53
+ {
54
+ "id": "A4",
55
+ "_pattern": "artifact-correctness",
56
+ "prompt": "Run headless. Validate the brief at evals/bmm-skills/bmad-product-brief/files/mossridge-brief/brief.md \u2014 the Mossridge Public Library board meets Monday and we need this to land. Read the addendum and decision-log in the same folder first. Cite specific sections, identify weaknesses, caveat what cannot be evaluated. Return inline only \u2014 no separate validation file.",
57
+ "expected_output": "Inline critique citing specific sections from the input brief. No new files. Caveats at least one claim that cannot be evaluated from the brief alone. Offers to roll findings into an Update.",
58
+ "files": [
59
+ "evals/bmm-skills/bmad-product-brief/files/mossridge-brief/brief.md",
60
+ "evals/bmm-skills/bmad-product-brief/files/mossridge-brief/addendum.md",
61
+ "evals/bmm-skills/bmad-product-brief/files/mossridge-brief/decision-log.md"
62
+ ],
63
+ "expectations": [
64
+ "The final output cites specific section names or line content from the input brief (not generic feedback)",
65
+ "The output identifies at least one specific weakness or area for improvement in the input brief",
66
+ "The output explicitly caveats at least one claim that cannot be evaluated from the brief alone (e.g., community demand, funding feasibility, volunteer sustainability)",
67
+ "The output offers to roll findings into an Update (or equivalent next-step proposal)",
68
+ "The final assistant message contains a JSON object with intent='validate'"
69
+ ]
70
+ },
71
+ {
72
+ "id": "A5",
73
+ "_pattern": "artifact-correctness",
74
+ "prompt": "Run headless. Create a brief for: a weekend-project iOS app called Sproutkeeper that reminds houseplant owners when to water their plants based on plant type and indoor humidity sensor data. Target is hobbyist plant owners. MVP scope only, single-developer side project, no investors, no team, just personal evening project.",
75
+ "expected_output": "Lightweight brief right-sized to a side project. Low rigor. No investor-grade framing. Probably no distillate unless the side-project user explicitly asked.",
76
+ "files": [],
77
+ "expectations": [
78
+ "The final assistant message contains a JSON object with intent='create'",
79
+ "brief.md exists at the path referenced in the JSON output",
80
+ "brief.md is right-sized for a side project (closer to 250-500 words than 1500)",
81
+ "brief.md does not include investor-grade framing (no 'Series A inputs', 'TAM/SAM/SOM', 'go-to-market strategy' boilerplate when the user said this is a personal evening project)",
82
+ "The transcript contains no clarifying questions to the user",
83
+ "Sections that do not earn their place for a side project are dropped or kept minimal (e.g., no extensive Risk or Success Criteria padding)"
84
+ ]
85
+ },
86
+ {
87
+ "id": "A6",
88
+ "_pattern": "artifact-correctness",
89
+ "prompt": "Run headless. Create a brief from this memo. It is from our last working group on a new microcredential program at Branfield Community College. Memo is at evals/bmm-skills/bmad-product-brief/files/branfield-memo.md. Use what is there; do not re-elicit facts already present.",
90
+ "expected_output": "Brief reflects content from the memo. No re-asking for facts already present. Decision-log notes ingestion of the memo.",
91
+ "files": ["evals/bmm-skills/bmad-product-brief/files/branfield-memo.md"],
92
+ "expectations": [
93
+ "brief.md incorporates at least 3 distinct facts or decisions present in the input memo",
94
+ "decision-log.md references having used the memo as source material",
95
+ "The transcript does not ask the user to re-state the program name, target student, or core curriculum focus if those are present in the memo",
96
+ "brief.md does not invent program details not present in the memo"
97
+ ]
98
+ },
99
+ {
100
+ "id": "A7",
101
+ "_pattern": "artifact-correctness",
102
+ "prompt": "Run headless. Create a brief for Brightway \u2014 our smart bike helmet with crash detection, turn signals, and braking lights. Meridian Insights produced a market research report on e-mobility at evals/bmm-skills/bmad-product-brief/files/meridian-mobility-report.md. Use only what is relevant to the safety helmet category \u2014 do not let the e-scooter, charging-infrastructure, or bike-share segments bleed into the brief.",
103
+ "expected_output": "Brief focuses on the smart bike helmet concept. Pulls relevant findings from the helmet section. Other mobility segments do not appear.",
104
+ "files": ["evals/bmm-skills/bmad-product-brief/files/meridian-mobility-report.md"],
105
+ "expectations": [
106
+ "brief.md addresses the Brightway smart bike helmet concept",
107
+ "brief.md does not introduce content from unrelated mobility segments (e-scooters, charging infrastructure, bike-share, vehicle-to-grid)",
108
+ "brief.md word count is between 250 and 1500",
109
+ "brief.md incorporates at least 2 specific findings from the smart helmet section of the report (e.g., market sizing, key players, crash detection technology trends, regulatory or insurance landscape)",
110
+ "decision-log.md indicates the report was filtered to the helmet category rather than ingested whole"
111
+ ]
112
+ },
113
+ {
114
+ "id": "A8",
115
+ "_pattern": "artifact-correctness",
116
+ "prompt": "Run headless. Create a brief for Pantry Bridge \u2014 a meal-kit subscription targeted at adults 65+ who live alone and want fresh meals without grocery shopping. Customer research transcripts are at evals/bmm-skills/bmad-product-brief/files/pantry-bridge-interviews.md. Pull what is relevant from the older-adult interviews; do not conflate insights from the working-parent, student, or corporate-buyer personas.",
117
+ "expected_output": "Brief focuses on the older-adult target persona. Eleanor's interview drives the insights. Other personas do not pollute the brief.",
118
+ "files": ["evals/bmm-skills/bmad-product-brief/files/pantry-bridge-interviews.md"],
119
+ "expectations": [
120
+ "brief.md addresses the Pantry Bridge older-adult meal-kit concept",
121
+ "brief.md does not conflate insights from non-target personas (working parent Susan, college student Marcus, corporate cafeteria buyer Dimitri)",
122
+ "brief.md word count is between 250 and 1500",
123
+ "brief.md incorporates at least 2 specific insights from Eleanor's interview (e.g., grocery-trip difficulty, portion sizing, dietary restrictions, social aspects of meals, trust concerns)",
124
+ "decision-log.md notes which interviews were used and which were excluded"
125
+ ]
126
+ },
127
+ {
128
+ "id": "B1",
129
+ "_pattern": "process-discipline",
130
+ "prompt": "Run headless. Create a brief for HelmStack \u2014 an open-source observability platform for distributed systems.\n\nWe have made these specific decisions and want each captured in the decision log with rationale:\n\n1. Pricing: Free open-source core; paid SaaS at $29/seat/month. Rejected paid-one-shot-license model because it would limit network effects in the OSS community.\n2. Launch: Invite-only beta for 6 weeks before public launch. Rejected open public launch \u2014 operational risk too high before stability is proven on real workloads.\n3. Stack: TypeScript + Postgres for the backend. Rejected Go + MongoDB \u2014 TypeScript aligned better with our team's existing skills and the frontend codebase.\n4. ICP: 5-50 person engineering teams for MVP. Rejected enterprise-first focus because the sales cycle is too long for our capital runway.\n5. Self-host: SaaS-only at launch; self-host arrives in v2. Rejected concurrent self-host because it would slow shipping velocity past our funding window.\n\nProduce brief.md, decision-log.md, and a distillate.",
131
+ "expected_output": "Decision log contains all five named decisions with rationale captured. Brief reflects the decisions but the decision log is the canonical record.",
132
+ "files": [],
133
+ "expectations": [
134
+ "decision-log.md exists in the run folder",
135
+ "decision-log.md captures the pricing decision (free OSS + $29/seat SaaS) with the rejected alternative (paid one-shot license) and rationale (network effects)",
136
+ "decision-log.md captures the invite-only-beta decision with the rejected alternative (open public launch) and rationale (operational risk before stability)",
137
+ "decision-log.md captures the platform-stack decision (TypeScript + Postgres) with the rejected alternative (Go + MongoDB) and rationale (team skills / frontend alignment)",
138
+ "decision-log.md captures the ICP decision (5-50 person eng teams) with rationale referencing sales cycle / runway",
139
+ "decision-log.md captures the self-host-timing decision (SaaS-only at launch, self-host v2) with rationale (shipping velocity / funding window)"
140
+ ]
141
+ },
142
+ {
143
+ "id": "B2",
144
+ "_pattern": "process-discipline",
145
+ "prompt": "Run headless. Create a brief for HelmStack \u2014 an open-source observability platform for distributed systems.\n\nWe have made these specific decisions and want each captured in the decision log with rationale:\n\n1. Pricing: Free open-source core; paid SaaS at $29/seat/month. Rejected paid-one-shot-license model because it would limit network effects in the OSS community.\n2. Launch: Invite-only beta for 6 weeks before public launch. Rejected open public launch \u2014 operational risk too high before stability is proven on real workloads.\n3. Stack: TypeScript + Postgres for the backend. Rejected Go + MongoDB \u2014 TypeScript aligned better with our team's existing skills and the frontend codebase.\n4. ICP: 5-50 person engineering teams for MVP. Rejected enterprise-first focus because the sales cycle is too long for our capital runway.\n5. Self-host: SaaS-only at launch; self-host arrives in v2. Rejected concurrent self-host because it would slow shipping velocity past our funding window.\n\nProduce brief.md, decision-log.md, and a distillate.",
146
+ "expected_output": "Brief is consistent with the decision log: every decision in the log is reflected in the brief, and no claim in the brief is absent from the input prompt or the log. Tests bidirectional fidelity.",
147
+ "files": [],
148
+ "expectations": [
149
+ "brief.md mentions the OSS-core + paid-SaaS pricing structure",
150
+ "brief.md references the invite-only-beta launch sequencing OR identifies the launch model consistent with the decision log",
151
+ "brief.md references the platform-stack choice (TypeScript + Postgres) OR is silent on stack \u2014 but does not contradict it (no mention of Go, MongoDB, etc.)",
152
+ "brief.md identifies 5-50 person eng teams as the ICP (or equivalent \u2014 small-to-mid-size eng teams)",
153
+ "brief.md does not introduce decisions, competitors, partnerships, metrics, or product features absent from both the input prompt and decision-log.md (no invented facts)",
154
+ "Each substantive decision in decision-log.md has a corresponding reflection in brief.md (no log-to-brief drops)"
155
+ ]
156
+ },
157
+ {
158
+ "id": "B3",
159
+ "_pattern": "process-discipline",
160
+ "prompt": "Run headless. Create a product brief for InsuLens.\n\nContext (use exactly this \u2014 do not invent):\n- Product: a smartphone app that pairs with off-the-shelf $200 thermal imaging accessories (FLIR ONE Pro and Seek Compact Pro). The app guides homeowners through a structured walkthrough and produces a professional-grade insulation audit in under 20 minutes.\n- Target: suburban homeowners aged 35-65 with houses built before 2000.\n- Validation: 50 user interviews completed in Q4 2025; 78% willingness to pay $49 for a one-time audit.\n- Stakes: Series A pitch input.\n- Hardware: requires a thermal accessory (we do not manufacture hardware).\n\nProduce brief.md, decision-log.md, and a distillate. Run the polish phase before presenting.",
161
+ "expected_output": "The transcript shows the polish phase executing \u2014 the skill invokes bmad-editorial-review-structure and bmad-editorial-review-prose, either via the Skill tool directly or via Agent tool calls whose description or prompt targets those editorial skills. Both passes must occur after the initial draft is written and before the final JSON status block.",
162
+ "files": [],
163
+ "expectations": [
164
+ "The transcript contains either a Skill tool call invoking bmad-editorial-review-structure, OR an Agent tool call whose description or prompt references structural review or bmad-editorial-review-structure",
165
+ "The transcript contains either a Skill tool call invoking bmad-editorial-review-prose, OR an Agent tool call whose description or prompt references prose review or bmad-editorial-review-prose",
166
+ "Both editorial-pass dispatches (Skill or Agent) occur after the first Write tool call that creates brief.md",
167
+ "Both editorial-pass dispatches (Skill or Agent) occur before the final assistant message containing the JSON status block"
168
+ ]
169
+ },
170
+ {
171
+ "id": "B4",
172
+ "_pattern": "process-discipline",
173
+ "prompt": "Run headless. Create a product brief for InsuLens.\n\nContext (use exactly this \u2014 do not invent):\n- Product: a smartphone app that pairs with off-the-shelf $200 thermal imaging accessories (FLIR ONE Pro and Seek Compact Pro). Walkthrough produces a professional-grade insulation audit in under 20 minutes.\n- Target: suburban homeowners aged 35-65 with houses built before 2000.\n- Validation: 50 user interviews; 78% willingness to pay $49.\n- Stakes: Series A pitch input.\n- Hardware: requires a thermal accessory.\n\nProduce brief.md, decision-log.md, and a distillate. Follow the standard Create flow: workspace setup, draft, finalize (decision log audit, polish, distillate, close-out).",
174
+ "expected_output": "Workspace setup happens before drafting. Draft happens before polish. Polish happens before distillate generation. Distillate generation happens before the final close-out JSON block. Each phase boundary is observable in the transcript.",
175
+ "files": [],
176
+ "expectations": [
177
+ "The first Write tool call to decision-log.md OR brief.md (skeleton) occurs before the substantive Write that produces the full brief body",
178
+ "The polish-phase Skill tool calls (bmad-editorial-review-structure and/or bmad-editorial-review-prose) occur after the brief body is written",
179
+ "The bmad-distillator Skill tool call (or distillate.md write) occurs after the polish-phase Skill tool calls",
180
+ "The final JSON status block in the assistant message occurs after distillate.md is written or skipped with explanation"
181
+ ]
182
+ },
183
+ {
184
+ "id": "B5",
185
+ "_pattern": "process-discipline",
186
+ "prompt": "Run headless. Update the brief at evals/bmm-skills/bmad-product-brief/files/forkbird-brief/brief.md \u2014 we have decided to add B2B catering services for corporate events, in addition to the direct-to-consumer delivery model. Read the existing decision-log.md and addendum.md in the same folder first.",
187
+ "expected_output": "The skill MUST detect the contradiction with the prior 'rejected B2B catering for MVP' decision (in decision-log.md) before applying the change. Acceptable resolutions: (a) halt with blocked status surfacing the conflict, or (b) apply the change with addendum.md capturing the override and rationale. Brief must not silently flip without acknowledging the prior decision.",
188
+ "files": [
189
+ "evals/bmm-skills/bmad-product-brief/files/forkbird-brief/brief.md",
190
+ "evals/bmm-skills/bmad-product-brief/files/forkbird-brief/addendum.md",
191
+ "evals/bmm-skills/bmad-product-brief/files/forkbird-brief/decision-log.md",
192
+ "evals/bmm-skills/bmad-product-brief/files/forkbird-brief/distillate.md"
193
+ ],
194
+ "expectations": [
195
+ "The transcript or output explicitly references the prior 'rejected B2B catering for MVP' decision from decision-log.md",
196
+ "The contradiction is surfaced before the brief body is modified (a Read of decision-log.md occurs before the Edit/Write to brief.md, AND the conflict is named in the assistant output)",
197
+ "Either the JSON status is 'blocked' with the conflict in the reason field, OR addendum.md is updated with an override entry capturing the rationale for reversing the prior decision",
198
+ "If the brief is updated, decision-log.md gains a new entry referencing the catering reversal",
199
+ "If the brief is updated, the YAML frontmatter 'updated' field is later than the original 'created' field"
200
+ ]
201
+ },
202
+ {
203
+ "id": "B6",
204
+ "_pattern": "process-discipline",
205
+ "prompt": "Run headless. Update the brief at evals/bmm-skills/bmad-product-brief/files/forkbird-brief/brief.md \u2014 we have signed our fifth chef partner (Chicago metro). Add this to the existing operating-model and what's-known sections. Read the existing decision-log.md first.",
206
+ "expected_output": "Clean update \u2014 does not contradict any prior decision. Brief gets updated, decision-log gains a new entry, distillate is regenerated, YAML 'updated' bumps but 'created' stays the same. No spurious addendum since this is a status update, not an override.",
207
+ "files": [
208
+ "evals/bmm-skills/bmad-product-brief/files/forkbird-brief/brief.md",
209
+ "evals/bmm-skills/bmad-product-brief/files/forkbird-brief/addendum.md",
210
+ "evals/bmm-skills/bmad-product-brief/files/forkbird-brief/decision-log.md",
211
+ "evals/bmm-skills/bmad-product-brief/files/forkbird-brief/distillate.md"
212
+ ],
213
+ "expectations": [
214
+ "brief.md is updated to reflect the signed fifth chef partner in Chicago",
215
+ "brief.md frontmatter 'updated' field is later than the original 'created' timestamp; 'created' is unchanged",
216
+ "decision-log.md contains a new entry referencing the fifth chef signing",
217
+ "distillate.md is regenerated (modification timestamp newer than the input fixture)",
218
+ "The transcript does not surface a fictional contradiction \u2014 this is a clean update, not an override of a prior decision"
219
+ ]
220
+ },
221
+ {
222
+ "id": "B7",
223
+ "_pattern": "process-discipline",
224
+ "prompt": "Run headless. Validate the brief at evals/bmm-skills/bmad-product-brief/files/mossridge-brief/brief.md \u2014 we are presenting to the library board Monday. Read the addendum and decision-log in the same folder. Cite specific sections. Return inline only.",
225
+ "expected_output": "Validate is read-only. No new files created. No existing files modified. Critique returned inline in the assistant output.",
226
+ "files": [
227
+ "evals/bmm-skills/bmad-product-brief/files/mossridge-brief/brief.md",
228
+ "evals/bmm-skills/bmad-product-brief/files/mossridge-brief/addendum.md",
229
+ "evals/bmm-skills/bmad-product-brief/files/mossridge-brief/decision-log.md"
230
+ ],
231
+ "expectations": [
232
+ "No new files appear in the mossridge-brief artifacts directory after the run (only the three input files)",
233
+ "The input brief.md, addendum.md, and decision-log.md are byte-identical to the staged fixtures (no Edit/Write tool calls modified them)",
234
+ "The transcript contains no Write tool calls and no Edit tool calls targeting the mossridge-brief folder",
235
+ "The final assistant message contains a JSON object with intent='validate'"
236
+ ]
237
+ },
238
+ {
239
+ "id": "B8",
240
+ "_pattern": "process-discipline",
241
+ "prompt": "Run headless. Create a product brief for InsuLens (smartphone app that pairs with thermal imaging accessories for homeowner insulation audits, target suburban homeowners 35-65 with houses pre-2000, 50 user interviews with 78% willingness to pay $49, Series A pitch input). Generate a distillate \u2014 this brief will feed downstream PRD work.",
242
+ "expected_output": "distillate.md exists alongside brief.md and decision-log.md. The distillate is meaningfully shorter than the brief. Content of the distillate matches the brief without introducing new facts. The transcript shows the bmad-distillator subagent invoked.",
243
+ "files": [],
244
+ "expectations": [
245
+ "distillate.md exists in the run folder alongside brief.md and decision-log.md",
246
+ "distillate.md is shorter than brief.md (file size, in characters, is at least 30% smaller)",
247
+ "distillate.md does not introduce facts or claims not present in brief.md (no inventions on compression)",
248
+ "The transcript contains a Skill tool call invoking bmad-distillator"
249
+ ]
250
+ },
251
+ {
252
+ "id": "C1",
253
+ "_pattern": "config-compliance",
254
+ "prompt": "Run headless. Create a product brief for TaskFlow \u2014 a lightweight daily planning app for freelancers who juggle multiple clients. Core idea: a single daily view that pulls together tasks, time blocks, and client context so the freelancer always knows what to work on next. Target is independent freelancers, 1-3 clients at a time, who currently manage their day across sticky notes, calendar apps, and spreadsheets. MVP is mobile-first. No investors \u2014 the founder is bootstrapping.",
255
+ "expected_output": "Brief written in Spanish (document_output_language=Spanish). Assistant's conversational output reflects the configured British-accent communication style. Brief lands at the custom output path (test-output/artifacts/briefs/...) rather than the default _bmad-output path. Brief is right-sized for a bootstrapped solo project.",
256
+ "files": [],
257
+ "expectations": [
258
+ "brief.md exists under test-output/artifacts/briefs/ (the custom planning_artifacts path), not under _bmad-output/",
259
+ "The final JSON status block artifact paths reference test-output/ rather than _bmad-output/",
260
+ "brief.md body is written in Spanish \u2014 the majority of prose content (headings, section bodies) is in Spanish, not English",
261
+ "brief.md covers the TaskFlow concept: freelancer daily planning, multi-client context, the sticky-notes-plus-calendar-plus-spreadsheet problem",
262
+ "brief.md is right-sized for a bootstrapped side project (250-600 words, no investor-grade framing such as TAM/SAM/SOM or Series A language)",
263
+ "The assistant's non-document output (transcript text content outside of brief.md) contains at least one marker of British informal register (e.g., 'mate', 'cheers', 'brilliant', 'sorted', 'innit', 'blimey', 'proper', 'right then', or equivalent pub-idiom phrasing)"
264
+ ]
265
+ }
266
+ ]
267
+ }
@@ -0,0 +1,46 @@
1
+ # Working Group Notes — Microcredential Program
2
+
3
+ **Branfield Community College**
4
+ **Meeting:** 2026-04-22
5
+ **Attendees:** Provost, Workforce Dev Director, Chair of Industry Advisory Board, two faculty leads (Data Analytics, Healthcare Admin), Financial Aid Director
6
+
7
+ ## Why we're doing this
8
+
9
+ Regional employer survey (Q1 2026) showed 340+ unfilled mid-skill jobs in the three-county area. State workforce board approved a $1.4M grant if we can launch by fall 2027 with at least three tracks. Existing AAS programs are too long for working adults — average completion 3.5 years.
10
+
11
+ ## What we're building
12
+
13
+ Six-month stackable microcredentials. Three tracks at launch:
14
+
15
+ 1. **Data Analytics** (SQL, Excel/Power BI, intro Python). Faculty lead Marisol Reyes. Strongest employer demand. Will be MVP — first to launch, used to validate format.
16
+ 2. **Healthcare Admin** (medical coding, EHR systems, patient workflow). Faculty lead Dev Patel. Aging population in region drives demand.
17
+ 3. **Sustainable Construction** (green building practices, retrofit basics, code compliance). New faculty hire required.
18
+
19
+ Stackable means credits transfer into related AAS or BAS later if the student wants.
20
+
21
+ ## Decisions made today
22
+
23
+ - **Data Analytics is MVP.** Launch fall 2027, others phase in spring/fall 2028. Validate format before scaling.
24
+ - **Hybrid delivery.** Two evenings/week in person + asynchronous online. Board rejected pure-online (concerns about adult learner outcomes data).
25
+ - **Stipend program.** Up to $3,000/student for low-income students, funded from the state grant. Means-tested.
26
+ - **Industry Advisory Board** has approval authority on curriculum. Three employers committed (regional hospital, mid-size data consultancy, county housing authority). All three commit to interview every graduate.
27
+ - **Cohort cap: 24 per track per term.** Driven by classroom size and faculty load.
28
+
29
+ ## Open questions
30
+
31
+ - Childcare for evening sessions — can we partner with the campus childcare center? Deferred to next meeting.
32
+ - Marketing — provost wants to know cost per enrolled student before approving budget. Need workforce dev to model.
33
+ - Do we offer a tuition payment plan in addition to the stipend? Financial aid director thinks yes; provost wants to see uptake projections first.
34
+
35
+ ## What we're NOT doing
36
+
37
+ - Not pursuing pure-online delivery (rejected — see above).
38
+ - Not launching all three tracks at once (rejected — risk concentration, faculty bandwidth).
39
+ - Not building employer-customized cohorts (rejected — too operationally complex for MVP).
40
+
41
+ ## Next steps
42
+
43
+ - Workforce Dev: marketing cost model by 2026-05-15.
44
+ - Provost: childcare partnership exploratory conversation.
45
+ - Faculty leads: draft data analytics curriculum outline by 2026-06-01.
46
+ - Reconvene 2026-05-20.
@@ -0,0 +1,40 @@
1
+ # Addendum — Forkbird Kitchen
2
+
3
+ ## Options considered (and not taken)
4
+
5
+ ### B2B / corporate catering
6
+
7
+ Considered as a parallel revenue stream from day one. Rejected for MVP. Different operational rhythm (bulk orders, fixed delivery windows, invoiced billing), different customer (procurement, not eaters), different unit economics. Splitting attention at launch risked degrading both. Revisit if consumer foundation is established by month 12.
8
+
9
+ ### Subscription / meal plan
10
+
11
+ Considered as a recurring-revenue layer. Rejected for MVP. Operationally expensive at our planned scale: requires demand forecasting per subscriber, kitchen scheduling locked further out, and packaging/refrigerated handling we are not yet equipped for. Reasonable to revisit once kitchen utilization stabilizes.
12
+
13
+ ### Retail / grocery channel
14
+
15
+ Considered (refrigerated meals in Whole Foods, Sprouts). Rejected for MVP. Different product (cold meals, longer shelf life, different texture profile), different go-to-market (broker relationships, slotting fees, category management). Parked for year 2 — would require a separate product line, not a channel extension.
16
+
17
+ ### Lower-priced everyday tier
18
+
19
+ Considered. Rejected for now. The brand position is chef-driven; introducing a value tier alongside risks the premium signal in marketplace search ranking and review patterns. Explored alternative of separate brand for value tier; deferred.
20
+
21
+ ## Personas (extended)
22
+
23
+ **The plant-based weekday professional.** Lives in a dense urban neighborhood, orders 4–6 times a month, splits between own-cooking and delivery. Sources of dissatisfaction with current options: chain plant-based menus feel formulaic, fine-dining plant-based is too expensive for weeknight, marketplace search surfaces too many low-quality options.
24
+
25
+ **The dietary-flex household member.** One person in a household is plant-based by preference; the other(s) are not. Ordering pattern is "tonight one of us wants Forkbird, the other wants something else." We benefit from being a dependable single-cuisine option that doesn't require negotiating across diets.
26
+
27
+ ## Sizing notes
28
+
29
+ - Total addressable: ~6.2M urban professionals across 5 metros eating plant-based 3+ times/week (based on 2024 Plant Based Foods Association data, urban segmentation).
30
+ - Serviceable addressable (within delivery radius of planned kitchens at launch): ~840K.
31
+ - Realistic Y1 capture (per metro forecast): 0.4% of SAM = 3,360 active customers across all metros.
32
+
33
+ ## Sourcing standard — exact wording
34
+
35
+ "For each dish on the menu, we publish the source of every ingredient that represents at least 5% of cost. We commit that at least 60% of total ingredient weight is sourced within 200 miles of the kitchen preparing that dish. Both numbers are auditable; we publish them per-dish in the app. If we cannot meet the 60% local threshold for a dish, the dish does not ship."
36
+
37
+ ## Technical constraints
38
+
39
+ - Marketplace integration (DoorDash, UberEats, Grubhub) requires their menu management API. We are using a third-party middleware (Olo) to avoid maintaining three separate integrations.
40
+ - Ingredient transparency display requires structured data per dish. We need an ingredient-master database; current option is to extend our recipe-management software vendor.
@@ -0,0 +1,56 @@
1
+ ---
2
+ title: Forkbird Kitchen — Product Brief
3
+ status: final
4
+ created: 2026-02-14
5
+ updated: 2026-02-14
6
+ ---
7
+
8
+ # Forkbird Kitchen
9
+
10
+ ## What it is
11
+
12
+ A delivery-only ghost kitchen brand offering chef-driven plant-based meals in five US metros: San Francisco, New York, Los Angeles, Seattle, and Chicago. Launch operating model is direct-to-consumer through our own iOS/Android app and the major third-party marketplaces (DoorDash, UberEats, Grubhub).
13
+
14
+ ## Who it's for
15
+
16
+ Urban professionals aged 28–45 who eat plant-based meals at least three times a week, value chef-driven food over chain alternatives, and order delivery 4+ times monthly. Initial geographic focus is dense neighborhoods within 3-mile delivery radii of partner kitchens.
17
+
18
+ We are not building for: families with children (different ticket size and ordering pattern), occasional plant-based eaters (price sensitivity too high for our positioning), or office lunch (different time-of-day operation).
19
+
20
+ ## Why it wins
21
+
22
+ Three things are deliberately stacked:
23
+
24
+ 1. **Chef partnerships, not chef-as-marketing.** Each metro has a named chef (with prior fine-dining or notable plant-based credit) who designs the rotating menu and earns equity in that metro's P&L. They are not endorsers; they are operators.
25
+ 2. **Ingredient sourcing standards.** Published per-dish: where it came from, how it was farmed, what portion of cost it represents. No dish ships if we can't source within 200 miles for ≥60% of ingredient weight. This is auditable, not marketing copy.
26
+ 3. **Speed without cars.** Average ticket-to-door is 28 minutes from order placement, achieved by tight delivery radii and dense order density per kitchen. Long delivery erodes plant-based texture more than animal protein — speed is product, not logistics.
27
+
28
+ ## Operating model
29
+
30
+ Five kitchens, one per metro, each leased space inside an existing food-prep facility. No customer-facing storefronts. App orders go through our stack; marketplace orders pass through their stacks. Menu rotates every six weeks per chef.
31
+
32
+ Pricing tier: $14–$22 per entrée before delivery. We are deliberately at chef-driven positioning, not value positioning.
33
+
34
+ ## What's known
35
+
36
+ - Demand validated through three pop-up dinners in SF and NY (Q4 2025). 480 covers, 78% repeat intent based on post-event survey.
37
+ - Operating partner identified in each metro. Leases signed for SF, NY, LA. Seattle and Chicago in negotiation.
38
+ - Three of five chefs signed; two in active conversations.
39
+
40
+ ## What's unknown
41
+
42
+ - Whether ingredient-sourcing transparency is a differentiator at point of sale (in-app) or only in marketing. Our hypothesis is "both" but we have not tested in-app.
43
+ - Marketplace economics. DoorDash takes 15–30% depending on tier; we are modeling the lower tier but have not negotiated.
44
+ - Whether the 3-mile radius holds outside SF/NY (lower density in LA/Chicago).
45
+
46
+ ## Risks
47
+
48
+ - Chef churn. If a metro chef leaves, the metro brand loses its anchor. Mitigation: equity vesting over 24 months, named-chef terms in operating agreement.
49
+ - Sourcing cost volatility. 60% local-within-200-miles can spike with weather/supply disruption. We have not modeled the worst case.
50
+ - Marketplace dependency. If DoorDash terms shift adversely, our blended margin is at risk. We are deliberately building the owned-app channel to reduce this dependency.
51
+
52
+ ## Success criteria for first 12 months
53
+
54
+ - 4 of 5 metros operating profitably at the unit level (kitchen + chef + delivery economics) by month 9
55
+ - 30% of orders through owned app (vs. marketplaces) by month 12
56
+ - Chef retention 100% through year 1
@@ -0,0 +1,27 @@
1
+ # Decision Log — Forkbird Kitchen
2
+
3
+ ## 2026-01-08
4
+ - **Brand position: chef-driven, premium plant-based.** Considered value tier; rejected for MVP. Premium positioning is the wedge against marketplace generic plant-based.
5
+
6
+ ## 2026-01-12
7
+ - **Five-metro launch: SF, NY, LA, Seattle, Chicago.** Considered three-metro start; rejected as not enough density to test the chef-equity model meaningfully.
8
+ - **Ghost kitchen, no storefront.** Storefronts ruled out — capex too high for MVP, dilutes the speed advantage.
9
+
10
+ ## 2026-01-19
11
+ - **Pricing tier $14–$22 per entrée.** Modeled against three competitor sets: chain plant-based, fine-dining plant-based delivery, generic mid-tier delivery. Sits cleanly above chain, below fine-dining.
12
+ - **Chef equity in metro P&L.** Rejected flat fee + revenue share alternative; equity creates the operator incentive we want.
13
+
14
+ ## 2026-01-26
15
+ - **Rejected B2B catering segment for MVP.** Different operational rhythm and customer; would split attention at launch and risk degrading both consumer and B2B execution. Revisit in year 2 if consumer foundation is solid. (Discussion: 2 hours; chef partners weighed in against splitting focus; CFO modeled the dilution effect on consumer kitchen utilization.)
16
+ - **Rejected subscription model for MVP.** Operationally expensive at planned scale; revisit once kitchen utilization stabilizes.
17
+
18
+ ## 2026-02-02
19
+ - **Sourcing standard: 60% within 200 miles, published per-dish.** Considered weaker thresholds (50% / 250 miles); rejected as not differentiating enough to be worth publishing. The number has to be defensible.
20
+ - **Marketplace channel mix: own app + DoorDash + UberEats + Grubhub.** Considered own-app only; rejected as too slow on demand acquisition. Considered marketplaces only; rejected — own app is critical to long-term margin.
21
+
22
+ ## 2026-02-09
23
+ - **Six-week menu rotation per chef.** Considered four-week (more freshness) and eight-week (more operational stability). Six is the compromise; reassess after first two cycles.
24
+ - **Marketing budget: 60% acquisition / 40% brand.** Rejected pure-acquisition because chef-driven positioning needs brand-level signal that paid acquisition alone won't carry.
25
+
26
+ ## 2026-02-14
27
+ - **Brief finalized for Series A inputs.** Status moved to final.
@@ -0,0 +1,28 @@
1
+ # Forkbird Kitchen (Distillate)
2
+
3
+ **What:** Delivery-only ghost kitchen brand serving chef-driven plant-based meals across five US metros (SF, NYC, LA, Seattle, Chicago) via own app and marketplaces (DoorDash, UberEats, Grubhub).
4
+
5
+ **Audience:** Urban professionals 28–45 who eat plant-based 3+ times/week and order delivery 4+ times monthly.
6
+
7
+ **Differentiation (deliberately stacked):**
8
+ - Named chef per metro with equity in metro P&L (operator, not endorser)
9
+ - Auditable per-dish sourcing: ≥60% ingredient weight within 200 miles
10
+ - 28-min average ticket-to-door via tight 3-mile delivery radii
11
+
12
+ **Operating model:** Five leased ghost-kitchen spaces, one per metro. Menu rotates every six weeks per chef. Pricing $14–$22 per entrée before delivery.
13
+
14
+ **Validated:**
15
+ - 480 covers across three SF/NY pop-ups (Q4 2025), 78% repeat intent
16
+ - Three of five chefs signed; LA/SF/NY leases signed
17
+ - Three of five operating partners identified
18
+
19
+ **Open:**
20
+ - Whether per-dish sourcing transparency moves conversion in-app (untested)
21
+ - Marketplace economics (DoorDash terms unconfirmed)
22
+ - 3-mile radius outside high-density metros (LA/Chicago)
23
+
24
+ **Scope explicitly excluded for MVP:** B2B/corporate catering, subscription, retail/grocery, lower-priced value tier. All revisit-able in year 2.
25
+
26
+ **Key risks:** chef churn, sourcing cost volatility, marketplace dependency.
27
+
28
+ **Y1 success criteria:** 4/5 metros unit-profitable by month 9; 30% orders through own app by month 12; 100% chef retention.
@@ -0,0 +1,116 @@
1
+ # E-Mobility Market Report 2026
2
+
3
+ **Prepared by:** Meridian Insights
4
+ **Date:** Q2 2026
5
+ **Coverage:** North America, with comparative reference to EU markets
6
+ **Engagement code:** MI-2026-EMOB-007
7
+
8
+ ---
9
+
10
+ ## Executive Summary
11
+
12
+ The e-mobility category continues a multi-year structural shift from "alternative transportation" to mainstream mobility infrastructure. North American unit volume across e-bikes, e-scooters, and connected safety hardware grew 18% year-over-year in 2025, against a 6% growth rate for traditional bicycles. Three macro factors are durably reshaping the category: regulatory clarity at the state level (29 US states now have explicit e-bike classifications, up from 14 in 2022), insurance industry interest in telematics-style risk pricing, and a generational shift in commuting preferences among the 28-44 cohort.
13
+
14
+ This report covers seven segments of the broader e-mobility landscape: e-bike retail, e-scooter regulation, bike-share systems, charging infrastructure, smart helmet hardware, and grid-integration trends. Findings are synthesized from 142 stakeholder interviews, 18 retailer site visits, government regulatory filings, and proprietary point-of-sale data from 4,200 specialty retail outlets.
15
+
16
+ ---
17
+
18
+ ## Methodology
19
+
20
+ Quantitative data was sourced from Meridian's proprietary Mobility Retail Panel (MRP), which aggregates POS data from independent specialty retailers and select chain operators. Where panel data is incomplete or lagging, we supplemented with manufacturer-reported shipment volumes and customs/import filings. Qualitative findings draw on 142 interviews conducted between November 2025 and March 2026 with retailers, fleet operators, regulators, manufacturers, and end users.
21
+
22
+ Helmet category sizing uses a separate methodology described in Section 8, blending CPSC compliance filings, manufacturer disclosures, and a sample purchase-intent survey of 3,400 cyclists.
23
+
24
+ ---
25
+
26
+ ## Section 3: Market Sizing — Total E-Mobility
27
+
28
+ The North American e-mobility market reached an estimated $14.7B in retail volume in 2025, up from $12.5B in 2024. The largest segment by volume is e-bikes at $7.2B, followed by e-scooter retail at $2.8B (excluding shared-fleet operations), bike-share and dockless mobility services at $2.1B, charging infrastructure at $1.8B, and connected safety hardware at $0.8B.
29
+
30
+ Compound annual growth rate (CAGR) forecasts through 2030 vary substantially by segment. We forecast 14% CAGR for e-bikes, 6% for e-scooters (decelerating as the regulatory regime stabilizes), 9% for bike-share, 22% for charging infrastructure (driven by both bike and scooter charging), and 31% for connected safety hardware (off a smaller base). Vehicle-to-grid (V2G) integration is too early to forecast reliably; we treat it as an emerging segment.
31
+
32
+ ---
33
+
34
+ ## Section 4: E-Bike Market Deep Dive
35
+
36
+ E-bikes represent the largest single segment by retail value. The 2025 unit mix favored Class 1 (pedal-assist, max assisted speed 20 mph) at 58% of units, Class 2 (throttle, max 20 mph) at 24%, and Class 3 (pedal-assist, max 28 mph) at 18%. Class 3 is the fastest-growing classification on a unit basis, driven by suburban commuter demand.
37
+
38
+ Manufacturer concentration shifted in 2025. The top 10 brands by unit volume now hold 64% of the market, up from 51% in 2022 — consolidation that mirrors patterns seen in the traditional bicycle market in the early 2000s. Specialized, Trek, and Cannondale (operating their respective electric sub-brands) represent the top three. Direct-to-consumer brands (Rad Power, Lectric, Aventon) collectively hold approximately 19% of retail value.
39
+
40
+ Retail channel split favored independent specialty bike shops at 47% of unit volume, with direct-to-consumer at 28%, big-box retail at 17%, and e-commerce marketplaces (Amazon, Walmart.com) at 8%. The independent specialty channel commands a price premium of approximately 22% over comparable D2C alternatives, attributed to in-store fitting, post-sale service relationships, and higher-margin component upgrades.
41
+
42
+ Notable trends in 2025: cargo e-bike sub-segment grew 41% YoY (small base, dense urban geographies); battery range claims continue to drift upward with manufacturer claims of 60+ mile range becoming standard for $2,500+ price points; bottom-bracket motor placement (mid-drive) gained share over hub-drive in the $3,000+ tier.
43
+
44
+ ---
45
+
46
+ ## Section 5: E-Scooter Regulatory Landscape
47
+
48
+ The North American e-scooter regulatory environment matured significantly during 2024-2025 after several years of municipal experimentation and reactive policymaking. Forty-one US cities now operate under what we classify as "stable" regulatory regimes (defined as: explicit operating permit framework, defined sidewalk/bike-lane rules, helmet provisions, and revenue-share or fee structures with the city). This is up from 19 cities in 2022.
49
+
50
+ The regulatory shift has compressed operator margins. Permit fees and per-trip surcharges in major markets (Los Angeles, Chicago, Atlanta, Denver) range from $0.15 to $0.42 per trip, against average ride revenue of $5.40. Several major operators have exited markets where permit economics have proven unviable; Lime exited five secondary US markets in 2025 citing exactly this reason.
51
+
52
+ Helmet requirements remain inconsistent. Thirteen US states require helmets for riders under 18 only; seven require them for all riders; the rest leave it to municipalities. Enforcement is widely acknowledged to be minimal even where mandates exist. EU markets are substantially stricter, with mandatory helmet provisions in France, Germany, and Italy applying to all e-scooter riders.
53
+
54
+ Insurance treatment is also fragmenting. Five US states have classified e-scooters as "motor vehicles" requiring liability coverage, raising the floor on operating costs for shared-fleet providers. Most states still treat them as bicycles for insurance purposes.
55
+
56
+ ---
57
+
58
+ ## Section 6: Bike-Share and Dockless Mobility
59
+
60
+ Docked bike-share systems (Citi Bike, Divvy, Bluebikes, Capital Bikeshare) continue stable, slow growth. Capital Bikeshare reported 5.1M trips in 2025 (5% growth); Citi Bike reported 38M (8% growth). Docked systems benefit from station infrastructure that creates predictability for riders and meters demand-side adoption.
61
+
62
+ Dockless bike-share (without fixed stations) is largely consolidated; the experimentation phase ended in 2023. Lyft operates the dominant national network through its acquired bike-share division, with regional players in select markets. Operating economics for dockless are structurally weaker than docked due to vehicle redistribution costs, vandalism rates, and the absence of station-driven advertising revenue.
63
+
64
+ A notable trend is the convergence of bike-share and dockless e-bike subscription models. Several operators now offer monthly memberships that include unlimited 30-minute trips on dockless e-bikes within a service zone. Adoption is concentrated in dense urban cores where car-free lifestyles are practical.
65
+
66
+ ---
67
+
68
+ ## Section 7: Charging Infrastructure Trends
69
+
70
+ Charging infrastructure for e-bikes and e-scooters has emerged as a meaningful sub-segment, growing 28% in 2025. The dominant form factor remains residential at-home wall chargers (87% of installed base), but commercial charging — at workplaces, transit stations, and apartment buildings — is the fastest-growing sub-segment.
71
+
72
+ Standardization remains a constraint. Battery interfaces have not converged; Bosch, Shimano, and various proprietary systems coexist. The European Union's USB-C mandate for portable electronics has not yet extended to e-mobility; industry observers expect regulatory pressure to follow within 3-5 years.
73
+
74
+ Workplace charging is increasingly common in tech and creative-industry employers; we estimate 31% of large urban employers in tech-heavy metros now offer workplace e-bike charging, up from 12% in 2022. Apartment buildings lag — 7% of class-A multifamily properties offer common-area charging, with retrofit cost cited as the primary barrier.
75
+
76
+ Public charging at transit hubs (subway/light rail stations) remains a stated priority across most major metro transit authorities, but actual installation lags policy commitments significantly. Funding fragmentation and permitting delays are the consistently cited bottlenecks.
77
+
78
+ ---
79
+
80
+ ## Section 8: Smart Helmet Category
81
+
82
+ The connected safety hardware category — colloquially "smart helmets" — is the smallest segment we cover by retail value but has the strongest growth profile. The North American smart helmet market reached $810M in retail value in 2025, up from $480M in 2023, representing a 30% CAGR. We forecast $2.4B by 2030, contingent on the resolution of two open questions detailed below.
83
+
84
+ **Category definition.** We define "smart helmets" as helmets that include at least one connected safety feature: turn signals (typically wireless-controlled), braking lights (auto-activated via accelerometer), crash detection (auto-notification to emergency contacts on detected impact), or integrated navigation/audio (bone-conduction speakers, often paired with smartphone apps). Helmets with passive integrated lighting only (no connectivity) are excluded from this category and tracked under traditional helmet retail.
85
+
86
+ **Key players.** The category remains fragmented; no single manufacturer commands more than 15% market share. Top five by 2025 retail volume: Lumos Helmet (US, market leader at ~14% share with strong DTC presence), Sena Technologies (Korea, intercom heritage, ~11%), Coros (US/China, multi-sport, ~9%), Specialized ANGi (US, premium tier at ~7%), and POC Aid (Sweden, premium safety positioning at ~6%). Approximately 30 smaller brands hold the remaining share.
87
+
88
+ **Crash detection technology.** Two architectures dominate: single-accelerometer crash detection (lower cost, higher false-positive rate) and multi-sensor fusion (accelerometer + gyroscope + GPS movement signature, lower false-positive rate but higher BOM cost). Insurance industry sources indicate that multi-sensor systems are likely to become a baseline requirement for any insurance discount programs, given that single-accelerometer systems triggered roughly 1 false alert per 47 hours of riding in our test panel.
89
+
90
+ **Regulatory landscape.** Smart helmets sit at the intersection of two regulatory regimes: the Consumer Product Safety Commission's bicycle helmet standard (16 CFR 1203, governing impact protection) and the Federal Communications Commission's regulation of intentional radiators (governing the radio components for Bluetooth/cellular). Compliance with both is non-trivial. Eight smart helmet brands have had FCC Part 15 violations issued since 2023, typically for emissions exceeding limits during compliance testing. EU markets additionally require EN 1078 certification for the helmet shell; this is widely held but adds 3-5 months to a typical product development timeline.
91
+
92
+ **Insurance industry interest.** Major auto insurers (State Farm, Progressive, Geico, Nationwide) are actively piloting telematics-style discount programs for cyclists who use connected safety helmets. The proposed structure mirrors auto-insurance "good driver" discount frameworks, with discounts of 5-15% on cycling-specific insurance riders or umbrella policies. As of Q1 2026, three insurers have public pilot programs and one (Progressive) has announced general availability for 2027. This could materially accelerate category adoption if discounts materialize at the upper end of the proposed range.
93
+
94
+ **Distribution.** D2C dominates at 58% of retail value, reflecting the still-emerging category and the absence of strong channel inventory in independent bike shops. The specialty bike shop channel is growing rapidly (up from 12% to 22% of retail value over 2023-2025) as the category gains category-management attention from major distributors. Big-box channels (REI, Dick's Sporting Goods) are present but shallow in selection — typically 4-8 SKUs versus 40+ in dedicated specialty.
95
+
96
+ **Open questions for the segment.** Our growth forecast is conditioned on (a) the proportion of insurers that follow Progressive into general availability of connected-safety discounts; (b) whether multi-sensor crash detection becomes a category baseline (lifting ASP) or remains a premium-tier feature; and (c) whether the current high false-positive rate of single-accelerometer systems triggers a consumer backlash that suppresses category trust before insurance discounts arrive. The downside scenario produces a 2030 category size of $1.4B versus our base-case $2.4B.
97
+
98
+ ---
99
+
100
+ ## Section 9: Vehicle-to-Grid Integration
101
+
102
+ Vehicle-to-grid (V2G) integration of e-bike and e-scooter batteries is an emerging area, but practical commercial deployment is years away. The thesis is that fleet-scale dockless e-bikes and e-scooters represent meaningful aggregate battery capacity that could participate in demand-response markets, particularly in deregulated electricity markets.
103
+
104
+ Several technical preconditions must be met: standardized battery interfaces (currently absent), bidirectional charging hardware (rare), aggregator software stack (early-stage), and regulatory clarity on energy market participation by mobility fleets (pre-policy). We treat this as a watch item for 2028+ rather than a current investable theme.
105
+
106
+ ---
107
+
108
+ ## Section 10: Outlook
109
+
110
+ Our base-case forecast for North American e-mobility is $22.5B by 2030, with the e-bike segment reaching $11.8B (the largest), connected safety hardware reaching $2.4B (the fastest-growing in percentage terms), and charging infrastructure reaching $4.2B (driven by commercial and multifamily retrofit demand). Bike-share and dockless mobility plateau in the $2.5-3.0B range as urban density limits adoption ceilings.
111
+
112
+ The largest single uncertainty in this forecast is the trajectory of insurance industry adoption of connected-safety telematics, which could accelerate or substantially constrain the smart helmet segment and, secondarily, influence rider behavior across the broader category. We will revisit forecasts in our Q4 2026 update.
113
+
114
+ ---
115
+
116
+ *This report is prepared for the exclusive use of Meridian Insights subscribers. Reproduction or external distribution without written permission is prohibited.*