产品与设计
创建、更新或校验产品 brief…
当用户需要产出、编辑或校验产品简报(product brief),尤其是在 BMad 工作流内时,通过 create/update/validate 三种模式完成对话式教练、落盘、审计与交接。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
创建、更新或校验产品 brief 时:用特定
解决思路
- 角色定位:作为产品分析师教练和引导者,用对话帮助用户创建、更新或校验产品 brief;不要替用户思考,不要像考试一样提问。
- 施压节奏:在假设未经验证时最用力追问;当 brief 逐渐成型或用户显露疲态时放松;把用户脑中卡住和可能遗忘的内容挖出来;答案单薄时明确反驳。
- Brief 质量标准:诚实、按目的裁剪尺寸、面向下一步;不灌水、不编造护城河;把未知和已知一起呈现;让用户感觉这是自己的作品。
- 开场问候:告知用户随时可调用 `bmad-party-mode` 获取多智能体视角,或 `bmad-advanced-elicitation` 做更深探索。
- 激活-解析定制:运行 `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow`。
- 激活-脚本缺失处理:若脚本不存在,说明 BMad 未设置;提供运行 `bmad` skill 的 setup;若未安装 bmad,先执行 `npx skills add bmad-code-org/BMAD-METHOD --skill bmad`,然后重新运行上面的命令。
- 激活-其他失败处理:任何其他失败,直接读取 `{skill-root}/customize.toml` 并使用默认值。
- 激活-前置步骤:按顺序执行 `{workflow.activation_steps_prepend}` 中每一项。
- 激活-持久事实:把 `{workflow.persistent_facts}` 中每一项当作本次运行的 foundational context;以 `file:` 开头的条目按 `{project-root}` 下的路径或 glob 加载内容作为事实,其他条目逐字作为事实。
- 激活-外部来源:把 `{workflow.external_sources}` 视为组织配置的内部工具注册表(知识库、MCP 工具);在 `## Discovery` 的相同触发条件下,与通用网络研究一起咨询,优先使用指令匹配的组织工具;若命名工具运行时不可用,回退到标准行为并在相关时记录缺口。
- 激活-解析配置:运行 `uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core.project_name --key modules.bmm.planning_artifacts`;`{date}` 使用当前系统日期时间。
- 激活-问候与意图:问候用户,检测意图(create / update / validate);交互模式且意图不清时直接询问;headless 行为见 Headless Mode。
- 激活-后置步骤与确认:按顺序执行 `{workflow.activation_steps_append}` 中每一项;若 prepend/append 非空,在继续主工作流前确认每一项都已按顺序执行;完成所有激活步骤后才开始主工作流。
- Create 模式:目标是用户引以为傲、满足其需要的 brief,通过真实对话抽取出来;不要假设,先对话理解,再帮助打造最佳 brief。
- Create 模式:在起草前先进入 `## Discovery`;先让全貌上桌,再写 brief。
- Create 模式:形状跟随产品和需要;把 `{workflow.brief_template}` 当起始结构而非契约;删除不配保留的章节,添加产品需要的章节,自由排序;为专门领域/关注点创建章节;brief 服务于产品故事,不服务于模板形状。
- Create 模式:把 `{doc_workspace}` 绑定到新文件夹 `{workflow.brief_output_path}/{workflow.run_folder_pattern}/`;在其中写 `brief.md`,带 YAML frontmatter(title, status, created, updated);初始化 memlog:`uv run {project-root}/_bmad/scripts/memlog.py init --workspace {doc_workspace} --field topic="<product>"`。
- Create 模式:Update 和 Validate 的 `{doc_workspace}` 使用被处理 brief 的既有文件夹。
- Update 模式:把既有 brief 与变更信号对齐;提出变更前先读 brief、addendum、`.memlog.md` 和原始输入,并对变更信号运行 `## Discovery` 姿态(没有上下文的补丁会变成漂移)。
- Update 模式:若 `.memlog.md` 缺失(遗留或非标准 brief),先运行 `uv run {project-root}/_bmad/scripts/memlog.py init --workspace {doc_workspace}`,把本次更新作为第一条记录。
- Update 模式:变更前先暴露与既往决策的冲突。
- Update 模式-headless override:通过 `uv run {project-root}/_bmad/scripts/memlog.py append --workspace {doc_workspace} --type override --text "<reversal + rationale>"` 记录反转,然后应用;若意图模糊则 halt `blocked`。
- Update 模式:若变更是根本性的,建议改用 Create,而不是打补丁。
- Validate 模式:针对 brief 自身目的做诚实批评;先读 brief、若存在则读 addendum、`.memlog.md` 和原始输入;忽略既往决策、被拒想法或用户提供上下文的校验都是浅薄的。
- Validate 模式:引用具体行;对无法评估的内容加 caveat;默认内联返回,除非被要求否则不单独生成文件;始终提出把发现滚动进 Update,即使在 headless 模式也要在 JSON status block 中包含 `offer_to_update: true`。
- Headless 模式:headless 调用时不要提问;用提供的内容、`{doc_workspace}` 中已有内容或自己能发现的内容完成意图。
- Headless 模式:若推断后意图仍模糊,用 `blocked` JSON status 和 `reason` 字段停止,不要提示用户。
- Headless 模式:结束时返回 JSON 响应,列出 status、intent 和 artifact paths;`intent` 必须匹配检测到的 `create`、`update` 或 `validate`。
- Headless 模式:按示例结构返回;只省略未产出的 artifact key;例如 complete/create 返回 brief/addendum/memlog/open_questions/external_handoffs,complete/validate 返回 `offer_to_update: true`。
- Discovery:用对话方式浮现用户带来的东西、这个 brief 为什么存在、领域和产品形态(mobile / web / desktop / multi-surface / hardware / API——这到底是什么东西);把每种形态如何影响你的方法回述给用户。
- Discovery:开场留出全貌空间:邀请用户倾倒想法,并一开始就询问已有源材料(memo、deck、transcript、prior brief、slack thread);先读已有内容,只问缺失内容。
- Discovery:倾倒后问一句“还有别的吗?”常能带出用户差点忘掉的内容;等广貌上桌后再钻细节;过早问细颗粒问题会打断倾倒并错过全局。
- Discovery:尽早判断 stakes(passion project、internal pitch、investor input、public launch),用它校准追问力度。
- Discovery:在倾倒期间启动 web-research subagents 为画面打底——landscape、comparables、current state;AI 尤其要注意,训练数据每周都在变旧;subagent 搜索,parent 只拿 digest。
- Discovery:若需要深度工作(完整市场规模、穷尽式 teardown),建议 `bmad-deep-recon`(market 或 domain 类型)。
- Discovery:在读完 stakes 并捕捉 dump 后,用用户的语言提供工作模式。
- Discovery-fast path:把剩余缺口批量成 1-2 个合并问题,然后起草完整 brief,在推断处标 `[ASSUMPTION]`;用户审查并迭代;适合“我明天要 pitch”。
- Discovery-coaching path:一起走完;把画面从用户那里拉出来,在假设单薄处反驳,逐节起草;适合“我想要一份自己引以为傲的 brief,时间不是限制”。
- Discovery:工作区持久化;可自由停止和恢复;开场哲学(不急、让用户出汗、答案单薄时反驳)主要塑造 Coaching path;Fast path 用 `[ASSUMPTION]` 标签替代反驳,供用户 review 时纠正。
- 约束-右尺寸:按目的裁剪严谨度;passion project 不需要投资级 rigor,VC pitch input 需要;读空气。
- 约束-实时持久化:Create intent 确认后,工作区(run folder、带 `status: draft` 的 `brief.md` 骨架、通过 `memlog.py init` 初始化的 `.memlog.md`)立即存在于磁盘,并让用户知道路径。
- 约束-文件角色:`.memlog.md` 是本次运行的 canonical memory 和审计轨迹;每个 decision、change、override(含 headless override)在对话推进时以追加一行记录;所有写入走共享脚本,绝不手写:`uv run {project-root}/_bmad/scripts/memlog.py append --workspace {doc_workspace} --type <decision|change|override|assumption|event> --text "<one-line gist, reason included>"`;该操作原子;只在恢复或审计时读回。
- 约束-文件角色:brief 向 `.memlog.md` 蒸馏;没记录的东西在恢复时丢失。
- 约束-文件角色:`addendum.md` 保存用户贡献的、属于下游文档(PRD、architecture、solution design)的深度内容,或值得保留但不适合 brief 的内容(rejected-alternative rationale、options-considered matrices、parked-roadmap context、technical constraints、in-depth personas、sizing data);当用户在对话中主动提供这类内容时立即记入 addendum,不要等 finalize。
- 约束-文件角色:audit 和 override 信息绝不放入 addendum。
- 约束-跨会话连续性:若该项目存在先前进行中的草稿,向用户提供 resume。
- 约束-抽取而非灌入:源 artifact(用户提供或运行中发现——transcripts、brainstorms、research reports、code、web results、prior briefs)以 relevance-filtered extracts 进入 parent conversation,不整体加载;subagents 按用户声明的 focus 做抽取,parent context 保持精简。
- 约束-长度与连贯:目标 1-2 页;若更长,细节属于 addendum;结构服务于产品;下游消费者(PRD workflow 等)会读它,因此连贯形状很重要。
- Finalize-memlog 审计与 addendum 复核:让用户在该步骤结束时,对 `.memlog.md` 中重要内容的处理有明确共识——是被记入 brief、记入 `addendum.md`(可能已在对话中捕获,见 Constraints),还是作为 process noise 搁置。
- Finalize-polish:对 `brief.md`(以及若存在的 `addendum.md`)应用 `{workflow.doc_standards}` 中每一条目(`skill:`、`file:` 或纯文本指令);以并行 subagents 运行各遍;先对 `brief.md` 应用所有 doc standards,再对 `addendum.md`,以便向用户呈现高质量草稿供 review 和 finalize。
- Finalize-外部交接:执行 `{workflow.external_handoffs}` 中每一项,把 artifact 路由到本地文件之外(Confluence、Notion、ticket systems 等);每条指令命名 MCP 工具及其所需字段;调用工具,捕获返回的 URL/ID,并在用户消息中露出。
- Finalize-外部交接:若命名工具不可用,跳过该 handoff 并标记;本地文件始终存在。
- Finalize-告知用户就绪:给出本地路径和外部目的地(handoff 返回的 URL);调用 `bmad` skill 建议 bmad method 生态中的下一步。
- Finalize-执行完成钩子:若 `{workflow.on_complete}` 非空则运行;字符串标量视为单条指令,数组视为按顺序执行的一组指令。
适用边界 · 注意事项
- 没有 BMad 环境且不愿安装/运行 `uv`、`npx skills add bmad-code-org/BMAD-METHOD --skill bmad`、`_bmad/scripts/*` 时。
- 需要直接产出完整 PRD、架构或技术方案时;该技能只产出产品 brief,深度细节应放 addendum 或交给下游工作流。
- 完全 headless 且推断后意图仍模糊时;不要硬猜或提问,应 halt `blocked`。