bmad-method 6.6.1-next.1 → 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.
- package/evals/bmm-skills/bmad-product-brief/evals.json +267 -0
- package/evals/bmm-skills/bmad-product-brief/files/branfield-memo.md +46 -0
- package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/addendum.md +40 -0
- package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/brief.md +56 -0
- package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/decision-log.md +27 -0
- package/evals/bmm-skills/bmad-product-brief/files/forkbird-brief/distillate.md +28 -0
- package/evals/bmm-skills/bmad-product-brief/files/meridian-mobility-report.md +116 -0
- package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/addendum.md +41 -0
- package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/brief.md +57 -0
- package/evals/bmm-skills/bmad-product-brief/files/mossridge-brief/decision-log.md +29 -0
- package/evals/bmm-skills/bmad-product-brief/files/pantry-bridge-interviews.md +90 -0
- package/evals/bmm-skills/bmad-product-brief/files/q2-brainstorm.md +101 -0
- package/evals/bmm-skills/bmad-product-brief/triggers.json +18 -0
- package/package.json +1 -1
- package/src/bmm-skills/1-analysis/bmad-prfaq/bmad-manifest.json +2 -2
- package/src/bmm-skills/1-analysis/bmad-product-brief/SKILL.md +48 -93
- package/src/bmm-skills/1-analysis/bmad-product-brief/assets/brief-template.md +41 -0
- package/src/bmm-skills/1-analysis/bmad-product-brief/customize.toml +48 -29
- package/src/bmm-skills/module-help.csv +1 -1
- package/src/core-skills/bmad-distillator/resources/distillate-format-reference.md +1 -1
- package/src/core-skills/bmad-help/SKILL.md +4 -4
- package/src/core-skills/module-help.csv +1 -1
- package/tools/installer/core/installer.js +13 -2
- package/tools/installer/modules/module-help-schema.js +13 -0
- package/tools/installer/modules/plugin-resolver.js +2 -2
- package/src/bmm-skills/1-analysis/bmad-product-brief/agents/artifact-analyzer.md +0 -60
- package/src/bmm-skills/1-analysis/bmad-product-brief/agents/opportunity-reviewer.md +0 -44
- package/src/bmm-skills/1-analysis/bmad-product-brief/agents/skeptic-reviewer.md +0 -44
- package/src/bmm-skills/1-analysis/bmad-product-brief/agents/web-researcher.md +0 -49
- package/src/bmm-skills/1-analysis/bmad-product-brief/bmad-manifest.json +0 -17
- package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/contextual-discovery.md +0 -58
- package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/draft-and-review.md +0 -87
- package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/finalize.md +0 -78
- package/src/bmm-skills/1-analysis/bmad-product-brief/prompts/guided-elicitation.md +0 -71
- package/src/bmm-skills/1-analysis/bmad-product-brief/resources/brief-template.md +0 -60
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Addendum — Mossridge Tool Lending Library
|
|
2
|
+
|
|
3
|
+
## Options considered
|
|
4
|
+
|
|
5
|
+
### Paid lending model (rejected)
|
|
6
|
+
|
|
7
|
+
Considered charging a nominal per-loan fee ($2–$5) to cover replacement and maintenance. Rejected as inconsistent with library mission of free access. Board has previously stated free access is non-negotiable for core services. A donation jar at checkout was proposed as a soft alternative; deferred.
|
|
8
|
+
|
|
9
|
+
### Hardware store partnership (considered, deferred)
|
|
10
|
+
|
|
11
|
+
Mossridge Hardware (the store committing in-kind donations) offered to host a satellite lending point. Considered; deferred to year 2. The integration adds operational complexity (split inventory, cross-location tracking) we are not equipped for at launch. Reasonable to revisit once the main location is established.
|
|
12
|
+
|
|
13
|
+
### Mobile lending van (rejected)
|
|
14
|
+
|
|
15
|
+
Proposed by a board member to serve outlying areas. Rejected for MVP — capital cost ($35K+ for vehicle + outfitting) exceeds the entire grant. Could be a year-three expansion if demand validates.
|
|
16
|
+
|
|
17
|
+
### Skills classes alongside tool loans (deferred)
|
|
18
|
+
|
|
19
|
+
Considered offering "how to use a power drill" classes as a value-add. Deferred — interesting but distinct programming, not part of the lending service's MVP scope. Adult Services Librarian is interested in piloting separately.
|
|
20
|
+
|
|
21
|
+
## Reference programs reviewed
|
|
22
|
+
|
|
23
|
+
- Berkeley Tool Lending Library (operating since 1979, ~3,000 tools, 250+ daily loans). Funded as a city service.
|
|
24
|
+
- Oakland Tool Lending Library (operating since 2000, smaller catalog, library-staffed).
|
|
25
|
+
- Toronto Tool Library (nonprofit, member-supported, paid model — different funding architecture).
|
|
26
|
+
|
|
27
|
+
Direct correspondence with Berkeley TLL staff (March 2026) suggested:
|
|
28
|
+
- Theft has been low (~2% annually) due to library card requirement and community norms
|
|
29
|
+
- The biggest sustainability risk has been staff hours, not tool replacement
|
|
30
|
+
- Most successful programs have a paid coordinator role, not pure volunteer
|
|
31
|
+
|
|
32
|
+
## Potential expansion (year 2+)
|
|
33
|
+
|
|
34
|
+
- Hardware store satellite location
|
|
35
|
+
- Specialty tool categories: woodworking, automotive, sewing
|
|
36
|
+
- Skills classes paired with relevant tool checkouts
|
|
37
|
+
- Seed/cuttings library co-located in spring/summer
|
|
38
|
+
|
|
39
|
+
## Insurance and liability — current state
|
|
40
|
+
|
|
41
|
+
Library counsel (Town of Mossridge legal department) has been consulted informally. Formal opinion pending. Existing policy covers patrons in the building; coverage for tool use off-premises is the open question. Awaiting written response before submitting grant application.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Mossridge Public Library — Tool Lending Library Proposal
|
|
3
|
+
status: final
|
|
4
|
+
created: 2026-04-30
|
|
5
|
+
updated: 2026-04-30
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Tool Lending Library at Mossridge Public Library
|
|
9
|
+
|
|
10
|
+
## What we're proposing
|
|
11
|
+
|
|
12
|
+
A free tool-lending service operated out of the Mossridge Public Library, modeled on similar programs in Berkeley, Oakland, and Toronto. Cardholders borrow hand and power tools (drills, saws, ladders, sanders, plumbing snakes, gardening tools) for up to seven days, free of charge.
|
|
13
|
+
|
|
14
|
+
## Why now
|
|
15
|
+
|
|
16
|
+
Mossridge residents face rising costs of home maintenance and DIY supplies. Anecdotally, demand for community-shared resources is high — staff have fielded "do you lend tools?" requests for years. A tool library extends the library's mission of equitable access to information and skill-building into the practical-skills domain.
|
|
17
|
+
|
|
18
|
+
## Who it serves
|
|
19
|
+
|
|
20
|
+
Mossridge residents with active library cards. Primary audience: single-family homeowners doing their own home repairs, renters making minor improvements with landlord permission, hobbyist woodworkers and gardeners. Estimated 8,000 households in the library's service area.
|
|
21
|
+
|
|
22
|
+
## Service design
|
|
23
|
+
|
|
24
|
+
- **Catalog:** Approximately 200 tools to start, prioritizing the most-requested categories (drilling, cutting, sanding, ladders, garden).
|
|
25
|
+
- **Loan period:** Seven days, one renewal allowed if no holds.
|
|
26
|
+
- **Borrower requirements:** Active library card, signed liability waiver, completed safety briefing for power tools.
|
|
27
|
+
- **Location:** Library basement, currently underutilized storage. Accessible by elevator.
|
|
28
|
+
- **Hours:** Tuesday–Saturday during library hours; tools returned via after-hours drop slot when closed.
|
|
29
|
+
|
|
30
|
+
## Funding
|
|
31
|
+
|
|
32
|
+
- ARPA infrastructure grant: $42,000 (anticipated, application pending)
|
|
33
|
+
- Friends of the Mossridge Library matching funds: $10,000 (committed)
|
|
34
|
+
- In-kind tool donations from Mossridge Hardware (committed in principle)
|
|
35
|
+
|
|
36
|
+
Year-one operating cost is estimated at $48,000, primarily tool purchase, maintenance supplies, and shelving/storage retrofit. Ongoing cost (year two and beyond) projected at $12,000 annually for replacement tools and consumables.
|
|
37
|
+
|
|
38
|
+
## Operations
|
|
39
|
+
|
|
40
|
+
The service will be run by trained library volunteers, supervised by the Adult Services Librarian. Volunteer training program to be developed in partnership with Mossridge Vocational Center. Estimated 4–6 active volunteers needed at any given time, with a roster of 12–15 trained volunteers to provide coverage.
|
|
41
|
+
|
|
42
|
+
## Risks
|
|
43
|
+
|
|
44
|
+
- **Theft and loss.** Tools are valuable and portable. Mitigation: deposit on power tools (refundable), card-required checkout, photo documentation at loan and return.
|
|
45
|
+
- **Liability.** Borrower waivers will be required; the library's existing insurance policy is being reviewed for coverage.
|
|
46
|
+
- **Demand uncertainty.** We do not yet know the actual borrowing volume the service will see.
|
|
47
|
+
|
|
48
|
+
## Success criteria
|
|
49
|
+
|
|
50
|
+
- Launch by Q3 2027 with a catalog of 200 tools.
|
|
51
|
+
- 300 unique borrowers in the first year of operation.
|
|
52
|
+
- Zero serious injury incidents.
|
|
53
|
+
- Tool loss rate under 5% per year.
|
|
54
|
+
|
|
55
|
+
## What we're asking
|
|
56
|
+
|
|
57
|
+
Board approval to proceed with the ARPA grant application and finalize the service design for fall 2027 launch.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Decision Log — Mossridge Tool Lending Library
|
|
2
|
+
|
|
3
|
+
## 2026-03-04
|
|
4
|
+
- **Pursuing the project.** Adult Services Librarian + Library Director agreed there's enough informal demand signal (years of "do you lend tools?" inquiries) to investigate seriously. Acknowledged that informal inquiries are not the same as validated demand.
|
|
5
|
+
|
|
6
|
+
## 2026-03-11
|
|
7
|
+
- **Reference programs to study: Berkeley, Oakland, Toronto.** Selected based on size, longevity, and accessibility of operational data.
|
|
8
|
+
|
|
9
|
+
## 2026-03-25
|
|
10
|
+
- **Initial scope: hand and power tools only.** Rejected including specialty categories (sewing, electronics test gear, automotive) for MVP. Reason: staff expertise and storage. Revisit year 2.
|
|
11
|
+
- **Free model.** Confirmed — paid model rejected as inconsistent with library mission. Donation jar approved as soft revenue.
|
|
12
|
+
|
|
13
|
+
## 2026-04-01
|
|
14
|
+
- **Volunteer-run model.** Selected to keep ongoing operating costs low. Acknowledged risk: Berkeley correspondence flagged staff-hours as the biggest sustainability concern in similar programs. Plan to revisit at year-one review.
|
|
15
|
+
|
|
16
|
+
## 2026-04-08
|
|
17
|
+
- **Funding architecture: ARPA grant + Friends matching + in-kind donations.** Considered municipal budget request; rejected as too slow (next budget cycle is 18 months out). Grant is faster but requires fall 2027 launch deadline.
|
|
18
|
+
|
|
19
|
+
## 2026-04-15
|
|
20
|
+
- **Launch timing: Q3 2027.** Driven by ARPA grant deadline, not by service-readiness analysis. Acknowledged this is grant-driven, not user-driven, timing.
|
|
21
|
+
- **Year-one target: 300 unique borrowers.** Set by analogy to comparable programs scaled to Mossridge population. No local validation underlying this number.
|
|
22
|
+
|
|
23
|
+
## 2026-04-22
|
|
24
|
+
- **Hardware store satellite deferred to year 2.** Operational complexity exceeds our launch capacity.
|
|
25
|
+
- **Liability: pending formal opinion from town legal.** Borrower waiver in draft.
|
|
26
|
+
|
|
27
|
+
## 2026-04-30
|
|
28
|
+
- **Brief finalized for board meeting.** Status moved to final.
|
|
29
|
+
- **Open items acknowledged for board discussion:** demand validation method, volunteer sustainability, written legal opinion on off-premises tool use coverage.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Pantry Bridge — Customer Research Transcripts
|
|
2
|
+
|
|
3
|
+
**Project:** Pantry Bridge meal-kit concept exploration
|
|
4
|
+
**Research firm:** In-house
|
|
5
|
+
**Round:** Discovery interviews, March 2026
|
|
6
|
+
**Format:** 45-minute semi-structured interviews, video; excerpts below are lightly edited for length and clarity
|
|
7
|
+
|
|
8
|
+
The four interviews below cover four distinct potential customer segments. We are sharing all four for context, though the team's current product hypothesis targets one specific segment.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Interview 1 — Susan, 38, working parent
|
|
13
|
+
|
|
14
|
+
**Household:** Two kids (ages 6 and 9), spouse works full-time, both parents work demanding office jobs. Suburban Chicago.
|
|
15
|
+
|
|
16
|
+
**Susan:** "Honestly, the question is just — can I get dinner on the table by 6:30 without it being chicken nuggets again? My kids don't eat anything green unless we play games about it. My husband and I both have late meetings sometimes. We've tried HelloFresh, we've tried Blue Apron, we tried Home Chef. They all kind of work, and they all kind of don't.
|
|
17
|
+
|
|
18
|
+
The thing that breaks them for us is the prep time. The boxes say 30 minutes but you need to add 10-15 to actually get it done. By Wednesday night I don't have 45 minutes. So we end up using the boxes on weekends and ordering takeout three nights a week, which is the opposite of what the boxes are supposed to do.
|
|
19
|
+
|
|
20
|
+
If you really wanted to crack it for families like ours: pre-chopped vegetables, sauces that are actually finished and not 'whisk these eight things together.' I'll pay more for less prep. And the recipe books need to read like the kid is going to eat it — not like 'spicy harissa-rubbed cauliflower steaks.'
|
|
21
|
+
|
|
22
|
+
Portion sizing — most kits send way too much for our family. We're a family of four but the kids each eat about 60% of a meal. We end up with leftovers that go bad. Better sizing would help."
|
|
23
|
+
|
|
24
|
+
**Interviewer:** What about price?
|
|
25
|
+
|
|
26
|
+
**Susan:** "We spend $250-350 a week on groceries currently and probably another $200 on takeout. So a meal kit that replaces three nights of takeout could be $200 a month and we'd still come out ahead. Most kits are priced fine; it's the time that breaks them."
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Interview 2 — Marcus, 21, college student
|
|
31
|
+
|
|
32
|
+
**Household:** Junior at state university, off-campus apartment shared with two roommates, kitchen has a microwave, a stovetop, and a half-broken oven. Limited budget.
|
|
33
|
+
|
|
34
|
+
**Marcus:** "I'm probably the wrong person for this conversation, no offense. I'm not really a meal-kit person. My food situation is, like, dining hall meal plan when I can use it, and the rest is whatever's cheap and fast. Trader Joe's frozen stuff. Eggs. Pasta. Costco runs with my roommates once a month.
|
|
35
|
+
|
|
36
|
+
I tried a meal kit when my mom signed me up as a 'starting college' gift. It was nice, but it was $80 a week for two people, which is way out of budget. And honestly, the thing they don't get is that I don't have time at 7 PM to cook. I have time at 11 PM. I want to grab something on my way back from the library and not think.
|
|
37
|
+
|
|
38
|
+
If you're trying to do meal kits for college students — and I don't really think you should — but if you were, the price has to be like $5 a meal. And it has to be food that survives in a fridge for two weeks because we don't shop on a weekly schedule. We shop when we run out.
|
|
39
|
+
|
|
40
|
+
Snacks matter more to us than meals, actually. Like, the moment when I'm desperate is 10 PM in the library, not 7 PM. Solve that and I might pay attention."
|
|
41
|
+
|
|
42
|
+
**Interviewer:** Do you have any dietary restrictions?
|
|
43
|
+
|
|
44
|
+
**Marcus:** "I'm vegetarian, sort of. I eat fish. So pescatarian I guess. But mostly because meat is expensive."
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Interview 3 — Eleanor, 71, retired, lives alone
|
|
49
|
+
|
|
50
|
+
**Household:** Widow, lives alone in the same single-family home she's been in for 36 years. Suburban Cleveland. Two adult children live out of state. Drives during the day but no longer at night.
|
|
51
|
+
|
|
52
|
+
**Eleanor:** "I'll tell you what I miss. I miss cooking for someone. My husband Walter passed five years ago this June, and the hardest thing — well, not the hardest, but one of them — is that I don't really cook anymore. I cook eggs. I cook a piece of fish. I open a can of soup more often than I'd like to admit. I used to make Sunday dinners that would feed eight people. Now I eat standing up at the counter half the time.
|
|
53
|
+
|
|
54
|
+
The grocery store is genuinely difficult. I drive there, I park in the back of the lot because I can usually find a spot, and then it's a long walk in. I get tired by the time I'm in the dairy aisle. Carrying the bags from the car to the kitchen — that's a project. My daughter wants me to use grocery delivery and I've tried, but the apps are all designed for someone twenty years younger than me. Tiny buttons, asking me to click through six screens to add a single tomato. I get frustrated and give up.
|
|
55
|
+
|
|
56
|
+
What I would actually want — and I've thought about this — is meals for one person. Real portions. Not a frozen TV dinner. Not 'serves four, freeze the rest.' I have a freezer full of leftovers I'll never eat. Just one good meal that I can heat up or finish cooking, that tastes like food I would have made.
|
|
57
|
+
|
|
58
|
+
I'm watching my sodium because of my blood pressure. Watching sugar too — borderline diabetic, my doctor calls it. So I read labels carefully. The frozen meals you can buy in stores are loaded with both. I'd pay more for less of both, if I trusted that the labels were accurate.
|
|
59
|
+
|
|
60
|
+
The other thing — and please put this in your notes — is that I'm careful about who I let into my house and what I sign up for. There are scams. My friend Marian got taken for $4,000 last year. So if some company asks for my information, I want to know who they are. I want a real customer service number with a real person. I want it to feel like a real business, not a flashy app.
|
|
61
|
+
|
|
62
|
+
I don't want it to feel like 'old-people food.' That's an important thing. The Meals on Wheels program in our township is wonderful but it's clearly designed for people who are sicker than I am. I'm not sick. I just live alone and grocery shopping is a lot."
|
|
63
|
+
|
|
64
|
+
**Interviewer:** What would the ideal experience look like?
|
|
65
|
+
|
|
66
|
+
**Eleanor:** "Someone delivers good food, in real portions, made with the kind of ingredients I would have used. I can heat it up or finish it. It doesn't taste like a hospital. The packaging is something I can actually open without a knife. I get a phone call once in a while from a person, not a robot. The price is reasonable — I'm on a fixed income but I can spend on things that matter. Eating well matters."
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Interview 4 — Dimitri, 44, Director of Food Services, mid-size hospital
|
|
71
|
+
|
|
72
|
+
**Organization:** 340-bed hospital, food service operates patient meals, staff cafeteria, and a small retail café. Reports to the COO.
|
|
73
|
+
|
|
74
|
+
**Dimitri:** "I'm probably also not who you should be talking to, but happy to share. We don't buy meal kits. We buy ingredients in institutional volumes from Sysco and US Foods primarily, with some specialty buys for dietary restrictions. We feed about 1,800 people a day across patients, staff, and visitors.
|
|
75
|
+
|
|
76
|
+
What I deal with that you might find interesting is the patient diet matrix. We have to produce meals that meet specific medical requirements — renal diets, cardiac diets, diabetic diets, dysphagia textures, allergen-free, religious restrictions. Each patient gets a tray that meets their specific orders. It's complex.
|
|
77
|
+
|
|
78
|
+
If a meal kit company wanted to play in our world, they'd be selling to me at the institutional level — bulk pricing, multi-year contracts, ability to deliver consistent specs across thousands of meals. That's not really a 'meal kit' anymore; that's wholesale food service.
|
|
79
|
+
|
|
80
|
+
Now, where I might be a buyer in a different sense: my staff cafeteria. We're trying to compete with grab-and-go culture. If you produced ready-to-heat meals targeting our staff demographic — nurses, doctors, techs, who are working 12-hour shifts and want real food, not a sandwich — I might pay attention. But the price point would have to make sense for institutional buying, and you'd need to integrate with our existing food safety protocols.
|
|
81
|
+
|
|
82
|
+
For consumer meal kits, I'm probably not your customer. We did try one when my wife and I were both working through COVID, and we let the subscription lapse after about three months. Fine product, just didn't fit our patterns."
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Note from the research lead
|
|
87
|
+
|
|
88
|
+
These four interviews were selected to represent the range of segments we've considered. The team's working hypothesis after this round is that the older-adult-living-alone segment is the strongest fit for the Pantry Bridge concept — distinctive needs, acknowledged friction with current options, willingness to pay for quality, and a meaningful unmet need around portion sizing and trust. Working parent segment is well-served by existing competitors. College student segment is too price-sensitive. Institutional segment is a different business entirely.
|
|
89
|
+
|
|
90
|
+
The brief should target the older-adult segment based on the Eleanor interview specifically.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Q2 Brainstorm — Hatchet & Loop Studio
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-04-15
|
|
4
|
+
**Present:** Mira, Devon, Sofia, Theo
|
|
5
|
+
|
|
6
|
+
Annual Q2 ideation. We're hunting for our next side-project-that-could-become-a-product. Format: 10 minutes wild ideas, 3 minutes per idea on quick takes, then we vote on one to dig into.
|
|
7
|
+
|
|
8
|
+
## Round 1: Everything goes
|
|
9
|
+
|
|
10
|
+
(10 minutes, no filtering. We just throw stuff out.)
|
|
11
|
+
|
|
12
|
+
- A weather app that tracks your mood alongside the forecast (Devon)
|
|
13
|
+
- Meditation chime that learns your sleep cycle and chimes only at the right wake-window (Theo)
|
|
14
|
+
- A podcasting tool for non-podcasters — like, you record voice notes and it auto-edits and posts (Sofia)
|
|
15
|
+
- Craft beer subscription with detailed brewer notes you can read while drinking (Mira)
|
|
16
|
+
- AI sommelier app that tells you what wine to buy at Trader Joe's based on a photo (Theo)
|
|
17
|
+
- Office-plant-care subscription with auto-replacement when one dies (Devon)
|
|
18
|
+
- Neighborhood ride coordinator — like a private Uber pool for one neighborhood (Mira)
|
|
19
|
+
- Neighborhood compost coordinator — connect people with food scraps to people with active compost piles (Sofia)
|
|
20
|
+
- Cookbook app where you click "I'll cook this Tuesday" and it auto-generates the shopping list and sends it to your delivery service (Devon)
|
|
21
|
+
- AR home staging — point your phone at a room and it shows you what it would look like with different furniture (Theo)
|
|
22
|
+
|
|
23
|
+
## Round 2: Quick takes
|
|
24
|
+
|
|
25
|
+
### Weather + mood
|
|
26
|
+
|
|
27
|
+
Devon: "I'd use it." Sofia thinks the data correlation isn't strong enough to be useful — interesting concept but the science doesn't support a product. Park.
|
|
28
|
+
|
|
29
|
+
### Sleep-cycle meditation chime
|
|
30
|
+
|
|
31
|
+
Theo's pitch — exists already (Sleep Cycle, etc.). Differentiation would be the chime, which is hardware. Out of scope for a software-first studio.
|
|
32
|
+
|
|
33
|
+
### Podcasting for non-podcasters
|
|
34
|
+
|
|
35
|
+
Sofia: "There are like fifty of these." She's right. Skip.
|
|
36
|
+
|
|
37
|
+
### Craft beer subscription
|
|
38
|
+
|
|
39
|
+
Mira admits this is mostly her wanting it for herself. We're not in the logistics business. Skip.
|
|
40
|
+
|
|
41
|
+
### AI sommelier
|
|
42
|
+
|
|
43
|
+
Theo: "The model would have to be incredibly good at label recognition." Sofia: "And there's already Vivino." Skip.
|
|
44
|
+
|
|
45
|
+
### Office-plant-care subscription
|
|
46
|
+
|
|
47
|
+
Devon: "I worked at a place that had this. They were always sad plants." Operational nightmare, low margin. Skip.
|
|
48
|
+
|
|
49
|
+
### Neighborhood ride coordinator
|
|
50
|
+
|
|
51
|
+
Mira: "Saturated. Lyft and Uber both have pool features. Uber Neighborhood was a thing and they killed it." Skip.
|
|
52
|
+
|
|
53
|
+
### Neighborhood compost coordinator
|
|
54
|
+
|
|
55
|
+
Sofia: "Hear me out. Cities are mandating organic waste separation but most apartments don't have a composting option. People in single-family homes often have active compost piles and would love more material. There's a missing match-making layer." General agreement this is more interesting than the others. Theo: "How do we make money?" Sofia: "Eventually a small fee on the compost-pile-host side, but for MVP just free and prove the demand." Group lights up. We agree to dig into this in Round 3.
|
|
56
|
+
|
|
57
|
+
### Cookbook → shopping list
|
|
58
|
+
|
|
59
|
+
Devon's pitch. Already exists (Mealime, Plan to Eat). Skip.
|
|
60
|
+
|
|
61
|
+
### AR home staging
|
|
62
|
+
|
|
63
|
+
Theo: "IKEA already has this." Skip.
|
|
64
|
+
|
|
65
|
+
## Round 3: Compost coordinator deep dive
|
|
66
|
+
|
|
67
|
+
We spent 45 minutes on this. Notes:
|
|
68
|
+
|
|
69
|
+
**Who is the user?**
|
|
70
|
+
Two-sided market. Side A: apartment dwellers and renters who generate food scraps and want them composted (motivated by environmental values, sometimes by city mandates). Side B: people with active backyard compost piles who want more "browns and greens" — single-family homeowners, urban farmers, school gardens, community gardens.
|
|
71
|
+
|
|
72
|
+
Sofia thinks Side A is the harder side to acquire (weak intent — recycling-adjacent behavior). Side B is easier but smaller. The product has to be designed around Side A's friction points.
|
|
73
|
+
|
|
74
|
+
**Geographic scope.**
|
|
75
|
+
Hyperlocal — neighborhood-level, not city-wide. The whole point is short-distance handoff: Side A doesn't want to drive their food scraps across town. We're talking 5-block radius matches.
|
|
76
|
+
|
|
77
|
+
**Business model (later).**
|
|
78
|
+
Free at launch. Eventually: subscription for Side B (compost-pile hosts) — they pay to access more matches. Side A always free. Possibly partner with cities that have green-waste mandates (B2G channel).
|
|
79
|
+
|
|
80
|
+
**Technical approach.**
|
|
81
|
+
Web app first, mobile second. Map-based discovery. Identity verification light-touch (apartment dwellers are skittish about strangers; need trust signals). Match-and-message pattern, not real-time logistics.
|
|
82
|
+
|
|
83
|
+
**Competition.**
|
|
84
|
+
ShareWaste exists but is global and not focused on hyperlocal density. Some city-specific apps (NYC's GrowNYC). No one has cracked the neighborhood-density model.
|
|
85
|
+
|
|
86
|
+
**MVP scope.**
|
|
87
|
+
One pilot neighborhood. Sofia knows people in a Portland neighborhood (Sunnyside / Hawthorne area) where compost culture is strong. Start there.
|
|
88
|
+
|
|
89
|
+
**Open questions.**
|
|
90
|
+
- How do we acquire Side A (apartment dwellers)? They have low intent and lots of competing options (just throwing scraps in trash, paying a service, signing up for city pickup if available).
|
|
91
|
+
- What does the trust layer look like? Reviews? Vouching? Real-name only?
|
|
92
|
+
- Does Side B saturation become a problem fast (one compost pile can only take so much)? How do we route demand?
|
|
93
|
+
|
|
94
|
+
## Action items
|
|
95
|
+
|
|
96
|
+
- Sofia: write up the compost coordinator concept as a brief by next Wednesday. Take it to Mira and Devon for first read.
|
|
97
|
+
- Devon: research ShareWaste's user numbers and any teardowns of why they haven't dominated.
|
|
98
|
+
- Theo: sketch the trust-layer UX concepts.
|
|
99
|
+
- Mira: talk to Sofia's Portland contacts about doing user interviews.
|
|
100
|
+
|
|
101
|
+
Next meeting: 2026-04-29 — review brief draft, decide on go/no-go.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[
|
|
2
|
+
{ "query": "Help me write a product brief for my new app idea", "should_trigger": true },
|
|
3
|
+
{ "query": "I need to draft a brief for a feature we're scoping", "should_trigger": true },
|
|
4
|
+
{ "query": "Update this product brief — we changed the target audience", "should_trigger": true },
|
|
5
|
+
{ "query": "Review my brief and tell me if it's investor-ready", "should_trigger": true },
|
|
6
|
+
{ "query": "Validate this brief before our board meeting Monday", "should_trigger": true },
|
|
7
|
+
{ "query": "Pressure-test my product brief for weak assumptions", "should_trigger": true },
|
|
8
|
+
{ "query": "Help me put together a one-page summary of my product idea for stakeholders", "should_trigger": true },
|
|
9
|
+
|
|
10
|
+
{ "query": "Help me brainstorm ideas for a new feature", "should_trigger": false },
|
|
11
|
+
{ "query": "Write me a PRD for our checkout flow redesign", "should_trigger": false },
|
|
12
|
+
{ "query": "Run a working backwards exercise for my product idea", "should_trigger": false },
|
|
13
|
+
{ "query": "Document this existing codebase for AI agents", "should_trigger": false },
|
|
14
|
+
{ "query": "Help me write user stories for the next sprint", "should_trigger": false },
|
|
15
|
+
{ "query": "Generate a system architecture for my app", "should_trigger": false },
|
|
16
|
+
{ "query": "Write code to parse JSON in Python", "should_trigger": false },
|
|
17
|
+
{ "query": "Create a marketing landing page for my product", "should_trigger": false }
|
|
18
|
+
]
|
package/package.json
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
"description": "Produces battle-tested PRFAQ document and optional LLM distillate for PRD input.",
|
|
8
8
|
"supports-headless": true,
|
|
9
9
|
"phase-name": "1-analysis",
|
|
10
|
-
"
|
|
11
|
-
"
|
|
10
|
+
"preceded-by": ["brainstorming", "perform-research"],
|
|
11
|
+
"followed-by": ["create-prd"],
|
|
12
12
|
"is-required": false,
|
|
13
13
|
"output-location": "{planning_artifacts}"
|
|
14
14
|
}
|
|
@@ -1,117 +1,72 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bmad-product-brief
|
|
3
|
-
description: Create
|
|
3
|
+
description: Create, update, or validate a product brief. Use when the user wants help producing, editing, or validating a brief.
|
|
4
|
+
dependencies:
|
|
5
|
+
- bmad-distillator
|
|
6
|
+
- bmad-editorial-review-structure
|
|
7
|
+
- bmad-editorial-review-prose
|
|
8
|
+
- bmad-help
|
|
4
9
|
---
|
|
5
10
|
|
|
6
|
-
#
|
|
11
|
+
# Overview
|
|
7
12
|
|
|
8
|
-
|
|
13
|
+
You are an expert product analyst coach and facilitator. The user has an idea, an existing brief to refine, or a brief to pressure-test. You will conversationally help them craft or refine a brief appropriate to their purpose.
|
|
9
14
|
|
|
10
|
-
|
|
15
|
+
You are not in a hurry. You will not do the thinking for them. Coach, do not quiz. Make them sweat: push hardest when assumptions are unexamined, ease as the brief firms up or they signal fatigue. Get out what is stuck in their head and what they may have forgotten. Push back when an answer is thin.
|
|
11
16
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
**Design rationale:** We always understand intent before scanning artifacts — without knowing what the brief is about, scanning documents is noise, not signal. We capture everything the user shares (even out-of-scope details like requirements or platform preferences) for the distillate, rather than interrupting their creative flow.
|
|
15
|
-
|
|
16
|
-
## Conventions
|
|
17
|
-
|
|
18
|
-
- Bare paths (e.g. `prompts/finalize.md`) resolve from the skill root.
|
|
19
|
-
- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
|
|
20
|
-
- `{project-root}`-prefixed paths resolve from the project working directory.
|
|
21
|
-
- `{skill-name}` resolves to the skill directory's basename.
|
|
22
|
-
|
|
23
|
-
## Activation Mode Detection
|
|
24
|
-
|
|
25
|
-
Check activation context immediately:
|
|
26
|
-
|
|
27
|
-
1. **Autonomous mode**: If the user passes `--autonomous`/`-A` flags, or provides structured inputs clearly intended for headless execution:
|
|
28
|
-
- Ingest all provided inputs, fan out subagents, produce complete brief without interaction
|
|
29
|
-
- Route directly to `prompts/contextual-discovery.md` with `{mode}=autonomous`
|
|
30
|
-
|
|
31
|
-
2. **Yolo mode**: If the user passes `--yolo` or says "just draft it" / "draft the whole thing":
|
|
32
|
-
- Ingest everything, draft complete brief upfront, then walk user through refinement
|
|
33
|
-
- Route to Stage 1 below with `{mode}=yolo`
|
|
34
|
-
|
|
35
|
-
3. **Guided mode** (default): Conversational discovery with soft gates
|
|
36
|
-
- Route to Stage 1 below with `{mode}=guided`
|
|
17
|
+
Briefs produced here are honest, right-sized to purpose, and built for what comes next — they do not pad, they do not fabricate moats, they surface what is unknown alongside what is known - the user must feel that it is their own creation.
|
|
37
18
|
|
|
38
19
|
## On Activation
|
|
39
20
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
1. `{skill-root}/customize.toml` — defaults
|
|
47
|
-
2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides
|
|
48
|
-
3. `{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides
|
|
49
|
-
|
|
50
|
-
Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
|
|
51
|
-
|
|
52
|
-
### Step 2: Execute Prepend Steps
|
|
53
|
-
|
|
54
|
-
Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
|
|
55
|
-
|
|
56
|
-
### Step 3: Load Persistent Facts
|
|
57
|
-
|
|
58
|
-
Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
|
|
59
|
-
|
|
60
|
-
### Step 4: Load Config
|
|
61
|
-
|
|
62
|
-
Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve:
|
|
63
|
-
- Use `{user_name}` for greeting
|
|
64
|
-
- Use `{communication_language}` for all communications
|
|
65
|
-
- Use `{document_output_language}` for output documents
|
|
66
|
-
- Use `{planning_artifacts}` for output location and artifact scanning
|
|
67
|
-
- Use `{project_knowledge}` for additional context scanning
|
|
68
|
-
|
|
69
|
-
### Step 5: Greet the User
|
|
70
|
-
|
|
71
|
-
If `{mode}` is not `autonomous`, greet `{user_name}` (if you have not already), speaking in `{communication_language}`. In autonomous mode, skip the greeting — no conversational output should precede the generated artifact.
|
|
72
|
-
|
|
73
|
-
### Step 6: Execute Append Steps
|
|
21
|
+
1. Resolve customization: `python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow`. On failure, surface the diagnostic and halt.
|
|
22
|
+
2. Execute each entry in `{workflow.activation_steps_prepend}` in order.
|
|
23
|
+
3. Treat every entry in `{workflow.persistent_facts}` as foundational context for the rest of the run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.
|
|
24
|
+
4. Load `{project-root}/_bmad/bmm/config.yaml` (and `config.user.yaml` if present). Resolve `{user_name}`, `{communication_language}`, `{document_output_language}`, `{planning_artifacts}`, `{project_name}`, `{date}`.
|
|
25
|
+
5. Greet `{user_name}` in `{communication_language}`. Detect intent (create / update / validate). If interactive and intent is unclear, ask; for headless behavior see `## Headless Mode`.
|
|
26
|
+
6. Execute each entry in `{workflow.activation_steps_append}` in order.
|
|
74
27
|
|
|
75
|
-
|
|
28
|
+
## Intent Operating Modes
|
|
76
29
|
|
|
77
|
-
|
|
30
|
+
**Create.** A brief the user is proud of, that meets their needs, drawn out through real conversation — do not assume: instead converse and understand, and then help craft the best product brief for their needs. Begin in `## Discovery` before drafting; the brief comes after the picture is on the table. Shape follows the product and need. Treat `{workflow.brief_template}` as a starting structure, not a contract: drop sections that do not earn their place, add sections the product needs, reorder freely - create sections for specialized domains or concerns also as needed. The brief serves the product's story, not the template's shape. Bind `{doc_workspace}` to a fresh folder at `{workflow.output_dir}/{workflow.output_folder_name}/` and write `brief.md` there with YAML frontmatter (title, status, created, updated). For Update and Validate, `{doc_workspace}` is the existing folder of the brief being targeted.
|
|
78
31
|
|
|
79
|
-
|
|
32
|
+
**Update.** Reconcile an existing brief with a change signal (edit request, downstream artifact, anything). Read the brief, the addendum if present, `decision-log.md`, and any original inputs first — past decisions and rejected ideas matter. Then run the `## Discovery` posture against the change signal before proposing changes. Identify what is now stale or wrong, propose changes, apply on agreement, bump `updated`. If the change signal contradicts prior decisions, surface the conflict before changing anything. In headless mode, if the prompt clearly signals intent to override the contradicted decision, proceed with the change and autonomously write the full audit trail — a new `decision-log.md` entry naming the reversal and its rationale, and an `addendum.md` override section — without waiting for user confirmation; if intent to override is ambiguous, halt with `blocked` status naming the specific conflict. If the change is fundamental, name it as a re-draft and offer Create instead. If `distillate.md` exists, regenerate it after changes are applied (re-invoke `bmad-distillator` per Finalize step 3); if unavailable, flag the distillate as stale.
|
|
80
33
|
|
|
81
|
-
**
|
|
34
|
+
**Validate.** Honest critique against the brief's own purpose. Read the brief, the addendum if present, `decision-log.md`, and any original inputs first — a validation that ignores prior decisions, rejected ideas, or context the user supplied is shallow. Cite specific lines. Caveat what cannot be evaluated. Return inline — no separate file unless asked. Offer to roll findings into an Update.
|
|
82
35
|
|
|
83
|
-
|
|
36
|
+
## Headless Mode
|
|
84
37
|
|
|
85
|
-
|
|
38
|
+
When invoked headless, do not ask. Complete the intent using what is provided, what exists in `{doc_workspace}`, or what you can discover yourself. If intent remains ambiguous after inference, halt with a `blocked` JSON status and a `reason` field — do not prompt. End with a JSON response listing status, intent, and artifact paths, for example:
|
|
86
39
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"status": "complete",
|
|
43
|
+
"intent": "create",
|
|
44
|
+
"brief": "{doc_workspace}/brief.md",
|
|
45
|
+
"addendum": "{doc_workspace}/addendum.md",
|
|
46
|
+
"distillate": "{doc_workspace}/distillate.md",
|
|
47
|
+
"decision_log": "{doc_workspace}/decision-log.md",
|
|
48
|
+
"open_questions": []
|
|
49
|
+
}
|
|
50
|
+
```
|
|
92
51
|
|
|
93
|
-
|
|
94
|
-
- Acknowledge what you received — but **DO NOT read document files yet**. Note their paths for Stage 2's subagents to scan contextually. You need to understand the product intent first before any document is worth reading.
|
|
95
|
-
- From the user's description or brain dump (not docs), summarize your understanding of the product/idea
|
|
96
|
-
- Ask: "Do you have any other documents, research, or brainstorming I should review? Anything else to add before I dig in?"
|
|
52
|
+
Omit keys for artifacts that were not produced.
|
|
97
53
|
|
|
98
|
-
|
|
99
|
-
- Ask what their product or project idea is about
|
|
100
|
-
- Ask if they have any existing documents, research, brainstorming reports, or other materials
|
|
101
|
-
- Let them brain dump — capture everything
|
|
54
|
+
## Discovery
|
|
102
55
|
|
|
103
|
-
|
|
56
|
+
Conversationally surface what the user brings, why this brief exists, and the domain — echo back how each shapes your approach. Open with space for the full picture: invite a brain dump and ask up front for any source material they already have (memo, deck, transcript, prior brief, slack thread). Read what exists first; ask only what is missing. After the dump, a simple "anything else?" often surfaces what they almost forgot. Drill into specifics only after the broad shape is on the table; premature granular questions interrupt the dump and miss the room. Get a read on stakes early (passion project, internal pitch, investor input, public launch), and let that calibrate how hard you push. Suggest research (web, competitive, market) only when the stakes warrant it.
|
|
104
57
|
|
|
105
|
-
|
|
58
|
+
## Constraints
|
|
106
59
|
|
|
107
|
-
**
|
|
60
|
+
- **Right-size to purpose.** A passion project does not need investor-grade rigor. A VC pitch input does. Read the room.
|
|
61
|
+
- **Persistence is real-time.** Once Create intent is confirmed, the workspace (run folder, `brief.md` skeleton with `status: draft`, `decision-log.md`) exists on disk and the user knows the path. The decision log is canonical memory — what the user has shared is preserved on disk, not stored in the conversation.
|
|
62
|
+
- **Continuity across sessions.** If a prior in-progress draft for this project exists, the user is offered to resume.
|
|
63
|
+
- **Extract, don't ingest.** Source artifacts (provided by the user or discovered during the run — transcripts, brainstorms, research reports, code, web results, prior briefs) enter the parent conversation as relevance-filtered extracts, not loaded wholesale. Subagents do the extraction against the user's stated focus; the parent context stays lean.
|
|
64
|
+
- **Length and coherence.** Aim for 1-2 pages — if it is longer, the detail belongs in the addendum or distillate. Structure in service of the product; downstream consumers (PRD workflow, etc.) read this, so coherent shape matters.
|
|
108
65
|
|
|
109
|
-
##
|
|
66
|
+
## Finalize
|
|
110
67
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
| 4 | Draft & Review | Draft brief, fan out review subagents | `prompts/draft-and-review.md` |
|
|
117
|
-
| 5 | Finalize | Polish, output, offer distillate | `prompts/finalize.md` |
|
|
68
|
+
1. Decision log audit + addendum: the user ends this step with an explicit, shared accounting of how the meaningful contents of `decision-log.md` were handled — captured in the brief, captured in `addendum.md` (rejected-alternative rationale, options-considered matrices, parked-roadmap context, technical constraints, sizing data, in-depth personas), or set aside as process noise. `addendum.md` exists if anything earned its place there.
|
|
69
|
+
2. Polish: apply each entry in `{workflow.doc_standards}` (a `skill:`, `file:`, or plain-text directive) to `brief.md` (and `addendum.md` if it exists). Run passes as parallel subagents. The user sees a polished draft, not a polish review.
|
|
70
|
+
3. Distillate: offer the user a lean, token-efficient distillate of the brief — frame why it matters (it becomes the primary input when downstream BMad workflows like PRD creation pull this brief in). If they want it, invoke `bmad-distillator` with `source_documents=[brief.md, addendum.md if produced]`, `downstream_consumer="PRD creation"`, `output_path={doc_workspace}/distillate.md`. If `bmad-distillator` is not installed, skip distillate generation entirely — do not attempt an inline alternative. Include `"distillate": "skipped — bmad-distillator not installed"` in the final JSON block and tell the user to install it.
|
|
71
|
+
4. Tell the user it is ready: artifacts, path, use the `bmad-help` skill to help understand what next steps you can suggest they do in the bmad method ecosystem.
|
|
72
|
+
5. Run `{workflow.on_complete}` if non-empty. Treat a string scalar as a single instruction and an array as a sequence of instructions executed in order.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Product Brief Template
|
|
2
|
+
|
|
3
|
+
A flexible starting structure for the executive product brief. Adapt aggressively to the product, the purpose, and the domain. Drop sections that do not earn their place, add sections the product needs, reorder freely. The brief serves the product's story, not the template's shape.
|
|
4
|
+
|
|
5
|
+
## Default Structure
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Product Brief: {Product Name}
|
|
9
|
+
|
|
10
|
+
## Executive Summary
|
|
11
|
+
|
|
12
|
+
[2-3 paragraph narrative: what this is, what problem it solves, why it matters, why now. Compelling enough to stand alone — if someone reads only this section, they should understand the vision.]
|
|
13
|
+
|
|
14
|
+
## The Problem
|
|
15
|
+
|
|
16
|
+
[What pain exists, who feels it, how they cope today, the cost of the status quo. Be specific: real scenarios, real frustrations, real consequences.]
|
|
17
|
+
|
|
18
|
+
## The Solution
|
|
19
|
+
|
|
20
|
+
[What is being built, how it solves the problem. Focus on the experience and the outcome, not the implementation.]
|
|
21
|
+
|
|
22
|
+
## What Makes This Different
|
|
23
|
+
|
|
24
|
+
[Key differentiators. Why this approach over alternatives, what is the unfair advantage. Be honest. If the moat is execution speed, say so. Do not fabricate technical moats.]
|
|
25
|
+
|
|
26
|
+
## Who This Serves
|
|
27
|
+
|
|
28
|
+
[Primary users — vivid but brief. Who they are, what they need, what success looks like for them. Secondary users if relevant.]
|
|
29
|
+
|
|
30
|
+
## Success Criteria
|
|
31
|
+
|
|
32
|
+
[How we know this is working. Mix of user success signals and business objectives. Measurable.]
|
|
33
|
+
|
|
34
|
+
## Scope
|
|
35
|
+
|
|
36
|
+
[What is in for the first version. What is explicitly out. Keep this tight — boundary document, not a feature list.]
|
|
37
|
+
|
|
38
|
+
## Vision
|
|
39
|
+
|
|
40
|
+
[Where this goes if it succeeds. What it becomes in 2-3 years. Inspiring but grounded.]
|
|
41
|
+
```
|