diff --git a/README_CN.md b/README_CN.md index 922644e5e..ac3fd2821 100644 --- a/README_CN.md +++ b/README_CN.md @@ -20,7 +20,7 @@ - **派对模式** — 将多个智能体角色带入一个会话进行协作和讨论 - **完整生命周期** — 从想法开始(头脑风暴)到部署发布 -[在 **docs.bmad-method.org** 了解更多](http://docs.bmad-method.org) +[在 **docs.bmad-method.org** 了解更多](https://docs.bmad-method.org) --- @@ -28,7 +28,7 @@ **V6 已到来,我们才刚刚开始!** BMad 方法正在快速发展,包括跨平台智能体团队和子智能体集成、技能架构、BMad Builder v1、开发循环自动化等优化,以及更多正在开发中的功能。 -**[📍 查看完整路线图 →](http://docs.bmad-method.org/roadmap/)** +**[📍 查看完整路线图 →](https://docs.bmad-method.org/roadmap/)** --- @@ -40,7 +40,7 @@ npx bmad-method install ``` -> 如果你获得的是过时的测试版,请使用:`npx bmad-method@6.0.1 install` +> 想要最新的预发布版本?使用 `npx bmad-method@next install`。相比默认安装,可能会有更多变更。 按照安装程序提示操作,然后在项目文件夹中打开你的 AI IDE(Claude Code、Cursor 等)。 @@ -50,7 +50,7 @@ npx bmad-method install npx bmad-method install --directory /path/to/project --modules bmm --tools claude-code --yes ``` -[查看所有安装选项](http://docs.bmad-method.org/how-to/non-interactive-installation/) +[查看所有安装选项](https://docs.bmad-method.org/how-to/non-interactive-installation/) > **不确定该做什么?** 运行 `bmad-help` — 它会准确告诉你下一步做什么以及什么是可选的。你也可以问诸如 `bmad-help 我刚刚完成了架构设计,接下来该做什么?` 之类的问题。 @@ -62,17 +62,17 @@ BMad 方法通过官方模块扩展到专业领域。可在安装期间或之后 | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- | | **[BMad Method (BMM)](https://github.com/bmad-code-org/BMAD-METHOD)** | 包含 34+ 工作流的核心框架 | | **[BMad Builder (BMB)](https://github.com/bmad-code-org/bmad-builder)** | 创建自定义 BMad 智能体和工作流 | -| **[Test Architect (TEA)](https://github.com/bmad-code-org/tea)** | 基于风险的测试策略和自动化 | +| **[Test Architect (TEA)](https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise)** | 基于风险的测试策略和自动化 | | **[Game Dev Studio (BMGD)](https://github.com/bmad-code-org/bmad-module-game-dev-studio)** | 游戏开发工作流(Unity、Unreal、Godot) | | **[Creative Intelligence Suite (CIS)](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite)** | 创新、头脑风暴、设计思维 | ## 文档 -[BMad 方法文档站点](http://docs.bmad-method.org) — 教程、指南、概念和参考 +[BMad 方法文档站点](https://docs.bmad-method.org) — 教程、指南、概念和参考 **快速链接:** -- [入门教程](http://docs.bmad-method.org/tutorials/getting-started/) -- [从先前版本升级](http://docs.bmad-method.org/how-to/upgrade-to-v6/) +- [入门教程](https://docs.bmad-method.org/tutorials/getting-started/) +- [从先前版本升级](https://docs.bmad-method.org/how-to/upgrade-to-v6/) - [测试架构师文档](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/) diff --git a/src/bmm/agents/analyst.agent.yaml b/src/bmm/agents/analyst.agent.yaml index f17597c2a..47ad56a57 100644 --- a/src/bmm/agents/analyst.agent.yaml +++ b/src/bmm/agents/analyst.agent.yaml @@ -31,7 +31,7 @@ agent: description: "[DR] Domain Research: Industry domain deep dive, subject matter expertise and terminology" - trigger: TR or fuzzy match on technical-research - exec: "{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md" + exec: "skill:bmad-technical-research" description: "[TR] Technical Research: Technical feasibility, architecture options and implementation approaches" - trigger: CB or fuzzy match on product-brief @@ -39,5 +39,5 @@ agent: description: "[CB] Create Brief: A guided experience to nail down your product idea into an executive brief" - trigger: DP or fuzzy match on document-project - exec: "{project-root}/_bmad/bmm/workflows/document-project/workflow.md" + exec: "skill:bmad-document-project" description: "[DP] Document Project: Analyze an existing project to produce useful documentation for both human and LLM" diff --git a/src/bmm/agents/architect.agent.yaml b/src/bmm/agents/architect.agent.yaml index 134540cda..ce76a3b49 100644 --- a/src/bmm/agents/architect.agent.yaml +++ b/src/bmm/agents/architect.agent.yaml @@ -25,5 +25,5 @@ agent: description: "[CA] Create Architecture: Guided Workflow to document technical decisions to keep implementation on track" - trigger: IR or fuzzy match on implementation-readiness - exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md" + exec: "skill:bmad-check-implementation-readiness" description: "[IR] Implementation Readiness: Ensure the PRD, UX, and Architecture and Epics and Stories List are all aligned" diff --git a/src/bmm/agents/dev.agent.yaml b/src/bmm/agents/dev.agent.yaml index d9da7446b..cdcf9ea5f 100644 --- a/src/bmm/agents/dev.agent.yaml +++ b/src/bmm/agents/dev.agent.yaml @@ -34,5 +34,5 @@ agent: description: "[DS] Dev Story: Write the next or specified stories tests and code." - trigger: CR or fuzzy match on code-review - exec: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.md" + exec: "skill:bmad-code-review" description: "[CR] Code Review: Initiate a comprehensive code review across multiple quality facets. For best results, use a fresh context and a different quality LLM if available" diff --git a/src/bmm/agents/pm.agent.yaml b/src/bmm/agents/pm.agent.yaml index bf104246a..b9e5c4ed3 100644 --- a/src/bmm/agents/pm.agent.yaml +++ b/src/bmm/agents/pm.agent.yaml @@ -20,25 +20,25 @@ agent: menu: - trigger: CP or fuzzy match on create-prd - exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md" + exec: "skill:bmad-create-prd" description: "[CP] Create PRD: Expert led facilitation to produce your Product Requirements Document" - trigger: VP or fuzzy match on validate-prd - exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md" + exec: "skill:bmad-validate-prd" description: "[VP] Validate PRD: Validate a Product Requirements Document is comprehensive, lean, well organized and cohesive" - trigger: EP or fuzzy match on edit-prd - exec: "{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md" + exec: "skill:bmad-edit-prd" description: "[EP] Edit PRD: Update an existing Product Requirements Document" - trigger: CE or fuzzy match on epics-stories - exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md" + exec: "skill:bmad-create-epics-and-stories" description: "[CE] Create Epics and Stories: Create the Epics and Stories Listing, these are the specs that will drive development" - trigger: IR or fuzzy match on implementation-readiness - exec: "{project-root}/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md" + exec: "skill:bmad-check-implementation-readiness" description: "[IR] Implementation Readiness: Ensure the PRD, UX, and Architecture and Epics and Stories List are all aligned" - trigger: CC or fuzzy match on correct-course - exec: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.md" + exec: "skill:bmad-correct-course" description: "[CC] Course Correction: Use this so we can determine how to proceed if major need for change is discovered mid implementation" diff --git a/src/bmm/agents/qa.agent.yaml b/src/bmm/agents/qa.agent.yaml index 65b0711b2..c5aa97fdd 100644 --- a/src/bmm/agents/qa.agent.yaml +++ b/src/bmm/agents/qa.agent.yaml @@ -29,7 +29,7 @@ agent: menu: - trigger: QA or fuzzy match on qa-automate - exec: "{project-root}/_bmad/bmm/workflows/qa-generate-e2e-tests/workflow.md" + exec: "skill:bmad-qa-generate-e2e-tests" description: "[QA] Automate - Generate tests for existing features (simplified)" prompts: diff --git a/src/bmm/agents/quick-flow-solo-dev.agent.yaml b/src/bmm/agents/quick-flow-solo-dev.agent.yaml index e019804e2..6cebb3cf1 100644 --- a/src/bmm/agents/quick-flow-solo-dev.agent.yaml +++ b/src/bmm/agents/quick-flow-solo-dev.agent.yaml @@ -20,7 +20,7 @@ agent: menu: - trigger: QS or fuzzy match on quick-spec - exec: "{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md" + exec: "skill:bmad-quick-spec" description: "[QS] Quick Spec: Architect a quick but complete technical spec with implementation-ready stories/specs" - trigger: QD or fuzzy match on quick-dev @@ -32,5 +32,5 @@ agent: description: "[QQ] Quick Dev New (Preview): Unified quick flow — clarify intent, plan, implement, review, present (experimental)" - trigger: CR or fuzzy match on code-review - exec: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review/workflow.md" + exec: "skill:bmad-code-review" description: "[CR] Code Review: Initiate a comprehensive code review across multiple quality facets. For best results, use a fresh context and a different quality LLM if available" diff --git a/src/bmm/agents/sm.agent.yaml b/src/bmm/agents/sm.agent.yaml index ef71f7681..614465553 100644 --- a/src/bmm/agents/sm.agent.yaml +++ b/src/bmm/agents/sm.agent.yaml @@ -20,7 +20,7 @@ agent: menu: - trigger: SP or fuzzy match on sprint-planning - exec: "{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.md" + exec: "skill:bmad-sprint-planning" description: "[SP] Sprint Planning: Generate or update the record that will sequence the tasks to complete the full project that the dev agent will follow" - trigger: CS or fuzzy match on create-story @@ -28,10 +28,10 @@ agent: description: "[CS] Context Story: Prepare a story with all required context for implementation for the developer agent" - trigger: ER or fuzzy match on epic-retrospective - exec: "{project-root}/_bmad/bmm/workflows/4-implementation/retrospective/workflow.md" + exec: "skill:bmad-retrospective" data: "{project-root}/_bmad/_config/agent-manifest.csv" description: "[ER] Epic Retrospective: Party Mode review of all work completed across an epic." - trigger: CC or fuzzy match on correct-course - exec: "{project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.md" + exec: "skill:bmad-correct-course" description: "[CC] Course Correction: Use this so we can determine how to proceed if major need for change is discovered mid implementation" diff --git a/src/bmm/agents/tech-writer/tech-writer.agent.yaml b/src/bmm/agents/tech-writer/tech-writer.agent.yaml index 25f0aca06..c7bf7acab 100644 --- a/src/bmm/agents/tech-writer/tech-writer.agent.yaml +++ b/src/bmm/agents/tech-writer/tech-writer.agent.yaml @@ -22,7 +22,7 @@ agent: menu: - trigger: DP or fuzzy match on document-project - exec: "{project-root}/_bmad/bmm/workflows/document-project/workflow.md" + exec: "skill:bmad-document-project" description: "[DP] Document Project: Generate comprehensive project documentation (brownfield analysis, architecture scanning)" - trigger: WD or fuzzy match on write-document diff --git a/src/bmm/module-help.csv b/src/bmm/module-help.csv index aa5fc6dcd..d88ce3278 100644 --- a/src/bmm/module-help.csv +++ b/src/bmm/module-help.csv @@ -1,10 +1,10 @@ module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs, -bmm,anytime,Document Project,DP,,_bmad/bmm/workflows/document-project/workflow.md,bmad-bmm-document-project,false,analyst,Create Mode,"Analyze an existing project to produce useful documentation",project-knowledge,*, -bmm,anytime,Generate Project Context,GPC,,_bmad/bmm/workflows/generate-project-context/workflow.md,bmad-bmm-generate-project-context,false,analyst,Create Mode,"Scan existing codebase to generate a lean LLM-optimized project-context.md containing critical implementation rules patterns and conventions for AI agents. Essential for brownfield projects and quick-flow.",output_folder,"project context", -bmm,anytime,Quick Spec,QS,,_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md,bmad-bmm-quick-spec,false,quick-flow-solo-dev,Create Mode,"Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method. Quick one-off tasks small changes simple apps brownfield additions to well established patterns utilities without extensive planning",planning_artifacts,"tech spec", +bmm,anytime,Document Project,DP,,skill:bmad-document-project,bmad-bmm-document-project,false,analyst,Create Mode,"Analyze an existing project to produce useful documentation",project-knowledge,*, +bmm,anytime,Generate Project Context,GPC,,skill:bmad-generate-project-context,bmad-bmm-generate-project-context,false,analyst,Create Mode,"Scan existing codebase to generate a lean LLM-optimized project-context.md containing critical implementation rules patterns and conventions for AI agents. Essential for brownfield projects and quick-flow.",output_folder,"project context", +bmm,anytime,Quick Spec,QS,,skill:bmad-quick-spec,bmad-bmm-quick-spec,false,quick-flow-solo-dev,Create Mode,"Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method. Quick one-off tasks small changes simple apps brownfield additions to well established patterns utilities without extensive planning",planning_artifacts,"tech spec", bmm,anytime,Quick Dev,QD,,skill:bmad-quick-dev,bmad-bmm-quick-dev,false,quick-flow-solo-dev,Create Mode,"Quick one-off tasks small changes simple apps utilities without extensive planning - Do not suggest for potentially very complex things unless requested or if the user complains that they do not want to follow the extensive planning of the bmad method, unless the user is already working through the implementation phase and just requests a 1 off things not already in the plan",,, bmm,anytime,Quick Dev New Preview,QQ,,skill:bmad-quick-dev-new-preview,bmad-bmm-quick-dev-new-preview,false,quick-flow-solo-dev,Create Mode,"Unified quick flow (experimental): clarify intent plan implement review and present in a single workflow",implementation_artifacts,"tech spec implementation", -bmm,anytime,Correct Course,CC,,_bmad/bmm/workflows/4-implementation/correct-course/workflow.md,bmad-bmm-correct-course,false,sm,Create Mode,"Anytime: Navigate significant changes. May recommend start over update PRD redo architecture sprint planning or correct epics and stories",planning_artifacts,"change proposal", +bmm,anytime,Correct Course,CC,,skill:bmad-correct-course,bmad-bmm-correct-course,false,sm,Create Mode,"Anytime: Navigate significant changes. May recommend start over update PRD redo architecture sprint planning or correct epics and stories",planning_artifacts,"change proposal", bmm,anytime,Write Document,WD,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,,"Describe in detail what you want, and the agent will follow the documentation best practices defined in agent memory. Multi-turn conversation with subprocess for research/review.",project-knowledge,"document", bmm,anytime,Update Standards,US,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,,"Update agent memory documentation-standards.md with your specific preferences if you discover missing document conventions.",_bmad/_memory/tech-writer-sidecar,"standards", bmm,anytime,Mermaid Generate,MG,,_bmad/bmm/agents/tech-writer/tech-writer.agent.yaml,,false,tech-writer,,"Create a Mermaid diagram based on user description. Will suggest diagram types if not specified.",planning_artifacts,"mermaid diagram", @@ -13,20 +13,20 @@ bmm,anytime,Explain Concept,EC,,_bmad/bmm/agents/tech-writer/tech-writer.agent.y bmm,1-analysis,Brainstorm Project,BP,10,skill:bmad-brainstorming,bmad-brainstorming,false,analyst,data=_bmad/bmm/data/project-context-template.md,"Expert Guided Facilitation through a single or multiple techniques",planning_artifacts,"brainstorming session", bmm,1-analysis,Market Research,MR,20,_bmad/bmm/workflows/1-analysis/research/workflow-market-research.md,bmad-bmm-market-research,false,analyst,Create Mode,"Market analysis competitive landscape customer needs and trends","planning_artifacts|project-knowledge","research documents", bmm,1-analysis,Domain Research,DR,21,skill:bmad-domain-research,bmad-bmm-domain-research,false,analyst,Create Mode,"Industry domain deep dive subject matter expertise and terminology","planning_artifacts|project_knowledge","research documents", -bmm,1-analysis,Technical Research,TR,22,_bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md,bmad-bmm-technical-research,false,analyst,Create Mode,"Technical feasibility architecture options and implementation approaches","planning_artifacts|project_knowledge","research documents", +bmm,1-analysis,Technical Research,TR,22,skill:bmad-technical-research,bmad-bmm-technical-research,false,analyst,Create Mode,"Technical feasibility architecture options and implementation approaches","planning_artifacts|project_knowledge","research documents", bmm,1-analysis,Create Brief,CB,30,skill:bmad-create-product-brief,bmad-bmm-create-product-brief,false,analyst,Create Mode,"A guided experience to nail down your product idea",planning_artifacts,"product brief", -bmm,2-planning,Create PRD,CP,10,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md,bmad-bmm-create-prd,true,pm,Create Mode,"Expert led facilitation to produce your Product Requirements Document",planning_artifacts,prd, -bmm,2-planning,Validate PRD,VP,20,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md,bmad-bmm-validate-prd,false,pm,Validate Mode,"Validate PRD is comprehensive lean well organized and cohesive",planning_artifacts,"prd validation report", -bmm,2-planning,Edit PRD,EP,25,_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md,bmad-bmm-edit-prd,false,pm,Edit Mode,"Improve and enhance an existing PRD",planning_artifacts,"updated prd", +bmm,2-planning,Create PRD,CP,10,skill:bmad-create-prd,bmad-bmm-create-prd,true,pm,Create Mode,"Expert led facilitation to produce your Product Requirements Document",planning_artifacts,prd, +bmm,2-planning,Validate PRD,VP,20,skill:bmad-validate-prd,bmad-bmm-validate-prd,false,pm,Validate Mode,"Validate PRD is comprehensive lean well organized and cohesive",planning_artifacts,"prd validation report", +bmm,2-planning,Edit PRD,EP,25,skill:bmad-edit-prd,bmad-bmm-edit-prd,false,pm,Edit Mode,"Improve and enhance an existing PRD",planning_artifacts,"updated prd", bmm,2-planning,Create UX,CU,30,skill:bmad-create-ux-design,bmad-bmm-create-ux-design,false,ux-designer,Create Mode,"Guidance through realizing the plan for your UX, strongly recommended if a UI is a primary piece of the proposed project",planning_artifacts,"ux design", bmm,3-solutioning,Create Architecture,CA,10,skill:bmad-create-architecture,bmad-bmm-create-architecture,true,architect,Create Mode,"Guided Workflow to document technical decisions",planning_artifacts,architecture, -bmm,3-solutioning,Create Epics and Stories,CE,30,_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md,bmad-bmm-create-epics-and-stories,true,pm,Create Mode,"Create the Epics and Stories Listing",planning_artifacts,"epics and stories", -bmm,3-solutioning,Check Implementation Readiness,IR,70,_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md,bmad-bmm-check-implementation-readiness,true,architect,Validate Mode,"Ensure PRD UX Architecture and Epics Stories are aligned",planning_artifacts,"readiness report", -bmm,4-implementation,Sprint Planning,SP,10,_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.md,bmad-bmm-sprint-planning,true,sm,Create Mode,"Generate sprint plan for development tasks - this kicks off the implementation phase by producing a plan the implementation agents will follow in sequence for every story in the plan.",implementation_artifacts,"sprint status", -bmm,4-implementation,Sprint Status,SS,20,_bmad/bmm/workflows/4-implementation/sprint-status/workflow.md,bmad-bmm-sprint-status,false,sm,Create Mode,"Anytime: Summarize sprint status and route to next workflow",,, +bmm,3-solutioning,Create Epics and Stories,CE,30,skill:bmad-create-epics-and-stories,bmad-bmm-create-epics-and-stories,true,pm,Create Mode,"Create the Epics and Stories Listing",planning_artifacts,"epics and stories", +bmm,3-solutioning,Check Implementation Readiness,IR,70,skill:bmad-check-implementation-readiness,bmad-bmm-check-implementation-readiness,true,architect,Validate Mode,"Ensure PRD UX Architecture and Epics Stories are aligned",planning_artifacts,"readiness report", +bmm,4-implementation,Sprint Planning,SP,10,skill:bmad-sprint-planning,bmad-bmm-sprint-planning,true,sm,Create Mode,"Generate sprint plan for development tasks - this kicks off the implementation phase by producing a plan the implementation agents will follow in sequence for every story in the plan.",implementation_artifacts,"sprint status", +bmm,4-implementation,Sprint Status,SS,20,skill:bmad-sprint-status,bmad-bmm-sprint-status,false,sm,Create Mode,"Anytime: Summarize sprint status and route to next workflow",,, bmm,4-implementation,Validate Story,VS,35,skill:bmad-create-story,bmad-bmm-create-story,false,sm,Validate Mode,"Validates story readiness and completeness before development work begins",implementation_artifacts,"story validation report", bmm,4-implementation,Create Story,CS,30,skill:bmad-create-story,bmad-bmm-create-story,true,sm,Create Mode,"Story cycle start: Prepare first found story in the sprint plan that is next, or if the command is run with a specific epic and story designation with context. Once complete, then VS then DS then CR then back to DS if needed or next CS or ER",implementation_artifacts,story, bmm,4-implementation,Dev Story,DS,40,skill:bmad-dev-story,bmad-bmm-dev-story,true,dev,Create Mode,"Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed",,, -bmm,4-implementation,Code Review,CR,50,_bmad/bmm/workflows/4-implementation/code-review/workflow.md,bmad-bmm-code-review,false,dev,Create Mode,"Story cycle: If issues back to DS if approved then next CS or ER if epic complete",,, -bmm,4-implementation,QA Automation Test,QA,45,_bmad/bmm/workflows/qa-generate-e2e-tests/workflow.md,bmad-bmm-qa-automate,false,qa,Create Mode,"Generate automated API and E2E tests for implemented code using the project's existing test framework (detects existing well known in use test frameworks). Use after implementation to add test coverage. NOT for code review or story validation - use CR for that.",implementation_artifacts,"test suite", -bmm,4-implementation,Retrospective,ER,60,_bmad/bmm/workflows/4-implementation/retrospective/workflow.md,bmad-bmm-retrospective,false,sm,Create Mode,"Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC",implementation_artifacts,retrospective, +bmm,4-implementation,Code Review,CR,50,skill:bmad-code-review,bmad-bmm-code-review,false,dev,Create Mode,"Story cycle: If issues back to DS if approved then next CS or ER if epic complete",,, +bmm,4-implementation,QA Automation Test,QA,45,skill:bmad-qa-generate-e2e-tests,bmad-bmm-qa-automate,false,qa,Create Mode,"Generate automated API and E2E tests for implemented code using the project's existing test framework (detects existing well known in use test frameworks). Use after implementation to add test coverage. NOT for code review or story validation - use CR for that.",implementation_artifacts,"test suite", +bmm,4-implementation,Retrospective,ER,60,skill:bmad-retrospective,bmad-bmm-retrospective,false,sm,Create Mode,"Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC",implementation_artifacts,retrospective, diff --git a/src/bmm/workflows/1-analysis/bmad-create-product-brief/product-brief.template.md b/src/bmm/workflows/1-analysis/bmad-create-product-brief/product-brief.template.md index d41d5620c..9f6189c2c 100644 --- a/src/bmm/workflows/1-analysis/bmad-create-product-brief/product-brief.template.md +++ b/src/bmm/workflows/1-analysis/bmad-create-product-brief/product-brief.template.md @@ -1,8 +1,8 @@ --- stepsCompleted: [] inputDocuments: [] -date: { system-date } -author: { user } +date: {{system-date}} +author: {{user_name}} --- # Product Brief: {{project_name}} diff --git a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md index 496180933..479811f1b 100644 --- a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md +++ b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md @@ -1,13 +1,6 @@ --- -name: 'step-01-init' -description: 'Initialize the product brief workflow by detecting continuation state and setting up the document' - # File References -nextStepFile: './step-02-vision.md' outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' - -# Template References -productBriefTemplate: '../product-brief.template.md' --- # Step 1: Product Brief Initialization @@ -88,7 +81,7 @@ load context documents using smart discovery. Documents can be in the following - {planning_artifacts}/** - {output_folder}/** - {product_knowledge}/** -- docs/** +- {project-root}/docs/** Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content) @@ -112,7 +105,7 @@ Try to discover the following: **Document Setup:** -- Copy the template from `{productBriefTemplate}` to `{outputFile}`, and update the frontmatter fields +- Copy the template from `../product-brief.template.md` to `{outputFile}`, and update the frontmatter fields #### C. Present Initialization Results @@ -141,7 +134,7 @@ Display: "**Proceeding to product vision discovery...**" #### Menu Handling Logic: -- After setup report is presented, without delay, read fully and follow: {nextStepFile} +- After setup report is presented, without delay, read fully and follow: ./step-02-vision.md #### EXECUTION RULES: @@ -150,7 +143,7 @@ Display: "**Proceeding to product vision discovery...**" ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [setup completion is achieved and frontmatter properly updated], will you then read fully and follow: `{nextStepFile}` to begin product vision discovery. +ONLY WHEN [setup completion is achieved and frontmatter properly updated], will you then read fully and follow: `./step-02-vision.md` to begin product vision discovery. --- diff --git a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md index 99b2495fe..bd2af1be6 100644 --- a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md +++ b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md @@ -1,7 +1,4 @@ --- -name: 'step-01b-continue' -description: 'Resume the product brief workflow from where it was left off, ensuring smooth continuation' - # File References outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' --- diff --git a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-02-vision.md b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-02-vision.md index c9e60df19..4729aaf3d 100644 --- a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-02-vision.md +++ b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-02-vision.md @@ -1,9 +1,5 @@ --- -name: 'step-02-vision' -description: 'Discover and define the core product vision, problem statement, and unique value proposition' - # File References -nextStepFile: './step-03-users.md' outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' # Task References @@ -26,6 +22,7 @@ Conduct comprehensive product vision discovery to define the core problem, solut - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: @@ -158,7 +155,7 @@ Prepare the following structure for document append: - IF A: Read fully and follow: {advancedElicitationTask} with current vision content to dive deeper and refine - IF P: Read fully and follow: {partyModeWorkflow} to bring different perspectives to positioning and differentiation -- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2], then read fully and follow: {nextStepFile} +- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2], then read fully and follow: ./step-03-users.md - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options) #### EXECUTION RULES: @@ -170,7 +167,7 @@ Prepare the following structure for document append: ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [vision content finalized and saved to document with frontmatter updated], will you then read fully and follow: `{nextStepFile}` to begin target user discovery. +ONLY WHEN [C continue option] is selected and [vision content finalized and saved to document with frontmatter updated], will you then read fully and follow: `./step-03-users.md` to begin target user discovery. --- diff --git a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-03-users.md b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-03-users.md index 2a035eeb9..2c4f8f71e 100644 --- a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-03-users.md +++ b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-03-users.md @@ -1,9 +1,5 @@ --- -name: 'step-03-users' -description: 'Define target users with rich personas and map their key interactions with the product' - # File References -nextStepFile: './step-04-metrics.md' outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' # Task References @@ -26,6 +22,7 @@ Define target users with rich personas and map their key interactions with the p - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: @@ -161,7 +158,7 @@ Prepare the following structure for document append: - IF A: Read fully and follow: {advancedElicitationTask} with current user content to dive deeper into personas and journeys - IF P: Read fully and follow: {partyModeWorkflow} to bring different perspectives to validate user understanding -- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3], then read fully and follow: {nextStepFile} +- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3], then read fully and follow: ./step-04-metrics.md - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options) #### EXECUTION RULES: @@ -173,7 +170,7 @@ Prepare the following structure for document append: ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [user personas finalized and saved to document with frontmatter updated], will you then read fully and follow: `{nextStepFile}` to begin success metrics definition. +ONLY WHEN [C continue option] is selected and [user personas finalized and saved to document with frontmatter updated], will you then read fully and follow: `./step-04-metrics.md` to begin success metrics definition. --- diff --git a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md index 359bc0954..55c29cf0e 100644 --- a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md +++ b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md @@ -1,9 +1,5 @@ --- -name: 'step-04-metrics' -description: 'Define comprehensive success metrics that include user success, business objectives, and key performance indicators' - # File References -nextStepFile: './step-05-scope.md' outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' # Task References @@ -26,6 +22,7 @@ Define comprehensive success metrics that include user success, business objecti - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: @@ -164,7 +161,7 @@ Prepare the following structure for document append: - IF A: Read fully and follow: {advancedElicitationTask} with current metrics content to dive deeper into success metric insights - IF P: Read fully and follow: {partyModeWorkflow} to bring different perspectives to validate comprehensive metrics -- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3, 4], then read fully and follow: {nextStepFile} +- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3, 4], then read fully and follow: ./step-05-scope.md - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options) #### EXECUTION RULES: @@ -176,7 +173,7 @@ Prepare the following structure for document append: ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [success metrics finalized and saved to document with frontmatter updated], will you then read fully and follow: `{nextStepFile}` to begin MVP scope definition. +ONLY WHEN [C continue option] is selected and [success metrics finalized and saved to document with frontmatter updated], will you then read fully and follow: `./step-05-scope.md` to begin MVP scope definition. --- diff --git a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-05-scope.md b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-05-scope.md index 0d5b99613..c8b5d6115 100644 --- a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-05-scope.md +++ b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-05-scope.md @@ -1,9 +1,5 @@ --- -name: 'step-05-scope' -description: 'Define MVP scope with clear boundaries and outline future vision while managing scope creep' - # File References -nextStepFile: './step-06-complete.md' outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' # Task References @@ -26,6 +22,7 @@ Define MVP scope with clear boundaries and outline future vision through collabo - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: @@ -178,7 +175,7 @@ Prepare the following structure for document append: - IF A: Read fully and follow: {advancedElicitationTask} with current scope content to optimize scope definition - IF P: Read fully and follow: {partyModeWorkflow} to bring different perspectives to validate MVP scope -- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3, 4, 5], then read fully and follow: {nextStepFile} +- IF C: Save content to {outputFile}, update frontmatter with stepsCompleted: [1, 2, 3, 4, 5], then read fully and follow: ./step-06-complete.md - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options) #### EXECUTION RULES: @@ -190,7 +187,7 @@ Prepare the following structure for document append: ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [MVP scope finalized and saved to document with frontmatter updated], will you then read fully and follow: `{nextStepFile}` to complete the product brief workflow. +ONLY WHEN [C continue option] is selected and [MVP scope finalized and saved to document with frontmatter updated], will you then read fully and follow: `./step-06-complete.md` to complete the product brief workflow. --- diff --git a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-06-complete.md b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-06-complete.md index 7363f7c95..f1f5c302c 100644 --- a/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-06-complete.md +++ b/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-06-complete.md @@ -1,7 +1,4 @@ --- -name: 'step-06-complete' -description: 'Complete the product brief workflow, update status files, and suggest next steps for the project' - # File References outputFile: '{planning_artifacts}/product-brief-{{project_name}}-{{date}}.md' --- diff --git a/src/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md b/src/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md index 267f8cce8..24396361b 100644 --- a/src/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md +++ b/src/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md @@ -47,6 +47,9 @@ Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve: - `project_name`, `output_folder`, `planning_artifacts`, `user_name`, `communication_language`, `document_output_language`, `user_skill_level` +✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`. +✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`. + ### 2. First Step EXECUTION Read fully and follow: `./steps/step-01-init.md` to begin the workflow. diff --git a/src/bmm/workflows/1-analysis/research/bmad-skill-manifest.yaml b/src/bmm/workflows/1-analysis/research/bmad-skill-manifest.yaml index f9ca17f4b..04a998889 100644 --- a/src/bmm/workflows/1-analysis/research/bmad-skill-manifest.yaml +++ b/src/bmm/workflows/1-analysis/research/bmad-skill-manifest.yaml @@ -2,8 +2,3 @@ workflow-market-research.md: canonicalId: bmad-market-research type: workflow description: "Conduct market research on competition and customers. Use when the user says 'create a market research report about [business idea]'" - -workflow-technical-research.md: - canonicalId: bmad-technical-research - type: workflow - description: "Conduct technical research on technologies and architecture. Use when the user says 'create a technical research report on [topic]'" diff --git a/src/bmm/workflows/1-analysis/research/bmad-technical-research/SKILL.md b/src/bmm/workflows/1-analysis/research/bmad-technical-research/SKILL.md new file mode 100644 index 000000000..fe3df662e --- /dev/null +++ b/src/bmm/workflows/1-analysis/research/bmad-technical-research/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-technical-research +description: 'Conduct technical research on technologies and architecture. Use when the user says "create a technical research report on [topic]".' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/1-analysis/research/bmad-technical-research/bmad-skill-manifest.yaml b/src/bmm/workflows/1-analysis/research/bmad-technical-research/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/1-analysis/research/bmad-technical-research/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/1-analysis/research/bmad-technical-research/research.template.md b/src/bmm/workflows/1-analysis/research/bmad-technical-research/research.template.md new file mode 100644 index 000000000..1d9952470 --- /dev/null +++ b/src/bmm/workflows/1-analysis/research/bmad-technical-research/research.template.md @@ -0,0 +1,29 @@ +--- +stepsCompleted: [] +inputDocuments: [] +workflowType: 'research' +lastStep: 1 +research_type: '{{research_type}}' +research_topic: '{{research_topic}}' +research_goals: '{{research_goals}}' +user_name: '{{user_name}}' +date: '{{date}}' +web_research_enabled: true +source_verification: true +--- + +# Research Report: {{research_type}} + +**Date:** {{date}} +**Author:** {{user_name}} +**Research Type:** {{research_type}} + +--- + +## Research Overview + +[Research overview and methodology will be appended here] + +--- + + diff --git a/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md b/src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-01-init.md similarity index 95% rename from src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md rename to src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-01-init.md index 1b0980b3f..b286822dc 100644 --- a/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +++ b/src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-01-init.md @@ -78,7 +78,7 @@ For **{{research_topic}}**, I will research: - Document scope confirmation in research file - Update frontmatter: `stepsCompleted: [1]` -- Load: `{project-root}/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md` +- Load: `./step-02-technical-overview.md` ## APPEND TO DOCUMENT: @@ -132,6 +132,6 @@ When user selects 'C', append scope confirmation: ## NEXT STEP: -After user selects 'C', load `{project-root}/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md` to begin technology stack analysis. +After user selects 'C', load `./step-02-technical-overview.md` to begin technology stack analysis. Remember: This is SCOPE CONFIRMATION ONLY - no actual technical research yet, just confirming the research approach and scope! diff --git a/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md b/src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-02-technical-overview.md similarity index 96% rename from src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md rename to src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-02-technical-overview.md index 406a273ca..78151eb0d 100644 --- a/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +++ b/src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-02-technical-overview.md @@ -180,7 +180,7 @@ _Source: [URL]_ - **CONTENT ALREADY WRITTEN TO DOCUMENT** - Update frontmatter: `stepsCompleted: [1, 2]` -- Load: `{project-root}/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md` +- Load: `./step-03-integration-patterns.md` ## APPEND TO DOCUMENT: @@ -234,6 +234,6 @@ Content is already written to document when generated in step 4. No additional a ## NEXT STEP: -After user selects 'C', load `{project-root}/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md` to analyze APIs, communication protocols, and system interoperability for {{research_topic}}. +After user selects 'C', load `./step-03-integration-patterns.md` to analyze APIs, communication protocols, and system interoperability for {{research_topic}}. Remember: Always write research content to document immediately and emphasize current technology data with rigorous source verification! diff --git a/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md b/src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-03-integration-patterns.md similarity index 96% rename from src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md rename to src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-03-integration-patterns.md index 4d4f6243d..68e2b70f9 100644 --- a/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +++ b/src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-03-integration-patterns.md @@ -189,7 +189,7 @@ _Source: [URL]_ - **CONTENT ALREADY WRITTEN TO DOCUMENT** - Update frontmatter: `stepsCompleted: [1, 2, 3]` -- Load: `{project-root}/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md` +- Load: `./step-04-architectural-patterns.md` ## APPEND TO DOCUMENT: @@ -243,6 +243,6 @@ Content is already written to document when generated in step 4. No additional a ## NEXT STEP: -After user selects 'C', load `{project-root}/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md` to analyze architectural patterns, design decisions, and system structures for {{research_topic}}. +After user selects 'C', load `./step-04-architectural-patterns.md` to analyze architectural patterns, design decisions, and system structures for {{research_topic}}. Remember: Always write research content to document immediately and emphasize current integration data with rigorous source verification! diff --git a/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md b/src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-04-architectural-patterns.md similarity index 95% rename from src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md rename to src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-04-architectural-patterns.md index abb01037a..3d0e66ab3 100644 --- a/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +++ b/src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-04-architectural-patterns.md @@ -156,7 +156,7 @@ Show the generated architectural patterns and present continue option: - Append the final content to the research document - Update frontmatter: `stepsCompleted: [1, 2, 3, 4]` -- Load: `{project-root}/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md` +- Load: `./step-05-implementation-research.md` ## APPEND TO DOCUMENT: @@ -197,6 +197,6 @@ When user selects 'C', append the content directly to the research document usin ## NEXT STEP: -After user selects 'C' and content is saved to document, load `{project-root}/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md` to focus on implementation approaches and technology adoption. +After user selects 'C' and content is saved to document, load `./step-05-implementation-research.md` to focus on implementation approaches and technology adoption. Remember: Always emphasize current architectural data and rigorous source verification! diff --git a/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md b/src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-05-implementation-research.md similarity index 95% rename from src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md rename to src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-05-implementation-research.md index 9e5be7bbb..994537356 100644 --- a/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +++ b/src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-05-implementation-research.md @@ -179,7 +179,7 @@ Show the generated implementation research and present continue option: - Append the final content to the research document - Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]` -- Load: `{project-root}/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md` +- Load: `./step-06-research-synthesis.md` ## APPEND TO DOCUMENT: @@ -230,4 +230,4 @@ When 'C' is selected: ## NEXT STEP: -After user selects 'C', load `{project-root}/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md` to produce the comprehensive technical research document with narrative introduction, detailed TOC, and executive summary. +After user selects 'C', load `./step-06-research-synthesis.md` to produce the comprehensive technical research document with narrative introduction, detailed TOC, and executive summary. diff --git a/src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md b/src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md similarity index 100% rename from src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md rename to src/bmm/workflows/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md diff --git a/src/bmm/workflows/1-analysis/research/workflow-technical-research.md b/src/bmm/workflows/1-analysis/research/bmad-technical-research/workflow.md similarity index 92% rename from src/bmm/workflows/1-analysis/research/workflow-technical-research.md rename to src/bmm/workflows/1-analysis/research/bmad-technical-research/workflow.md index ecc9a2f27..bf7020f56 100644 --- a/src/bmm/workflows/1-analysis/research/workflow-technical-research.md +++ b/src/bmm/workflows/1-analysis/research/bmad-technical-research/workflow.md @@ -1,7 +1,3 @@ ---- -name: technical-research -description: 'Conduct technical research on technologies and architecture. Use when the user says "create a technical research report on [topic]".' ---- # Technical Research Workflow diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01-init.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01-init.md index 62969bafd..2ec7ecb36 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01-init.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01-init.md @@ -58,7 +58,7 @@ Discover and load context documents using smart discovery. Documents can be in t - {planning_artifacts}/** - {output_folder}/** - {product_knowledge}/** -- docs/** +- {project-root}/docs/** Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content) @@ -80,7 +80,7 @@ Try to discover the following: #### B. Create Initial Document -Copy the template from `{installed_path}/ux-design-template.md` to `{planning_artifacts}/ux-design-specification.md` +Copy the template from `../ux-design-template.md` to `{planning_artifacts}/ux-design-specification.md` Initialize frontmatter in the template. #### C. Complete Initialization and Report diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01b-continue.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01b-continue.md index 3d0f647e2..cd1df25f0 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01b-continue.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-01b-continue.md @@ -108,7 +108,7 @@ After presenting current progress, ask: If `lastStep` indicates the final step is completed: "Great news! It looks like we've already completed the UX design workflow for {{project_name}}. -The final UX design specification is ready at {output_folder}/ux-design-specification.md with all sections completed through step {finalStepNumber}. +The final UX design specification is ready at {planning_artifacts}/ux-design-specification.md with all sections completed through step {finalStepNumber}. The complete UX design includes visual foundations, user flows, and design specifications ready for implementation. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-03-core-experience.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-03-core-experience.md index 551626170..6dc3214a7 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-03-core-experience.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-03-core-experience.md @@ -11,6 +11,7 @@ - 💬 FOCUS on defining the core user experience and platform - 🎯 COLLABORATIVE discovery, not assumption-based design - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-04-emotional-response.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-04-emotional-response.md index 6e4cc575a..e173935ed 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-04-emotional-response.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-04-emotional-response.md @@ -11,6 +11,7 @@ - 💬 FOCUS on defining desired emotional responses and user feelings - 🎯 COLLABORATIVE discovery, not assumption-based design - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-05-inspiration.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-05-inspiration.md index d0c3f02ea..1b6f88eee 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-05-inspiration.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-05-inspiration.md @@ -11,6 +11,7 @@ - 💬 FOCUS on analyzing existing UX patterns and extracting inspiration - 🎯 COLLABORATIVE discovery, not assumption-based design - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-06-design-system.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-06-design-system.md index f7ab78804..3ca69f8b3 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-06-design-system.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-06-design-system.md @@ -11,6 +11,7 @@ - 💬 FOCUS on choosing appropriate design system approach - 🎯 COLLABORATIVE decision-making, not recommendation-only - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-07-defining-experience.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-07-defining-experience.md index 21ecbe618..eef6aefa2 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-07-defining-experience.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-07-defining-experience.md @@ -11,6 +11,7 @@ - 💬 FOCUS on defining the core interaction that defines the product - 🎯 COLLABORATIVE discovery, not assumption-based design - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-08-visual-foundation.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-08-visual-foundation.md index cdcbc65ff..72c69d3cf 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-08-visual-foundation.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-08-visual-foundation.md @@ -11,6 +11,7 @@ - 💬 FOCUS on establishing visual design foundation (colors, typography, spacing) - 🎯 COLLABORATIVE discovery, not assumption-based design - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-09-design-directions.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-09-design-directions.md index bcf16436c..9fd614750 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-09-design-directions.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-09-design-directions.md @@ -11,6 +11,7 @@ - 💬 FOCUS on generating and evaluating design direction variations - 🎯 COLLABORATIVE exploration, not assumption-based design - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-10-user-journeys.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-10-user-journeys.md index 942d31aa7..a8df27def 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-10-user-journeys.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-10-user-journeys.md @@ -11,6 +11,7 @@ - 💬 FOCUS on designing user flows and journey interactions - 🎯 COLLABORATIVE flow design, not assumption-based layouts - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-11-component-strategy.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-11-component-strategy.md index 6b4c792d1..38589afbc 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-11-component-strategy.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-11-component-strategy.md @@ -11,6 +11,7 @@ - 💬 FOCUS on defining component library strategy and custom components - 🎯 COLLABORATIVE component planning, not assumption-based design - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-12-ux-patterns.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-12-ux-patterns.md index 11661f1f5..291d20daf 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-12-ux-patterns.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-12-ux-patterns.md @@ -11,6 +11,7 @@ - 💬 FOCUS on establishing consistency patterns for common UX situations - 🎯 COLLABORATIVE pattern definition, not assumption-based design - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-13-responsive-accessibility.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-13-responsive-accessibility.md index af9b81761..234b0fb01 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-13-responsive-accessibility.md @@ -11,6 +11,7 @@ - 💬 FOCUS on responsive design strategy and accessibility compliance - 🎯 COLLABORATIVE strategy definition, not assumption-based design - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-14-complete.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-14-complete.md index 73b07217d..67d99c427 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-14-complete.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/steps/step-14-complete.md @@ -75,8 +75,8 @@ This specification is now ready to guide visual design, implementation, and deve Update the main workflow status file: -- Load `{status_file}` from workflow configuration (if exists) -- Update workflow_status["create-ux-design"] = "{default_output_file}" +- Load the project's workflow status file (if one exists) +- Update workflow_status["create-ux-design"] = `{planning_artifacts}/ux-design-specification.md` - Save file, preserving all comments and structure - Mark current timestamp as completion time diff --git a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/workflow.md b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/workflow.md index 51f9626c4..04be36641 100644 --- a/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/workflow.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/workflow.md @@ -27,11 +27,10 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ### Paths -- `installed_path` = `.` -- `template_path` = `{installed_path}/ux-design-template.md` - `default_output_file` = `{planning_artifacts}/ux-design-specification.md` ## EXECUTION - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` - Read fully and follow: `./steps/step-01-init.md` to begin the UX design workflow. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/SKILL.md b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/SKILL.md new file mode 100644 index 000000000..43f6e3181 --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-edit-prd +description: 'Edit an existing PRD. Use when the user says "edit this PRD".' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/bmad-skill-manifest.yaml b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01-discovery.md similarity index 98% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md rename to src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01-discovery.md index b20743c16..0606c96c5 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01-discovery.md @@ -24,6 +24,7 @@ Understand what the user wants to edit in the PRD, detect PRD format/type, check - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md similarity index 100% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md rename to src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-02-review.md similarity index 98% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md rename to src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-02-review.md index bf4c91b4d..11ff419ee 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-02-review.md @@ -25,6 +25,7 @@ Thoroughly review the existing PRD, analyze validation report findings (if provi - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-03-edit.md similarity index 98% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md rename to src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-03-edit.md index 65c12946f..133a6f5c2 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-03-edit.md @@ -23,6 +23,7 @@ Apply changes to the PRD following the approved change plan from step e-02, incl - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-04-complete.md similarity index 97% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md rename to src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-04-complete.md index 5d681feed..ad394488e 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/steps-e/step-e-04-complete.md @@ -4,7 +4,7 @@ description: 'Complete & Validate - Present options for next steps including ful # File references (ONLY variables used in this step) prdFile: '{prd_file_path}' -validationWorkflow: '../steps-v/step-v-01-discovery.md' +validationWorkflow: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md' --- # Step E-4: Complete & Validate diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/workflow.md similarity index 96% rename from src/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md rename to src/bmm/workflows/2-plan-workflows/bmad-edit-prd/workflow.md index e416e11f5..a765a5459 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +++ b/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/workflow.md @@ -1,6 +1,4 @@ --- -name: edit-prd -description: 'Edit an existing PRD. Use when the user says "edit this PRD".' main_config: '{project-root}/_bmad/bmm/config.yaml' editWorkflow: './steps-e/step-e-01-discovery.md' --- @@ -55,6 +53,7 @@ Load and read full config from {main_config} and resolve: - `date` as system-generated current datetime ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`. +✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`. ### 2. Route to Edit Workflow diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/SKILL.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/SKILL.md new file mode 100644 index 000000000..7c9eb0bd5 --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-validate-prd +description: 'Validate a PRD against standards. Use when the user says "validate this PRD" or "run PRD validation"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/bmad-skill-manifest.yaml b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/domain-complexity.csv b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/domain-complexity.csv new file mode 100644 index 000000000..60a7b503f --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/domain-complexity.csv @@ -0,0 +1,15 @@ +domain,signals,complexity,key_concerns,required_knowledge,suggested_workflow,web_searches,special_sections +healthcare,"medical,diagnostic,clinical,FDA,patient,treatment,HIPAA,therapy,pharma,drug",high,"FDA approval;Clinical validation;HIPAA compliance;Patient safety;Medical device classification;Liability","Regulatory pathways;Clinical trial design;Medical standards;Data privacy;Integration requirements","domain-research","FDA software medical device guidance {date};HIPAA compliance software requirements;Medical software standards {date};Clinical validation software","clinical_requirements;regulatory_pathway;validation_methodology;safety_measures" +fintech,"payment,banking,trading,investment,crypto,wallet,transaction,KYC,AML,funds,fintech",high,"Regional compliance;Security standards;Audit requirements;Fraud prevention;Data protection","KYC/AML requirements;PCI DSS;Open banking;Regional laws (US/EU/APAC);Crypto regulations","domain-research","fintech regulations {date};payment processing compliance {date};open banking API standards;cryptocurrency regulations {date}","compliance_matrix;security_architecture;audit_requirements;fraud_prevention" +govtech,"government,federal,civic,public sector,citizen,municipal,voting",high,"Procurement rules;Security clearance;Accessibility (508);FedRAMP;Privacy;Transparency","Government procurement;Security frameworks;Accessibility standards;Privacy laws;Open data requirements","domain-research","government software procurement {date};FedRAMP compliance requirements;section 508 accessibility;government security standards","procurement_compliance;security_clearance;accessibility_standards;transparency_requirements" +edtech,"education,learning,student,teacher,curriculum,assessment,K-12,university,LMS",medium,"Student privacy (COPPA/FERPA);Accessibility;Content moderation;Age verification;Curriculum standards","Educational privacy laws;Learning standards;Accessibility requirements;Content guidelines;Assessment validity","domain-research","educational software privacy {date};COPPA FERPA compliance;WCAG education requirements;learning management standards","privacy_compliance;content_guidelines;accessibility_features;curriculum_alignment" +aerospace,"aircraft,spacecraft,aviation,drone,satellite,propulsion,flight,radar,navigation",high,"Safety certification;DO-178C compliance;Performance validation;Simulation accuracy;Export controls","Aviation standards;Safety analysis;Simulation validation;ITAR/export controls;Performance requirements","domain-research + technical-model","DO-178C software certification;aerospace simulation standards {date};ITAR export controls software;aviation safety requirements","safety_certification;simulation_validation;performance_requirements;export_compliance" +automotive,"vehicle,car,autonomous,ADAS,automotive,driving,EV,charging",high,"Safety standards;ISO 26262;V2X communication;Real-time requirements;Certification","Automotive standards;Functional safety;V2X protocols;Real-time systems;Testing requirements","domain-research","ISO 26262 automotive software;automotive safety standards {date};V2X communication protocols;EV charging standards","safety_standards;functional_safety;communication_protocols;certification_requirements" +scientific,"research,algorithm,simulation,modeling,computational,analysis,data science,ML,AI",medium,"Reproducibility;Validation methodology;Peer review;Performance;Accuracy;Computational resources","Scientific method;Statistical validity;Computational requirements;Domain expertise;Publication standards","technical-model","scientific computing best practices {date};research reproducibility standards;computational modeling validation;peer review software","validation_methodology;accuracy_metrics;reproducibility_plan;computational_requirements" +legaltech,"legal,law,contract,compliance,litigation,patent,attorney,court",high,"Legal ethics;Bar regulations;Data retention;Attorney-client privilege;Court system integration","Legal practice rules;Ethics requirements;Court filing systems;Document standards;Confidentiality","domain-research","legal technology ethics {date};law practice management software requirements;court filing system standards;attorney client privilege technology","ethics_compliance;data_retention;confidentiality_measures;court_integration" +insuretech,"insurance,claims,underwriting,actuarial,policy,risk,premium",high,"Insurance regulations;Actuarial standards;Data privacy;Fraud detection;State compliance","Insurance regulations by state;Actuarial methods;Risk modeling;Claims processing;Regulatory reporting","domain-research","insurance software regulations {date};actuarial standards software;insurance fraud detection;state insurance compliance","regulatory_requirements;risk_modeling;fraud_detection;reporting_compliance" +energy,"energy,utility,grid,solar,wind,power,electricity,oil,gas",high,"Grid compliance;NERC standards;Environmental regulations;Safety requirements;Real-time operations","Energy regulations;Grid standards;Environmental compliance;Safety protocols;SCADA systems","domain-research","energy sector software compliance {date};NERC CIP standards;smart grid requirements;renewable energy software standards","grid_compliance;safety_protocols;environmental_compliance;operational_requirements" +process_control,"industrial automation,process control,PLC,SCADA,DCS,HMI,operational technology,OT,control system,cyberphysical,MES,historian,instrumentation,I&C,P&ID",high,"Functional safety;OT cybersecurity;Real-time control requirements;Legacy system integration;Process safety and hazard analysis;Environmental compliance and permitting;Engineering authority and PE requirements","Functional safety standards;OT security frameworks;Industrial protocols;Process control architecture;Plant reliability and maintainability","domain-research + technical-model","IEC 62443 OT cybersecurity requirements {date};functional safety software requirements {date};industrial process control architecture;ISA-95 manufacturing integration","functional_safety;ot_security;process_requirements;engineering_authority" +building_automation,"building automation,BAS,BMS,HVAC,smart building,lighting control,fire alarm,fire protection,fire suppression,life safety,elevator,access control,DDC,energy management,sequence of operations,commissioning",high,"Life safety codes;Building energy standards;Multi-trade coordination and interoperability;Commissioning and ongoing operational performance;Indoor environmental quality and occupant comfort;Engineering authority and PE requirements","Building automation protocols;HVAC and mechanical controls;Fire alarm, fire protection, and life safety design;Commissioning process and sequence of operations;Building codes and energy standards","domain-research","smart building software architecture {date};BACnet integration best practices;building automation cybersecurity {date};ASHRAE building standards","life_safety;energy_compliance;commissioning_requirements;engineering_authority" +gaming,"game,player,gameplay,level,character,multiplayer,quest",redirect,"REDIRECT TO GAME WORKFLOWS","Game design","game-brief","NA","NA" +general,"",low,"Standard requirements;Basic security;User experience;Performance","General software practices","continue","software development best practices {date}","standard_requirements" \ No newline at end of file diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/prd-purpose.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/prd-purpose.md new file mode 100644 index 000000000..755230be7 --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/prd-purpose.md @@ -0,0 +1,197 @@ +# BMAD PRD Purpose + +**The PRD is the top of the required funnel that feeds all subsequent product development work in rhw BMad Method.** + +--- + +## What is a BMAD PRD? + +A dual-audience document serving: +1. **Human Product Managers and builders** - Vision, strategy, stakeholder communication +2. **LLM Downstream Consumption** - UX Design → Architecture → Epics → Development AI Agents + +Each successive document becomes more AI-tailored and granular. + +--- + +## Core Philosophy: Information Density + +**High Signal-to-Noise Ratio** + +Every sentence must carry information weight. LLMs consume precise, dense content efficiently. + +**Anti-Patterns (Eliminate These):** +- ❌ "The system will allow users to..." → ✅ "Users can..." +- ❌ "It is important to note that..." → ✅ State the fact directly +- ❌ "In order to..." → ✅ "To..." +- ❌ Conversational filler and padding → ✅ Direct, concise statements + +**Goal:** Maximum information per word. Zero fluff. + +--- + +## The Traceability Chain + +**PRD starts the chain:** +``` +Vision → Success Criteria → User Journeys → Functional Requirements → (future: User Stories) +``` + +**In the PRD, establish:** +- Vision → Success Criteria alignment +- Success Criteria → User Journey coverage +- User Journey → Functional Requirement mapping +- All requirements traceable to user needs + +**Why:** Each downstream artifact (UX, Architecture, Epics, Stories) must trace back to documented user needs and business objectives. This chain ensures we build the right thing. + +--- + +## What Makes Great Functional Requirements? + +### FRs are Capabilities, Not Implementation + +**Good FR:** "Users can reset their password via email link" +**Bad FR:** "System sends JWT via email and validates with database" (implementation leakage) + +**Good FR:** "Dashboard loads in under 2 seconds for 95th percentile" +**Bad FR:** "Fast loading time" (subjective, unmeasurable) + +### SMART Quality Criteria + +**Specific:** Clear, precisely defined capability +**Measurable:** Quantifiable with test criteria +**Attainable:** Realistic within constraints +**Relevant:** Aligns with business objectives +**Traceable:** Links to source (executive summary or user journey) + +### FR Anti-Patterns + +**Subjective Adjectives:** +- ❌ "easy to use", "intuitive", "user-friendly", "fast", "responsive" +- ✅ Use metrics: "completes task in under 3 clicks", "loads in under 2 seconds" + +**Implementation Leakage:** +- ❌ Technology names, specific libraries, implementation details +- ✅ Focus on capability and measurable outcomes + +**Vague Quantifiers:** +- ❌ "multiple users", "several options", "various formats" +- ✅ "up to 100 concurrent users", "3-5 options", "PDF, DOCX, TXT formats" + +**Missing Test Criteria:** +- ❌ "The system shall provide notifications" +- ✅ "The system shall send email notifications within 30 seconds of trigger event" + +--- + +## What Makes Great Non-Functional Requirements? + +### NFRs Must Be Measurable + +**Template:** +``` +"The system shall [metric] [condition] [measurement method]" +``` + +**Examples:** +- ✅ "The system shall respond to API requests in under 200ms for 95th percentile as measured by APM monitoring" +- ✅ "The system shall maintain 99.9% uptime during business hours as measured by cloud provider SLA" +- ✅ "The system shall support 10,000 concurrent users as measured by load testing" + +### NFR Anti-Patterns + +**Unmeasurable Claims:** +- ❌ "The system shall be scalable" → ✅ "The system shall handle 10x load growth through horizontal scaling" +- ❌ "High availability required" → ✅ "99.9% uptime as measured by cloud provider SLA" + +**Missing Context:** +- ❌ "Response time under 1 second" → ✅ "API response time under 1 second for 95th percentile under normal load" + +--- + +## Domain-Specific Requirements + +**Auto-Detect and Enforce Based on Project Context** + +Certain industries have mandatory requirements that must be present: + +- **Healthcare:** HIPAA Privacy & Security Rules, PHI encryption, audit logging, MFA +- **Fintech:** PCI-DSS Level 1, AML/KYC compliance, SOX controls, financial audit trails +- **GovTech:** NIST framework, Section 508 accessibility (WCAG 2.1 AA), FedRAMP, data residency +- **E-Commerce:** PCI-DSS for payments, inventory accuracy, tax calculation by jurisdiction + +**Why:** Missing these requirements in the PRD means they'll be missed in architecture and implementation, creating expensive rework. During PRD creation there is a step to cover this - during validation we want to make sure it was covered. For this purpose steps will utilize a domain-complexity.csv and project-types.csv. + +--- + +## Document Structure (Markdown, Human-Readable) + +### Required Sections +1. **Executive Summary** - Vision, differentiator, target users +2. **Success Criteria** - Measurable outcomes (SMART) +3. **Product Scope** - MVP, Growth, Vision phases +4. **User Journeys** - Comprehensive coverage +5. **Domain Requirements** - Industry-specific compliance (if applicable) +6. **Innovation Analysis** - Competitive differentiation (if applicable) +7. **Project-Type Requirements** - Platform-specific needs +8. **Functional Requirements** - Capability contract (FRs) +9. **Non-Functional Requirements** - Quality attributes (NFRs) + +### Formatting for Dual Consumption + +**For Humans:** +- Clear, professional language +- Logical flow from vision to requirements +- Easy for stakeholders to review and approve + +**For LLMs:** +- ## Level 2 headers for all main sections (enables extraction) +- Consistent structure and patterns +- Precise, testable language +- High information density + +--- + +## Downstream Impact + +**How the PRD Feeds Next Artifacts:** + +**UX Design:** +- User journeys → interaction flows +- FRs → design requirements +- Success criteria → UX metrics + +**Architecture:** +- FRs → system capabilities +- NFRs → architecture decisions +- Domain requirements → compliance architecture +- Project-type requirements → platform choices + +**Epics & Stories (created after architecture):** +- FRs → user stories (1 FR could map to 1-3 stories potentially) +- Acceptance criteria → story acceptance tests +- Priority → sprint sequencing +- Traceability → stories map back to vision + +**Development AI Agents:** +- Precise requirements → implementation clarity +- Test criteria → automated test generation +- Domain requirements → compliance enforcement +- Measurable NFRs → performance targets + +--- + +## Summary: What Makes a Great BMAD PRD? + +✅ **High Information Density** - Every sentence carries weight, zero fluff +✅ **Measurable Requirements** - All FRs and NFRs are testable with specific criteria +✅ **Clear Traceability** - Each requirement links to user need and business objective +✅ **Domain Awareness** - Industry-specific requirements auto-detected and included +✅ **Zero Anti-Patterns** - No subjective adjectives, implementation leakage, or vague quantifiers +✅ **Dual Audience Optimized** - Human-readable AND LLM-consumable +✅ **Markdown Format** - Professional, clean, accessible to all stakeholders + +--- + +**Remember:** The PRD is the foundation. Quality here ripples through every subsequent phase. A dense, precise, well-traced PRD makes UX design, architecture, epic breakdown, and AI development dramatically more effective. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/project-types.csv b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/project-types.csv new file mode 100644 index 000000000..6f71c513a --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/data/project-types.csv @@ -0,0 +1,11 @@ +project_type,detection_signals,key_questions,required_sections,skip_sections,web_search_triggers,innovation_signals +api_backend,"API,REST,GraphQL,backend,service,endpoints","Endpoints needed?;Authentication method?;Data formats?;Rate limits?;Versioning?;SDK needed?","endpoint_specs;auth_model;data_schemas;error_codes;rate_limits;api_docs","ux_ui;visual_design;user_journeys","framework best practices;OpenAPI standards","API composition;New protocol" +mobile_app,"iOS,Android,app,mobile,iPhone,iPad","Native or cross-platform?;Offline needed?;Push notifications?;Device features?;Store compliance?","platform_reqs;device_permissions;offline_mode;push_strategy;store_compliance","desktop_features;cli_commands","app store guidelines;platform requirements","Gesture innovation;AR/VR features" +saas_b2b,"SaaS,B2B,platform,dashboard,teams,enterprise","Multi-tenant?;Permission model?;Subscription tiers?;Integrations?;Compliance?","tenant_model;rbac_matrix;subscription_tiers;integration_list;compliance_reqs","cli_interface;mobile_first","compliance requirements;integration guides","Workflow automation;AI agents" +developer_tool,"SDK,library,package,npm,pip,framework","Language support?;Package managers?;IDE integration?;Documentation?;Examples?","language_matrix;installation_methods;api_surface;code_examples;migration_guide","visual_design;store_compliance","package manager best practices;API design patterns","New paradigm;DSL creation" +cli_tool,"CLI,command,terminal,bash,script","Interactive or scriptable?;Output formats?;Config method?;Shell completion?","command_structure;output_formats;config_schema;scripting_support","visual_design;ux_principles;touch_interactions","CLI design patterns;shell integration","Natural language CLI;AI commands" +web_app,"website,webapp,browser,SPA,PWA","SPA or MPA?;Browser support?;SEO needed?;Real-time?;Accessibility?","browser_matrix;responsive_design;performance_targets;seo_strategy;accessibility_level","native_features;cli_commands","web standards;WCAG guidelines","New interaction;WebAssembly use" +game,"game,player,gameplay,level,character","REDIRECT TO USE THE BMad Method Game Module Agent and Workflows - HALT","game-brief;GDD","most_sections","game design patterns","Novel mechanics;Genre mixing" +desktop_app,"desktop,Windows,Mac,Linux,native","Cross-platform?;Auto-update?;System integration?;Offline?","platform_support;system_integration;update_strategy;offline_capabilities","web_seo;mobile_features","desktop guidelines;platform requirements","Desktop AI;System automation" +iot_embedded,"IoT,embedded,device,sensor,hardware","Hardware specs?;Connectivity?;Power constraints?;Security?;OTA updates?","hardware_reqs;connectivity_protocol;power_profile;security_model;update_mechanism","visual_ui;browser_support","IoT standards;protocol specs","Edge AI;New sensors" +blockchain_web3,"blockchain,crypto,DeFi,NFT,smart contract","Chain selection?;Wallet integration?;Gas optimization?;Security audit?","chain_specs;wallet_support;smart_contracts;security_audit;gas_optimization","traditional_auth;centralized_db","blockchain standards;security patterns","Novel tokenomics;DAO structure" \ No newline at end of file diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-01-discovery.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-01-discovery.md new file mode 100644 index 000000000..e10611c8e --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-01-discovery.md @@ -0,0 +1,226 @@ +--- +name: 'step-v-01-discovery' +description: 'Document Discovery & Confirmation - Handle fresh context validation, confirm PRD path, discover input documents' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-02-format-detection.md' +advancedElicitationTask: 'skill:bmad-advanced-elicitation' +partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' +prdPurpose: '../data/prd-purpose.md' +--- + +# Step 1: Document Discovery & Confirmation + +## STEP GOAL: + +Handle fresh context validation by confirming PRD path, discovering and loading input documents from frontmatter, and initializing the validation report. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in collaborative dialogue, not command-response +- ✅ You bring systematic validation expertise and analytical rigor +- ✅ User brings domain knowledge and specific PRD context + +### Step-Specific Rules: + +- 🎯 Focus ONLY on discovering PRD and input documents, not validating yet +- 🚫 FORBIDDEN to perform any validation checks in this step +- 💬 Approach: Systematic discovery with clear reporting to user +- 🚪 This is the setup step - get everything ready for validation + +## EXECUTION PROTOCOLS: + +- 🎯 Discover and confirm PRD to validate +- 💾 Load PRD and all input documents from frontmatter +- 📖 Initialize validation report next to PRD +- 🚫 FORBIDDEN to load next step until user confirms setup + +## CONTEXT BOUNDARIES: + +- Available context: PRD path (user-specified or discovered), workflow configuration +- Focus: Document discovery and setup only +- Limits: Don't perform validation, don't skip discovery +- Dependencies: Configuration loaded from PRD workflow.md initialization + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Load PRD Purpose and Standards + +Load and read the complete file at: +`{prdPurpose}` + +This file contains the BMAD PRD philosophy, standards, and validation criteria that will guide all validation checks. Internalize this understanding - it defines what makes a great BMAD PRD. + +### 2. Discover PRD to Validate + +**If PRD path provided as invocation parameter:** +- Use provided path + +**If no PRD path provided, auto-discover:** +- Search `{planning_artifacts}` for files matching `*prd*.md` +- Also check for sharded PRDs: `{planning_artifacts}/*prd*/*.md` + +**If exactly ONE PRD found:** +- Use it automatically +- Inform user: "Found PRD: {discovered_path} — using it for validation." + +**If MULTIPLE PRDs found:** +- List all discovered PRDs with numbered options +- "I found multiple PRDs. Which one would you like to validate?" +- Wait for user selection + +**If NO PRDs found:** +- "I couldn't find any PRD files in {planning_artifacts}. Please provide the path to the PRD file you want to validate." +- Wait for user to provide PRD path. + +### 3. Validate PRD Exists and Load + +Once PRD path is provided: + +- Check if PRD file exists at specified path +- If not found: "I cannot find a PRD at that path. Please check the path and try again." +- If found: Load the complete PRD file including frontmatter + +### 4. Extract Frontmatter and Input Documents + +From the loaded PRD frontmatter, extract: + +- `inputDocuments: []` array (if present) +- Any other relevant metadata (classification, date, etc.) + +**If no inputDocuments array exists:** +Note this and proceed with PRD-only validation + +### 5. Load Input Documents + +For each document listed in `inputDocuments`: + +- Attempt to load the document +- Track successfully loaded documents +- Note any documents that fail to load + +**Build list of loaded input documents:** +- Product Brief (if present) +- Research documents (if present) +- Other reference materials (if present) + +### 6. Ask About Additional Reference Documents + +"**I've loaded the following documents from your PRD frontmatter:** + +{list loaded documents with file names} + +**Are there any additional reference documents you'd like me to include in this validation?** + +These could include: +- Additional research or context documents +- Project documentation not tracked in frontmatter +- Standards or compliance documents +- Competitive analysis or benchmarks + +Please provide paths to any additional documents, or type 'none' to proceed." + +**Load any additional documents provided by user.** + +### 7. Initialize Validation Report + +Create validation report at: `{validationReportPath}` + +**Initialize with frontmatter:** +```yaml +--- +validationTarget: '{prd_path}' +validationDate: '{current_date}' +inputDocuments: [list of all loaded documents] +validationStepsCompleted: [] +validationStatus: IN_PROGRESS +--- +``` + +**Initial content:** +```markdown +# PRD Validation Report + +**PRD Being Validated:** {prd_path} +**Validation Date:** {current_date} + +## Input Documents + +{list all documents loaded for validation} + +## Validation Findings + +[Findings will be appended as validation progresses] +``` + +### 8. Present Discovery Summary + +"**Setup Complete!** + +**PRD to Validate:** {prd_path} + +**Input Documents Loaded:** +- PRD: {prd_name} ✓ +- Product Brief: {count} {if count > 0}✓{else}(none found){/if} +- Research: {count} {if count > 0}✓{else}(none found){/if} +- Additional References: {count} {if count > 0}✓{else}(none){/if} + +**Validation Report:** {validationReportPath} + +**Ready to begin validation.**" + +### 9. Present MENU OPTIONS + +Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Format Detection + +#### EXECUTION RULES: + +- ALWAYS halt and wait for user input after presenting menu +- ONLY proceed to next step when user selects 'C' +- User can ask questions or add more documents - always respond and redisplay menu + +#### Menu Handling Logic: + +- IF A: Read fully and follow: {advancedElicitationTask}, and when finished redisplay the menu +- IF P: Read fully and follow: {partyModeWorkflow}, and when finished redisplay the menu +- IF C: Read fully and follow: {nextStepFile} to begin format detection +- IF user provides additional document: Load it, update report, redisplay summary +- IF Any other: help user, then redisplay menu + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- PRD path discovered and confirmed +- PRD file exists and loads successfully +- All input documents from frontmatter loaded +- Additional reference documents (if any) loaded +- Validation report initialized next to PRD +- User clearly informed of setup status +- Menu presented and user input handled correctly + +### ❌ SYSTEM FAILURE: + +- Proceeding with non-existent PRD file +- Not loading input documents from frontmatter +- Creating validation report in wrong location +- Proceeding without user confirming setup +- Not handling missing input documents gracefully + +**Master Rule:** Complete discovery and setup BEFORE validation. This step ensures everything is in place for systematic validation checks. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02-format-detection.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02-format-detection.md new file mode 100644 index 000000000..a354b5aff --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02-format-detection.md @@ -0,0 +1,191 @@ +--- +name: 'step-v-02-format-detection' +description: 'Format Detection & Structure Analysis - Classify PRD format and route appropriately' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-03-density-validation.md' +altStepFile: './step-v-02b-parity-check.md' +prdFile: '{prd_file_path}' +validationReportPath: '{validation_report_path}' +--- + +# Step 2: Format Detection & Structure Analysis + +## STEP GOAL: + +Detect if PRD follows BMAD format and route appropriately - classify as BMAD Standard / BMAD Variant / Non-Standard, with optional parity check for non-standard formats. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in collaborative dialogue, not command-response +- ✅ You bring systematic validation expertise and pattern recognition +- ✅ User brings domain knowledge and PRD context + +### Step-Specific Rules: + +- 🎯 Focus ONLY on detecting format and classifying structure +- 🚫 FORBIDDEN to perform other validation checks in this step +- 💬 Approach: Analytical and systematic, clear reporting of findings +- 🚪 This is a branch step - may route to parity check for non-standard PRDs + +## EXECUTION PROTOCOLS: + +- 🎯 Analyze PRD structure systematically +- 💾 Append format findings to validation report +- 📖 Route appropriately based on format classification +- 🚫 FORBIDDEN to skip format detection or proceed without classification + +## CONTEXT BOUNDARIES: + +- Available context: PRD file loaded in step 1, validation report initialized +- Focus: Format detection and classification only +- Limits: Don't perform other validation, don't skip classification +- Dependencies: Step 1 completed - PRD loaded and report initialized + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Extract PRD Structure + +Load the complete PRD file and extract: + +**All Level 2 (##) headers:** +- Scan through entire PRD document +- Extract all ## section headers +- List them in order + +**PRD frontmatter:** +- Extract classification.domain if present +- Extract classification.projectType if present +- Note any other relevant metadata + +### 2. Check for BMAD PRD Core Sections + +Check if the PRD contains the following BMAD PRD core sections: + +1. **Executive Summary** (or variations: ## Executive Summary, ## Overview, ## Introduction) +2. **Success Criteria** (or: ## Success Criteria, ## Goals, ## Objectives) +3. **Product Scope** (or: ## Product Scope, ## Scope, ## In Scope, ## Out of Scope) +4. **User Journeys** (or: ## User Journeys, ## User Stories, ## User Flows) +5. **Functional Requirements** (or: ## Functional Requirements, ## Features, ## Capabilities) +6. **Non-Functional Requirements** (or: ## Non-Functional Requirements, ## NFRs, ## Quality Attributes) + +**Count matches:** +- How many of these 6 core sections are present? +- Which specific sections are present? +- Which are missing? + +### 3. Classify PRD Format + +Based on core section count, classify: + +**BMAD Standard:** +- 5-6 core sections present +- Follows BMAD PRD structure closely + +**BMAD Variant:** +- 3-4 core sections present +- Generally follows BMAD patterns but may have structural differences +- Missing some sections but recognizable as BMAD-style + +**Non-Standard:** +- Fewer than 3 core sections present +- Does not follow BMAD PRD structure +- May be completely custom format, legacy format, or from another framework + +### 4. Report Format Findings to Validation Report + +Append to validation report: + +```markdown +## Format Detection + +**PRD Structure:** +[List all ## Level 2 headers found] + +**BMAD Core Sections Present:** +- Executive Summary: [Present/Missing] +- Success Criteria: [Present/Missing] +- Product Scope: [Present/Missing] +- User Journeys: [Present/Missing] +- Functional Requirements: [Present/Missing] +- Non-Functional Requirements: [Present/Missing] + +**Format Classification:** [BMAD Standard / BMAD Variant / Non-Standard] +**Core Sections Present:** [count]/6 +``` + +### 5. Route Based on Format Classification + +**IF format is BMAD Standard or BMAD Variant:** + +Display: "**Format Detected:** {classification} + +Proceeding to systematic validation checks..." + +Without delay, read fully and follow: {nextStepFile} (step-v-03-density-validation.md) + +**IF format is Non-Standard (< 3 core sections):** + +Display: "**Format Detected:** Non-Standard PRD + +This PRD does not follow BMAD standard structure (only {count}/6 core sections present). + +You have options:" + +Present MENU OPTIONS below for user selection + +### 6. Present MENU OPTIONS (Non-Standard PRDs Only) + +**[A] Parity Check** - Analyze gaps and estimate effort to reach BMAD PRD parity +**[B] Validate As-Is** - Proceed with validation using current structure +**[C] Exit** - Exit validation and review format findings + +#### EXECUTION RULES: + +- ALWAYS halt and wait for user input +- Only proceed based on user selection + +#### Menu Handling Logic: + +- IF A (Parity Check): Read fully and follow: {altStepFile} (step-v-02b-parity-check.md) +- IF B (Validate As-Is): Display "Proceeding with validation..." then read fully and follow: {nextStepFile} +- IF C (Exit): Display format findings summary and exit validation +- IF Any other: help user respond, then redisplay menu + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- All ## Level 2 headers extracted successfully +- BMAD core sections checked systematically +- Format classified correctly based on section count +- Findings reported to validation report +- BMAD Standard/Variant PRDs proceed directly to next validation step +- Non-Standard PRDs pause and present options to user +- User can choose parity check, validate as-is, or exit + +### ❌ SYSTEM FAILURE: + +- Not extracting all headers before classification +- Incorrect format classification +- Not reporting findings to validation report +- Not pausing for non-standard PRDs +- Proceeding without user decision for non-standard formats + +**Master Rule:** Format detection determines validation path. Non-standard PRDs require user choice before proceeding. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02b-parity-check.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02b-parity-check.md new file mode 100644 index 000000000..604265a9a --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02b-parity-check.md @@ -0,0 +1,209 @@ +--- +name: 'step-v-02b-parity-check' +description: 'Document Parity Check - Analyze non-standard PRD and identify gaps to achieve BMAD PRD parity' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-03-density-validation.md' +prdFile: '{prd_file_path}' +validationReportPath: '{validation_report_path}' +--- + +# Step 2B: Document Parity Check + +## STEP GOAL: + +Analyze non-standard PRD and identify gaps to achieve BMAD PRD parity, presenting user with options for how to proceed. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in collaborative dialogue, not command-response +- ✅ You bring BMAD PRD standards expertise and gap analysis +- ✅ User brings domain knowledge and PRD context + +### Step-Specific Rules: + +- 🎯 Focus ONLY on analyzing gaps and estimating parity effort +- 🚫 FORBIDDEN to perform other validation checks in this step +- 💬 Approach: Systematic gap analysis with clear recommendations +- 🚪 This is an optional branch step - user chooses next action + +## EXECUTION PROTOCOLS: + +- 🎯 Analyze each BMAD PRD section for gaps +- 💾 Append parity analysis to validation report +- 📖 Present options and await user decision +- 🚫 FORBIDDEN to proceed without user selection + +## CONTEXT BOUNDARIES: + +- Available context: Non-standard PRD from step 2, validation report in progress +- Focus: Parity analysis only - what's missing, what's needed +- Limits: Don't perform validation checks, don't auto-proceed +- Dependencies: Step 2 classified PRD as non-standard and user chose parity check + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Analyze Each BMAD PRD Section + +For each of the 6 BMAD PRD core sections, analyze: + +**Executive Summary:** +- Does PRD have vision/overview? +- Is problem statement clear? +- Are target users identified? +- Gap: [What's missing or incomplete] + +**Success Criteria:** +- Are measurable goals defined? +- Is success clearly defined? +- Gap: [What's missing or incomplete] + +**Product Scope:** +- Is scope clearly defined? +- Are in-scope items listed? +- Are out-of-scope items listed? +- Gap: [What's missing or incomplete] + +**User Journeys:** +- Are user types/personas identified? +- Are user flows documented? +- Gap: [What's missing or incomplete] + +**Functional Requirements:** +- Are features/capabilities listed? +- Are requirements structured? +- Gap: [What's missing or incomplete] + +**Non-Functional Requirements:** +- Are quality attributes defined? +- Are performance/security/etc. requirements documented? +- Gap: [What's missing or incomplete] + +### 2. Estimate Effort to Reach Parity + +For each missing or incomplete section, estimate: + +**Effort Level:** +- Minimal - Section exists but needs minor enhancements +- Moderate - Section missing but content exists elsewhere in PRD +- Significant - Section missing, requires new content creation + +**Total Parity Effort:** +- Based on individual section estimates +- Classify overall: Quick / Moderate / Substantial effort + +### 3. Report Parity Analysis to Validation Report + +Append to validation report: + +```markdown +## Parity Analysis (Non-Standard PRD) + +### Section-by-Section Gap Analysis + +**Executive Summary:** +- Status: [Present/Missing/Incomplete] +- Gap: [specific gap description] +- Effort to Complete: [Minimal/Moderate/Significant] + +**Success Criteria:** +- Status: [Present/Missing/Incomplete] +- Gap: [specific gap description] +- Effort to Complete: [Minimal/Moderate/Significant] + +**Product Scope:** +- Status: [Present/Missing/Incomplete] +- Gap: [specific gap description] +- Effort to Complete: [Minimal/Moderate/Significant] + +**User Journeys:** +- Status: [Present/Missing/Incomplete] +- Gap: [specific gap description] +- Effort to Complete: [Minimal/Moderate/Significant] + +**Functional Requirements:** +- Status: [Present/Missing/Incomplete] +- Gap: [specific gap description] +- Effort to Complete: [Minimal/Moderate/Significant] + +**Non-Functional Requirements:** +- Status: [Present/Missing/Incomplete] +- Gap: [specific gap description] +- Effort to Complete: [Minimal/Moderate/Significant] + +### Overall Parity Assessment + +**Overall Effort to Reach BMAD Standard:** [Quick/Moderate/Substantial] +**Recommendation:** [Brief recommendation based on analysis] +``` + +### 4. Present Parity Analysis and Options + +Display: + +"**Parity Analysis Complete** + +Your PRD is missing {count} of 6 core BMAD PRD sections. The overall effort to reach BMAD standard is: **{effort level}** + +**Quick Summary:** +[2-3 sentence summary of key gaps] + +**Recommendation:** +{recommendation from analysis} + +**How would you like to proceed?**" + +### 5. Present MENU OPTIONS + +**[C] Continue Validation** - Proceed with validation using current structure +**[E] Exit & Review** - Exit validation and review parity report +**[S] Save & Exit** - Save parity report and exit + +#### EXECUTION RULES: + +- ALWAYS halt and wait for user input +- Only proceed based on user selection + +#### Menu Handling Logic: + +- IF C (Continue): Display "Proceeding with validation..." then read fully and follow: {nextStepFile} +- IF E (Exit): Display parity summary and exit validation +- IF S (Save): Confirm saved, display summary, exit +- IF Any other: help user respond, then redisplay menu + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- All 6 BMAD PRD sections analyzed for gaps +- Effort estimates provided for each gap +- Overall parity effort assessed correctly +- Parity analysis reported to validation report +- Clear summary presented to user +- User can choose to continue validation, exit, or save report + +### ❌ SYSTEM FAILURE: + +- Not analyzing all 6 sections systematically +- Missing effort estimates +- Not reporting parity analysis to validation report +- Auto-proceeding without user decision +- Unclear recommendations + +**Master Rule:** Parity check informs user of gaps and effort, but user decides whether to proceed with validation or address gaps first. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-03-density-validation.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-03-density-validation.md new file mode 100644 index 000000000..d00478c10 --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-03-density-validation.md @@ -0,0 +1,174 @@ +--- +name: 'step-v-03-density-validation' +description: 'Information Density Check - Scan for anti-patterns that violate information density principles' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-04-brief-coverage-validation.md' +prdFile: '{prd_file_path}' +validationReportPath: '{validation_report_path}' +--- + +# Step 3: Information Density Validation + +## STEP GOAL: + +Validate PRD meets BMAD information density standards by scanning for conversational filler, wordy phrases, and redundant expressions that violate conciseness principles. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in systematic validation, not collaborative dialogue +- ✅ You bring analytical rigor and attention to detail +- ✅ This step runs autonomously - no user input needed + +### Step-Specific Rules: + +- 🎯 Focus ONLY on information density anti-patterns +- 🚫 FORBIDDEN to validate other aspects in this step +- 💬 Approach: Systematic scanning and categorization +- 🚪 This is a validation sequence step - auto-proceeds when complete + +## EXECUTION PROTOCOLS: + +- 🎯 Scan PRD for density anti-patterns systematically +- 💾 Append density findings to validation report +- 📖 Display "Proceeding to next check..." and load next step +- 🚫 FORBIDDEN to pause or request user input + +## CONTEXT BOUNDARIES: + +- Available context: PRD file, validation report with format findings +- Focus: Information density validation only +- Limits: Don't validate other aspects, don't pause for user input +- Dependencies: Step 2 completed - format classification done + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Attempt Sub-Process Validation + +**Try to use Task tool to spawn a subprocess:** + +"Perform information density validation on this PRD: + +1. Load the PRD file +2. Scan for the following anti-patterns: + - Conversational filler phrases (examples: 'The system will allow users to...', 'It is important to note that...', 'In order to') + - Wordy phrases (examples: 'Due to the fact that', 'In the event of', 'For the purpose of') + - Redundant phrases (examples: 'Future plans', 'Absolutely essential', 'Past history') +3. Count violations by category with line numbers +4. Classify severity: Critical (>10 violations), Warning (5-10), Pass (<5) + +Return structured findings with counts and examples." + +### 2. Graceful Degradation (if Task tool unavailable) + +If Task tool unavailable, perform analysis directly: + +**Scan for conversational filler patterns:** +- "The system will allow users to..." +- "It is important to note that..." +- "In order to" +- "For the purpose of" +- "With regard to" +- Count occurrences and note line numbers + +**Scan for wordy phrases:** +- "Due to the fact that" (use "because") +- "In the event of" (use "if") +- "At this point in time" (use "now") +- "In a manner that" (use "how") +- Count occurrences and note line numbers + +**Scan for redundant phrases:** +- "Future plans" (just "plans") +- "Past history" (just "history") +- "Absolutely essential" (just "essential") +- "Completely finish" (just "finish") +- Count occurrences and note line numbers + +### 3. Classify Severity + +**Calculate total violations:** +- Conversational filler count +- Wordy phrases count +- Redundant phrases count +- Total = sum of all categories + +**Determine severity:** +- **Critical:** Total > 10 violations +- **Warning:** Total 5-10 violations +- **Pass:** Total < 5 violations + +### 4. Report Density Findings to Validation Report + +Append to validation report: + +```markdown +## Information Density Validation + +**Anti-Pattern Violations:** + +**Conversational Filler:** {count} occurrences +[If count > 0, list examples with line numbers] + +**Wordy Phrases:** {count} occurrences +[If count > 0, list examples with line numbers] + +**Redundant Phrases:** {count} occurrences +[If count > 0, list examples with line numbers] + +**Total Violations:** {total} + +**Severity Assessment:** [Critical/Warning/Pass] + +**Recommendation:** +[If Critical] "PRD requires significant revision to improve information density. Every sentence should carry weight without filler." +[If Warning] "PRD would benefit from reducing wordiness and eliminating filler phrases." +[If Pass] "PRD demonstrates good information density with minimal violations." +``` + +### 5. Display Progress and Auto-Proceed + +Display: "**Information Density Validation Complete** + +Severity: {Critical/Warning/Pass} + +**Proceeding to next validation check...**" + +Without delay, read fully and follow: {nextStepFile} (step-v-04-brief-coverage-validation.md) + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- PRD scanned for all three anti-pattern categories +- Violations counted with line numbers +- Severity classified correctly +- Findings reported to validation report +- Auto-proceeds to next validation step +- Subprocess attempted with graceful degradation + +### ❌ SYSTEM FAILURE: + +- Not scanning all anti-pattern categories +- Missing severity classification +- Not reporting findings to validation report +- Pausing for user input (should auto-proceed) +- Not attempting subprocess architecture + +**Master Rule:** Information density validation runs autonomously. Scan, classify, report, auto-proceed. No user interaction needed. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md new file mode 100644 index 000000000..60ad8684f --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md @@ -0,0 +1,214 @@ +--- +name: 'step-v-04-brief-coverage-validation' +description: 'Product Brief Coverage Check - Validate PRD covers all content from Product Brief (if used as input)' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-05-measurability-validation.md' +prdFile: '{prd_file_path}' +productBrief: '{product_brief_path}' +validationReportPath: '{validation_report_path}' +--- + +# Step 4: Product Brief Coverage Validation + +## STEP GOAL: + +Validate that PRD covers all content from Product Brief (if brief was used as input), mapping brief content to PRD sections and identifying gaps. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in systematic validation, not collaborative dialogue +- ✅ You bring analytical rigor and traceability expertise +- ✅ This step runs autonomously - no user input needed + +### Step-Specific Rules: + +- 🎯 Focus ONLY on Product Brief coverage (conditional on brief existence) +- 🚫 FORBIDDEN to validate other aspects in this step +- 💬 Approach: Systematic mapping and gap analysis +- 🚪 This is a validation sequence step - auto-proceeds when complete + +## EXECUTION PROTOCOLS: + +- 🎯 Check if Product Brief exists in input documents +- 💬 If no brief: Skip this check and report "N/A - No Product Brief" +- 🎯 If brief exists: Map brief content to PRD sections +- 💾 Append coverage findings to validation report +- 📖 Display "Proceeding to next check..." and load next step +- 🚫 FORBIDDEN to pause or request user input + +## CONTEXT BOUNDARIES: + +- Available context: PRD file, input documents from step 1, validation report +- Focus: Product Brief coverage only (conditional) +- Limits: Don't validate other aspects, conditional execution +- Dependencies: Step 1 completed - input documents loaded + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Check for Product Brief + +Check if Product Brief was loaded in step 1's inputDocuments: + +**IF no Product Brief found:** +Append to validation report: +```markdown +## Product Brief Coverage + +**Status:** N/A - No Product Brief was provided as input +``` + +Display: "**Product Brief Coverage: Skipped** (No Product Brief provided) + +**Proceeding to next validation check...**" + +Without delay, read fully and follow: {nextStepFile} + +**IF Product Brief exists:** Continue to step 2 below + +### 2. Attempt Sub-Process Validation + +**Try to use Task tool to spawn a subprocess:** + +"Perform Product Brief coverage validation: + +1. Load the Product Brief +2. Extract key content: + - Vision statement + - Target users/personas + - Problem statement + - Key features + - Goals/objectives + - Differentiators + - Constraints +3. For each item, search PRD for corresponding coverage +4. Classify coverage: Fully Covered / Partially Covered / Not Found / Intentionally Excluded +5. Note any gaps with severity: Critical / Moderate / Informational + +Return structured coverage map with classifications." + +### 3. Graceful Degradation (if Task tool unavailable) + +If Task tool unavailable, perform analysis directly: + +**Extract from Product Brief:** +- Vision: What is this product? +- Users: Who is it for? +- Problem: What problem does it solve? +- Features: What are the key capabilities? +- Goals: What are the success criteria? +- Differentiators: What makes it unique? + +**For each item, search PRD:** +- Scan Executive Summary for vision +- Check User Journeys or user personas +- Look for problem statement +- Review Functional Requirements for features +- Check Success Criteria section +- Search for differentiators + +**Classify coverage:** +- **Fully Covered:** Content present and complete +- **Partially Covered:** Content present but incomplete +- **Not Found:** Content missing from PRD +- **Intentionally Excluded:** Content explicitly out of scope + +### 4. Assess Coverage and Severity + +**For each gap (Partially Covered or Not Found):** +- Is this Critical? (Core vision, primary users, main features) +- Is this Moderate? (Secondary features, some goals) +- Is this Informational? (Nice-to-have features, minor details) + +**Note:** Some exclusions may be intentional (valid scoping decisions) + +### 5. Report Coverage Findings to Validation Report + +Append to validation report: + +```markdown +## Product Brief Coverage + +**Product Brief:** {brief_file_name} + +### Coverage Map + +**Vision Statement:** [Fully/Partially/Not Found/Intentionally Excluded] +[If gap: Note severity and specific missing content] + +**Target Users:** [Fully/Partially/Not Found/Intentionally Excluded] +[If gap: Note severity and specific missing content] + +**Problem Statement:** [Fully/Partially/Not Found/Intentionally Excluded] +[If gap: Note severity and specific missing content] + +**Key Features:** [Fully/Partially/Not Found/Intentionally Excluded] +[If gap: List specific features with severity] + +**Goals/Objectives:** [Fully/Partially/Not Found/Intentionally Excluded] +[If gap: Note severity and specific missing content] + +**Differentiators:** [Fully/Partially/Not Found/Intentionally Excluded] +[If gap: Note severity and specific missing content] + +### Coverage Summary + +**Overall Coverage:** [percentage or qualitative assessment] +**Critical Gaps:** [count] [list if any] +**Moderate Gaps:** [count] [list if any] +**Informational Gaps:** [count] [list if any] + +**Recommendation:** +[If critical gaps exist] "PRD should be revised to cover critical Product Brief content." +[If moderate gaps] "Consider addressing moderate gaps for complete coverage." +[If minimal gaps] "PRD provides good coverage of Product Brief content." +``` + +### 6. Display Progress and Auto-Proceed + +Display: "**Product Brief Coverage Validation Complete** + +Overall Coverage: {assessment} + +**Proceeding to next validation check...**" + +Without delay, read fully and follow: {nextStepFile} (step-v-05-measurability-validation.md) + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- Checked for Product Brief existence correctly +- If no brief: Reported "N/A" and skipped gracefully +- If brief exists: Mapped all key brief content to PRD sections +- Coverage classified appropriately (Fully/Partially/Not Found/Intentionally Excluded) +- Severity assessed for gaps (Critical/Moderate/Informational) +- Findings reported to validation report +- Auto-proceeds to next validation step +- Subprocess attempted with graceful degradation + +### ❌ SYSTEM FAILURE: + +- Not checking for brief existence before attempting validation +- If brief exists: not mapping all key content areas +- Missing coverage classifications +- Not reporting findings to validation report +- Not auto-proceeding + +**Master Rule:** Product Brief coverage is conditional - skip if no brief, validate thoroughly if brief exists. Always auto-proceed. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md new file mode 100644 index 000000000..a97187184 --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md @@ -0,0 +1,228 @@ +--- +name: 'step-v-05-measurability-validation' +description: 'Measurability Validation - Validate that all requirements (FRs and NFRs) are measurable and testable' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-06-traceability-validation.md' +prdFile: '{prd_file_path}' +validationReportPath: '{validation_report_path}' +--- + +# Step 5: Measurability Validation + +## STEP GOAL: + +Validate that all Functional Requirements (FRs) and Non-Functional Requirements (NFRs) are measurable, testable, and follow proper format without implementation details. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in systematic validation, not collaborative dialogue +- ✅ You bring analytical rigor and requirements engineering expertise +- ✅ This step runs autonomously - no user input needed + +### Step-Specific Rules: + +- 🎯 Focus ONLY on FR and NFR measurability +- 🚫 FORBIDDEN to validate other aspects in this step +- 💬 Approach: Systematic requirement-by-requirement analysis +- 🚪 This is a validation sequence step - auto-proceeds when complete + +## EXECUTION PROTOCOLS: + +- 🎯 Extract all FRs and NFRs from PRD +- 💾 Validate each for measurability and format +- 📖 Append findings to validation report +- 📖 Display "Proceeding to next check..." and load next step +- 🚫 FORBIDDEN to pause or request user input + +## CONTEXT BOUNDARIES: + +- Available context: PRD file, validation report +- Focus: FR and NFR measurability only +- Limits: Don't validate other aspects, don't pause for user input +- Dependencies: Steps 2-4 completed - initial validation checks done + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Attempt Sub-Process Validation + +**Try to use Task tool to spawn a subprocess:** + +"Perform measurability validation on this PRD: + +**Functional Requirements (FRs):** +1. Extract all FRs from Functional Requirements section +2. Check each FR for: + - '[Actor] can [capability]' format compliance + - No subjective adjectives (easy, fast, simple, intuitive, etc.) + - No vague quantifiers (multiple, several, some, many, etc.) + - No implementation details (technology names, library names, data structures unless capability-relevant) +3. Document violations with line numbers + +**Non-Functional Requirements (NFRs):** +1. Extract all NFRs from Non-Functional Requirements section +2. Check each NFR for: + - Specific metrics with measurement methods + - Template compliance (criterion, metric, measurement method, context) + - Context included (why this matters, who it affects) +3. Document violations with line numbers + +Return structured findings with violation counts and examples." + +### 2. Graceful Degradation (if Task tool unavailable) + +If Task tool unavailable, perform analysis directly: + +**Functional Requirements Analysis:** + +Extract all FRs and check each for: + +**Format compliance:** +- Does it follow "[Actor] can [capability]" pattern? +- Is actor clearly defined? +- Is capability actionable and testable? + +**No subjective adjectives:** +- Scan for: easy, fast, simple, intuitive, user-friendly, responsive, quick, efficient (without metrics) +- Note line numbers + +**No vague quantifiers:** +- Scan for: multiple, several, some, many, few, various, number of +- Note line numbers + +**No implementation details:** +- Scan for: React, Vue, Angular, PostgreSQL, MongoDB, AWS, Docker, Kubernetes, Redux, etc. +- Unless capability-relevant (e.g., "API consumers can access...") +- Note line numbers + +**Non-Functional Requirements Analysis:** + +Extract all NFRs and check each for: + +**Specific metrics:** +- Is there a measurable criterion? (e.g., "response time < 200ms", not "fast response") +- Can this be measured or tested? + +**Template compliance:** +- Criterion defined? +- Metric specified? +- Measurement method included? +- Context provided? + +### 3. Tally Violations + +**FR Violations:** +- Format violations: count +- Subjective adjectives: count +- Vague quantifiers: count +- Implementation leakage: count +- Total FR violations: sum + +**NFR Violations:** +- Missing metrics: count +- Incomplete template: count +- Missing context: count +- Total NFR violations: sum + +**Total violations:** FR violations + NFR violations + +### 4. Report Measurability Findings to Validation Report + +Append to validation report: + +```markdown +## Measurability Validation + +### Functional Requirements + +**Total FRs Analyzed:** {count} + +**Format Violations:** {count} +[If violations exist, list examples with line numbers] + +**Subjective Adjectives Found:** {count} +[If found, list examples with line numbers] + +**Vague Quantifiers Found:** {count} +[If found, list examples with line numbers] + +**Implementation Leakage:** {count} +[If found, list examples with line numbers] + +**FR Violations Total:** {total} + +### Non-Functional Requirements + +**Total NFRs Analyzed:** {count} + +**Missing Metrics:** {count} +[If missing, list examples with line numbers] + +**Incomplete Template:** {count} +[If incomplete, list examples with line numbers] + +**Missing Context:** {count} +[If missing, list examples with line numbers] + +**NFR Violations Total:** {total} + +### Overall Assessment + +**Total Requirements:** {FRs + NFRs} +**Total Violations:** {FR violations + NFR violations} + +**Severity:** [Critical if >10 violations, Warning if 5-10, Pass if <5] + +**Recommendation:** +[If Critical] "Many requirements are not measurable or testable. Requirements must be revised to be testable for downstream work." +[If Warning] "Some requirements need refinement for measurability. Focus on violating requirements above." +[If Pass] "Requirements demonstrate good measurability with minimal issues." +``` + +### 5. Display Progress and Auto-Proceed + +Display: "**Measurability Validation Complete** + +Total Violations: {count} ({severity}) + +**Proceeding to next validation check...**" + +Without delay, read fully and follow: {nextStepFile} (step-v-06-traceability-validation.md) + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- All FRs extracted and analyzed for measurability +- All NFRs extracted and analyzed for measurability +- Violations documented with line numbers +- Severity assessed correctly +- Findings reported to validation report +- Auto-proceeds to next validation step +- Subprocess attempted with graceful degradation + +### ❌ SYSTEM FAILURE: + +- Not analyzing all FRs and NFRs +- Missing line numbers for violations +- Not reporting findings to validation report +- Not assessing severity +- Not auto-proceeding + +**Master Rule:** Requirements must be testable to be useful. Validate every requirement for measurability, document violations, auto-proceed. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md new file mode 100644 index 000000000..84bf9cce9 --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md @@ -0,0 +1,217 @@ +--- +name: 'step-v-06-traceability-validation' +description: 'Traceability Validation - Validate the traceability chain from vision → success → journeys → FRs is intact' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-07-implementation-leakage-validation.md' +prdFile: '{prd_file_path}' +validationReportPath: '{validation_report_path}' +--- + +# Step 6: Traceability Validation + +## STEP GOAL: + +Validate the traceability chain from Executive Summary → Success Criteria → User Journeys → Functional Requirements is intact, ensuring every requirement traces back to a user need or business objective. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in systematic validation, not collaborative dialogue +- ✅ You bring analytical rigor and traceability matrix expertise +- ✅ This step runs autonomously - no user input needed + +### Step-Specific Rules: + +- 🎯 Focus ONLY on traceability chain validation +- 🚫 FORBIDDEN to validate other aspects in this step +- 💬 Approach: Systematic chain validation and orphan detection +- 🚪 This is a validation sequence step - auto-proceeds when complete + +## EXECUTION PROTOCOLS: + +- 🎯 Build and validate traceability matrix +- 💾 Identify broken chains and orphan requirements +- 📖 Append findings to validation report +- 📖 Display "Proceeding to next check..." and load next step +- 🚫 FORBIDDEN to pause or request user input + +## CONTEXT BOUNDARIES: + +- Available context: PRD file, validation report +- Focus: Traceability chain validation only +- Limits: Don't validate other aspects, don't pause for user input +- Dependencies: Steps 2-5 completed - initial validations done + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Attempt Sub-Process Validation + +**Try to use Task tool to spawn a subprocess:** + +"Perform traceability validation on this PRD: + +1. Extract content from Executive Summary (vision, goals) +2. Extract Success Criteria +3. Extract User Journeys (user types, flows, outcomes) +4. Extract Functional Requirements (FRs) +5. Extract Product Scope (in-scope items) + +**Validate chains:** +- Executive Summary → Success Criteria: Does vision align with defined success? +- Success Criteria → User Journeys: Are success criteria supported by user journeys? +- User Journeys → Functional Requirements: Does each FR trace back to a user journey? +- Scope → FRs: Do MVP scope FRs align with in-scope items? + +**Identify orphans:** +- FRs not traceable to any user journey or business objective +- Success criteria not supported by user journeys +- User journeys without supporting FRs + +Build traceability matrix and identify broken chains and orphan FRs. + +Return structured findings with chain status and orphan list." + +### 2. Graceful Degradation (if Task tool unavailable) + +If Task tool unavailable, perform analysis directly: + +**Step 1: Extract key elements** +- Executive Summary: Note vision, goals, objectives +- Success Criteria: List all criteria +- User Journeys: List user types and their flows +- Functional Requirements: List all FRs +- Product Scope: List in-scope items + +**Step 2: Validate Executive Summary → Success Criteria** +- Does Executive Summary mention the success dimensions? +- Are Success Criteria aligned with vision? +- Note any misalignment + +**Step 3: Validate Success Criteria → User Journeys** +- For each success criterion, is there a user journey that achieves it? +- Note success criteria without supporting journeys + +**Step 4: Validate User Journeys → FRs** +- For each user journey/flow, are there FRs that enable it? +- List FRs with no clear user journey origin +- Note orphan FRs (requirements without traceable source) + +**Step 5: Validate Scope → FR Alignment** +- Does MVP scope align with essential FRs? +- Are in-scope items supported by FRs? +- Note misalignments + +**Step 6: Build traceability matrix** +- Map each FR to its source (journey or business objective) +- Note orphan FRs +- Identify broken chains + +### 3. Tally Traceability Issues + +**Broken chains:** +- Executive Summary → Success Criteria gaps: count +- Success Criteria → User Journeys gaps: count +- User Journeys → FRs gaps: count +- Scope → FR misalignments: count + +**Orphan elements:** +- Orphan FRs (no traceable source): count +- Unsupported success criteria: count +- User journeys without FRs: count + +**Total issues:** Sum of all broken chains and orphans + +### 4. Report Traceability Findings to Validation Report + +Append to validation report: + +```markdown +## Traceability Validation + +### Chain Validation + +**Executive Summary → Success Criteria:** [Intact/Gaps Identified] +{If gaps: List specific misalignments} + +**Success Criteria → User Journeys:** [Intact/Gaps Identified] +{If gaps: List unsupported success criteria} + +**User Journeys → Functional Requirements:** [Intact/Gaps Identified] +{If gaps: List journeys without supporting FRs} + +**Scope → FR Alignment:** [Intact/Misaligned] +{If misaligned: List specific issues} + +### Orphan Elements + +**Orphan Functional Requirements:** {count} +{List orphan FRs with numbers} + +**Unsupported Success Criteria:** {count} +{List unsupported criteria} + +**User Journeys Without FRs:** {count} +{List journeys without FRs} + +### Traceability Matrix + +{Summary table showing traceability coverage} + +**Total Traceability Issues:** {total} + +**Severity:** [Critical if orphan FRs exist, Warning if gaps, Pass if intact] + +**Recommendation:** +[If Critical] "Orphan requirements exist - every FR must trace back to a user need or business objective." +[If Warning] "Traceability gaps identified - strengthen chains to ensure all requirements are justified." +[If Pass] "Traceability chain is intact - all requirements trace to user needs or business objectives." +``` + +### 5. Display Progress and Auto-Proceed + +Display: "**Traceability Validation Complete** + +Total Issues: {count} ({severity}) + +**Proceeding to next validation check...**" + +Without delay, read fully and follow: {nextStepFile} (step-v-07-implementation-leakage-validation.md) + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- All traceability chains validated systematically +- Orphan FRs identified with numbers +- Broken chains documented +- Traceability matrix built +- Severity assessed correctly +- Findings reported to validation report +- Auto-proceeds to next validation step +- Subprocess attempted with graceful degradation + +### ❌ SYSTEM FAILURE: + +- Not validating all traceability chains +- Missing orphan FR detection +- Not building traceability matrix +- Not reporting findings to validation report +- Not auto-proceeding + +**Master Rule:** Every requirement should trace to a user need or business objective. Orphan FRs indicate broken traceability that must be fixed. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md new file mode 100644 index 000000000..923f99691 --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md @@ -0,0 +1,205 @@ +--- +name: 'step-v-07-implementation-leakage-validation' +description: 'Implementation Leakage Check - Ensure FRs and NFRs don\'t include implementation details' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-08-domain-compliance-validation.md' +prdFile: '{prd_file_path}' +validationReportPath: '{validation_report_path}' +--- + +# Step 7: Implementation Leakage Validation + +## STEP GOAL: + +Ensure Functional Requirements and Non-Functional Requirements don't include implementation details - they should specify WHAT, not HOW. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in systematic validation, not collaborative dialogue +- ✅ You bring analytical rigor and separation of concerns expertise +- ✅ This step runs autonomously - no user input needed + +### Step-Specific Rules: + +- 🎯 Focus ONLY on implementation leakage detection +- 🚫 FORBIDDEN to validate other aspects in this step +- 💬 Approach: Systematic scanning for technology and implementation terms +- 🚪 This is a validation sequence step - auto-proceeds when complete + +## EXECUTION PROTOCOLS: + +- 🎯 Scan FRs and NFRs for implementation terms +- 💾 Distinguish capability-relevant vs leakage +- 📖 Append findings to validation report +- 📖 Display "Proceeding to next check..." and load next step +- 🚫 FORBIDDEN to pause or request user input + +## CONTEXT BOUNDARIES: + +- Available context: PRD file, validation report +- Focus: Implementation leakage detection only +- Limits: Don't validate other aspects, don't pause for user input +- Dependencies: Steps 2-6 completed - initial validations done + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Attempt Sub-Process Validation + +**Try to use Task tool to spawn a subprocess:** + +"Perform implementation leakage validation on this PRD: + +**Scan for:** +1. Technology names (React, Vue, Angular, PostgreSQL, MongoDB, AWS, GCP, Azure, Docker, Kubernetes, etc.) +2. Library names (Redux, axios, lodash, Express, Django, Rails, Spring, etc.) +3. Data structures (JSON, XML, CSV) unless relevant to capability +4. Architecture patterns (MVC, microservices, serverless) unless business requirement +5. Protocol names (HTTP, REST, GraphQL, WebSockets) - check if capability-relevant + +**For each term found:** +- Is this capability-relevant? (e.g., 'API consumers can access...' - API is capability) +- Or is this implementation detail? (e.g., 'React component for...' - implementation) + +Document violations with line numbers and explanation. + +Return structured findings with leakage counts and examples." + +### 2. Graceful Degradation (if Task tool unavailable) + +If Task tool unavailable, perform analysis directly: + +**Implementation leakage terms to scan for:** + +**Frontend Frameworks:** +React, Vue, Angular, Svelte, Solid, Next.js, Nuxt, etc. + +**Backend Frameworks:** +Express, Django, Rails, Spring, Laravel, FastAPI, etc. + +**Databases:** +PostgreSQL, MySQL, MongoDB, Redis, DynamoDB, Cassandra, etc. + +**Cloud Platforms:** +AWS, GCP, Azure, Cloudflare, Vercel, Netlify, etc. + +**Infrastructure:** +Docker, Kubernetes, Terraform, Ansible, etc. + +**Libraries:** +Redux, Zustand, axios, fetch, lodash, jQuery, etc. + +**Data Formats:** +JSON, XML, YAML, CSV (unless capability-relevant) + +**For each term found in FRs/NFRs:** +- Determine if it's capability-relevant or implementation leakage +- Example: "API consumers can access data via REST endpoints" - API/REST is capability +- Example: "React components fetch data using Redux" - implementation leakage + +**Count violations and note line numbers** + +### 3. Tally Implementation Leakage + +**By category:** +- Frontend framework leakage: count +- Backend framework leakage: count +- Database leakage: count +- Cloud platform leakage: count +- Infrastructure leakage: count +- Library leakage: count +- Other implementation details: count + +**Total implementation leakage violations:** sum + +### 4. Report Implementation Leakage Findings to Validation Report + +Append to validation report: + +```markdown +## Implementation Leakage Validation + +### Leakage by Category + +**Frontend Frameworks:** {count} violations +{If violations, list examples with line numbers} + +**Backend Frameworks:** {count} violations +{If violations, list examples with line numbers} + +**Databases:** {count} violations +{If violations, list examples with line numbers} + +**Cloud Platforms:** {count} violations +{If violations, list examples with line numbers} + +**Infrastructure:** {count} violations +{If violations, list examples with line numbers} + +**Libraries:** {count} violations +{If violations, list examples with line numbers} + +**Other Implementation Details:** {count} violations +{If violations, list examples with line numbers} + +### Summary + +**Total Implementation Leakage Violations:** {total} + +**Severity:** [Critical if >5 violations, Warning if 2-5, Pass if <2] + +**Recommendation:** +[If Critical] "Extensive implementation leakage found. Requirements specify HOW instead of WHAT. Remove all implementation details - these belong in architecture, not PRD." +[If Warning] "Some implementation leakage detected. Review violations and remove implementation details from requirements." +[If Pass] "No significant implementation leakage found. Requirements properly specify WHAT without HOW." + +**Note:** API consumers, GraphQL (when required), and other capability-relevant terms are acceptable when they describe WHAT the system must do, not HOW to build it. +``` + +### 5. Display Progress and Auto-Proceed + +Display: "**Implementation Leakage Validation Complete** + +Total Violations: {count} ({severity}) + +**Proceeding to next validation check...**" + +Without delay, read fully and follow: {nextStepFile} (step-v-08-domain-compliance-validation.md) + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- Scanned FRs and NFRs for all implementation term categories +- Distinguished capability-relevant from implementation leakage +- Violations documented with line numbers and explanations +- Severity assessed correctly +- Findings reported to validation report +- Auto-proceeds to next validation step +- Subprocess attempted with graceful degradation + +### ❌ SYSTEM FAILURE: + +- Not scanning all implementation term categories +- Not distinguishing capability-relevant from leakage +- Missing line numbers for violations +- Not reporting findings to validation report +- Not auto-proceeding + +**Master Rule:** Requirements specify WHAT, not HOW. Implementation details belong in architecture documents, not PRDs. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md new file mode 100644 index 000000000..562697eda --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md @@ -0,0 +1,243 @@ +--- +name: 'step-v-08-domain-compliance-validation' +description: 'Domain Compliance Validation - Validate domain-specific requirements are present for high-complexity domains' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-09-project-type-validation.md' +prdFile: '{prd_file_path}' +prdFrontmatter: '{prd_frontmatter}' +validationReportPath: '{validation_report_path}' +domainComplexityData: '../data/domain-complexity.csv' +--- + +# Step 8: Domain Compliance Validation + +## STEP GOAL: + +Validate domain-specific requirements are present for high-complexity domains (Healthcare, Fintech, GovTech, etc.), ensuring regulatory and compliance requirements are properly documented. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in systematic validation, not collaborative dialogue +- ✅ You bring domain expertise and compliance knowledge +- ✅ This step runs autonomously - no user input needed + +### Step-Specific Rules: + +- 🎯 Focus ONLY on domain-specific compliance requirements +- 🚫 FORBIDDEN to validate other aspects in this step +- 💬 Approach: Conditional validation based on domain classification +- 🚪 This is a validation sequence step - auto-proceeds when complete + +## EXECUTION PROTOCOLS: + +- 🎯 Check classification.domain from PRD frontmatter +- 💬 If low complexity (general): Skip detailed checks +- 🎯 If high complexity: Validate required special sections +- 💾 Append compliance findings to validation report +- 📖 Display "Proceeding to next check..." and load next step +- 🚫 FORBIDDEN to pause or request user input + +## CONTEXT BOUNDARIES: + +- Available context: PRD file with frontmatter classification, validation report +- Focus: Domain compliance only (conditional on domain complexity) +- Limits: Don't validate other aspects, conditional execution +- Dependencies: Steps 2-7 completed - format and requirements validation done + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Load Domain Complexity Data + +Load and read the complete file at: +`{domainComplexityData}` (../data/domain-complexity.csv) + +This CSV contains: +- Domain classifications and complexity levels (high/medium/low) +- Required special sections for each domain +- Key concerns and requirements for regulated industries + +Internalize this data - it drives which domains require special compliance sections. + +### 2. Extract Domain Classification + +From PRD frontmatter, extract: +- `classification.domain` - what domain is this PRD for? + +**If no domain classification found:** +Treat as "general" (low complexity) and proceed to step 4 + +### 2. Determine Domain Complexity + +**Low complexity domains (skip detailed checks):** +- General +- Consumer apps (standard e-commerce, social, productivity) +- Content websites +- Business tools (standard) + +**High complexity domains (require special sections):** +- Healthcare / Healthtech +- Fintech / Financial services +- GovTech / Public sector +- EdTech (educational records, accredited courses) +- Legal tech +- Other regulated domains + +### 3. For High-Complexity Domains: Validate Required Special Sections + +**Attempt subprocess validation:** + +"Perform domain compliance validation for {domain}: + +Based on {domain} requirements, check PRD for: + +**Healthcare:** +- Clinical Requirements section +- Regulatory Pathway (FDA, HIPAA, etc.) +- Safety Measures +- HIPAA Compliance (data privacy, security) +- Patient safety considerations + +**Fintech:** +- Compliance Matrix (SOC2, PCI-DSS, GDPR, etc.) +- Security Architecture +- Audit Requirements +- Fraud Prevention measures +- Financial transaction handling + +**GovTech:** +- Accessibility Standards (WCAG 2.1 AA, Section 508) +- Procurement Compliance +- Security Clearance requirements +- Data residency requirements + +**Other regulated domains:** +- Check for domain-specific regulatory sections +- Compliance requirements +- Special considerations + +For each required section: +- Is it present in PRD? +- Is it adequately documented? +- Note any gaps + +Return compliance matrix with presence/adequacy assessment." + +**Graceful degradation (if no Task tool):** +- Manually check for required sections based on domain +- List present sections and missing sections +- Assess adequacy of documentation + +### 5. For Low-Complexity Domains: Skip Detailed Checks + +Append to validation report: +```markdown +## Domain Compliance Validation + +**Domain:** {domain} +**Complexity:** Low (general/standard) +**Assessment:** N/A - No special domain compliance requirements + +**Note:** This PRD is for a standard domain without regulatory compliance requirements. +``` + +Display: "**Domain Compliance Validation Skipped** + +Domain: {domain} (low complexity) + +**Proceeding to next validation check...**" + +Without delay, read fully and follow: {nextStepFile} + +### 6. Report Compliance Findings (High-Complexity Domains) + +Append to validation report: + +```markdown +## Domain Compliance Validation + +**Domain:** {domain} +**Complexity:** High (regulated) + +### Required Special Sections + +**{Section 1 Name}:** [Present/Missing/Adequate] +{If missing or inadequate: Note specific gaps} + +**{Section 2 Name}:** [Present/Missing/Adequate] +{If missing or inadequate: Note specific gaps} + +[Continue for all required sections] + +### Compliance Matrix + +| Requirement | Status | Notes | +|-------------|--------|-------| +| {Requirement 1} | [Met/Partial/Missing] | {Notes} | +| {Requirement 2} | [Met/Partial/Missing] | {Notes} | +[... continue for all requirements] + +### Summary + +**Required Sections Present:** {count}/{total} +**Compliance Gaps:** {count} + +**Severity:** [Critical if missing regulatory sections, Warning if incomplete, Pass if complete] + +**Recommendation:** +[If Critical] "PRD is missing required domain-specific compliance sections. These are essential for {domain} products." +[If Warning] "Some domain compliance sections are incomplete. Strengthen documentation for full compliance." +[If Pass] "All required domain compliance sections are present and adequately documented." +``` + +### 7. Display Progress and Auto-Proceed + +Display: "**Domain Compliance Validation Complete** + +Domain: {domain} ({complexity}) +Compliance Status: {status} + +**Proceeding to next validation check...**" + +Without delay, read fully and follow: {nextStepFile} (step-v-09-project-type-validation.md) + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- Domain classification extracted correctly +- Complexity assessed appropriately +- Low complexity domains: Skipped with clear "N/A" documentation +- High complexity domains: All required sections checked +- Compliance matrix built with status for each requirement +- Severity assessed correctly +- Findings reported to validation report +- Auto-proceeds to next validation step +- Subprocess attempted with graceful degradation + +### ❌ SYSTEM FAILURE: + +- Not checking domain classification before proceeding +- Performing detailed checks on low complexity domains +- For high complexity: missing required section checks +- Not building compliance matrix +- Not reporting findings to validation report +- Not auto-proceeding + +**Master Rule:** Domain compliance is conditional. High-complexity domains require special sections - low complexity domains skip these checks. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md new file mode 100644 index 000000000..aea41d924 --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md @@ -0,0 +1,263 @@ +--- +name: 'step-v-09-project-type-validation' +description: 'Project-Type Compliance Validation - Validate project-type specific requirements are properly documented' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-10-smart-validation.md' +prdFile: '{prd_file_path}' +prdFrontmatter: '{prd_frontmatter}' +validationReportPath: '{validation_report_path}' +projectTypesData: '../data/project-types.csv' +--- + +# Step 9: Project-Type Compliance Validation + +## STEP GOAL: + +Validate project-type specific requirements are properly documented - different project types (api_backend, web_app, mobile_app, etc.) have different required and excluded sections. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in systematic validation, not collaborative dialogue +- ✅ You bring project type expertise and architectural knowledge +- ✅ This step runs autonomously - no user input needed + +### Step-Specific Rules: + +- 🎯 Focus ONLY on project-type compliance +- 🚫 FORBIDDEN to validate other aspects in this step +- 💬 Approach: Validate required sections present, excluded sections absent +- 🚪 This is a validation sequence step - auto-proceeds when complete + +## EXECUTION PROTOCOLS: + +- 🎯 Check classification.projectType from PRD frontmatter +- 🎯 Validate required sections for that project type are present +- 🎯 Validate excluded sections for that project type are absent +- 💾 Append compliance findings to validation report +- 📖 Display "Proceeding to next check..." and load next step +- 🚫 FORBIDDEN to pause or request user input + +## CONTEXT BOUNDARIES: + +- Available context: PRD file with frontmatter classification, validation report +- Focus: Project-type compliance only +- Limits: Don't validate other aspects, don't pause for user input +- Dependencies: Steps 2-8 completed - domain and requirements validation done + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Load Project Types Data + +Load and read the complete file at: +`{projectTypesData}` (../data/project-types.csv) + +This CSV contains: +- Detection signals for each project type +- Required sections for each project type +- Skip/excluded sections for each project type +- Innovation signals + +Internalize this data - it drives what sections must be present or absent for each project type. + +### 2. Extract Project Type Classification + +From PRD frontmatter, extract: +- `classification.projectType` - what type of project is this? + +**Common project types:** +- api_backend +- web_app +- mobile_app +- desktop_app +- data_pipeline +- ml_system +- library_sdk +- infrastructure +- other + +**If no projectType classification found:** +Assume "web_app" (most common) and note in findings + +### 3. Determine Required and Excluded Sections from CSV Data + +**From loaded project-types.csv data, for this project type:** + +**Required sections:** (from required_sections column) +These MUST be present in the PRD + +**Skip sections:** (from skip_sections column) +These MUST NOT be present in the PRD + +**Example mappings from CSV:** +- api_backend: Required=[endpoint_specs, auth_model, data_schemas], Skip=[ux_ui, visual_design] +- mobile_app: Required=[platform_reqs, device_permissions, offline_mode], Skip=[desktop_features, cli_commands] +- cli_tool: Required=[command_structure, output_formats, config_schema], Skip=[visual_design, ux_principles, touch_interactions] +- etc. + +### 4. Validate Against CSV-Based Requirements + +**Based on project type, determine:** + +**api_backend:** +- Required: Endpoint Specs, Auth Model, Data Schemas, API Versioning +- Excluded: UX/UI sections, mobile-specific sections + +**web_app:** +- Required: User Journeys, UX/UI Requirements, Responsive Design +- Excluded: None typically + +**mobile_app:** +- Required: Mobile UX, Platform specifics (iOS/Android), Offline mode +- Excluded: Desktop-specific sections + +**desktop_app:** +- Required: Desktop UX, Platform specifics (Windows/Mac/Linux) +- Excluded: Mobile-specific sections + +**data_pipeline:** +- Required: Data Sources, Data Transformation, Data Sinks, Error Handling +- Excluded: UX/UI sections + +**ml_system:** +- Required: Model Requirements, Training Data, Inference Requirements, Model Performance +- Excluded: UX/UI sections (unless ML UI) + +**library_sdk:** +- Required: API Surface, Usage Examples, Integration Guide +- Excluded: UX/UI sections, deployment sections + +**infrastructure:** +- Required: Infrastructure Components, Deployment, Monitoring, Scaling +- Excluded: Feature requirements (this is infrastructure, not product) + +### 4. Attempt Sub-Process Validation + +"Perform project-type compliance validation for {projectType}: + +**Check that required sections are present:** +{List required sections for this project type} +For each: Is it present in PRD? Is it adequately documented? + +**Check that excluded sections are absent:** +{List excluded sections for this project type} +For each: Is it absent from PRD? (Should not be present) + +Build compliance table showing: +- Required sections: [Present/Missing/Incomplete] +- Excluded sections: [Absent/Present] (Present = violation) + +Return compliance table with findings." + +**Graceful degradation (if no Task tool):** +- Manually check PRD for required sections +- Manually check PRD for excluded sections +- Build compliance table + +### 5. Build Compliance Table + +**Required sections check:** +- For each required section: Present / Missing / Incomplete +- Count: Required sections present vs total required + +**Excluded sections check:** +- For each excluded section: Absent / Present (violation) +- Count: Excluded sections present (violations) + +**Total compliance score:** +- Required: {present}/{total} +- Excluded violations: {count} + +### 6. Report Project-Type Compliance Findings to Validation Report + +Append to validation report: + +```markdown +## Project-Type Compliance Validation + +**Project Type:** {projectType} + +### Required Sections + +**{Section 1}:** [Present/Missing/Incomplete] +{If missing or incomplete: Note specific gaps} + +**{Section 2}:** [Present/Missing/Incomplete] +{If missing or incomplete: Note specific gaps} + +[Continue for all required sections] + +### Excluded Sections (Should Not Be Present) + +**{Section 1}:** [Absent/Present] ✓ +{If present: This section should not be present for {projectType}} + +**{Section 2}:** [Absent/Present] ✓ +{If present: This section should not be present for {projectType}} + +[Continue for all excluded sections] + +### Compliance Summary + +**Required Sections:** {present}/{total} present +**Excluded Sections Present:** {violations} (should be 0) +**Compliance Score:** {percentage}% + +**Severity:** [Critical if required sections missing, Warning if incomplete, Pass if complete] + +**Recommendation:** +[If Critical] "PRD is missing required sections for {projectType}. Add missing sections to properly specify this type of project." +[If Warning] "Some required sections for {projectType} are incomplete. Strengthen documentation." +[If Pass] "All required sections for {projectType} are present. No excluded sections found." +``` + +### 7. Display Progress and Auto-Proceed + +Display: "**Project-Type Compliance Validation Complete** + +Project Type: {projectType} +Compliance: {score}% + +**Proceeding to next validation check...**" + +Without delay, read fully and follow: {nextStepFile} (step-v-10-smart-validation.md) + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- Project type extracted correctly (or default assumed) +- Required sections validated for presence and completeness +- Excluded sections validated for absence +- Compliance table built with status for all sections +- Severity assessed correctly +- Findings reported to validation report +- Auto-proceeds to next validation step +- Subprocess attempted with graceful degradation + +### ❌ SYSTEM FAILURE: + +- Not checking project type before proceeding +- Missing required section checks +- Missing excluded section checks +- Not building compliance table +- Not reporting findings to validation report +- Not auto-proceeding + +**Master Rule:** Different project types have different requirements. API PRDs don't need UX sections - validate accordingly. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-10-smart-validation.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-10-smart-validation.md new file mode 100644 index 000000000..0c44b00da --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-10-smart-validation.md @@ -0,0 +1,209 @@ +--- +name: 'step-v-10-smart-validation' +description: 'SMART Requirements Validation - Validate Functional Requirements meet SMART quality criteria' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-11-holistic-quality-validation.md' +prdFile: '{prd_file_path}' +validationReportPath: '{validation_report_path}' +--- + +# Step 10: SMART Requirements Validation + +## STEP GOAL: + +Validate Functional Requirements meet SMART quality criteria (Specific, Measurable, Attainable, Relevant, Traceable), ensuring high-quality requirements. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in systematic validation, not collaborative dialogue +- ✅ You bring requirements engineering expertise and quality assessment +- ✅ This step runs autonomously - no user input needed + +### Step-Specific Rules: + +- 🎯 Focus ONLY on FR quality assessment using SMART framework +- 🚫 FORBIDDEN to validate other aspects in this step +- 💬 Approach: Score each FR on SMART criteria (1-5 scale) +- 🚪 This is a validation sequence step - auto-proceeds when complete + +## EXECUTION PROTOCOLS: + +- 🎯 Extract all FRs from PRD +- 🎯 Score each FR on SMART criteria (Specific, Measurable, Attainable, Relevant, Traceable) +- 💾 Flag FRs with score < 3 in any category +- 📖 Append scoring table and suggestions to validation report +- 📖 Display "Proceeding to next check..." and load next step +- 🚫 FORBIDDEN to pause or request user input + +## CONTEXT BOUNDARIES: + +- Available context: PRD file, validation report +- Focus: FR quality assessment only using SMART framework +- Limits: Don't validate NFRs or other aspects, don't pause for user input +- Dependencies: Steps 2-9 completed - comprehensive validation checks done + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Extract All Functional Requirements + +From the PRD's Functional Requirements section, extract: +- All FRs with their FR numbers (FR-001, FR-002, etc.) +- Count total FRs + +### 2. Attempt Sub-Process Validation + +**Try to use Task tool to spawn a subprocess:** + +"Perform SMART requirements validation on these Functional Requirements: + +{List all FRs} + +**For each FR, score on SMART criteria (1-5 scale):** + +**Specific (1-5):** +- 5: Clear, unambiguous, well-defined +- 3: Somewhat clear but could be more specific +- 1: Vague, ambiguous, unclear + +**Measurable (1-5):** +- 5: Quantifiable metrics, testable +- 3: Partially measurable +- 1: Not measurable, subjective + +**Attainable (1-5):** +- 5: Realistic, achievable with constraints +- 3: Probably achievable but uncertain +- 1: Unrealistic, technically infeasible + +**Relevant (1-5):** +- 5: Clearly aligned with user needs and business objectives +- 3: Somewhat relevant but connection unclear +- 1: Not relevant, doesn't align with goals + +**Traceable (1-5):** +- 5: Clearly traces to user journey or business objective +- 3: Partially traceable +- 1: Orphan requirement, no clear source + +**For each FR with score < 3 in any category:** +- Provide specific improvement suggestions + +Return scoring table with all FR scores and improvement suggestions for low-scoring FRs." + +**Graceful degradation (if no Task tool):** +- Manually score each FR on SMART criteria +- Note FRs with low scores +- Provide improvement suggestions + +### 3. Build Scoring Table + +For each FR: +- FR number +- Specific score (1-5) +- Measurable score (1-5) +- Attainable score (1-5) +- Relevant score (1-5) +- Traceable score (1-5) +- Average score +- Flag if any category < 3 + +**Calculate overall FR quality:** +- Percentage of FRs with all scores ≥ 3 +- Percentage of FRs with all scores ≥ 4 +- Average score across all FRs and categories + +### 4. Report SMART Findings to Validation Report + +Append to validation report: + +```markdown +## SMART Requirements Validation + +**Total Functional Requirements:** {count} + +### Scoring Summary + +**All scores ≥ 3:** {percentage}% ({count}/{total}) +**All scores ≥ 4:** {percentage}% ({count}/{total}) +**Overall Average Score:** {average}/5.0 + +### Scoring Table + +| FR # | Specific | Measurable | Attainable | Relevant | Traceable | Average | Flag | +|------|----------|------------|------------|----------|-----------|--------|------| +| FR-001 | {s1} | {m1} | {a1} | {r1} | {t1} | {avg1} | {X if any <3} | +| FR-002 | {s2} | {m2} | {a2} | {r2} | {t2} | {avg2} | {X if any <3} | +[Continue for all FRs] + +**Legend:** 1=Poor, 3=Acceptable, 5=Excellent +**Flag:** X = Score < 3 in one or more categories + +### Improvement Suggestions + +**Low-Scoring FRs:** + +**FR-{number}:** {specific suggestion for improvement} +[For each FR with score < 3 in any category] + +### Overall Assessment + +**Severity:** [Critical if >30% flagged FRs, Warning if 10-30%, Pass if <10%] + +**Recommendation:** +[If Critical] "Many FRs have quality issues. Revise flagged FRs using SMART framework to improve clarity and testability." +[If Warning] "Some FRs would benefit from SMART refinement. Focus on flagged requirements above." +[If Pass] "Functional Requirements demonstrate good SMART quality overall." +``` + +### 5. Display Progress and Auto-Proceed + +Display: "**SMART Requirements Validation Complete** + +FR Quality: {percentage}% with acceptable scores ({severity}) + +**Proceeding to next validation check...**" + +Without delay, read fully and follow: {nextStepFile} (step-v-11-holistic-quality-validation.md) + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- All FRs extracted from PRD +- Each FR scored on all 5 SMART criteria (1-5 scale) +- FRs with scores < 3 flagged for improvement +- Improvement suggestions provided for low-scoring FRs +- Scoring table built with all FR scores +- Overall quality assessment calculated +- Findings reported to validation report +- Auto-proceeds to next validation step +- Subprocess attempted with graceful degradation + +### ❌ SYSTEM FAILURE: + +- Not scoring all FRs on all SMART criteria +- Missing improvement suggestions for low-scoring FRs +- Not building scoring table +- Not calculating overall quality metrics +- Not reporting findings to validation report +- Not auto-proceeding + +**Master Rule:** FRs should be high-quality, not just present. SMART framework provides objective quality measure. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md new file mode 100644 index 000000000..f5be09bad --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md @@ -0,0 +1,265 @@ +--- +name: 'step-v-11-holistic-quality-validation' +description: 'Holistic Quality Assessment - Assess PRD as cohesive, compelling document - is it a good PRD?' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-12-completeness-validation.md' +prdFile: '{prd_file_path}' +validationReportPath: '{validation_report_path}' +advancedElicitationTask: 'skill:bmad-advanced-elicitation' +--- + +# Step 11: Holistic Quality Assessment + +## STEP GOAL: + +Assess the PRD as a cohesive, compelling document - evaluating document flow, dual audience effectiveness (humans and LLMs), BMAD PRD principles compliance, and overall quality rating. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in systematic validation, not collaborative dialogue +- ✅ You bring analytical rigor and document quality expertise +- ✅ This step runs autonomously - no user input needed +- ✅ Uses Advanced Elicitation for multi-perspective evaluation + +### Step-Specific Rules: + +- 🎯 Focus ONLY on holistic document quality assessment +- 🚫 FORBIDDEN to validate individual components (done in previous steps) +- 💬 Approach: Multi-perspective evaluation using Advanced Elicitation +- 🚪 This is a validation sequence step - auto-proceeds when complete + +## EXECUTION PROTOCOLS: + +- 🎯 Use Advanced Elicitation for multi-perspective assessment +- 🎯 Evaluate document flow, dual audience, BMAD principles +- 💾 Append comprehensive assessment to validation report +- 📖 Display "Proceeding to next check..." and load next step +- 🚫 FORBIDDEN to pause or request user input + +## CONTEXT BOUNDARIES: + +- Available context: Complete PRD file, validation report with findings from steps 1-10 +- Focus: Holistic quality - the WHOLE document +- Limits: Don't re-validate individual components, don't pause for user input +- Dependencies: Steps 1-10 completed - all systematic checks done + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Attempt Sub-Process with Advanced Elicitation + +**Try to use Task tool to spawn a subprocess using Advanced Elicitation:** + +"Perform holistic quality assessment on this PRD using multi-perspective evaluation: + +**Read fully and follow the Advanced Elicitation workflow:** +{advancedElicitationTask} + +**Evaluate the PRD from these perspectives:** + +**1. Document Flow & Coherence:** +- Read entire PRD +- Evaluate narrative flow - does it tell a cohesive story? +- Check transitions between sections +- Assess consistency - is it coherent throughout? +- Evaluate readability - is it clear and well-organized? + +**2. Dual Audience Effectiveness:** + +**For Humans:** +- Executive-friendly: Can executives understand vision and goals quickly? +- Developer clarity: Do developers have clear requirements to build from? +- Designer clarity: Do designers understand user needs and flows? +- Stakeholder decision-making: Can stakeholders make informed decisions? + +**For LLMs:** +- Machine-readable structure: Is the PRD structured for LLM consumption? +- UX readiness: Can an LLM generate UX designs from this? +- Architecture readiness: Can an LLM generate architecture from this? +- Epic/Story readiness: Can an LLM break down into epics and stories? + +**3. BMAD PRD Principles Compliance:** +- Information density: Every sentence carries weight? +- Measurability: Requirements testable? +- Traceability: Requirements trace to sources? +- Domain awareness: Domain-specific considerations included? +- Zero anti-patterns: No filler or wordiness? +- Dual audience: Works for both humans and LLMs? +- Markdown format: Proper structure and formatting? + +**4. Overall Quality Rating:** +Rate the PRD on 5-point scale: +- Excellent (5/5): Exemplary, ready for production use +- Good (4/5): Strong with minor improvements needed +- Adequate (3/5): Acceptable but needs refinement +- Needs Work (2/5): Significant gaps or issues +- Problematic (1/5): Major flaws, needs substantial revision + +**5. Top 3 Improvements:** +Identify the 3 most impactful improvements to make this a great PRD + +Return comprehensive assessment with all perspectives, rating, and top 3 improvements." + +**Graceful degradation (if no Task tool or Advanced Elicitation unavailable):** +- Perform holistic assessment directly in current context +- Read complete PRD +- Evaluate document flow, coherence, transitions +- Assess dual audience effectiveness +- Check BMAD principles compliance +- Assign overall quality rating +- Identify top 3 improvements + +### 2. Synthesize Assessment + +**Compile findings from multi-perspective evaluation:** + +**Document Flow & Coherence:** +- Overall assessment: [Excellent/Good/Adequate/Needs Work/Problematic] +- Key strengths: [list] +- Key weaknesses: [list] + +**Dual Audience Effectiveness:** +- For Humans: [assessment] +- For LLMs: [assessment] +- Overall dual audience score: [1-5] + +**BMAD Principles Compliance:** +- Principles met: [count]/7 +- Principles with issues: [list] + +**Overall Quality Rating:** [1-5 with label] + +**Top 3 Improvements:** +1. [Improvement 1] +2. [Improvement 2] +3. [Improvement 3] + +### 3. Report Holistic Quality Findings to Validation Report + +Append to validation report: + +```markdown +## Holistic Quality Assessment + +### Document Flow & Coherence + +**Assessment:** [Excellent/Good/Adequate/Needs Work/Problematic] + +**Strengths:** +{List key strengths} + +**Areas for Improvement:** +{List key weaknesses} + +### Dual Audience Effectiveness + +**For Humans:** +- Executive-friendly: [assessment] +- Developer clarity: [assessment] +- Designer clarity: [assessment] +- Stakeholder decision-making: [assessment] + +**For LLMs:** +- Machine-readable structure: [assessment] +- UX readiness: [assessment] +- Architecture readiness: [assessment] +- Epic/Story readiness: [assessment] + +**Dual Audience Score:** {score}/5 + +### BMAD PRD Principles Compliance + +| Principle | Status | Notes | +|-----------|--------|-------| +| Information Density | [Met/Partial/Not Met] | {notes} | +| Measurability | [Met/Partial/Not Met] | {notes} | +| Traceability | [Met/Partial/Not Met] | {notes} | +| Domain Awareness | [Met/Partial/Not Met] | {notes} | +| Zero Anti-Patterns | [Met/Partial/Not Met] | {notes} | +| Dual Audience | [Met/Partial/Not Met] | {notes} | +| Markdown Format | [Met/Partial/Not Met] | {notes} | + +**Principles Met:** {count}/7 + +### Overall Quality Rating + +**Rating:** {rating}/5 - {label} + +**Scale:** +- 5/5 - Excellent: Exemplary, ready for production use +- 4/5 - Good: Strong with minor improvements needed +- 3/5 - Adequate: Acceptable but needs refinement +- 2/5 - Needs Work: Significant gaps or issues +- 1/5 - Problematic: Major flaws, needs substantial revision + +### Top 3 Improvements + +1. **{Improvement 1}** + {Brief explanation of why and how} + +2. **{Improvement 2}** + {Brief explanation of why and how} + +3. **{Improvement 3}** + {Brief explanation of why and how} + +### Summary + +**This PRD is:** {one-sentence overall assessment} + +**To make it great:** Focus on the top 3 improvements above. +``` + +### 4. Display Progress and Auto-Proceed + +Display: "**Holistic Quality Assessment Complete** + +Overall Rating: {rating}/5 - {label} + +**Proceeding to final validation checks...**" + +Without delay, read fully and follow: {nextStepFile} (step-v-12-completeness-validation.md) + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- Advanced Elicitation used for multi-perspective evaluation (or graceful degradation) +- Document flow & coherence assessed +- Dual audience effectiveness evaluated (humans and LLMs) +- BMAD PRD principles compliance checked +- Overall quality rating assigned (1-5 scale) +- Top 3 improvements identified +- Comprehensive assessment reported to validation report +- Auto-proceeds to next validation step +- Subprocess attempted with graceful degradation + +### ❌ SYSTEM FAILURE: + +- Not using Advanced Elicitation for multi-perspective evaluation +- Missing document flow assessment +- Missing dual audience evaluation +- Not checking all BMAD principles +- Not assigning overall quality rating +- Missing top 3 improvements +- Not reporting comprehensive assessment to validation report +- Not auto-proceeding + +**Master Rule:** This evaluates the WHOLE document, not just components. Answers "Is this a good PRD?" and "What would make it great?" diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md new file mode 100644 index 000000000..00c477981 --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md @@ -0,0 +1,242 @@ +--- +name: 'step-v-12-completeness-validation' +description: 'Completeness Check - Final comprehensive completeness check before report generation' + +# File references (ONLY variables used in this step) +nextStepFile: './step-v-13-report-complete.md' +prdFile: '{prd_file_path}' +prdFrontmatter: '{prd_frontmatter}' +validationReportPath: '{validation_report_path}' +--- + +# Step 12: Completeness Validation + +## STEP GOAL: + +Final comprehensive completeness check - validate no template variables remain, each section has required content, section-specific completeness, and frontmatter is properly populated. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in systematic validation, not collaborative dialogue +- ✅ You bring attention to detail and completeness verification +- ✅ This step runs autonomously - no user input needed + +### Step-Specific Rules: + +- 🎯 Focus ONLY on completeness verification +- 🚫 FORBIDDEN to validate quality (done in step 11) or other aspects +- 💬 Approach: Systematic checklist-style verification +- 🚪 This is a validation sequence step - auto-proceeds when complete + +## EXECUTION PROTOCOLS: + +- 🎯 Check template completeness (no variables remaining) +- 🎯 Validate content completeness (each section has required content) +- 🎯 Validate section-specific completeness +- 🎯 Validate frontmatter completeness +- 💾 Append completeness matrix to validation report +- 📖 Display "Proceeding to final step..." and load next step +- 🚫 FORBIDDEN to pause or request user input + +## CONTEXT BOUNDARIES: + +- Available context: Complete PRD file, frontmatter, validation report +- Focus: Completeness verification only (final gate) +- Limits: Don't assess quality, don't pause for user input +- Dependencies: Steps 1-11 completed - all validation checks done + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Attempt Sub-Process Validation + +**Try to use Task tool to spawn a subprocess:** + +"Perform completeness validation on this PRD - final gate check: + +**1. Template Completeness:** +- Scan PRD for any remaining template variables +- Look for: {variable}, {{variable}}, {placeholder}, [placeholder], etc. +- List any found with line numbers + +**2. Content Completeness:** +- Executive Summary: Has vision statement? ({key content}) +- Success Criteria: All criteria measurable? ({metrics present}) +- Product Scope: In-scope and out-of-scope defined? ({both present}) +- User Journeys: User types identified? ({users listed}) +- Functional Requirements: FRs listed with proper format? ({FRs present}) +- Non-Functional Requirements: NFRs with metrics? ({NFRs present}) + +For each section: Is required content present? (Yes/No/Partial) + +**3. Section-Specific Completeness:** +- Success Criteria: Each has specific measurement method? +- User Journeys: Cover all user types? +- Functional Requirements: Cover MVP scope? +- Non-Functional Requirements: Each has specific criteria? + +**4. Frontmatter Completeness:** +- stepsCompleted: Populated? +- classification: Present (domain, projectType)? +- inputDocuments: Tracked? +- date: Present? + +Return completeness matrix with status for each check." + +**Graceful degradation (if no Task tool):** +- Manually scan for template variables +- Manually check each section for required content +- Manually verify frontmatter fields +- Build completeness matrix + +### 2. Build Completeness Matrix + +**Template Completeness:** +- Template variables found: count +- List if any found + +**Content Completeness by Section:** +- Executive Summary: Complete / Incomplete / Missing +- Success Criteria: Complete / Incomplete / Missing +- Product Scope: Complete / Incomplete / Missing +- User Journeys: Complete / Incomplete / Missing +- Functional Requirements: Complete / Incomplete / Missing +- Non-Functional Requirements: Complete / Incomplete / Missing +- Other sections: [List completeness] + +**Section-Specific Completeness:** +- Success criteria measurable: All / Some / None +- Journeys cover all users: Yes / Partial / No +- FRs cover MVP scope: Yes / Partial / No +- NFRs have specific criteria: All / Some / None + +**Frontmatter Completeness:** +- stepsCompleted: Present / Missing +- classification: Present / Missing +- inputDocuments: Present / Missing +- date: Present / Missing + +**Overall completeness:** +- Sections complete: X/Y +- Critical gaps: [list if any] + +### 3. Report Completeness Findings to Validation Report + +Append to validation report: + +```markdown +## Completeness Validation + +### Template Completeness + +**Template Variables Found:** {count} +{If count > 0, list variables with line numbers} +{If count = 0, note: No template variables remaining ✓} + +### Content Completeness by Section + +**Executive Summary:** [Complete/Incomplete/Missing] +{If incomplete or missing, note specific gaps} + +**Success Criteria:** [Complete/Incomplete/Missing] +{If incomplete or missing, note specific gaps} + +**Product Scope:** [Complete/Incomplete/Missing] +{If incomplete or missing, note specific gaps} + +**User Journeys:** [Complete/Incomplete/Missing] +{If incomplete or missing, note specific gaps} + +**Functional Requirements:** [Complete/Incomplete/Missing] +{If incomplete or missing, note specific gaps} + +**Non-Functional Requirements:** [Complete/Incomplete/Missing] +{If incomplete or missing, note specific gaps} + +### Section-Specific Completeness + +**Success Criteria Measurability:** [All/Some/None] measurable +{If Some or None, note which criteria lack metrics} + +**User Journeys Coverage:** [Yes/Partial/No] - covers all user types +{If Partial or No, note missing user types} + +**FRs Cover MVP Scope:** [Yes/Partial/No] +{If Partial or No, note scope gaps} + +**NFRs Have Specific Criteria:** [All/Some/None] +{If Some or None, note which NFRs lack specificity} + +### Frontmatter Completeness + +**stepsCompleted:** [Present/Missing] +**classification:** [Present/Missing] +**inputDocuments:** [Present/Missing] +**date:** [Present/Missing] + +**Frontmatter Completeness:** {complete_fields}/4 + +### Completeness Summary + +**Overall Completeness:** {percentage}% ({complete_sections}/{total_sections}) + +**Critical Gaps:** [count] [list if any] +**Minor Gaps:** [count] [list if any] + +**Severity:** [Critical if template variables exist or critical sections missing, Warning if minor gaps, Pass if complete] + +**Recommendation:** +[If Critical] "PRD has completeness gaps that must be addressed before use. Fix template variables and complete missing sections." +[If Warning] "PRD has minor completeness gaps. Address minor gaps for complete documentation." +[If Pass] "PRD is complete with all required sections and content present." +``` + +### 4. Display Progress and Auto-Proceed + +Display: "**Completeness Validation Complete** + +Overall Completeness: {percentage}% ({severity}) + +**Proceeding to final step...**" + +Without delay, read fully and follow: {nextStepFile} (step-v-13-report-complete.md) + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- Scanned for template variables systematically +- Validated each section for required content +- Validated section-specific completeness (measurability, coverage, scope) +- Validated frontmatter completeness +- Completeness matrix built with all checks +- Severity assessed correctly +- Findings reported to validation report +- Auto-proceeds to final step +- Subprocess attempted with graceful degradation + +### ❌ SYSTEM FAILURE: + +- Not scanning for template variables +- Missing section-specific completeness checks +- Not validating frontmatter +- Not building completeness matrix +- Not reporting findings to validation report +- Not auto-proceeding + +**Master Rule:** Final gate to ensure document is complete before presenting findings. Template variables or critical gaps must be fixed. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md new file mode 100644 index 000000000..decc5579a --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md @@ -0,0 +1,232 @@ +--- +name: 'step-v-13-report-complete' +description: 'Validation Report Complete - Finalize report, summarize findings, present to user, offer next steps' + +# File references (ONLY variables used in this step) +validationReportPath: '{validation_report_path}' +prdFile: '{prd_file_path}' +--- + +# Step 13: Validation Report Complete + +## STEP GOAL: + +Finalize validation report, summarize all findings from steps 1-12, present summary to user conversationally, and offer actionable next steps. + +## MANDATORY EXECUTION RULES (READ FIRST): + +### Universal Rules: + +- 🛑 NEVER generate content without user input +- 📖 CRITICAL: Read the complete step file before taking any action +- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read +- 📋 YOU ARE A FACILITATOR, not a content generator +- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` + +### Role Reinforcement: + +- ✅ You are a Validation Architect and Quality Assurance Specialist +- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role +- ✅ We engage in collaborative dialogue, not command-response +- ✅ You bring synthesis and summary expertise +- ✅ This is the FINAL step - requires user interaction + +### Step-Specific Rules: + +- 🎯 Focus ONLY on summarizing findings and presenting options +- 🚫 FORBIDDEN to perform additional validation +- 💬 Approach: Conversational summary with clear next steps +- 🚪 This is the final step - no next step after this + +## EXECUTION PROTOCOLS: + +- 🎯 Load complete validation report +- 🎯 Summarize all findings from steps 1-12 +- 🎯 Update report frontmatter with final status +- 💬 Present summary to user conversationally +- 💬 Offer menu options for next actions +- 🚫 FORBIDDEN to proceed without user selection + +## CONTEXT BOUNDARIES: + +- Available context: Complete validation report with findings from all validation steps +- Focus: Summary and presentation only (no new validation) +- Limits: Don't add new findings, just synthesize existing +- Dependencies: Steps 1-12 completed - all validation checks done + +## MANDATORY SEQUENCE + +**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change. + +### 1. Load Complete Validation Report + +Read the entire validation report from {validationReportPath} + +Extract all findings from: +- Format Detection (Step 2) +- Parity Analysis (Step 2B, if applicable) +- Information Density (Step 3) +- Product Brief Coverage (Step 4) +- Measurability (Step 5) +- Traceability (Step 6) +- Implementation Leakage (Step 7) +- Domain Compliance (Step 8) +- Project-Type Compliance (Step 9) +- SMART Requirements (Step 10) +- Holistic Quality (Step 11) +- Completeness (Step 12) + +### 2. Update Report Frontmatter with Final Status + +Update validation report frontmatter: + +```yaml +--- +validationTarget: '{prd_path}' +validationDate: '{current_date}' +inputDocuments: [list of documents] +validationStepsCompleted: ['step-v-01-discovery', 'step-v-02-format-detection', 'step-v-03-density-validation', 'step-v-04-brief-coverage-validation', 'step-v-05-measurability-validation', 'step-v-06-traceability-validation', 'step-v-07-implementation-leakage-validation', 'step-v-08-domain-compliance-validation', 'step-v-09-project-type-validation', 'step-v-10-smart-validation', 'step-v-11-holistic-quality-validation', 'step-v-12-completeness-validation'] +validationStatus: COMPLETE +holisticQualityRating: '{rating from step 11}' +overallStatus: '{Pass/Warning/Critical based on all findings}' +--- +``` + +### 3. Create Summary of Findings + +**Overall Status:** +- Determine from all validation findings +- **Pass:** All critical checks pass, minor warnings acceptable +- **Warning:** Some issues found but PRD is usable +- **Critical:** Major issues that prevent PRD from being fit for purpose + +**Quick Results Table:** +- Format: [classification] +- Information Density: [severity] +- Measurability: [severity] +- Traceability: [severity] +- Implementation Leakage: [severity] +- Domain Compliance: [status] +- Project-Type Compliance: [compliance score] +- SMART Quality: [percentage] +- Holistic Quality: [rating/5] +- Completeness: [percentage] + +**Critical Issues:** List from all validation steps +**Warnings:** List from all validation steps +**Strengths:** List positives from all validation steps + +**Holistic Quality Rating:** From step 11 +**Top 3 Improvements:** From step 11 + +**Recommendation:** Based on overall status + +### 4. Present Summary to User Conversationally + +Display: + +"**✓ PRD Validation Complete** + +**Overall Status:** {Pass/Warning/Critical} + +**Quick Results:** +{Present quick results table with key findings} + +**Critical Issues:** {count or "None"} +{If any, list briefly} + +**Warnings:** {count or "None"} +{If any, list briefly} + +**Strengths:** +{List key strengths} + +**Holistic Quality:** {rating}/5 - {label} + +**Top 3 Improvements:** +1. {Improvement 1} +2. {Improvement 2} +3. {Improvement 3} + +**Recommendation:** +{Based on overall status: +- Pass: "PRD is in good shape. Address minor improvements to make it great." +- Warning: "PRD is usable but has issues that should be addressed. Review warnings and improve where needed." +- Critical: "PRD has significant issues that should be fixed before use. Focus on critical issues above."} + +**What would you like to do next?**" + +### 5. Present MENU OPTIONS + +Display: + +**[R] Review Detailed Findings** - Walk through validation report section by section +**[E] Use Edit Workflow** - Use validation report with Edit workflow for systematic improvements +**[F] Fix Simpler Items** - Immediate fixes for simple issues (anti-patterns, leakage, missing headers) +**[X] Exit** - Exit and Suggest Next Steps. + +#### EXECUTION RULES: + +- ALWAYS halt and wait for user input after presenting menu +- Only proceed based on user selection + +#### Menu Handling Logic: + +- **IF R (Review Detailed Findings):** + - Walk through validation report section by section + - Present findings from each validation step + - Allow user to ask questions + - After review, return to menu + +- **IF E (Use Edit Workflow):** + - Explain: "The Edit workflow (steps-e/) can use this validation report to systematically address issues. Edit mode will guide you through discovering what to edit, reviewing the PRD, and applying targeted improvements." + - Offer: "Would you like to launch Edit mode now? It will help you fix validation findings systematically." + - If yes: Read fully and follow: steps-e/step-e-01-discovery.md + - If no: Return to menu + +- **IF F (Fix Simpler Items):** + - Offer immediate fixes for: + - Template variables (fill in with appropriate content) + - Conversational filler (remove wordy phrases) + - Implementation leakage (remove technology names from FRs/NFRs) + - Missing section headers (add ## headers) + - Ask: "Which simple fixes would you like me to make?" + - If user specifies fixes, make them and update validation report + - Return to menu + +- **IF X (Exit):** + - Display: "**Validation Report Saved:** {validationReportPath}" + - Display: "**Summary:** {overall status} - {recommendation}" + - PRD Validation complete. Invoke the `bmad-help` skill. + +- **IF Any other:** Help user, then redisplay menu + +--- + +## 🚨 SYSTEM SUCCESS/FAILURE METRICS + +### ✅ SUCCESS: + +- Complete validation report loaded successfully +- All findings from steps 1-12 summarized +- Report frontmatter updated with final status +- Overall status determined correctly (Pass/Warning/Critical) +- Quick results table presented +- Critical issues, warnings, and strengths listed +- Holistic quality rating included +- Top 3 improvements presented +- Clear recommendation provided +- Menu options presented with clear explanations +- User can review findings, get help, or exit + +### ❌ SYSTEM FAILURE: + +- Not loading complete validation report +- Missing summary of findings +- Not updating report frontmatter +- Not determining overall status +- Missing menu options +- Unclear next steps + +**Master Rule:** User needs clear summary and actionable next steps. Edit workflow is best for complex issues; immediate fixes available for simpler ones. diff --git a/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/workflow.md b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/workflow.md new file mode 100644 index 000000000..3de6ff24f --- /dev/null +++ b/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/workflow.md @@ -0,0 +1,62 @@ +--- +main_config: '{project-root}/_bmad/bmm/config.yaml' +validateWorkflow: './steps-v/step-v-01-discovery.md' +--- + +# PRD Validate Workflow + +**Goal:** Validate existing PRDs against BMAD standards through comprehensive review. + +**Your Role:** Validation Architect and Quality Assurance Specialist. + +You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description. + +## WORKFLOW ARCHITECTURE + +This uses **step-file architecture** for disciplined execution: + +### Core Principles + +- **Micro-file Design**: Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly +- **Just-In-Time Loading**: Only the current step file is in memory - never load future step files until told to do so +- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed +- **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document +- **Append-Only Building**: Build documents by appending content as directed to the output file + +### Step Processing Rules + +1. **READ COMPLETELY**: Always read the entire step file before taking any action +2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate +3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection +4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue) +5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step +6. **LOAD NEXT**: When directed, read fully and follow the next step file + +### Critical Rules (NO EXCEPTIONS) + +- 🛑 **NEVER** load multiple step files simultaneously +- 📖 **ALWAYS** read entire step file before execution +- 🚫 **NEVER** skip steps or optimize the sequence +- 💾 **ALWAYS** update frontmatter of output files when writing the final output for a specific step +- 🎯 **ALWAYS** follow the exact instructions in the step file +- ⏸️ **ALWAYS** halt at menus and wait for user input +- 📋 **NEVER** create mental todo lists from future steps + +## INITIALIZATION SEQUENCE + +### 1. Configuration Loading + +Load and read full config from {main_config} and resolve: + +- `project_name`, `output_folder`, `planning_artifacts`, `user_name` +- `communication_language`, `document_output_language`, `user_skill_level` +- `date` as system-generated current datetime + +✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`. +✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`. + +### 2. Route to Validate Workflow + +"**Validate Mode: Validating an existing PRD against BMAD standards.**" + +Then read fully and follow: `{validateWorkflow}` (steps-v/step-v-01-discovery.md) diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/bmad-skill-manifest.yaml b/src/bmm/workflows/2-plan-workflows/create-prd/bmad-skill-manifest.yaml deleted file mode 100644 index aea9910a2..000000000 --- a/src/bmm/workflows/2-plan-workflows/create-prd/bmad-skill-manifest.yaml +++ /dev/null @@ -1,14 +0,0 @@ -workflow-create-prd.md: - canonicalId: bmad-create-prd - type: workflow - description: "Create a PRD from scratch. Use when the user says 'lets create a product requirements document' or 'I want to create a new PRD'" - -workflow-edit-prd.md: - canonicalId: bmad-edit-prd - type: workflow - description: "Edit an existing PRD. Use when the user says 'edit this PRD'" - -workflow-validate-prd.md: - canonicalId: bmad-validate-prd - type: workflow - description: "Validate a PRD against standards. Use when the user says 'validate this PRD' or 'run PRD validation'" diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md b/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md index 5f5fc2d19..0c44b00da 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +++ b/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md @@ -23,6 +23,7 @@ Validate Functional Requirements meet SMART quality criteria (Specific, Measurab - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md b/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md index 347215135..f5be09bad 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +++ b/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md @@ -24,6 +24,7 @@ Assess the PRD as a cohesive, compelling document - evaluating document flow, du - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md b/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md index dd331bf48..decc5579a 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +++ b/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md @@ -22,6 +22,7 @@ Finalize validation report, summarize all findings from steps 1-12, present summ - 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md b/src/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md index 7f0703440..86ccc7d05 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +++ b/src/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md @@ -1,6 +1,7 @@ --- name: validate-prd description: 'Validate a PRD against standards. Use when the user says "validate this PRD" or "run PRD validation"' +standalone: false main_config: '{project-root}/_bmad/bmm/config.yaml' validateWorkflow: './steps-v/step-v-01-discovery.md' --- @@ -55,6 +56,7 @@ Load and read full config from {main_config} and resolve: - `date` as system-generated current datetime ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`. +✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`. ### 2. Route to Validate Workflow diff --git a/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/SKILL.md b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/SKILL.md new file mode 100644 index 000000000..f76bba0a2 --- /dev/null +++ b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-check-implementation-readiness +description: 'Validate PRD, UX, Architecture and Epics specs are complete. Use when the user says "check implementation readiness".' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/bmad-skill-manifest.yaml b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-01-document-discovery.md similarity index 92% rename from src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md rename to src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-01-document-discovery.md index 877193f3d..a4c524cfd 100644 --- a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +++ b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-01-document-discovery.md @@ -1,10 +1,5 @@ --- -name: 'step-01-document-discovery' -description: 'Discover and inventory all project documents, handling duplicates and organizing file structure' - -nextStepFile: './step-02-prd-analysis.md' outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' -templateFile: '../templates/readiness-report-template.md' --- # Step 1: Document Discovery @@ -122,7 +117,7 @@ If required documents not found: ### 5. Add Initial Report Section -Initialize {outputFile} with {templateFile}. +Initialize {outputFile} with ../templates/readiness-report-template.md. ### 6. Present Findings and Get Confirmation @@ -156,12 +151,12 @@ Display: **Select an Option:** [C] Continue to File Validation #### Menu Handling Logic: -- IF C: Save document inventory to {outputFile}, update frontmatter with completed step and files being included, and then read fully and follow: {nextStepFile} +- IF C: Save document inventory to {outputFile}, update frontmatter with completed step and files being included, and then read fully and follow: ./step-02-prd-analysis.md - IF Any other comments or queries: help user respond then redisplay menu ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN C is selected and document inventory is saved will you load {nextStepFile} to begin file validation. +ONLY WHEN C is selected and document inventory is saved will you load ./step-02-prd-analysis.md to begin file validation. --- diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md similarity index 94% rename from src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md rename to src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md index 4d22e7da9..85cadc4d4 100644 --- a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +++ b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md @@ -1,8 +1,4 @@ --- -name: 'step-02-prd-analysis' -description: 'Read and analyze PRD to extract all FRs and NFRs for coverage validation' - -nextStepFile: './step-03-epic-coverage-validation.md' outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' epicsFile: '{planning_artifacts}/*epic*.md' # Will be resolved to actual file --- @@ -149,7 +145,7 @@ After PRD analysis complete, immediately load next step for epic coverage valida ## PROCEEDING TO EPIC COVERAGE VALIDATION -PRD analysis complete. Loading next step to validate epic coverage. +PRD analysis complete. Read fully and follow: `./step-03-epic-coverage-validation.md` --- diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md similarity index 94% rename from src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md rename to src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md index b73511bea..961ee740c 100644 --- a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +++ b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md @@ -1,8 +1,4 @@ --- -name: 'step-03-epic-coverage-validation' -description: 'Validate that all PRD FRs are covered in epics and stories' - -nextStepFile: './step-04-ux-alignment.md' outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' --- @@ -150,7 +146,7 @@ After coverage validation complete, immediately load next step. ## PROCEEDING TO UX ALIGNMENT -Epic coverage validation complete. Loading next step for UX alignment. +Epic coverage validation complete. Read fully and follow: `./step-04-ux-alignment.md` --- diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md similarity index 92% rename from src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md rename to src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md index 236ad3b51..05718abe4 100644 --- a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +++ b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md @@ -1,8 +1,4 @@ --- -name: 'step-04-ux-alignment' -description: 'Check for UX document and validate alignment with PRD and Architecture' - -nextStepFile: './step-05-epic-quality-review.md' outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' --- @@ -113,7 +109,7 @@ After UX assessment complete, immediately load next step. ## PROCEEDING TO EPIC QUALITY REVIEW -UX alignment assessment complete. Loading next step for epic quality review. +UX alignment assessment complete. Read fully and follow: `./step-05-epic-quality-review.md` --- diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md similarity index 95% rename from src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md rename to src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md index 9f6d087f8..2e088f9b1 100644 --- a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +++ b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md @@ -1,8 +1,4 @@ --- -name: 'step-05-epic-quality-review' -description: 'Validate epics and stories against create-epics-and-stories best practices' - -nextStepFile: './step-06-final-assessment.md' outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' --- @@ -217,11 +213,11 @@ After completing epic quality review: - Update {outputFile} with all quality findings - Document specific best practices violations - Provide actionable recommendations -- Load {nextStepFile} for final readiness assessment +- Load ./step-06-final-assessment.md for final readiness assessment ## CRITICAL STEP COMPLETION NOTE -This step executes autonomously. Load {nextStepFile} only after complete epic quality review is documented. +This step executes autonomously. Load ./step-06-final-assessment.md only after complete epic quality review is documented. --- diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-06-final-assessment.md similarity index 96% rename from src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md rename to src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-06-final-assessment.md index 548aa8f6d..467864215 100644 --- a/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +++ b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/steps/step-06-final-assessment.md @@ -1,7 +1,4 @@ --- -name: 'step-06-final-assessment' -description: 'Compile final assessment and polish the readiness report' - outputFile: '{planning_artifacts}/implementation-readiness-report-{{date}}.md' --- diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/templates/readiness-report-template.md similarity index 100% rename from src/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md rename to src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/templates/readiness-report-template.md diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/workflow.md similarity index 94% rename from src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md rename to src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/workflow.md index f1ab122ec..5f3343d67 100644 --- a/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +++ b/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/workflow.md @@ -1,8 +1,3 @@ ---- -name: check-implementation-readiness -description: 'Validate PRD, UX, Architecture and Epics specs are complete. Use when the user says "check implementation readiness".' ---- - # Implementation Readiness **Goal:** Validate that PRD, Architecture, Epics and Stories are complete and aligned before Phase 4 implementation starts, with a focus on ensuring epics and stories are logical and have accounted for all requirements and planning. diff --git a/src/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-01-init.md b/src/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-01-init.md index 93a83c706..c2933dfb8 100644 --- a/src/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-01-init.md +++ b/src/bmm/workflows/3-solutioning/bmad-create-architecture/steps/step-01-init.md @@ -57,8 +57,8 @@ If no document exists or no `stepsCompleted` in frontmatter: Discover and load context documents using smart discovery. Documents can be in the following locations: - {planning_artifacts}/** - {output_folder}/** -- {product_knowledge}/** -- docs/** +- {project_knowledge}/** +- {project-root}/docs/** Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content) @@ -67,7 +67,7 @@ Try to discover the following: - Product Requirements Document (`*prd*.md`) - UX Design (`*ux-design*.md`) and other - Research Documents (`*research*.md`) -- Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.) +- Project Documentation (generally multiple documents might be found for this in the `{project_knowledge}` or `{project-root}/docs` folder.) - Project Context (`**/project-context.md`) Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules @@ -95,7 +95,7 @@ Before proceeding, verify we have the essential inputs: #### C. Create Initial Document -Copy the template from `{installed_path}/architecture-decision-template.md` to `{planning_artifacts}/architecture.md` +Copy the template from `../architecture-decision-template.md` to `{planning_artifacts}/architecture.md` #### D. Complete Initialization and Report diff --git a/src/bmm/workflows/3-solutioning/bmad-create-architecture/workflow.md b/src/bmm/workflows/3-solutioning/bmad-create-architecture/workflow.md index 1350c7788..d0a295ea3 100644 --- a/src/bmm/workflows/3-solutioning/bmad-create-architecture/workflow.md +++ b/src/bmm/workflows/3-solutioning/bmad-create-architecture/workflow.md @@ -29,12 +29,6 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - `date` as system-generated current datetime - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` -### Paths - -- `installed_path` = `.` -- `template_path` = `{installed_path}/architecture-decision-template.md` -- `data_files_path` = `{installed_path}/data/` - --- ## EXECUTION diff --git a/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/SKILL.md b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/SKILL.md new file mode 100644 index 000000000..d1ce639b9 --- /dev/null +++ b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-create-epics-and-stories +description: 'Break requirements into epics and user stories. Use when the user says "create the epics and stories list"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/bmad-skill-manifest.yaml b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md similarity index 87% rename from src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md rename to src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md index 60e9f21f4..91ad17e08 100644 --- a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +++ b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md @@ -1,25 +1,3 @@ ---- -name: 'step-01-validate-prerequisites' -description: 'Validate required documents exist and extract all requirements for epic and story creation' - -# Path Definitions -workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories' - -# File References -thisStepFile: './step-01-validate-prerequisites.md' -nextStepFile: './step-02-design-epics.md' -workflowFile: '{workflow_path}/workflow.md' -outputFile: '{planning_artifacts}/epics.md' -epicsTemplate: '{workflow_path}/templates/epics-template.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' - -# Template References -epicsTemplate: '{workflow_path}/templates/epics-template.md' ---- - # Step 1: Validate Prerequisites and Extract Requirements ## STEP GOAL: @@ -54,7 +32,7 @@ To validate that all required input documents exist and extract all requirements ## EXECUTION PROTOCOLS: - 🎯 Extract requirements systematically from all documents -- 💾 Populate {outputFile} with extracted requirements +- 💾 Populate {planning_artifacts}/epics.md with extracted requirements - 📖 Update frontmatter with extraction progress - 🚫 FORBIDDEN to load next step until user selects 'C' and requirements are extracted @@ -91,7 +69,7 @@ Search for required documents using these patterns (sharded means a large docume 1. `{planning_artifacts}/*ux*.md` (whole document) 2. `{planning_artifacts}/*ux*/index.md` (sharded version) -Before proceeding, Ask the user if there are any other documents to include for analysis, and if anything found should be excluded. Wait for user confirmation. Once confirmed, create the {outputFile} from the {epicsTemplate} and in the front matter list the files in the array of `inputDocuments: []`. +Before proceeding, Ask the user if there are any other documents to include for analysis, and if anything found should be excluded. Wait for user confirmation. Once confirmed, create the {planning_artifacts}/epics.md from the ../templates/epics-template.md and in the front matter list the files in the array of `inputDocuments: []`. ### 3. Extract Functional Requirements (FRs) @@ -182,9 +160,9 @@ UX-DR2: [Actionable UX design requirement with clear implementation scope] ### 7. Load and Initialize Template -Load {epicsTemplate} and initialize {outputFile}: +Load ../templates/epics-template.md and initialize {planning_artifacts}/epics.md: -1. Copy the entire template to {outputFile} +1. Copy the entire template to {planning_artifacts}/epics.md 2. Replace {{project_name}} with the actual project name 3. Replace placeholder sections with extracted requirements: - {{fr_list}} → extracted FRs @@ -228,7 +206,7 @@ Update the requirements based on user feedback until confirmation is received. ## CONTENT TO SAVE TO DOCUMENT: -After extraction and confirmation, update {outputFile} with: +After extraction and confirmation, update {planning_artifacts}/epics.md with: - Complete FR list in {{fr_list}} section - Complete NFR list in {{nfr_list}} section @@ -247,12 +225,12 @@ Display: `**Confirm the Requirements are complete and correct to [C] continue:** #### Menu Handling Logic: -- IF C: Save all to {outputFile}, update frontmatter, then read fully and follow: {nextStepFile} +- IF C: Save all to {planning_artifacts}/epics.md, update frontmatter, then read fully and follow: ./step-02-design-epics.md - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#10-present-menu-options) ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN C is selected and all requirements are saved to document and frontmatter is updated, will you then read fully and follow: {nextStepFile} to begin epic design step. +ONLY WHEN C is selected and all requirements are saved to document and frontmatter is updated, will you then read fully and follow: ./step-02-design-epics.md to begin epic design step. --- diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-02-design-epics.md similarity index 85% rename from src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md rename to src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-02-design-epics.md index 6453c62ee..00dd285e1 100644 --- a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +++ b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-02-design-epics.md @@ -1,24 +1,3 @@ ---- -name: 'step-02-design-epics' -description: 'Design and approve the epics_list that will organize all requirements into user-value-focused epics' - -# Path Definitions -workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories' - -# File References -thisStepFile: './step-02-design-epics.md' -nextStepFile: './step-03-create-stories.md' -workflowFile: '{workflow_path}/workflow.md' -outputFile: '{planning_artifacts}/epics.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' - -# Template References -epicsTemplate: '{workflow_path}/templates/epics-template.md' ---- - # Step 2: Design Epic List ## STEP GOAL: @@ -54,7 +33,7 @@ To design and get approval for the epics_list that will organize all requirement ## EXECUTION PROTOCOLS: - 🎯 Design epics collaboratively based on extracted requirements -- 💾 Update {{epics_list}} in {outputFile} +- 💾 Update {{epics_list}} in {planning_artifacts}/epics.md - 📖 Document the FR coverage mapping - 🚫 FORBIDDEN to load next step until user approves epics_list @@ -62,7 +41,7 @@ To design and get approval for the epics_list that will organize all requirement ### 1. Review Extracted Requirements -Load {outputFile} and review: +Load {planning_artifacts}/epics.md and review: - **Functional Requirements:** Count and review FRs from Step 1 - **Non-Functional Requirements:** Review NFRs that need to be addressed @@ -182,7 +161,7 @@ If user wants changes: ## CONTENT TO UPDATE IN DOCUMENT: -After approval, update {outputFile}: +After approval, update {planning_artifacts}/epics.md: 1. Replace {{epics_list}} placeholder with the approved epic list 2. Replace {{requirements_coverage_map}} with the coverage map @@ -194,9 +173,9 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} -- IF P: Read fully and follow: {partyModeWorkflow} -- IF C: Save approved epics_list to {outputFile}, update frontmatter, then read fully and follow: {nextStepFile} +- IF A: Invoke the `bmad-advanced-elicitation` skill +- IF P: Invoke the `bmad-party-mode` skill +- IF C: Save approved epics_list to {planning_artifacts}/epics.md, update frontmatter, then read fully and follow: ./step-03-create-stories.md - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#8-present-menu-options) #### EXECUTION RULES: @@ -208,7 +187,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN C is selected and the approved epics_list is saved to document, will you then read fully and follow: {nextStepFile} to begin story creation step. +ONLY WHEN C is selected and the approved epics_list is saved to document, will you then read fully and follow: ./step-03-create-stories.md to begin story creation step. --- diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-03-create-stories.md similarity index 86% rename from src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md rename to src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-03-create-stories.md index 1bdbb0631..14caafeb3 100644 --- a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +++ b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-03-create-stories.md @@ -1,24 +1,3 @@ ---- -name: 'step-03-create-stories' -description: 'Generate all epics with their stories following the template structure' - -# Path Definitions -workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories' - -# File References -thisStepFile: './step-03-create-stories.md' -nextStepFile: './step-04-final-validation.md' -workflowFile: '{workflow_path}/workflow.md' -outputFile: '{planning_artifacts}/epics.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' - -# Template References -epicsTemplate: '{workflow_path}/templates/epics-template.md' ---- - # Step 3: Generate Epics and Stories ## STEP GOAL: @@ -54,7 +33,7 @@ To generate all epics with their stories based on the approved epics_list, follo ## EXECUTION PROTOCOLS: - 🎯 Generate stories collaboratively with user input -- 💾 Append epics and stories to {outputFile} following template +- 💾 Append epics and stories to {planning_artifacts}/epics.md following template - 📖 Process epics one at a time in sequence - 🚫 FORBIDDEN to skip any epic or rush through stories @@ -62,7 +41,7 @@ To generate all epics with their stories based on the approved epics_list, follo ### 1. Load Approved Epic Structure -Load {outputFile} and review: +Load {planning_artifacts}/epics.md and review: - Approved epics_list from Step 2 - FR coverage map @@ -186,7 +165,7 @@ After writing each story: When story is approved: -- Append it to {outputFile} following template structure +- Append it to {planning_artifacts}/epics.md following template structure - Use correct numbering (Epic N, Story M) - Maintain proper markdown formatting @@ -215,7 +194,7 @@ After all epics and stories are generated: ## TEMPLATE STRUCTURE COMPLIANCE: -The final {outputFile} must follow this structure exactly: +The final {planning_artifacts}/epics.md must follow this structure exactly: 1. **Overview** section with project name 2. **Requirements Inventory** with all three subsections populated @@ -235,9 +214,9 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} -- IF P: Read fully and follow: {partyModeWorkflow} -- IF C: Save content to {outputFile}, update frontmatter, then read fully and follow: {nextStepFile} +- IF A: Invoke the `bmad-advanced-elicitation` skill +- IF P: Invoke the `bmad-party-mode` skill +- IF C: Save content to {planning_artifacts}/epics.md, update frontmatter, then read fully and follow: ./step-04-final-validation.md - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-final-menu-options) #### EXECUTION RULES: @@ -249,7 +228,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [all epics and stories saved to document following the template structure exactly], will you then read fully and follow: `{nextStepFile}` to begin final validation phase. +ONLY WHEN [C continue option] is selected and [all epics and stories saved to document following the template structure exactly], will you then read fully and follow: `./step-04-final-validation.md` to begin final validation phase. --- diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-04-final-validation.md similarity index 87% rename from src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md rename to src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-04-final-validation.md index 92bb71277..d115edcd2 100644 --- a/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +++ b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/steps/step-04-final-validation.md @@ -1,23 +1,3 @@ ---- -name: 'step-04-final-validation' -description: 'Validate complete coverage of all requirements and ensure implementation readiness' - -# Path Definitions -workflow_path: '{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories' - -# File References -thisStepFile: './step-04-final-validation.md' -workflowFile: '{workflow_path}/workflow.md' -outputFile: '{planning_artifacts}/epics.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' - -# Template References -epicsTemplate: '{workflow_path}/templates/epics-template.md' ---- - # Step 4: Final Validation ## STEP GOAL: @@ -142,6 +122,8 @@ If all validations pass: **Present Final Menu:** **All validations complete!** [C] Complete Workflow +HALT — wait for user input before proceeding. + When C is selected, the workflow is complete and the epics.md is ready for development. Epics and Stories complete. Invoke the `bmad-help` skill. diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/templates/epics-template.md similarity index 100% rename from src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md rename to src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/templates/epics-template.md diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/workflow.md similarity index 90% rename from src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md rename to src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/workflow.md index 41a6ee106..5845105d7 100644 --- a/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +++ b/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/workflow.md @@ -1,8 +1,3 @@ ---- -name: create-epics-and-stories -description: 'Break requirements into epics and user stories. Use when the user says "create the epics and stories list"' ---- - # Create Epics and Stories **Goal:** Transform PRD requirements and Architecture decisions into comprehensive stories organized by user value, creating detailed, actionable stories with complete acceptance criteria for development teams. @@ -55,4 +50,4 @@ Load and read full config from {project-root}/_bmad/bmm/config.yaml and resolve: ### 2. First Step EXECUTION -Read fully and follow: `{project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md` to begin the workflow. +Read fully and follow: `./steps/step-01-validate-prerequisites.md` to begin the workflow. diff --git a/src/bmm/workflows/3-solutioning/check-implementation-readiness/bmad-skill-manifest.yaml b/src/bmm/workflows/3-solutioning/check-implementation-readiness/bmad-skill-manifest.yaml deleted file mode 100644 index 3040413b8..000000000 --- a/src/bmm/workflows/3-solutioning/check-implementation-readiness/bmad-skill-manifest.yaml +++ /dev/null @@ -1,3 +0,0 @@ -canonicalId: bmad-check-implementation-readiness -type: workflow -description: "Validate PRD, UX, Architecture and Epics specs are complete" diff --git a/src/bmm/workflows/3-solutioning/create-epics-and-stories/bmad-skill-manifest.yaml b/src/bmm/workflows/3-solutioning/create-epics-and-stories/bmad-skill-manifest.yaml deleted file mode 100644 index 92b343dd9..000000000 --- a/src/bmm/workflows/3-solutioning/create-epics-and-stories/bmad-skill-manifest.yaml +++ /dev/null @@ -1,3 +0,0 @@ -canonicalId: bmad-create-epics-and-stories -type: workflow -description: "Break requirements into epics and user stories" diff --git a/src/bmm/workflows/4-implementation/bmad-code-review/SKILL.md b/src/bmm/workflows/4-implementation/bmad-code-review/SKILL.md new file mode 100644 index 000000000..35edf0505 --- /dev/null +++ b/src/bmm/workflows/4-implementation/bmad-code-review/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-code-review +description: 'Perform adversarial code review finding specific issues. Use when the user says "run code review" or "review this code"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/4-implementation/bmad-code-review/bmad-skill-manifest.yaml b/src/bmm/workflows/4-implementation/bmad-code-review/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/4-implementation/bmad-code-review/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/4-implementation/code-review/checklist.md b/src/bmm/workflows/4-implementation/bmad-code-review/checklist.md similarity index 100% rename from src/bmm/workflows/4-implementation/code-review/checklist.md rename to src/bmm/workflows/4-implementation/bmad-code-review/checklist.md diff --git a/src/bmm/workflows/4-implementation/code-review/discover-inputs.md b/src/bmm/workflows/4-implementation/bmad-code-review/discover-inputs.md similarity index 100% rename from src/bmm/workflows/4-implementation/code-review/discover-inputs.md rename to src/bmm/workflows/4-implementation/bmad-code-review/discover-inputs.md diff --git a/src/bmm/workflows/4-implementation/code-review/workflow.md b/src/bmm/workflows/4-implementation/bmad-code-review/workflow.md similarity index 96% rename from src/bmm/workflows/4-implementation/code-review/workflow.md rename to src/bmm/workflows/4-implementation/bmad-code-review/workflow.md index 1abb4d174..a10e7a809 100644 --- a/src/bmm/workflows/4-implementation/code-review/workflow.md +++ b/src/bmm/workflows/4-implementation/bmad-code-review/workflow.md @@ -1,8 +1,3 @@ ---- -name: code-review -description: 'Perform adversarial code review finding specific issues. Use when the user says "run code review" or "review this code"' ---- - # Code Review Workflow **Goal:** Perform adversarial code review finding specific issues. @@ -35,9 +30,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ### Paths -- `installed_path` = `{project-root}/_bmad/bmm/workflows/4-implementation/code-review` - `sprint_status` = `{implementation_artifacts}/sprint-status.yaml` -- `validation` = `{installed_path}/checklist.md` ### Input Files @@ -81,7 +74,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - Missing documentation of what was actually changed - Read fully and follow `{installed_path}/discover-inputs.md` to load all input files + Read fully and follow `./discover-inputs.md` to load all input files Load {project_context} for coding standards (if exists) diff --git a/src/bmm/workflows/4-implementation/bmad-correct-course/SKILL.md b/src/bmm/workflows/4-implementation/bmad-correct-course/SKILL.md new file mode 100644 index 000000000..fe2501552 --- /dev/null +++ b/src/bmm/workflows/4-implementation/bmad-correct-course/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-correct-course +description: 'Manage significant changes during sprint execution. Use when the user says "correct course" or "propose sprint change"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/4-implementation/bmad-correct-course/bmad-skill-manifest.yaml b/src/bmm/workflows/4-implementation/bmad-correct-course/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/4-implementation/bmad-correct-course/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/4-implementation/correct-course/checklist.md b/src/bmm/workflows/4-implementation/bmad-correct-course/checklist.md similarity index 98% rename from src/bmm/workflows/4-implementation/correct-course/checklist.md rename to src/bmm/workflows/4-implementation/bmad-correct-course/checklist.md index 1e630ccbb..6fb7c3edd 100644 --- a/src/bmm/workflows/4-implementation/correct-course/checklist.md +++ b/src/bmm/workflows/4-implementation/bmad-correct-course/checklist.md @@ -1,6 +1,6 @@ # Change Navigation Checklist -This checklist is executed as part of: {project-root}/_bmad/bmm/workflows/4-implementation/correct-course/workflow.md +This checklist is executed as part of: ./workflow.md Work through each section systematically with the user, recording findings and impacts diff --git a/src/bmm/workflows/4-implementation/correct-course/workflow.md b/src/bmm/workflows/4-implementation/bmad-correct-course/workflow.md similarity index 95% rename from src/bmm/workflows/4-implementation/correct-course/workflow.md rename to src/bmm/workflows/4-implementation/bmad-correct-course/workflow.md index e95ec8432..1241101d0 100644 --- a/src/bmm/workflows/4-implementation/correct-course/workflow.md +++ b/src/bmm/workflows/4-implementation/bmad-correct-course/workflow.md @@ -1,8 +1,3 @@ ---- -name: correct-course -description: 'Manage significant changes during sprint execution. Use when the user says "correct course" or "propose sprint change"' ---- - # Correct Course - Sprint Change Management Workflow **Goal:** Manage significant changes during sprint execution by analyzing impact across all project artifacts and producing a structured Sprint Change Proposal. @@ -31,8 +26,6 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ### Paths -- `installed_path` = `{project-root}/_bmad/bmm/workflows/4-implementation/correct-course` -- `checklist` = `{installed_path}/checklist.md` - `default_output_file` = `{planning_artifacts}/sprint-change-proposal-{date}.md` ### Input Files @@ -48,7 +41,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ### Context -- `project_context` = `**/project-context.md` (load if exists) +- Load `**/project-context.md` if it exists --- @@ -82,7 +75,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - Load {project_context} for coding standards and project-wide patterns (if exists) + Load **/project-context.md for coding standards and project-wide patterns (if exists) Confirm change trigger and gather user description of the issue Ask: "What specific issue or change has been identified that requires navigation?" Verify access to required project documents: @@ -101,7 +94,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - Read fully and follow the systematic analysis from: {checklist} + Read fully and follow the systematic analysis from: checklist.md Work through each checklist section interactively with the user Record status for each checklist item: - [x] Done - Item completed successfully diff --git a/src/bmm/workflows/4-implementation/bmad-create-story/checklist.md b/src/bmm/workflows/4-implementation/bmad-create-story/checklist.md index 06ad346ba..e47cc0f49 100644 --- a/src/bmm/workflows/4-implementation/bmad-create-story/checklist.md +++ b/src/bmm/workflows/4-implementation/bmad-create-story/checklist.md @@ -36,7 +36,7 @@ This is a COMPETITION to create the **ULTIMATE story context** that makes LLM de - The workflow framework will automatically: - Load this checklist file - Load the newly created story file (`{story_file_path}`) - - Load workflow variables from `{installed_path}/workflow.md` + - Load workflow variables from `./workflow.md` - Execute the validation process ### **When Running in Fresh Context:** @@ -61,7 +61,7 @@ You will systematically re-do the entire story creation process, but with a crit ### **Step 1: Load and Understand the Target** -1. **Load the workflow configuration**: `{installed_path}/workflow.md` for variable inclusion +1. **Load the workflow configuration**: `./workflow.md` for variable inclusion 2. **Load the story file**: `{story_file_path}` (provided by user or discovered) 3. **Extract metadata**: epic_num, story_num, story_key, story_title from story file 4. **Resolve all workflow variables**: implementation_artifacts, epics_file, architecture_file, etc. diff --git a/src/bmm/workflows/4-implementation/bmad-create-story/workflow.md b/src/bmm/workflows/4-implementation/bmad-create-story/workflow.md index 47b0f8d23..7e5b47bc9 100644 --- a/src/bmm/workflows/4-implementation/bmad-create-story/workflow.md +++ b/src/bmm/workflows/4-implementation/bmad-create-story/workflow.md @@ -1,8 +1,3 @@ ---- -name: bmad-create-story -description: 'Creates a dedicated story file with all the context the agent will need to implement it later. Use when the user says "create the next story" or "create story [story identifier]"' ---- - # Create Story Workflow **Goal:** Create a comprehensive story file that gives the dev agent everything needed for flawless implementation. @@ -32,9 +27,6 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ### Paths -- `installed_path` = `.` -- `template` = `./template.md` -- `validation` = `./checklist.md` - `sprint_status` = `{implementation_artifacts}/sprint-status.yaml` - `epics_file` = `{planning_artifacts}/epics.md` - `prd_file` = `{planning_artifacts}/prd.md` @@ -217,10 +209,10 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - 🔬 EXHAUSTIVE ARTIFACT ANALYSIS - This is where you prevent future developer fuckups! + 🔬 EXHAUSTIVE ARTIFACT ANALYSIS - This is where you prevent future developer mistakes! - Read fully and follow `{installed_path}/discover-inputs.md` to load all input files + Read fully and follow `./discover-inputs.md` to load all input files Available content: {epics_content}, {prd_content}, {architecture_content}, {ux_content}, {project_context} @@ -352,7 +344,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - Validate the newly created story file {story_file} against {installed_path}/checklist.md and apply any required fixes before finalizing + Validate the newly created story file {story_file} against `./checklist.md` and apply any required fixes before finalizing Save story document unconditionally diff --git a/src/bmm/workflows/4-implementation/bmad-dev-story/workflow.md b/src/bmm/workflows/4-implementation/bmad-dev-story/workflow.md index 1981276e2..4164479c3 100644 --- a/src/bmm/workflows/4-implementation/bmad-dev-story/workflow.md +++ b/src/bmm/workflows/4-implementation/bmad-dev-story/workflow.md @@ -27,7 +27,6 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ### Paths -- `validation` = `./checklist.md` - `story_file` = `` (explicit story path; auto-discovered if empty) - `sprint_status` = `{implementation_artifacts}/sprint-status.yaml` diff --git a/src/bmm/workflows/4-implementation/bmad-retrospective/SKILL.md b/src/bmm/workflows/4-implementation/bmad-retrospective/SKILL.md new file mode 100644 index 000000000..bf07612b9 --- /dev/null +++ b/src/bmm/workflows/4-implementation/bmad-retrospective/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-retrospective +description: 'Post-epic review to extract lessons and assess success. Use when the user says "run a retrospective" or "lets retro the epic [epic]"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/4-implementation/bmad-retrospective/bmad-skill-manifest.yaml b/src/bmm/workflows/4-implementation/bmad-retrospective/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/4-implementation/bmad-retrospective/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/4-implementation/retrospective/workflow.md b/src/bmm/workflows/4-implementation/bmad-retrospective/workflow.md similarity index 99% rename from src/bmm/workflows/4-implementation/retrospective/workflow.md rename to src/bmm/workflows/4-implementation/bmad-retrospective/workflow.md index cbc502d8b..3f56f728c 100644 --- a/src/bmm/workflows/4-implementation/retrospective/workflow.md +++ b/src/bmm/workflows/4-implementation/bmad-retrospective/workflow.md @@ -1,8 +1,3 @@ ---- -name: retrospective -description: 'Post-epic review to extract lessons and assess success. Use when the user says "run a retrospective" or "lets retro the epic [epic]"' ---- - # Retrospective Workflow **Goal:** Post-epic review to extract lessons and assess success. @@ -42,7 +37,6 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ### Paths -- `installed_path` = `{project-root}/_bmad/bmm/workflows/4-implementation/retrospective` - `sprint_status_file` = `{implementation_artifacts}/sprint-status.yaml` ### Input Files diff --git a/src/bmm/workflows/4-implementation/bmad-sprint-planning/SKILL.md b/src/bmm/workflows/4-implementation/bmad-sprint-planning/SKILL.md new file mode 100644 index 000000000..88c35310e --- /dev/null +++ b/src/bmm/workflows/4-implementation/bmad-sprint-planning/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-sprint-planning +description: 'Generate sprint status tracking from epics. Use when the user says "run sprint planning" or "generate sprint plan"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/4-implementation/bmad-sprint-planning/bmad-skill-manifest.yaml b/src/bmm/workflows/4-implementation/bmad-sprint-planning/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/4-implementation/bmad-sprint-planning/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/4-implementation/sprint-planning/checklist.md b/src/bmm/workflows/4-implementation/bmad-sprint-planning/checklist.md similarity index 100% rename from src/bmm/workflows/4-implementation/sprint-planning/checklist.md rename to src/bmm/workflows/4-implementation/bmad-sprint-planning/checklist.md diff --git a/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml b/src/bmm/workflows/4-implementation/bmad-sprint-planning/sprint-status-template.yaml similarity index 100% rename from src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml rename to src/bmm/workflows/4-implementation/bmad-sprint-planning/sprint-status-template.yaml diff --git a/src/bmm/workflows/4-implementation/sprint-planning/workflow.md b/src/bmm/workflows/4-implementation/bmad-sprint-planning/workflow.md similarity index 96% rename from src/bmm/workflows/4-implementation/sprint-planning/workflow.md rename to src/bmm/workflows/4-implementation/bmad-sprint-planning/workflow.md index aba449c01..211e00127 100644 --- a/src/bmm/workflows/4-implementation/sprint-planning/workflow.md +++ b/src/bmm/workflows/4-implementation/bmad-sprint-planning/workflow.md @@ -1,8 +1,3 @@ ---- -name: sprint-planning -description: 'Generate sprint status tracking from epics. Use when the user says "run sprint planning" or "generate sprint plan"' ---- - # Sprint Planning Workflow **Goal:** Generate sprint status tracking from epics, detecting current story statuses and building a complete sprint-status.yaml file. @@ -26,9 +21,6 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ### Paths -- `installed_path` = `{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning` -- `template` = `{installed_path}/sprint-status-template.yaml` -- `checklist` = `{installed_path}/checklist.md` - `tracking_system` = `file-system` - `project_key` = `NOKEY` - `story_location` = `{implementation_artifacts}` diff --git a/src/bmm/workflows/4-implementation/bmad-sprint-status/SKILL.md b/src/bmm/workflows/4-implementation/bmad-sprint-status/SKILL.md new file mode 100644 index 000000000..c3642e86d --- /dev/null +++ b/src/bmm/workflows/4-implementation/bmad-sprint-status/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-sprint-status +description: 'Summarize sprint status and surface risks. Use when the user says "check sprint status" or "show sprint status"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/4-implementation/bmad-sprint-status/bmad-skill-manifest.yaml b/src/bmm/workflows/4-implementation/bmad-sprint-status/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/4-implementation/bmad-sprint-status/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/4-implementation/sprint-status/workflow.md b/src/bmm/workflows/4-implementation/bmad-sprint-status/workflow.md similarity index 97% rename from src/bmm/workflows/4-implementation/sprint-status/workflow.md rename to src/bmm/workflows/4-implementation/bmad-sprint-status/workflow.md index aeed0ab23..1def1c8f3 100644 --- a/src/bmm/workflows/4-implementation/sprint-status/workflow.md +++ b/src/bmm/workflows/4-implementation/bmad-sprint-status/workflow.md @@ -1,8 +1,3 @@ ---- -name: sprint-status -description: 'Summarize sprint status and surface risks. Use when the user says "check sprint status" or "show sprint status"' ---- - # Sprint Status Workflow **Goal:** Summarize sprint status, surface risks, and recommend the next workflow action. @@ -25,7 +20,6 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ### Paths -- `installed_path` = `{project-root}/_bmad/bmm/workflows/4-implementation/sprint-status` - `sprint_status_file` = `{implementation_artifacts}/sprint-status.yaml` ### Input Files diff --git a/src/bmm/workflows/4-implementation/code-review/bmad-skill-manifest.yaml b/src/bmm/workflows/4-implementation/code-review/bmad-skill-manifest.yaml deleted file mode 100644 index 6b1589a4a..000000000 --- a/src/bmm/workflows/4-implementation/code-review/bmad-skill-manifest.yaml +++ /dev/null @@ -1,3 +0,0 @@ -canonicalId: bmad-code-review -type: workflow -description: "Perform adversarial code review finding specific issues" diff --git a/src/bmm/workflows/4-implementation/correct-course/bmad-skill-manifest.yaml b/src/bmm/workflows/4-implementation/correct-course/bmad-skill-manifest.yaml deleted file mode 100644 index 6a95bd4a7..000000000 --- a/src/bmm/workflows/4-implementation/correct-course/bmad-skill-manifest.yaml +++ /dev/null @@ -1,3 +0,0 @@ -canonicalId: bmad-correct-course -type: workflow -description: "Manage significant changes during sprint execution" diff --git a/src/bmm/workflows/4-implementation/retrospective/bmad-skill-manifest.yaml b/src/bmm/workflows/4-implementation/retrospective/bmad-skill-manifest.yaml deleted file mode 100644 index 51a5648ef..000000000 --- a/src/bmm/workflows/4-implementation/retrospective/bmad-skill-manifest.yaml +++ /dev/null @@ -1,3 +0,0 @@ -canonicalId: bmad-retrospective -type: workflow -description: "Post-epic review to extract lessons and assess success" diff --git a/src/bmm/workflows/4-implementation/sprint-planning/bmad-skill-manifest.yaml b/src/bmm/workflows/4-implementation/sprint-planning/bmad-skill-manifest.yaml deleted file mode 100644 index 2c02512ee..000000000 --- a/src/bmm/workflows/4-implementation/sprint-planning/bmad-skill-manifest.yaml +++ /dev/null @@ -1,3 +0,0 @@ -canonicalId: bmad-sprint-planning -type: workflow -description: "Generate sprint status tracking from epics" diff --git a/src/bmm/workflows/4-implementation/sprint-status/bmad-skill-manifest.yaml b/src/bmm/workflows/4-implementation/sprint-status/bmad-skill-manifest.yaml deleted file mode 100644 index 437b880e9..000000000 --- a/src/bmm/workflows/4-implementation/sprint-status/bmad-skill-manifest.yaml +++ /dev/null @@ -1,3 +0,0 @@ -canonicalId: bmad-sprint-status -type: workflow -description: "Summarize sprint status and surface risks" diff --git a/src/bmm/workflows/bmad-document-project/SKILL.md b/src/bmm/workflows/bmad-document-project/SKILL.md new file mode 100644 index 000000000..32e30ebc1 --- /dev/null +++ b/src/bmm/workflows/bmad-document-project/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-document-project +description: 'Document brownfield projects for AI context. Use when the user says "document this project" or "generate project docs"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/bmad-document-project/bmad-skill-manifest.yaml b/src/bmm/workflows/bmad-document-project/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/bmad-document-project/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/document-project/checklist.md b/src/bmm/workflows/bmad-document-project/checklist.md similarity index 100% rename from src/bmm/workflows/document-project/checklist.md rename to src/bmm/workflows/bmad-document-project/checklist.md diff --git a/src/bmm/workflows/document-project/documentation-requirements.csv b/src/bmm/workflows/bmad-document-project/documentation-requirements.csv similarity index 100% rename from src/bmm/workflows/document-project/documentation-requirements.csv rename to src/bmm/workflows/bmad-document-project/documentation-requirements.csv diff --git a/src/bmm/workflows/document-project/instructions.md b/src/bmm/workflows/bmad-document-project/instructions.md similarity index 89% rename from src/bmm/workflows/document-project/instructions.md rename to src/bmm/workflows/bmad-document-project/instructions.md index 64f652247..4a57b8843 100644 --- a/src/bmm/workflows/document-project/instructions.md +++ b/src/bmm/workflows/bmad-document-project/instructions.md @@ -40,18 +40,18 @@ Load cached project_type_id(s) from state file CONDITIONAL CSV LOADING FOR RESUME: - For each cached project_type_id, load ONLY the corresponding row from: {documentation_requirements_csv} + For each cached project_type_id, load ONLY the corresponding row from: ./documentation-requirements.csv Skip loading project-types.csv and architecture_registry.csv (not needed on resume) Store loaded doc requirements for use in remaining steps Display: "Resuming {{workflow_mode}} from {{current_step}} with cached project type(s): {{cached_project_types}}" - Read fully and follow: {installed_path}/workflows/deep-dive-workflow.md with resume context + Read fully and follow: ./workflows/deep-dive-workflow.md with resume context - Read fully and follow: {installed_path}/workflows/full-scan-workflow.md with resume context + Read fully and follow: ./workflows/full-scan-workflow.md with resume context @@ -98,7 +98,7 @@ Your choice [1/2/3]: Set workflow_mode = "full_rescan" Display: "Starting full project rescan..." - Read fully and follow: {installed_path}/workflows/full-scan-workflow.md + Read fully and follow: ./workflows/full-scan-workflow.md After sub-workflow completes, continue to Step 4 @@ -106,7 +106,7 @@ Your choice [1/2/3]: Set workflow_mode = "deep_dive" Set scan_level = "exhaustive" Display: "Starting deep-dive documentation mode..." - Read fully and follow: {installed_path}/workflows/deep-dive-workflow.md + Read fully and follow: ./workflows/deep-dive-workflow.md After sub-workflow completes, continue to Step 4 @@ -119,7 +119,7 @@ Your choice [1/2/3]: Set workflow_mode = "initial_scan" Display: "No existing documentation found. Starting initial project scan..." - Read fully and follow: {installed_path}/workflows/full-scan-workflow.md + Read fully and follow: ./workflows/full-scan-workflow.md After sub-workflow completes, continue to Step 4 diff --git a/src/bmm/workflows/document-project/templates/deep-dive-template.md b/src/bmm/workflows/bmad-document-project/templates/deep-dive-template.md similarity index 100% rename from src/bmm/workflows/document-project/templates/deep-dive-template.md rename to src/bmm/workflows/bmad-document-project/templates/deep-dive-template.md diff --git a/src/bmm/workflows/document-project/templates/index-template.md b/src/bmm/workflows/bmad-document-project/templates/index-template.md similarity index 100% rename from src/bmm/workflows/document-project/templates/index-template.md rename to src/bmm/workflows/bmad-document-project/templates/index-template.md diff --git a/src/bmm/workflows/document-project/templates/project-overview-template.md b/src/bmm/workflows/bmad-document-project/templates/project-overview-template.md similarity index 100% rename from src/bmm/workflows/document-project/templates/project-overview-template.md rename to src/bmm/workflows/bmad-document-project/templates/project-overview-template.md diff --git a/src/bmm/workflows/document-project/templates/project-scan-report-schema.json b/src/bmm/workflows/bmad-document-project/templates/project-scan-report-schema.json similarity index 100% rename from src/bmm/workflows/document-project/templates/project-scan-report-schema.json rename to src/bmm/workflows/bmad-document-project/templates/project-scan-report-schema.json diff --git a/src/bmm/workflows/document-project/templates/source-tree-template.md b/src/bmm/workflows/bmad-document-project/templates/source-tree-template.md similarity index 100% rename from src/bmm/workflows/document-project/templates/source-tree-template.md rename to src/bmm/workflows/bmad-document-project/templates/source-tree-template.md diff --git a/src/bmm/workflows/bmad-document-project/workflow.md b/src/bmm/workflows/bmad-document-project/workflow.md new file mode 100644 index 000000000..344873050 --- /dev/null +++ b/src/bmm/workflows/bmad-document-project/workflow.md @@ -0,0 +1,27 @@ +# Document Project Workflow + +**Goal:** Document brownfield projects for AI context. + +**Your Role:** Project documentation specialist. +- Communicate all responses in {communication_language} + +--- + +## INITIALIZATION + +### Configuration Loading + +Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: + +- `project_knowledge` +- `user_name` +- `communication_language` +- `document_output_language` +- `user_skill_level` +- `date` as system-generated current datetime + +--- + +## EXECUTION + +Read fully and follow: `./instructions.md` diff --git a/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md b/src/bmm/workflows/bmad-document-project/workflows/deep-dive-instructions.md similarity index 97% rename from src/bmm/workflows/document-project/workflows/deep-dive-instructions.md rename to src/bmm/workflows/bmad-document-project/workflows/deep-dive-instructions.md index 396a2e43a..6a6d00e6c 100644 --- a/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +++ b/src/bmm/workflows/bmad-document-project/workflows/deep-dive-instructions.md @@ -4,6 +4,8 @@ This workflow performs exhaustive deep-dive documentation of specific areas Handles: deep_dive mode only +YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}` +YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` Deep-dive mode requires literal full-file review. Sampling, guessing, or relying solely on tooling output is FORBIDDEN. @@ -191,7 +193,7 @@ This will read EVERY file in this area. Proceed? [y/n] - Combine recommended test commands into {{suggested_tests}} -Load complete deep-dive template from: {installed_path}/templates/deep-dive-template.md +Load complete deep-dive template from: ../templates/deep-dive-template.md Fill template with all collected data from steps 13b-13d Write filled template to: {project_knowledge}/deep-dive-{{sanitized_target_name}}.md Validate deep-dive document completeness diff --git a/src/bmm/workflows/document-project/workflows/deep-dive-workflow.md b/src/bmm/workflows/bmad-document-project/workflows/deep-dive-workflow.md similarity index 55% rename from src/bmm/workflows/document-project/workflows/deep-dive-workflow.md rename to src/bmm/workflows/bmad-document-project/workflows/deep-dive-workflow.md index fea471e6d..c55f036a7 100644 --- a/src/bmm/workflows/document-project/workflows/deep-dive-workflow.md +++ b/src/bmm/workflows/bmad-document-project/workflows/deep-dive-workflow.md @@ -1,8 +1,3 @@ ---- -name: document-project-deep-dive -description: 'Exhaustive deep-dive documentation of specific project areas' ---- - # Deep-Dive Documentation Sub-Workflow **Goal:** Exhaustive deep-dive documentation of specific project areas. @@ -20,14 +15,11 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - `project_knowledge` - `user_name` +- `communication_language`, `document_output_language` - `date` as system-generated current datetime -### Paths - -- `installed_path` = `{project-root}/_bmad/bmm/workflows/document-project/workflows` -- `instructions` = `{installed_path}/deep-dive-instructions.md` -- `validation` = `{project-root}/_bmad/bmm/workflows/document-project/checklist.md` -- `deep_dive_template` = `{project-root}/_bmad/bmm/workflows/document-project/templates/deep-dive-template.md` +✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`. +✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`. ### Runtime Inputs @@ -39,4 +31,4 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ## EXECUTION -Read fully and follow: `{installed_path}/deep-dive-instructions.md` +Read fully and follow: `./deep-dive-instructions.md` diff --git a/src/bmm/workflows/document-project/workflows/full-scan-instructions.md b/src/bmm/workflows/bmad-document-project/workflows/full-scan-instructions.md similarity index 98% rename from src/bmm/workflows/document-project/workflows/full-scan-instructions.md rename to src/bmm/workflows/bmad-document-project/workflows/full-scan-instructions.md index d2a8a1e79..dd90c4eea 100644 --- a/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +++ b/src/bmm/workflows/bmad-document-project/workflows/full-scan-instructions.md @@ -4,6 +4,8 @@ This workflow performs complete project documentation (Steps 1-12) Handles: initial_scan and full_rescan modes +YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}` +YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` DATA LOADING STRATEGY - Understanding the Documentation Requirements System: @@ -14,7 +16,7 @@ This workflow uses a single comprehensive CSV file to intelligently document your project: -**documentation-requirements.csv** ({documentation_requirements_csv}) +**documentation-requirements.csv** (../documentation-requirements.csv) - Contains 12 project types (web, mobile, backend, cli, library, desktop, game, data, extension, infra, embedded) - 24-column schema combining project type detection AND documentation requirements @@ -34,7 +36,7 @@ This workflow uses a single comprehensive CSV file to intelligently document you Now loading documentation requirements data for fresh start... -Load documentation-requirements.csv from: {documentation_requirements_csv} +Load documentation-requirements.csv from: ../documentation-requirements.csv Store all 12 rows indexed by project_type_id for project detection and requirements lookup Display: "Loaded documentation requirements for 12 project types (web, mobile, backend, cli, library, desktop, game, data, extension, infra, embedded)" @@ -808,7 +810,7 @@ Generated in {{project_knowledge}}/: {{file_list_with_sizes}} -Run validation checklist from {validation} +Run validation checklist from ../checklist.md INCOMPLETE DOCUMENTATION DETECTION: diff --git a/src/bmm/workflows/document-project/workflows/full-scan-workflow.md b/src/bmm/workflows/bmad-document-project/workflows/full-scan-workflow.md similarity index 53% rename from src/bmm/workflows/document-project/workflows/full-scan-workflow.md rename to src/bmm/workflows/bmad-document-project/workflows/full-scan-workflow.md index 4c26fa1a7..5aaf4a580 100644 --- a/src/bmm/workflows/document-project/workflows/full-scan-workflow.md +++ b/src/bmm/workflows/bmad-document-project/workflows/full-scan-workflow.md @@ -1,8 +1,3 @@ ---- -name: document-project-full-scan -description: 'Complete project documentation workflow (initial scan or full rescan)' ---- - # Full Project Scan Sub-Workflow **Goal:** Complete project documentation (initial scan or full rescan). @@ -19,14 +14,11 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - `project_knowledge` - `user_name` +- `communication_language`, `document_output_language` - `date` as system-generated current datetime -### Paths - -- `installed_path` = `{project-root}/_bmad/bmm/workflows/document-project/workflows` -- `instructions` = `{installed_path}/full-scan-instructions.md` -- `validation` = `{project-root}/_bmad/bmm/workflows/document-project/checklist.md` -- `documentation_requirements_csv` = `{project-root}/_bmad/bmm/workflows/document-project/documentation-requirements.csv` +✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`. +✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`. ### Runtime Inputs @@ -39,4 +31,4 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ## EXECUTION -Read fully and follow: `{installed_path}/full-scan-instructions.md` +Read fully and follow: `./full-scan-instructions.md` diff --git a/src/bmm/workflows/bmad-generate-project-context/SKILL.md b/src/bmm/workflows/bmad-generate-project-context/SKILL.md new file mode 100644 index 000000000..369264285 --- /dev/null +++ b/src/bmm/workflows/bmad-generate-project-context/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-generate-project-context +description: 'Create project-context.md with AI rules. Use when the user says "generate project context" or "create project context"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/bmad-generate-project-context/bmad-skill-manifest.yaml b/src/bmm/workflows/bmad-generate-project-context/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/bmad-generate-project-context/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/generate-project-context/project-context-template.md b/src/bmm/workflows/bmad-generate-project-context/project-context-template.md similarity index 100% rename from src/bmm/workflows/generate-project-context/project-context-template.md rename to src/bmm/workflows/bmad-generate-project-context/project-context-template.md diff --git a/src/bmm/workflows/generate-project-context/steps/step-01-discover.md b/src/bmm/workflows/bmad-generate-project-context/steps/step-01-discover.md similarity index 96% rename from src/bmm/workflows/generate-project-context/steps/step-01-discover.md rename to src/bmm/workflows/bmad-generate-project-context/steps/step-01-discover.md index 16f95e15c..b34e0e1e0 100644 --- a/src/bmm/workflows/generate-project-context/steps/step-01-discover.md +++ b/src/bmm/workflows/bmad-generate-project-context/steps/step-01-discover.md @@ -123,7 +123,7 @@ Based on discovery, create or update the context document: #### A. Fresh Document Setup (if no existing context) -Copy template from `{installed_path}/project-context-template.md` to `{output_folder}/project-context.md` +Copy template from `./project-context-template.md` to `{output_folder}/project-context.md` Initialize frontmatter fields. #### B. Existing Document Update @@ -179,6 +179,6 @@ Ready to create/update your project context. This will help AI agents implement ## NEXT STEP: -After user selects [C] to continue, load `{project-root}/_bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md` to collaboratively generate the specific project context rules. +After user selects [C] to continue, load `./step-02-generate.md` to collaboratively generate the specific project context rules. Remember: Do NOT proceed to step-02 until user explicitly selects [C] from the menu and discovery is confirmed and the initial file has been written as directed in this discovery step! diff --git a/src/bmm/workflows/generate-project-context/steps/step-02-generate.md b/src/bmm/workflows/bmad-generate-project-context/steps/step-02-generate.md similarity index 98% rename from src/bmm/workflows/generate-project-context/steps/step-02-generate.md rename to src/bmm/workflows/bmad-generate-project-context/steps/step-02-generate.md index b44f1bc43..e644edd7f 100644 --- a/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +++ b/src/bmm/workflows/bmad-generate-project-context/steps/step-02-generate.md @@ -9,6 +9,7 @@ - 🎯 KEEP CONTENT LEAN - optimize for LLM context efficiency - ⚠️ ABSOLUTELY NO TIME ESTIMATES - AI development speed has fundamentally changed - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: @@ -313,6 +314,6 @@ When user selects 'C' for a category, append the content directly to `{output_fo ## NEXT STEP: -After completing all rule categories and user selects 'C' for the final category, load `{project-root}/_bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md` to finalize the project context file. +After completing all rule categories and user selects 'C' for the final category, load `./step-03-complete.md` to finalize the project context file. Remember: Do NOT proceed to step-03 until all categories are complete and user explicitly selects 'C' for each! diff --git a/src/bmm/workflows/generate-project-context/steps/step-03-complete.md b/src/bmm/workflows/bmad-generate-project-context/steps/step-03-complete.md similarity index 100% rename from src/bmm/workflows/generate-project-context/steps/step-03-complete.md rename to src/bmm/workflows/bmad-generate-project-context/steps/step-03-complete.md diff --git a/src/bmm/workflows/generate-project-context/workflow.md b/src/bmm/workflows/bmad-generate-project-context/workflow.md similarity index 76% rename from src/bmm/workflows/generate-project-context/workflow.md rename to src/bmm/workflows/bmad-generate-project-context/workflow.md index f1537c06e..7343c2914 100644 --- a/src/bmm/workflows/generate-project-context/workflow.md +++ b/src/bmm/workflows/bmad-generate-project-context/workflow.md @@ -1,8 +1,3 @@ ---- -name: generate-project-context -description: 'Create project-context.md with AI rules. Use when the user says "generate project context" or "create project context"' ---- - # Generate Project Context Workflow **Goal:** Create a concise, optimized `project-context.md` file containing critical rules, patterns, and guidelines that AI agents must follow when implementing code. This file focuses on unobvious details that LLMs need to be reminded of. @@ -33,17 +28,16 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - `communication_language`, `document_output_language`, `user_skill_level` - `date` as system-generated current datetime - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Paths -- `installed_path` = `{project-root}/_bmad/bmm/workflows/generate-project-context` -- `template_path` = `{installed_path}/project-context-template.md` - `output_file` = `{output_folder}/project-context.md` --- ## EXECUTION -Load and execute `{project-root}/_bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md` to begin the workflow. +Load and execute `./steps/step-01-discover.md` to begin the workflow. **Note:** Input document discovery and initialization protocols are handled in step-01-discover.md. diff --git a/src/bmm/workflows/bmad-qa-generate-e2e-tests/SKILL.md b/src/bmm/workflows/bmad-qa-generate-e2e-tests/SKILL.md new file mode 100644 index 000000000..b34d2fc9c --- /dev/null +++ b/src/bmm/workflows/bmad-qa-generate-e2e-tests/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-qa-generate-e2e-tests +description: 'Generate end to end automated tests for existing features. Use when the user says "create qa automated tests for [feature]"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/bmad-qa-generate-e2e-tests/bmad-skill-manifest.yaml b/src/bmm/workflows/bmad-qa-generate-e2e-tests/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/bmad-qa-generate-e2e-tests/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/qa-generate-e2e-tests/checklist.md b/src/bmm/workflows/bmad-qa-generate-e2e-tests/checklist.md similarity index 100% rename from src/bmm/workflows/qa-generate-e2e-tests/checklist.md rename to src/bmm/workflows/bmad-qa-generate-e2e-tests/checklist.md diff --git a/src/bmm/workflows/qa-generate-e2e-tests/workflow.md b/src/bmm/workflows/bmad-qa-generate-e2e-tests/workflow.md similarity index 89% rename from src/bmm/workflows/qa-generate-e2e-tests/workflow.md rename to src/bmm/workflows/bmad-qa-generate-e2e-tests/workflow.md index f911090b0..934355d99 100644 --- a/src/bmm/workflows/qa-generate-e2e-tests/workflow.md +++ b/src/bmm/workflows/bmad-qa-generate-e2e-tests/workflow.md @@ -1,8 +1,3 @@ ---- -name: qa-generate-e2e-tests -description: 'Generate end to end automated tests for existing features. Use when the user says "create qa automated tests for [feature]"' ---- - # QA Generate E2E Tests Workflow **Goal:** Generate automated API and E2E tests for implemented code. @@ -25,8 +20,6 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ### Paths -- `installed_path` = `{project-root}/_bmad/bmm/workflows/qa-generate-e2e-tests` -- `checklist` = `{installed_path}/checklist.md` - `test_dir` = `{project-root}/tests` - `source_dir` = `{project-root}` - `default_output_file` = `{implementation_artifacts}/tests/test-summary.md` @@ -140,4 +133,4 @@ If the project needs: Save summary to: `{default_output_file}` -**Done!** Tests generated and verified. Validate against `{checklist}`. +**Done!** Tests generated and verified. Validate against `./checklist.md`. diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-01-clarify-and-route.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-01-clarify-and-route.md index b8812e4f6..5671b6c66 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-01-clarify-and-route.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-01-clarify-and-route.md @@ -1,7 +1,4 @@ --- -name: 'step-01-clarify-and-route' -description: 'Capture intent, route to execution path' - wipFile: '{implementation_artifacts}/tech-spec-wip.md' deferred_work_file: '{implementation_artifacts}/deferred-work.md' spec_file: '' # set at runtime before leaving this step @@ -50,5 +47,5 @@ spec_file: '' # set at runtime before leaving this step ## NEXT -- One-shot / ready-for-dev: Read fully and follow `./steps/step-03-implement.md` -- Plan-code-review: Read fully and follow `./steps/step-02-plan.md` +- One-shot / ready-for-dev: Read fully and follow `./step-03-implement.md` +- Plan-code-review: Read fully and follow `./step-02-plan.md` diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-02-plan.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-02-plan.md index 22df65b60..70e7c83fb 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-02-plan.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-02-plan.md @@ -1,8 +1,4 @@ --- -name: 'step-02-plan' -description: 'Investigate, generate spec, present for approval' - -templateFile: '../tech-spec-template.md' wipFile: '{implementation_artifacts}/tech-spec-wip.md' deferred_work_file: '{implementation_artifacts}/deferred-work.md' --- @@ -17,7 +13,7 @@ deferred_work_file: '{implementation_artifacts}/deferred-work.md' ## INSTRUCTIONS 1. Investigate codebase. _Isolate deep exploration in sub-agents/tasks where available. To prevent context snowballing, instruct subagents to give you distilled summaries only._ -2. Read `{templateFile}` fully. Fill it out based on the intent and investigation, and write the result to `{wipFile}`. +2. Read `../tech-spec-template.md` fully. Fill it out based on the intent and investigation, and write the result to `{wipFile}`. 3. Self-review against READY FOR DEVELOPMENT standard. 4. If intent gaps exist, do not fantasize, do not leave open questions, HALT and ask the human. 5. Token count check (see SCOPE STANDARD). If spec exceeds 1600 tokens: @@ -36,4 +32,4 @@ Present summary. If token count exceeded 1600 and user chose [K], include the to ## NEXT -Read fully and follow `./steps/step-03-implement.md` +Read fully and follow `./step-03-implement.md` diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-03-implement.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-03-implement.md index 97d189272..fb596eb79 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-03-implement.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-03-implement.md @@ -1,6 +1,4 @@ --- -name: 'step-03-implement' -description: 'Execute implementation directly or via sub-agent. Local only.' --- # Step 3: Implement @@ -32,4 +30,4 @@ Otherwise (`execution_mode = "plan-code-review"`): hand `{spec_file}` to a sub-a ## NEXT -Read fully and follow `./steps/step-04-review.md` +Read fully and follow `./step-04-review.md` diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-04-review.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-04-review.md index 79e4510f8..154e97d0a 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-04-review.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-04-review.md @@ -1,7 +1,4 @@ --- -name: 'step-04-review' -description: 'Adversarial review, classify findings, optional spec loop' - deferred_work_file: '{implementation_artifacts}/deferred-work.md' specLoopIteration: 1 --- @@ -43,11 +40,11 @@ Do NOT `git add` anything — this is read-only inspection. - **defer** — pre-existing issue not caused by this story, surfaced incidentally by the review. Collect for later focused attention. - **reject** — noise. Drop silently. When unsure between defer and reject, prefer reject — only defer findings you are confident are real. 3. Process findings in cascading order. If intent_gap or bad_spec findings exist, they trigger a loopback — lower findings are moot since code will be re-derived. If neither exists, process patch and defer normally. Increment `{specLoopIteration}` on each loopback. If it exceeds 5, HALT and escalate to the human. On any loopback, re-evaluate routing — if scope has grown beyond one-shot, escalate `execution_mode` to plan-code-review. - - **intent_gap** — Root cause is inside ``. Revert code changes. Loop back to the human to resolve. Once resolved, read fully and follow `./steps/step-02-plan.md` to re-run steps 2–4. - - **bad_spec** — Root cause is outside ``. Before reverting code: extract KEEP instructions for positive preservation (what worked well and must survive re-derivation). Revert code changes. Read the `## Spec Change Log` in `{spec_file}` and strictly respect all logged constraints when amending the non-frozen sections that contain the root cause. Append a new change-log entry recording: the triggering finding, what was amended, the known-bad state avoided, and the KEEP instructions. Read fully and follow `./steps/step-03-implement.md` to re-derive the code, then this step will run again. + - **intent_gap** — Root cause is inside ``. Revert code changes. Loop back to the human to resolve. Once resolved, read fully and follow `./step-02-plan.md` to re-run steps 2–4. + - **bad_spec** — Root cause is outside ``. Before reverting code: extract KEEP instructions for positive preservation (what worked well and must survive re-derivation). Revert code changes. Read the `## Spec Change Log` in `{spec_file}` and strictly respect all logged constraints when amending the non-frozen sections that contain the root cause. Append a new change-log entry recording: the triggering finding, what was amended, the known-bad state avoided, and the KEEP instructions. Read fully and follow `./step-03-implement.md` to re-derive the code, then this step will run again. - **patch** — Auto-fix. These are the only findings that survive loopbacks. - **defer** — Append to `{deferred_work_file}`. - **reject** — Drop silently. ## NEXT -Read fully and follow `./steps/step-05-present.md` +Read fully and follow `./step-05-present.md` diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-05-present.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-05-present.md index c9bc13d50..800394015 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-05-present.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/steps/step-05-present.md @@ -1,6 +1,4 @@ --- -name: 'step-05-present' -description: 'Present findings, get approval, create PR' --- # Step 5: Present diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md index 71d231ac1..6da0bc844 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/workflow.md @@ -72,7 +72,6 @@ YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config ` ### 2. Paths -- `templateFile` = `./tech-spec-template.md` - `wipFile` = `{implementation_artifacts}/tech-spec-wip.md` ### 3. First Step Execution diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-01-mode-detection.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-01-mode-detection.md index 8de9be3fd..b0a7f933e 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-01-mode-detection.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-01-mode-detection.md @@ -1,9 +1,4 @@ --- -name: 'step-01-mode-detection' -description: 'Determine execution mode (tech-spec vs direct), handle escalation, set state variables' - -nextStepFile_modeA: './step-03-execute.md' -nextStepFile_modeB: './step-02-context-gathering.md' --- # Step 1: Mode Detection @@ -50,7 +45,7 @@ Analyze the user's input to determine mode: - Load the spec, extract tasks/context/AC - Set `{execution_mode}` = "tech-spec" - Set `{tech_spec_path}` = provided path -- **NEXT:** Read fully and follow: `{nextStepFile_modeA}` +- **NEXT:** Read fully and follow: `./step-03-execute.md` **Mode B: Direct Instructions** @@ -91,7 +86,7 @@ Display: "**Select:** [P] Plan first (tech-spec) [E] Execute directly" #### Menu Handling Logic: - IF P: Direct user to `{quick_spec_workflow}`. **EXIT Quick Dev.** -- IF E: Ask for any additional guidance, then **NEXT:** Read fully and follow: `{nextStepFile_modeB}` +- IF E: Ask for any additional guidance, then **NEXT:** Read fully and follow: `./step-02-context-gathering.md` #### EXECUTION RULES: @@ -114,7 +109,7 @@ Display: - IF P: Direct to `{quick_spec_workflow}`. **EXIT Quick Dev.** - IF W: Direct user to run the PRD workflow instead. **EXIT Quick Dev.** -- IF E: Ask for guidance, then **NEXT:** Read fully and follow: `{nextStepFile_modeB}` +- IF E: Ask for guidance, then **NEXT:** Read fully and follow: `./step-02-context-gathering.md` #### EXECUTION RULES: @@ -137,7 +132,7 @@ Display: - IF P: Direct to `{quick_spec_workflow}`. **EXIT Quick Dev.** - IF W: Direct user to run the PRD workflow instead. **EXIT Quick Dev.** -- IF E: Ask for guidance, then **NEXT:** Read fully and follow: `{nextStepFile_modeB}` +- IF E: Ask for guidance, then **NEXT:** Read fully and follow: `./step-02-context-gathering.md` #### EXECUTION RULES: @@ -150,8 +145,8 @@ Display: **CRITICAL:** When this step completes, explicitly state which step to load: -- Mode A (tech-spec): "**NEXT:** read fully and follow: `{nextStepFile_modeA}`" -- Mode B (direct, [E] selected): "**NEXT:** Read fully and follow: `{nextStepFile_modeB}`" +- Mode A (tech-spec): "**NEXT:** read fully and follow: `./step-03-execute.md`" +- Mode B (direct, [E] selected): "**NEXT:** Read fully and follow: `./step-02-context-gathering.md`" - Escalation ([P] or [W]): "**EXITING Quick Dev.** Follow the directed workflow." --- diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-02-context-gathering.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-02-context-gathering.md index 3652bb924..ba4750c15 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-02-context-gathering.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-02-context-gathering.md @@ -1,8 +1,4 @@ --- -name: 'step-02-context-gathering' -description: 'Quick context gathering for direct mode - identify files, patterns, dependencies' - -nextStepFile: './step-03-execute.md' --- # Step 2: Context Gathering (Direct Mode) @@ -97,7 +93,7 @@ Ready to execute? (y/n/adjust) **CRITICAL:** When user confirms ready, explicitly state: -- **y:** "**NEXT:** Read fully and follow: `{nextStepFile}`" +- **y:** "**NEXT:** Read fully and follow: `./step-03-execute.md`" - **n/adjust:** Continue gathering context, then re-present plan --- diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-03-execute.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-03-execute.md index 06801af7a..7feafef37 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-03-execute.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-03-execute.md @@ -1,8 +1,4 @@ --- -name: 'step-03-execute' -description: 'Execute implementation - iterate through tasks, write code, run tests' - -nextStepFile: './step-04-self-check.md' --- # Step 3: Execute Implementation @@ -89,7 +85,7 @@ For each task: ## NEXT STEP -When ALL tasks are complete (or halted on blocker), read fully and follow: `{nextStepFile}`. +When ALL tasks are complete (or halted on blocker), read fully and follow: `./step-04-self-check.md`. --- diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-04-self-check.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-04-self-check.md index e70de8515..ffb3ce1b7 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-04-self-check.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-04-self-check.md @@ -1,8 +1,4 @@ --- -name: 'step-04-self-check' -description: 'Self-audit implementation against tasks, tests, AC, and patterns' - -nextStepFile: './step-05-adversarial-review.md' --- # Step 4: Self-Check @@ -89,7 +85,7 @@ Proceeding to adversarial code review... ## NEXT STEP -Proceed immediately to `{nextStepFile}`. +Proceed immediately to `./step-05-adversarial-review.md`. --- diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-05-adversarial-review.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-05-adversarial-review.md index 29a0cef19..58ec3d3ae 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-05-adversarial-review.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-05-adversarial-review.md @@ -1,8 +1,4 @@ --- -name: 'step-05-adversarial-review' -description: 'Construct diff and invoke adversarial review skill' - -nextStepFile: './step-06-resolve-findings.md' --- # Step 5: Adversarial Code Review @@ -77,7 +73,7 @@ If TodoWrite or similar tool is available, turn each finding into a TODO, includ ## NEXT STEP -With findings in hand, read fully and follow: `{nextStepFile}` for user to choose resolution approach. +With findings in hand, read fully and follow: `./step-06-resolve-findings.md` for user to choose resolution approach. --- diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-06-resolve-findings.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-06-resolve-findings.md index 5c9165c86..aaebf1108 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-06-resolve-findings.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-06-resolve-findings.md @@ -1,6 +1,4 @@ --- -name: 'step-06-resolve-findings' -description: 'Handle review findings interactively, apply fixes, update tech-spec with final status' --- # Step 6: Resolve Findings diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/workflow.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/workflow.md index 0ad096c52..d76f51804 100644 --- a/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/workflow.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/workflow.md @@ -33,7 +33,7 @@ Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: ### Related Workflows -- `quick_spec_workflow` = `../quick-spec/workflow.md` +- `quick_spec_workflow` = `skill:bmad-quick-spec` - `party_mode_exec` = `{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md` - `advanced_elicitation` = `skill:bmad-advanced-elicitation` diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/SKILL.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/SKILL.md new file mode 100644 index 000000000..18cab1a26 --- /dev/null +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-quick-spec +description: 'Very quick process to create implementation-ready quick specs for small changes or features. Use when the user says "create a quick spec" or "generate a quick tech spec"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/bmad-skill-manifest.yaml b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-01-understand.md similarity index 89% rename from src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md rename to src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-01-understand.md index fecac560a..21799d8f9 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-01-understand.md @@ -1,8 +1,4 @@ --- -name: 'step-01-understand' -description: 'Analyze the requirement delta between current state and what user wants to build' - -templateFile: '../tech-spec-template.md' wipFile: '{implementation_artifacts}/tech-spec-wip.md' --- @@ -54,9 +50,9 @@ a) **Menu Handling:** - **[Y] Continue existing:** - Jump directly to the appropriate step based on `stepsCompleted`: - - `[1]` → Read fully and follow: `{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md` (Step 2) - - `[1, 2]` → Read fully and follow: `{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md` (Step 3) - - `[1, 2, 3]` → Read fully and follow: `{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md` (Step 4) + - `[1]` → Read fully and follow: `./step-02-investigate.md` (Step 2) + - `[1, 2]` → Read fully and follow: `./step-03-generate.md` (Step 3) + - `[1, 2, 3]` → Read fully and follow: `./step-04-review.md` (Step 4) - **[N] Archive and start fresh:** - Rename `{wipFile}` to `{implementation_artifacts}/tech-spec-{slug}-archived-{date}.md` @@ -125,7 +121,7 @@ b) **Ask the user to confirm the captured understanding before proceeding.** a) **Create the tech-spec WIP file:** -1. Copy template from `{templateFile}` +1. Copy template from `../tech-spec-template.md` 2. Write to `{wipFile}` 3. Update frontmatter with captured values: ```yaml @@ -167,7 +163,7 @@ b) **HALT and wait for user selection.** - IF A: Read fully and follow: `{advanced_elicitation}` with current tech-spec content, process enhanced insights, ask user "Accept improvements? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu - IF P: Read fully and follow: `{party_mode_exec}` with current tech-spec content, process collaborative insights, ask user "Accept changes? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu -- IF C: Verify `{wipFile}` has `stepsCompleted: [1]`, then read fully and follow: `{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md` +- IF C: Verify `{wipFile}` has `stepsCompleted: [1]`, then read fully and follow: `./step-02-investigate.md` - IF Any other comments or queries: respond helpfully then redisplay menu #### EXECUTION RULES: diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-02-investigate.md similarity index 95% rename from src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md rename to src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-02-investigate.md index 5e749a3ff..07ef40c05 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-02-investigate.md @@ -1,7 +1,4 @@ --- -name: 'step-02-investigate' -description: 'Map technical constraints and anchor points within the codebase' - wipFile: '{implementation_artifacts}/tech-spec-wip.md' --- @@ -121,7 +118,7 @@ Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Ge - IF A: Read fully and follow: `{advanced_elicitation}` with current tech-spec content, process enhanced insights, ask user "Accept improvements? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu - IF P: Read fully and follow: `{party_mode_exec}` with current tech-spec content, process collaborative insights, ask user "Accept changes? (y/n)", if yes update WIP file then redisplay menu, if no keep original then redisplay menu -- IF C: Verify frontmatter updated with `stepsCompleted: [1, 2]`, then read fully and follow: `{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md` +- IF C: Verify frontmatter updated with `stepsCompleted: [1, 2]`, then read fully and follow: `./step-03-generate.md` - IF Any other comments or queries: respond helpfully then redisplay menu #### EXECUTION RULES: diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-03-generate.md similarity index 92% rename from src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md rename to src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-03-generate.md index 2a8ee18e1..17ef38ae2 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-03-generate.md @@ -1,7 +1,4 @@ --- -name: 'step-03-generate' -description: 'Build the implementation plan based on the technical mapping of constraints' - wipFile: '{implementation_artifacts}/tech-spec-wip.md' --- @@ -112,7 +109,7 @@ stepsCompleted: [1, 2, 3] --- ``` -c) **Read fully and follow: `{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md` (Step 4)** +c) **Read fully and follow: `./step-04-review.md` (Step 4)** ## REQUIRED OUTPUTS: diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-04-review.md similarity index 98% rename from src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md rename to src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-04-review.md index a973caecd..828b6e197 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-04-review.md @@ -1,7 +1,4 @@ --- -name: 'step-04-review' -description: 'Review and finalize the tech-spec' - wipFile: '{implementation_artifacts}/tech-spec-wip.md' --- diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/tech-spec-template.md similarity index 100% rename from src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md rename to src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/tech-spec-template.md diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/workflow.md similarity index 90% rename from src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md rename to src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/workflow.md index 02e231fe5..9d86ffbe2 100644 --- a/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +++ b/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/workflow.md @@ -1,6 +1,4 @@ --- -name: quick-spec -description: 'Very quick process to create implementation-ready quick specs for small changes or features. Use when the user says "create a quick spec" or "generate a quick tech spec"' main_config: '{project-root}/_bmad/bmm/config.yaml' # Checkpoint handler references @@ -75,4 +73,4 @@ Load and read full config from `{main_config}` and resolve: ### 2. First Step Execution -Read fully and follow: `{project-root}/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md` to begin the workflow. +Read fully and follow: `./steps/step-01-understand.md` to begin the workflow. diff --git a/src/bmm/workflows/bmad-quick-flow/quick-spec/bmad-skill-manifest.yaml b/src/bmm/workflows/bmad-quick-flow/quick-spec/bmad-skill-manifest.yaml deleted file mode 100644 index 1a383135c..000000000 --- a/src/bmm/workflows/bmad-quick-flow/quick-spec/bmad-skill-manifest.yaml +++ /dev/null @@ -1,3 +0,0 @@ -canonicalId: bmad-quick-spec -type: workflow -description: "Very quick process to create implementation-ready quick specs for small changes or features" diff --git a/src/bmm/workflows/document-project/bmad-skill-manifest.yaml b/src/bmm/workflows/document-project/bmad-skill-manifest.yaml deleted file mode 100644 index 4e8cb2767..000000000 --- a/src/bmm/workflows/document-project/bmad-skill-manifest.yaml +++ /dev/null @@ -1,3 +0,0 @@ -canonicalId: bmad-document-project -type: workflow -description: "Document brownfield projects for AI context" diff --git a/src/bmm/workflows/document-project/workflow.md b/src/bmm/workflows/document-project/workflow.md deleted file mode 100644 index cd7d9d33d..000000000 --- a/src/bmm/workflows/document-project/workflow.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: document-project -description: 'Document brownfield projects for AI context. Use when the user says "document this project" or "generate project docs"' ---- - -# Document Project Workflow - -**Goal:** Document brownfield projects for AI context. - -**Your Role:** Project documentation specialist. -- Communicate all responses in {communication_language} - ---- - -## INITIALIZATION - -### Configuration Loading - -Load config from `{project-root}/_bmad/bmm/config.yaml` and resolve: - -- `project_knowledge` -- `user_name` -- `communication_language` -- `document_output_language` -- `user_skill_level` -- `date` as system-generated current datetime - -### Paths - -- `installed_path` = `{project-root}/_bmad/bmm/workflows/document-project` -- `instructions` = `{installed_path}/instructions.md` -- `validation` = `{installed_path}/checklist.md` -- `documentation_requirements_csv` = `{installed_path}/documentation-requirements.csv` - ---- - -## EXECUTION - -Read fully and follow: `{installed_path}/instructions.md` diff --git a/src/bmm/workflows/generate-project-context/bmad-skill-manifest.yaml b/src/bmm/workflows/generate-project-context/bmad-skill-manifest.yaml deleted file mode 100644 index c319972c4..000000000 --- a/src/bmm/workflows/generate-project-context/bmad-skill-manifest.yaml +++ /dev/null @@ -1,3 +0,0 @@ -canonicalId: bmad-generate-project-context -type: workflow -description: "Create project-context.md with AI rules" diff --git a/src/bmm/workflows/qa-generate-e2e-tests/bmad-skill-manifest.yaml b/src/bmm/workflows/qa-generate-e2e-tests/bmad-skill-manifest.yaml deleted file mode 100644 index 20e08be69..000000000 --- a/src/bmm/workflows/qa-generate-e2e-tests/bmad-skill-manifest.yaml +++ /dev/null @@ -1,3 +0,0 @@ -canonicalId: bmad-qa-generate-e2e-tests -type: workflow -description: "Generate end-to-end automated tests for existing features" diff --git a/src/core/tasks/bmad-advanced-elicitation/workflow.md b/src/core/tasks/bmad-advanced-elicitation/workflow.md index 4d947d6f4..692a37fa6 100644 --- a/src/core/tasks/bmad-advanced-elicitation/workflow.md +++ b/src/core/tasks/bmad-advanced-elicitation/workflow.md @@ -1,5 +1,4 @@ --- -methods: './methods.csv' agent_party: '{project-root}/_bmad/_config/agent-manifest.csv' --- @@ -35,7 +34,7 @@ When invoked from another prompt or process: ### Step 1: Method Registry Loading -**Action:** Load and read `{methods}` and `{agent_party}` +**Action:** Load and read `./methods.csv` and `{agent_party}` #### CSV Structure diff --git a/src/core/tasks/bmad-create-prd/SKILL.md b/src/core/tasks/bmad-create-prd/SKILL.md new file mode 100644 index 000000000..dc0c844ce --- /dev/null +++ b/src/core/tasks/bmad-create-prd/SKILL.md @@ -0,0 +1,6 @@ +--- +name: bmad-create-prd +description: 'Create a PRD from scratch. Use when the user says "lets create a product requirements document" or "I want to create a new PRD"' +--- + +Follow the instructions in [workflow.md](workflow.md). diff --git a/src/core/tasks/bmad-create-prd/bmad-skill-manifest.yaml b/src/core/tasks/bmad-create-prd/bmad-skill-manifest.yaml new file mode 100644 index 000000000..d0f08abdb --- /dev/null +++ b/src/core/tasks/bmad-create-prd/bmad-skill-manifest.yaml @@ -0,0 +1 @@ +type: skill diff --git a/src/core/tasks/bmad-create-prd/data/domain-complexity.csv b/src/core/tasks/bmad-create-prd/data/domain-complexity.csv new file mode 100644 index 000000000..60a7b503f --- /dev/null +++ b/src/core/tasks/bmad-create-prd/data/domain-complexity.csv @@ -0,0 +1,15 @@ +domain,signals,complexity,key_concerns,required_knowledge,suggested_workflow,web_searches,special_sections +healthcare,"medical,diagnostic,clinical,FDA,patient,treatment,HIPAA,therapy,pharma,drug",high,"FDA approval;Clinical validation;HIPAA compliance;Patient safety;Medical device classification;Liability","Regulatory pathways;Clinical trial design;Medical standards;Data privacy;Integration requirements","domain-research","FDA software medical device guidance {date};HIPAA compliance software requirements;Medical software standards {date};Clinical validation software","clinical_requirements;regulatory_pathway;validation_methodology;safety_measures" +fintech,"payment,banking,trading,investment,crypto,wallet,transaction,KYC,AML,funds,fintech",high,"Regional compliance;Security standards;Audit requirements;Fraud prevention;Data protection","KYC/AML requirements;PCI DSS;Open banking;Regional laws (US/EU/APAC);Crypto regulations","domain-research","fintech regulations {date};payment processing compliance {date};open banking API standards;cryptocurrency regulations {date}","compliance_matrix;security_architecture;audit_requirements;fraud_prevention" +govtech,"government,federal,civic,public sector,citizen,municipal,voting",high,"Procurement rules;Security clearance;Accessibility (508);FedRAMP;Privacy;Transparency","Government procurement;Security frameworks;Accessibility standards;Privacy laws;Open data requirements","domain-research","government software procurement {date};FedRAMP compliance requirements;section 508 accessibility;government security standards","procurement_compliance;security_clearance;accessibility_standards;transparency_requirements" +edtech,"education,learning,student,teacher,curriculum,assessment,K-12,university,LMS",medium,"Student privacy (COPPA/FERPA);Accessibility;Content moderation;Age verification;Curriculum standards","Educational privacy laws;Learning standards;Accessibility requirements;Content guidelines;Assessment validity","domain-research","educational software privacy {date};COPPA FERPA compliance;WCAG education requirements;learning management standards","privacy_compliance;content_guidelines;accessibility_features;curriculum_alignment" +aerospace,"aircraft,spacecraft,aviation,drone,satellite,propulsion,flight,radar,navigation",high,"Safety certification;DO-178C compliance;Performance validation;Simulation accuracy;Export controls","Aviation standards;Safety analysis;Simulation validation;ITAR/export controls;Performance requirements","domain-research + technical-model","DO-178C software certification;aerospace simulation standards {date};ITAR export controls software;aviation safety requirements","safety_certification;simulation_validation;performance_requirements;export_compliance" +automotive,"vehicle,car,autonomous,ADAS,automotive,driving,EV,charging",high,"Safety standards;ISO 26262;V2X communication;Real-time requirements;Certification","Automotive standards;Functional safety;V2X protocols;Real-time systems;Testing requirements","domain-research","ISO 26262 automotive software;automotive safety standards {date};V2X communication protocols;EV charging standards","safety_standards;functional_safety;communication_protocols;certification_requirements" +scientific,"research,algorithm,simulation,modeling,computational,analysis,data science,ML,AI",medium,"Reproducibility;Validation methodology;Peer review;Performance;Accuracy;Computational resources","Scientific method;Statistical validity;Computational requirements;Domain expertise;Publication standards","technical-model","scientific computing best practices {date};research reproducibility standards;computational modeling validation;peer review software","validation_methodology;accuracy_metrics;reproducibility_plan;computational_requirements" +legaltech,"legal,law,contract,compliance,litigation,patent,attorney,court",high,"Legal ethics;Bar regulations;Data retention;Attorney-client privilege;Court system integration","Legal practice rules;Ethics requirements;Court filing systems;Document standards;Confidentiality","domain-research","legal technology ethics {date};law practice management software requirements;court filing system standards;attorney client privilege technology","ethics_compliance;data_retention;confidentiality_measures;court_integration" +insuretech,"insurance,claims,underwriting,actuarial,policy,risk,premium",high,"Insurance regulations;Actuarial standards;Data privacy;Fraud detection;State compliance","Insurance regulations by state;Actuarial methods;Risk modeling;Claims processing;Regulatory reporting","domain-research","insurance software regulations {date};actuarial standards software;insurance fraud detection;state insurance compliance","regulatory_requirements;risk_modeling;fraud_detection;reporting_compliance" +energy,"energy,utility,grid,solar,wind,power,electricity,oil,gas",high,"Grid compliance;NERC standards;Environmental regulations;Safety requirements;Real-time operations","Energy regulations;Grid standards;Environmental compliance;Safety protocols;SCADA systems","domain-research","energy sector software compliance {date};NERC CIP standards;smart grid requirements;renewable energy software standards","grid_compliance;safety_protocols;environmental_compliance;operational_requirements" +process_control,"industrial automation,process control,PLC,SCADA,DCS,HMI,operational technology,OT,control system,cyberphysical,MES,historian,instrumentation,I&C,P&ID",high,"Functional safety;OT cybersecurity;Real-time control requirements;Legacy system integration;Process safety and hazard analysis;Environmental compliance and permitting;Engineering authority and PE requirements","Functional safety standards;OT security frameworks;Industrial protocols;Process control architecture;Plant reliability and maintainability","domain-research + technical-model","IEC 62443 OT cybersecurity requirements {date};functional safety software requirements {date};industrial process control architecture;ISA-95 manufacturing integration","functional_safety;ot_security;process_requirements;engineering_authority" +building_automation,"building automation,BAS,BMS,HVAC,smart building,lighting control,fire alarm,fire protection,fire suppression,life safety,elevator,access control,DDC,energy management,sequence of operations,commissioning",high,"Life safety codes;Building energy standards;Multi-trade coordination and interoperability;Commissioning and ongoing operational performance;Indoor environmental quality and occupant comfort;Engineering authority and PE requirements","Building automation protocols;HVAC and mechanical controls;Fire alarm, fire protection, and life safety design;Commissioning process and sequence of operations;Building codes and energy standards","domain-research","smart building software architecture {date};BACnet integration best practices;building automation cybersecurity {date};ASHRAE building standards","life_safety;energy_compliance;commissioning_requirements;engineering_authority" +gaming,"game,player,gameplay,level,character,multiplayer,quest",redirect,"REDIRECT TO GAME WORKFLOWS","Game design","game-brief","NA","NA" +general,"",low,"Standard requirements;Basic security;User experience;Performance","General software practices","continue","software development best practices {date}","standard_requirements" \ No newline at end of file diff --git a/src/core/tasks/bmad-create-prd/data/prd-purpose.md b/src/core/tasks/bmad-create-prd/data/prd-purpose.md new file mode 100644 index 000000000..755230be7 --- /dev/null +++ b/src/core/tasks/bmad-create-prd/data/prd-purpose.md @@ -0,0 +1,197 @@ +# BMAD PRD Purpose + +**The PRD is the top of the required funnel that feeds all subsequent product development work in rhw BMad Method.** + +--- + +## What is a BMAD PRD? + +A dual-audience document serving: +1. **Human Product Managers and builders** - Vision, strategy, stakeholder communication +2. **LLM Downstream Consumption** - UX Design → Architecture → Epics → Development AI Agents + +Each successive document becomes more AI-tailored and granular. + +--- + +## Core Philosophy: Information Density + +**High Signal-to-Noise Ratio** + +Every sentence must carry information weight. LLMs consume precise, dense content efficiently. + +**Anti-Patterns (Eliminate These):** +- ❌ "The system will allow users to..." → ✅ "Users can..." +- ❌ "It is important to note that..." → ✅ State the fact directly +- ❌ "In order to..." → ✅ "To..." +- ❌ Conversational filler and padding → ✅ Direct, concise statements + +**Goal:** Maximum information per word. Zero fluff. + +--- + +## The Traceability Chain + +**PRD starts the chain:** +``` +Vision → Success Criteria → User Journeys → Functional Requirements → (future: User Stories) +``` + +**In the PRD, establish:** +- Vision → Success Criteria alignment +- Success Criteria → User Journey coverage +- User Journey → Functional Requirement mapping +- All requirements traceable to user needs + +**Why:** Each downstream artifact (UX, Architecture, Epics, Stories) must trace back to documented user needs and business objectives. This chain ensures we build the right thing. + +--- + +## What Makes Great Functional Requirements? + +### FRs are Capabilities, Not Implementation + +**Good FR:** "Users can reset their password via email link" +**Bad FR:** "System sends JWT via email and validates with database" (implementation leakage) + +**Good FR:** "Dashboard loads in under 2 seconds for 95th percentile" +**Bad FR:** "Fast loading time" (subjective, unmeasurable) + +### SMART Quality Criteria + +**Specific:** Clear, precisely defined capability +**Measurable:** Quantifiable with test criteria +**Attainable:** Realistic within constraints +**Relevant:** Aligns with business objectives +**Traceable:** Links to source (executive summary or user journey) + +### FR Anti-Patterns + +**Subjective Adjectives:** +- ❌ "easy to use", "intuitive", "user-friendly", "fast", "responsive" +- ✅ Use metrics: "completes task in under 3 clicks", "loads in under 2 seconds" + +**Implementation Leakage:** +- ❌ Technology names, specific libraries, implementation details +- ✅ Focus on capability and measurable outcomes + +**Vague Quantifiers:** +- ❌ "multiple users", "several options", "various formats" +- ✅ "up to 100 concurrent users", "3-5 options", "PDF, DOCX, TXT formats" + +**Missing Test Criteria:** +- ❌ "The system shall provide notifications" +- ✅ "The system shall send email notifications within 30 seconds of trigger event" + +--- + +## What Makes Great Non-Functional Requirements? + +### NFRs Must Be Measurable + +**Template:** +``` +"The system shall [metric] [condition] [measurement method]" +``` + +**Examples:** +- ✅ "The system shall respond to API requests in under 200ms for 95th percentile as measured by APM monitoring" +- ✅ "The system shall maintain 99.9% uptime during business hours as measured by cloud provider SLA" +- ✅ "The system shall support 10,000 concurrent users as measured by load testing" + +### NFR Anti-Patterns + +**Unmeasurable Claims:** +- ❌ "The system shall be scalable" → ✅ "The system shall handle 10x load growth through horizontal scaling" +- ❌ "High availability required" → ✅ "99.9% uptime as measured by cloud provider SLA" + +**Missing Context:** +- ❌ "Response time under 1 second" → ✅ "API response time under 1 second for 95th percentile under normal load" + +--- + +## Domain-Specific Requirements + +**Auto-Detect and Enforce Based on Project Context** + +Certain industries have mandatory requirements that must be present: + +- **Healthcare:** HIPAA Privacy & Security Rules, PHI encryption, audit logging, MFA +- **Fintech:** PCI-DSS Level 1, AML/KYC compliance, SOX controls, financial audit trails +- **GovTech:** NIST framework, Section 508 accessibility (WCAG 2.1 AA), FedRAMP, data residency +- **E-Commerce:** PCI-DSS for payments, inventory accuracy, tax calculation by jurisdiction + +**Why:** Missing these requirements in the PRD means they'll be missed in architecture and implementation, creating expensive rework. During PRD creation there is a step to cover this - during validation we want to make sure it was covered. For this purpose steps will utilize a domain-complexity.csv and project-types.csv. + +--- + +## Document Structure (Markdown, Human-Readable) + +### Required Sections +1. **Executive Summary** - Vision, differentiator, target users +2. **Success Criteria** - Measurable outcomes (SMART) +3. **Product Scope** - MVP, Growth, Vision phases +4. **User Journeys** - Comprehensive coverage +5. **Domain Requirements** - Industry-specific compliance (if applicable) +6. **Innovation Analysis** - Competitive differentiation (if applicable) +7. **Project-Type Requirements** - Platform-specific needs +8. **Functional Requirements** - Capability contract (FRs) +9. **Non-Functional Requirements** - Quality attributes (NFRs) + +### Formatting for Dual Consumption + +**For Humans:** +- Clear, professional language +- Logical flow from vision to requirements +- Easy for stakeholders to review and approve + +**For LLMs:** +- ## Level 2 headers for all main sections (enables extraction) +- Consistent structure and patterns +- Precise, testable language +- High information density + +--- + +## Downstream Impact + +**How the PRD Feeds Next Artifacts:** + +**UX Design:** +- User journeys → interaction flows +- FRs → design requirements +- Success criteria → UX metrics + +**Architecture:** +- FRs → system capabilities +- NFRs → architecture decisions +- Domain requirements → compliance architecture +- Project-type requirements → platform choices + +**Epics & Stories (created after architecture):** +- FRs → user stories (1 FR could map to 1-3 stories potentially) +- Acceptance criteria → story acceptance tests +- Priority → sprint sequencing +- Traceability → stories map back to vision + +**Development AI Agents:** +- Precise requirements → implementation clarity +- Test criteria → automated test generation +- Domain requirements → compliance enforcement +- Measurable NFRs → performance targets + +--- + +## Summary: What Makes a Great BMAD PRD? + +✅ **High Information Density** - Every sentence carries weight, zero fluff +✅ **Measurable Requirements** - All FRs and NFRs are testable with specific criteria +✅ **Clear Traceability** - Each requirement links to user need and business objective +✅ **Domain Awareness** - Industry-specific requirements auto-detected and included +✅ **Zero Anti-Patterns** - No subjective adjectives, implementation leakage, or vague quantifiers +✅ **Dual Audience Optimized** - Human-readable AND LLM-consumable +✅ **Markdown Format** - Professional, clean, accessible to all stakeholders + +--- + +**Remember:** The PRD is the foundation. Quality here ripples through every subsequent phase. A dense, precise, well-traced PRD makes UX design, architecture, epic breakdown, and AI development dramatically more effective. diff --git a/src/core/tasks/bmad-create-prd/data/project-types.csv b/src/core/tasks/bmad-create-prd/data/project-types.csv new file mode 100644 index 000000000..6f71c513a --- /dev/null +++ b/src/core/tasks/bmad-create-prd/data/project-types.csv @@ -0,0 +1,11 @@ +project_type,detection_signals,key_questions,required_sections,skip_sections,web_search_triggers,innovation_signals +api_backend,"API,REST,GraphQL,backend,service,endpoints","Endpoints needed?;Authentication method?;Data formats?;Rate limits?;Versioning?;SDK needed?","endpoint_specs;auth_model;data_schemas;error_codes;rate_limits;api_docs","ux_ui;visual_design;user_journeys","framework best practices;OpenAPI standards","API composition;New protocol" +mobile_app,"iOS,Android,app,mobile,iPhone,iPad","Native or cross-platform?;Offline needed?;Push notifications?;Device features?;Store compliance?","platform_reqs;device_permissions;offline_mode;push_strategy;store_compliance","desktop_features;cli_commands","app store guidelines;platform requirements","Gesture innovation;AR/VR features" +saas_b2b,"SaaS,B2B,platform,dashboard,teams,enterprise","Multi-tenant?;Permission model?;Subscription tiers?;Integrations?;Compliance?","tenant_model;rbac_matrix;subscription_tiers;integration_list;compliance_reqs","cli_interface;mobile_first","compliance requirements;integration guides","Workflow automation;AI agents" +developer_tool,"SDK,library,package,npm,pip,framework","Language support?;Package managers?;IDE integration?;Documentation?;Examples?","language_matrix;installation_methods;api_surface;code_examples;migration_guide","visual_design;store_compliance","package manager best practices;API design patterns","New paradigm;DSL creation" +cli_tool,"CLI,command,terminal,bash,script","Interactive or scriptable?;Output formats?;Config method?;Shell completion?","command_structure;output_formats;config_schema;scripting_support","visual_design;ux_principles;touch_interactions","CLI design patterns;shell integration","Natural language CLI;AI commands" +web_app,"website,webapp,browser,SPA,PWA","SPA or MPA?;Browser support?;SEO needed?;Real-time?;Accessibility?","browser_matrix;responsive_design;performance_targets;seo_strategy;accessibility_level","native_features;cli_commands","web standards;WCAG guidelines","New interaction;WebAssembly use" +game,"game,player,gameplay,level,character","REDIRECT TO USE THE BMad Method Game Module Agent and Workflows - HALT","game-brief;GDD","most_sections","game design patterns","Novel mechanics;Genre mixing" +desktop_app,"desktop,Windows,Mac,Linux,native","Cross-platform?;Auto-update?;System integration?;Offline?","platform_support;system_integration;update_strategy;offline_capabilities","web_seo;mobile_features","desktop guidelines;platform requirements","Desktop AI;System automation" +iot_embedded,"IoT,embedded,device,sensor,hardware","Hardware specs?;Connectivity?;Power constraints?;Security?;OTA updates?","hardware_reqs;connectivity_protocol;power_profile;security_model;update_mechanism","visual_ui;browser_support","IoT standards;protocol specs","Edge AI;New sensors" +blockchain_web3,"blockchain,crypto,DeFi,NFT,smart contract","Chain selection?;Wallet integration?;Gas optimization?;Security audit?","chain_specs;wallet_support;smart_contracts;security_audit;gas_optimization","traditional_auth;centralized_db","blockchain standards;security patterns","Novel tokenomics;DAO structure" \ No newline at end of file diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md b/src/core/tasks/bmad-create-prd/steps-c/step-01-init.md similarity index 91% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md rename to src/core/tasks/bmad-create-prd/steps-c/step-01-init.md index 4b53688d0..8268e6a97 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-01-init.md @@ -1,16 +1,3 @@ ---- -name: 'step-01-init' -description: 'Initialize the PRD workflow by detecting continuation state and setting up the document' - -# File References -nextStepFile: './step-02-discovery.md' -continueStepFile: './step-01b-continue.md' -outputFile: '{planning_artifacts}/prd.md' - -# Template Reference -prdTemplate: '../templates/prd-template.md' ---- - # Step 1: Workflow Initialization **Progress: Step 1 of 11** - Next: Project Discovery @@ -71,11 +58,11 @@ First, check if the output document already exists: ### 2. Handle Continuation (If Document Exists) -If the document exists and has frontmatter with `stepsCompleted` BUT `step-11-complete` is NOT in the list, follow the Continuation Protocol since the document is incomplete: +If the document exists and has frontmatter with `stepsCompleted` BUT `step-12-complete` is NOT in the list, follow the Continuation Protocol since the document is incomplete: **Continuation Protocol:** -- **STOP immediately** and load `{continueStepFile}` +- **STOP immediately** and load `./step-01b-continue.md` - Do not proceed with any initialization tasks - Let step-01b handle all continuation logic - This is an auto-proceed situation - no user choice needed @@ -89,7 +76,7 @@ If no document exists or no `stepsCompleted` in frontmatter: Discover and load context documents using smart discovery. Documents can be in the following locations: - {planning_artifacts}/** - {output_folder}/** -- {product_knowledge}/** +- {project_knowledge}/** - docs/** Also - when searching - documents can be a single markdown file, or a folder with an index and multiple files. For Example, if searching for `*foo*.md` and not found, also search for a folder called *foo*/index.md (which indicates sharded content) @@ -97,7 +84,7 @@ Also - when searching - documents can be a single markdown file, or a folder wit Try to discover the following: - Product Brief (`*brief*.md`) - Research Documents (`/*research*.md`) -- Project Documentation (generally multiple documents might be found for this in the `{product_knowledge}` or `docs` folder.) +- Project Documentation (generally multiple documents might be found for this in the `{project_knowledge}` or `docs` folder.) - Project Context (`**/project-context.md`) Confirm what you have found with the user, along with asking if the user wants to provide anything else. Only after this confirmation will you proceed to follow the loading rules @@ -114,7 +101,7 @@ Try to discover the following: **Document Setup:** -- Copy the template from `{prdTemplate}` to `{outputFile}` +- Copy the template from `../templates/prd-template.md` to `{outputFile}` - Initialize frontmatter with proper structure including inputDocuments array. #### C. Present Initialization Results @@ -151,7 +138,7 @@ Display menu after setup report: #### Menu Handling Logic: -- IF C: Update output file frontmatter, adding this step name to the end of the list of stepsCompleted, then read fully and follow: {nextStepFile} +- IF C: Update output file frontmatter, adding this step name to the end of the list of stepsCompleted, then read fully and follow: ./step-02-discovery.md - IF user provides additional files: Load them, update inputDocuments and documentCounts, redisplay report - IF user asks questions: Answer and redisplay menu @@ -162,7 +149,7 @@ Display menu after setup report: ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [frontmatter properly updated with this step added to stepsCompleted and documentCounts], will you then read fully and follow: `{nextStepFile}` to begin project discovery. +ONLY WHEN [C continue option] is selected and [frontmatter properly updated with this step added to stepsCompleted and documentCounts], will you then read fully and follow: `./step-02-discovery.md` to begin project discovery. --- diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md b/src/core/tasks/bmad-create-prd/steps-c/step-01b-continue.md similarity index 76% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md rename to src/core/tasks/bmad-create-prd/steps-c/step-01b-continue.md index 2ad958b69..4351cc122 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-01b-continue.md @@ -1,11 +1,3 @@ ---- -name: 'step-01b-continue' -description: 'Resume an interrupted PRD workflow from the last completed step' - -# File References -outputFile: '{planning_artifacts}/prd.md' ---- - # Step 1B: Workflow Continuation ## STEP GOAL: @@ -70,21 +62,38 @@ Review the frontmatter to understand: ### 3. Determine Next Step -**Simplified Next Step Logic:** -1. Get the last element from the `stepsCompleted` array (this is the filename of the last completed step, e.g., "step-03-success.md") -2. Load that step file and read its frontmatter -3. Extract the `nextStepFile` value from the frontmatter -4. That's the next step to load! +**Step Sequence Lookup:** + +Use the following ordered sequence to determine the next step from the last completed step: + +| Last Completed | Next Step | +|---|---| +| step-01-init.md | step-02-discovery.md | +| step-02-discovery.md | step-02b-vision.md | +| step-02b-vision.md | step-02c-executive-summary.md | +| step-02c-executive-summary.md | step-03-success.md | +| step-03-success.md | step-04-journeys.md | +| step-04-journeys.md | step-05-domain.md | +| step-05-domain.md | step-06-innovation.md | +| step-06-innovation.md | step-07-project-type.md | +| step-07-project-type.md | step-08-scoping.md | +| step-08-scoping.md | step-09-functional.md | +| step-09-functional.md | step-10-nonfunctional.md | +| step-10-nonfunctional.md | step-11-polish.md | +| step-11-polish.md | step-12-complete.md | + +1. Get the last element from the `stepsCompleted` array +2. Look it up in the table above to find the next step +3. That's the next step to load! **Example:** - If `stepsCompleted = ["step-01-init.md", "step-02-discovery.md", "step-03-success.md"]` - Last element is `"step-03-success.md"` -- Load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md`, read its frontmatter -- Read fully and follow: `{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md` +- Table lookup → next step is `./step-04-journeys.md` ### 4. Handle Workflow Completion -**If `stepsCompleted` array contains `"step-11-complete.md"`:** +**If `stepsCompleted` array contains `"step-12-complete.md"`:** "Great news! It looks like we've already completed the PRD workflow for {{project_name}}. The final document is ready at `{outputFile}` with all sections completed. @@ -104,7 +113,7 @@ What would be most helpful?" **Current Progress:** - Last completed: {last step filename from stepsCompleted array} -- Next up: {nextStepFile determined from that step's frontmatter} +- Next up: {next step from lookup table} - Context documents available: {len(inputDocuments)} files **Document Status:** @@ -119,7 +128,7 @@ Display: "**Select an Option:** [C] Continue to {next step name}" #### Menu Handling Logic: -- IF C: Read fully and follow the {nextStepFile} determined in step 3 +- IF C: Read fully and follow the next step determined from the lookup table in step 3 - IF Any other comments or queries: respond and redisplay menu #### EXECUTION RULES: @@ -129,7 +138,7 @@ Display: "**Select an Option:** [C] Continue to {next step name}" ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [current state confirmed], will you then read fully and follow: {nextStepFile} to resume the workflow. +ONLY WHEN [C continue option] is selected and [current state confirmed], will you then read fully and follow the next step (from the lookup table) to resume the workflow. --- @@ -146,7 +155,7 @@ ONLY WHEN [C continue option] is selected and [current state confirmed], will yo - Discovering new input documents instead of reloading existing ones - Modifying content from already completed steps -- Failing to extract nextStepFile from the last completed step's frontmatter +- Failing to determine the next step from the lookup table - Proceeding without user confirmation of current state **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE. diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md b/src/core/tasks/bmad-create-prd/steps-c/step-02-discovery.md similarity index 84% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md rename to src/core/tasks/bmad-create-prd/steps-c/step-02-discovery.md index ebbfc9dea..0e56aa0d3 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-02-discovery.md @@ -1,20 +1,3 @@ ---- -name: 'step-02-discovery' -description: 'Discover project type, domain, and context through collaborative dialogue' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md' -outputFile: '{planning_artifacts}/prd.md' - -# Data Files -projectTypesCSV: '../data/project-types.csv' -domainComplexityCSV: '../data/domain-complexity.csv' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 2: Project Discovery **Progress: Step 2 of 13** - Next: Product Vision @@ -33,6 +16,7 @@ Discover and classify the project - understand what type of product this is, wha - ✅ ALWAYS treat this as collaborative discovery between PM peers - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: @@ -96,7 +80,7 @@ Read the frontmatter from `{outputFile}` to get document counts: **Attempt subprocess data lookup:** **Project Type Lookup:** -"Your task: Lookup data in {projectTypesCSV} +"Your task: Lookup data in ../data/project-types.csv **Search criteria:** - Find row where project_type matches {{detectedProjectType}} @@ -108,7 +92,7 @@ project_type, detection_signals **Do NOT return the entire CSV - only the matching row.**" **Domain Complexity Lookup:** -"Your task: Lookup data in {domainComplexityCSV} +"Your task: Lookup data in ../data/domain-complexity.csv **Search criteria:** - Find row where domain matches {{detectedDomain}} @@ -185,9 +169,9 @@ Present the project classification for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Product Vision (Step 2b of 13)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} with the current classification, process the enhanced insights that come back, ask user if they accept the improvements, if yes update classification then redisplay menu, if no keep original classification then redisplay menu -- IF P: Read fully and follow: {partyModeWorkflow} with the current classification, process the collaborative insights, ask user if they accept the changes, if yes update classification then redisplay menu, if no keep original classification then redisplay menu -- IF C: Save classification to {outputFile} frontmatter, add this step name to the end of stepsCompleted array, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation with the current classification, process the enhanced insights that come back, ask user if they accept the improvements, if yes update classification then redisplay menu, if no keep original classification then redisplay menu +- IF P: Read fully and follow: {project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md with the current classification, process the collaborative insights, ask user if they accept the changes, if yes update classification then redisplay menu, if no keep original classification then redisplay menu +- IF C: Save classification to {outputFile} frontmatter, add this step name to the end of stepsCompleted array, then read fully and follow: ./step-02b-vision.md - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -197,7 +181,7 @@ Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Pr ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [classification saved to frontmatter], will you then read fully and follow: `{nextStepFile}` to explore product vision. +ONLY WHEN [C continue option] is selected and [classification saved to frontmatter], will you then read fully and follow: `./step-02b-vision.md` to explore product vision. --- diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md b/src/core/tasks/bmad-create-prd/steps-c/step-02b-vision.md similarity index 84% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md rename to src/core/tasks/bmad-create-prd/steps-c/step-02b-vision.md index ca5c5cc91..aa2bee8d2 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-02b-vision.md @@ -1,16 +1,3 @@ ---- -name: 'step-02b-vision' -description: 'Discover the product vision and differentiator through collaborative dialogue' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md' -outputFile: '{planning_artifacts}/prd.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 2b: Product Vision Discovery **Progress: Step 2b of 13** - Next: Executive Summary @@ -29,6 +16,7 @@ Discover what makes this product special and understand the product vision throu - ✅ ALWAYS treat this as collaborative discovery between PM peers - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: @@ -113,9 +101,9 @@ Present your understanding of the product vision for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Executive Summary (Step 2c of 13)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} with the current vision insights, process the enhanced insights that come back, ask user if they accept the improvements, if yes update understanding then redisplay menu, if no keep original understanding then redisplay menu -- IF P: Read fully and follow: {partyModeWorkflow} with the current vision insights, process the collaborative insights, ask user if they accept the changes, if yes update understanding then redisplay menu, if no keep original understanding then redisplay menu -- IF C: Update {outputFile} frontmatter by adding this step name to the end of stepsCompleted array, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation with the current vision insights, process the enhanced insights that come back, ask user if they accept the improvements, if yes update understanding then redisplay menu, if no keep original understanding then redisplay menu +- IF P: Read fully and follow: {project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md with the current vision insights, process the collaborative insights, ask user if they accept the changes, if yes update understanding then redisplay menu, if no keep original understanding then redisplay menu +- IF C: Update {outputFile} frontmatter by adding this step name to the end of stepsCompleted array, then read fully and follow: ./step-02c-executive-summary.md - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -125,7 +113,7 @@ Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Ex ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [stepsCompleted updated], will you then read fully and follow: `{nextStepFile}` to generate the Executive Summary. +ONLY WHEN [C continue option] is selected and [stepsCompleted updated], will you then read fully and follow: `./step-02c-executive-summary.md` to generate the Executive Summary. --- diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md b/src/core/tasks/bmad-create-prd/steps-c/step-02c-executive-summary.md similarity index 84% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md rename to src/core/tasks/bmad-create-prd/steps-c/step-02c-executive-summary.md index 60a91f314..c50841d98 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-02c-executive-summary.md @@ -1,16 +1,3 @@ ---- -name: 'step-02c-executive-summary' -description: 'Generate and append the Executive Summary section to the PRD document' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md' -outputFile: '{planning_artifacts}/prd.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 2c: Executive Summary Generation **Progress: Step 2c of 13** - Next: Success Criteria @@ -29,6 +16,7 @@ Generate the Executive Summary content using insights from classification (step - ✅ ALWAYS treat this as collaborative discovery between PM peers - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: @@ -103,9 +91,9 @@ Present the executive summary content for user review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Success Criteria (Step 3 of 13)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} with the current executive summary content, process the enhanced content that comes back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF P: Read fully and follow: {partyModeWorkflow} with the current executive summary content, process the collaborative improvements, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation with the current executive summary content, process the enhanced content that comes back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md with the current executive summary content, process the collaborative improvements, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-03-success.md - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -138,7 +126,7 @@ Where: ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [content appended to document], will you then read fully and follow: `{nextStepFile}` to define success criteria. +ONLY WHEN [C continue option] is selected and [content appended to document], will you then read fully and follow: `./step-03-success.md` to define success criteria. --- diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md b/src/core/tasks/bmad-create-prd/steps-c/step-03-success.md similarity index 86% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md rename to src/core/tasks/bmad-create-prd/steps-c/step-03-success.md index b77e2db28..37baad1f1 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-03-success.md @@ -1,16 +1,3 @@ ---- -name: 'step-03-success' -description: 'Define comprehensive success criteria covering user, business, and technical success' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md' -outputFile: '{planning_artifacts}/prd.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 3: Success Criteria Definition **Progress: Step 3 of 11** - Next: User Journey Mapping @@ -26,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow - 💬 FOCUS on defining what winning looks like for this product - 🎯 COLLABORATIVE discovery, not assumption-based goal setting - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: @@ -175,9 +163,9 @@ Present the success criteria content for user review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to User Journey Mapping (Step 4 of 11)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} with the current success criteria content, process the enhanced success metrics that come back, ask user "Accept these improvements to the success criteria? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF P: Read fully and follow: {partyModeWorkflow} with the current success criteria, process the collaborative improvements to metrics and scope, ask user "Accept these changes to the success criteria? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation with the current success criteria content, process the enhanced success metrics that come back, ask user "Accept these improvements to the success criteria? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md with the current success criteria, process the collaborative improvements to metrics and scope, ask user "Accept these changes to the success criteria? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-04-journeys.md - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -221,6 +209,6 @@ If working in regulated domains (healthcare, fintech, govtech): ## NEXT STEP: -After user selects 'C' and content is saved to document, load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md` to map user journeys. +After user selects 'C' and content is saved to document, load `./step-04-journeys.md` to map user journeys. Remember: Do NOT proceed to step-04 until user explicitly selects 'C' from the A/P/C menu and content is saved! diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md b/src/core/tasks/bmad-create-prd/steps-c/step-04-journeys.md similarity index 86% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md rename to src/core/tasks/bmad-create-prd/steps-c/step-04-journeys.md index 0f9ddacdd..f10ddf3a6 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-04-journeys.md @@ -1,16 +1,3 @@ ---- -name: 'step-04-journeys' -description: 'Map ALL user types that interact with the system with narrative story-based journeys' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md' -outputFile: '{planning_artifacts}/prd.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 4: User Journey Mapping **Progress: Step 4 of 11** - Next: Domain Requirements @@ -26,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow - 💬 FOCUS on mapping ALL user types that interact with the system - 🎯 CRITICAL: No journey = no functional requirements = product doesn't exist - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: @@ -155,9 +143,9 @@ Present the user journey content for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Domain Requirements (Step 5 of 11)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} with the current journey content, process the enhanced journey insights that come back, ask user "Accept these improvements to the user journeys? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF P: Read fully and follow: {partyModeWorkflow} with the current journeys, process the collaborative journey improvements and additions, ask user "Accept these changes to the user journeys? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation with the current journey content, process the enhanced journey insights that come back, ask user "Accept these improvements to the user journeys? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md with the current journeys, process the collaborative journey improvements and additions, ask user "Accept these changes to the user journeys? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-05-domain.md - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -208,6 +196,6 @@ When user selects 'C', append the content directly to the document using the str ## NEXT STEP: -After user selects 'C' and content is saved to document, load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md`. +After user selects 'C' and content is saved to document, load `./step-05-domain.md`. Remember: Do NOT proceed to step-05 until user explicitly selects 'C' from the A/P/C menu and content is saved! diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md b/src/core/tasks/bmad-create-prd/steps-c/step-05-domain.md similarity index 84% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md rename to src/core/tasks/bmad-create-prd/steps-c/step-05-domain.md index 7a9b52380..551e7b559 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-05-domain.md @@ -1,24 +1,10 @@ ---- -name: 'step-05-domain' -description: 'Explore domain-specific requirements for complex domains (optional step)' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md' -outputFile: '{planning_artifacts}/prd.md' -domainComplexityCSV: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 5: Domain-Specific Requirements (Optional) **Progress: Step 5 of 13** - Next: Innovation Focus ## STEP GOAL: -For complex domains only that have a mapping in {domainComplexityCSV}, explore domain-specific constraints, compliance requirements, and technical considerations that shape the product. +For complex domains only that have a mapping in ../data/domain-complexity.csv, explore domain-specific constraints, compliance requirements, and technical considerations that shape the product. ## MANDATORY EXECUTION RULES (READ FIRST): @@ -30,6 +16,7 @@ For complex domains only that have a mapping in {domainComplexityCSV}, explore d - ✅ ALWAYS treat this as collaborative discovery between PM peers - 📋 YOU ARE A FACILITATOR, not a content generator - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ### Role Reinforcement: @@ -92,7 +79,7 @@ Proceed with domain exploration. **Attempt subprocess data lookup:** -"Your task: Lookup data in {domainComplexityCSV} +"Your task: Lookup data in ../data/domain-complexity.csv **Search criteria:** - Find row where domain matches {{domainFromStep02}} @@ -154,9 +141,9 @@ Acknowledge the domain and explore what makes it complex: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue - Save and Proceed to Innovation (Step 6 of 13)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask}, and when finished redisplay the menu -- IF P: Read fully and follow: {partyModeWorkflow}, and when finished redisplay the menu -- IF C: Save content to {outputFile}, update frontmatter, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation, and when finished redisplay the menu +- IF P: Read fully and follow: `{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md` and when finished redisplay the menu +- IF C: Save content to {outputFile}, update frontmatter, then read fully and follow: ./step-06-innovation.md - IF Any other comments or queries: help user respond then [Redisplay Menu Options](#n-present-menu-options) #### EXECUTION RULES: @@ -178,7 +165,7 @@ If step was skipped, append nothing and proceed. ## CRITICAL STEP COMPLETION NOTE -ONLY WHEN [C continue option] is selected and [content saved or skipped], will you then read fully and follow: `{nextStepFile}` to explore innovation. +ONLY WHEN [C continue option] is selected and [content saved or skipped], will you then read fully and follow: `./step-06-innovation.md` to explore innovation. --- diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md b/src/core/tasks/bmad-create-prd/steps-c/step-06-innovation.md similarity index 83% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md rename to src/core/tasks/bmad-create-prd/steps-c/step-06-innovation.md index 471140455..8e886edb5 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-06-innovation.md @@ -1,19 +1,3 @@ ---- -name: 'step-06-innovation' -description: 'Detect and explore innovative aspects of the product (optional step)' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md' -outputFile: '{planning_artifacts}/prd.md' - -# Data Files -projectTypesCSV: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 6: Innovation Discovery **Progress: Step 6 of 11** - Next: Project Type Analysis @@ -29,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow - 💬 FOCUS on detecting and exploring innovative aspects of the product - 🎯 OPTIONAL STEP: Only proceed if innovation signals are detected - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: @@ -64,7 +49,7 @@ Detect and explore innovation patterns in the product, focusing on what makes it Load innovation signals specific to this project type: -- Load `{projectTypesCSV}` completely +- Load `../data/project-types.csv` completely - Find the row where `project_type` matches detected type from step-02 - Extract `innovation_signals` (semicolon-separated list) - Extract `web_search_triggers` for potential innovation research @@ -155,9 +140,9 @@ Present the innovation content for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Project Type Analysis (Step 7 of 11)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} with the current innovation content, process the enhanced innovation insights that come back, ask user "Accept these improvements to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF P: Read fully and follow: {partyModeWorkflow} with the current innovation content, process the collaborative innovation exploration and ideation, ask user "Accept these changes to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation with the current innovation content, process the enhanced innovation insights that come back, ask user "Accept these improvements to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md with the current innovation content, process the collaborative innovation exploration and ideation, ask user "Accept these changes to the innovation analysis? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-07-project-type.md - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -176,7 +161,7 @@ Display: "**Select:** [A] Advanced Elicitation - Let's try to find innovative an ### Menu Handling Logic: - IF A: Proceed with content generation anyway, then return to menu -- IF C: Skip this step, then read fully and follow: {nextStepFile} +- IF C: Skip this step, then read fully and follow: ./step-07-project-type.md ### EXECUTION RULES: - ALWAYS halt and wait for user input after presenting menu @@ -212,7 +197,7 @@ When user selects 'C', append the content directly to the document using the str ## SKIP CONDITIONS: -Skip this step and load `{nextStepFile}` if: +Skip this step and load `./step-07-project-type.md` if: - No innovation signals detected in conversation - Product is incremental improvement rather than breakthrough @@ -221,6 +206,6 @@ Skip this step and load `{nextStepFile}` if: ## NEXT STEP: -After user selects 'C' and content is saved to document (or step is skipped), load `{nextStepFile}`. +After user selects 'C' and content is saved to document (or step is skipped), load `./step-07-project-type.md`. Remember: Do NOT proceed to step-07 until user explicitly selects 'C' from the A/P/C menu (or confirms step skip)! diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md b/src/core/tasks/bmad-create-prd/steps-c/step-07-project-type.md similarity index 85% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md rename to src/core/tasks/bmad-create-prd/steps-c/step-07-project-type.md index 259cb136e..66326dbd9 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-07-project-type.md @@ -1,19 +1,3 @@ ---- -name: 'step-07-project-type' -description: 'Conduct project-type specific discovery using CSV-driven guidance' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md' -outputFile: '{planning_artifacts}/prd.md' - -# Data Files -projectTypesCSV: '../data/project-types.csv' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 7: Project-Type Deep Dive **Progress: Step 7 of 11** - Next: Scoping @@ -29,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow - 💬 FOCUS on project-type specific requirements and technical considerations - 🎯 DATA-DRIVEN: Use CSV configuration to guide discovery - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: @@ -55,7 +40,7 @@ Conduct project-type specific discovery using CSV-driven guidance to define tech **Attempt subprocess data lookup:** -"Your task: Lookup data in {projectTypesCSV} +"Your task: Lookup data in ../data/project-types.csv **Search criteria:** - Find row where project_type matches {{projectTypeFromStep02}} @@ -172,9 +157,9 @@ Present the project-type content for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Scoping (Step 8 of 11)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} with the current project-type content, process the enhanced technical insights that come back, ask user "Accept these improvements to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF P: Read fully and follow: {partyModeWorkflow} with the current project-type requirements, process the collaborative technical expertise and validation, ask user "Accept these changes to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation with the current project-type content, process the enhanced technical insights that come back, ask user "Accept these improvements to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md with the current project-type requirements, process the collaborative technical expertise and validation, ask user "Accept these changes to the technical requirements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-08-scoping.md - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -232,6 +217,6 @@ When user selects 'C', append the content directly to the document using the str ## NEXT STEP: -After user selects 'C' and content is saved to document, load `{nextStepFile}` to define project scope. +After user selects 'C' and content is saved to document, load `./step-08-scoping.md` to define project scope. Remember: Do NOT proceed to step-08 (Scoping) until user explicitly selects 'C' from the A/P/C menu and content is saved! diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md b/src/core/tasks/bmad-create-prd/steps-c/step-08-scoping.md similarity index 86% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md rename to src/core/tasks/bmad-create-prd/steps-c/step-08-scoping.md index 5954c4312..84b9a4444 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-08-scoping.md @@ -1,16 +1,3 @@ ---- -name: 'step-08-scoping' -description: 'Define MVP boundaries and prioritize features across development phases' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md' -outputFile: '{planning_artifacts}/prd.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 8: Scoping Exercise - MVP & Future Features **Progress: Step 8 of 11** - Next: Functional Requirements @@ -26,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow - 💬 FOCUS on strategic scope decisions that keep projects viable - 🎯 EMPHASIZE lean MVP thinking while preserving long-term vision - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: @@ -183,9 +171,9 @@ Present the scoping decisions for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Functional Requirements (Step 9 of 11)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} with the current scoping analysis, process the enhanced insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF P: Read fully and follow: {partyModeWorkflow} with the scoping context, process the collaborative insights on MVP and roadmap decisions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation with the current scoping analysis, process the enhanced insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md with the scoping context, process the collaborative insights on MVP and roadmap decisions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-09-functional.md - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -223,6 +211,6 @@ When user selects 'C', append the content directly to the document using the str ## NEXT STEP: -After user selects 'C' and content is saved to document, load {nextStepFile}. +After user selects 'C' and content is saved to document, load ./step-09-functional.md. Remember: Do NOT proceed to step-09 until user explicitly selects 'C' from the A/P/C menu and content is saved! diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md b/src/core/tasks/bmad-create-prd/steps-c/step-09-functional.md similarity index 87% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md rename to src/core/tasks/bmad-create-prd/steps-c/step-09-functional.md index 8bcdddad9..22f8d63ba 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-09-functional.md @@ -1,16 +1,3 @@ ---- -name: 'step-09-functional' -description: 'Synthesize all discovery into comprehensive functional requirements' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md' -outputFile: '{planning_artifacts}/prd.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 9: Functional Requirements Synthesis **Progress: Step 9 of 11** - Next: Non-Functional Requirements @@ -26,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow - 💬 FOCUS on creating comprehensive capability inventory for the product - 🎯 CRITICAL: This is THE CAPABILITY CONTRACT for all downstream work - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: @@ -181,9 +169,9 @@ Present the functional requirements for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Non-Functional Requirements (Step 10 of 11)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} with the current FR list, process the enhanced capability coverage that comes back, ask user if they accept the additions, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF P: Read fully and follow: {partyModeWorkflow} with the current FR list, process the collaborative capability validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation with the current FR list, process the enhanced capability coverage that comes back, ask user if they accept the additions, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md with the current FR list, process the collaborative capability validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-10-nonfunctional.md - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -226,6 +214,6 @@ Emphasize to user: "This FR list is now binding. Any feature not listed here wil ## NEXT STEP: -After user selects 'C' and content is saved to document, load {nextStepFile} to define non-functional requirements. +After user selects 'C' and content is saved to document, load ./step-10-nonfunctional.md to define non-functional requirements. Remember: Do NOT proceed to step-10 until user explicitly selects 'C' from the A/P/C menu and content is saved! diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md b/src/core/tasks/bmad-create-prd/steps-c/step-10-nonfunctional.md similarity index 87% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md rename to src/core/tasks/bmad-create-prd/steps-c/step-10-nonfunctional.md index 207dea459..cd7fdbf14 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-10-nonfunctional.md @@ -1,16 +1,3 @@ ---- -name: 'step-10-nonfunctional' -description: 'Define quality attributes that matter for this specific product' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md' -outputFile: '{planning_artifacts}/prd.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 10: Non-Functional Requirements **Progress: Step 10 of 12** - Next: Polish Document @@ -26,6 +13,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow - 💬 FOCUS on quality attributes that matter for THIS specific product - 🎯 SELECTIVE: Only document NFRs that actually apply to the product - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: @@ -168,9 +156,9 @@ Present the non-functional requirements for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Polish Document (Step 11 of 12)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} with the current NFR content, process the enhanced quality attribute insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF P: Read fully and follow: {partyModeWorkflow} with the current NFR list, process the collaborative technical validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu -- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation with the current NFR content, process the enhanced quality attribute insights that come back, ask user if they accept the improvements, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF P: Read fully and follow: {project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md with the current NFR list, process the collaborative technical validation and additions, ask user if they accept the changes, if yes update content then redisplay menu, if no keep original content then redisplay menu +- IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-11-polish.md - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -237,6 +225,6 @@ When user selects 'C', append the content directly to the document using the str ## NEXT STEP: -After user selects 'C' and content is saved to document, load {nextStepFile} to finalize the PRD and complete the workflow. +After user selects 'C' and content is saved to document, load ./step-11-polish.md to finalize the PRD and complete the workflow. Remember: Do NOT proceed to step-11 until user explicitly selects 'C' from the A/P/C menu and content is saved! diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md b/src/core/tasks/bmad-create-prd/steps-c/step-11-polish.md similarity index 85% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md rename to src/core/tasks/bmad-create-prd/steps-c/step-11-polish.md index 19ed725bb..3677b0a31 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-11-polish.md @@ -1,17 +1,3 @@ ---- -name: 'step-11-polish' -description: 'Optimize and polish the complete PRD document for flow, coherence, and readability' - -# File References -nextStepFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md' -outputFile: '{planning_artifacts}/prd.md' -purposeFile: '{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md' - -# Task References -advancedElicitationTask: 'skill:bmad-advanced-elicitation' -partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md' ---- - # Step 11: Document Polish **Progress: Step 11 of 12** - Next: Complete PRD @@ -26,6 +12,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow - 💬 PRESERVE user's voice and intent - 🎯 MAINTAIN all essential information while improving presentation - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` +- ✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}` ## EXECUTION PROTOCOLS: @@ -55,7 +42,7 @@ Optimize the complete PRD document for flow, coherence, and professional present **CRITICAL:** Load the PRD purpose document first: -- Read `{purposeFile}` to understand what makes a great BMAD PRD +- Read `../data/prd-purpose.md` to understand what makes a great BMAD PRD - Internalize the philosophy: information density, traceability, measurable requirements - Keep the dual-audience nature (humans + LLMs) in mind @@ -185,9 +172,9 @@ Present the polished document for review, then display menu: Display: "**Select:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Complete PRD (Step 12 of 12)" #### Menu Handling Logic: -- IF A: Read fully and follow: {advancedElicitationTask} with the polished document, process the enhanced refinements that come back, ask user "Accept these polish improvements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu -- IF P: Read fully and follow: {partyModeWorkflow} with the polished document, process the collaborative refinements to flow and coherence, ask user "Accept these polish changes? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu -- IF C: Save the polished document to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: {nextStepFile} +- IF A: Read fully and follow: skill:bmad-advanced-elicitation with the polished document, process the enhanced refinements that come back, ask user "Accept these polish improvements? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu +- IF P: Read fully and follow: {project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md with the polished document, process the collaborative refinements to flow and coherence, ask user "Accept these polish changes? (y/n)", if yes update content with improvements then redisplay menu, if no keep original polish then redisplay menu +- IF C: Save the polished document to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then read fully and follow: ./step-12-complete.md - IF Any other: help user respond, then redisplay menu #### EXECUTION RULES: @@ -229,6 +216,6 @@ When user selects 'C', replace the entire document content with the polished ver ## NEXT STEP: -After user selects 'C' and polished document is saved, load `{project-root}/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md` to complete the workflow. +After user selects 'C' and polished document is saved, load `./step-12-complete.md` to complete the workflow. Remember: Do NOT proceed to step-12 until user explicitly selects 'C' from the A/P/C menu and polished document is saved! diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md b/src/core/tasks/bmad-create-prd/steps-c/step-12-complete.md similarity index 90% rename from src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md rename to src/core/tasks/bmad-create-prd/steps-c/step-12-complete.md index 04204e8a9..d7b652524 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +++ b/src/core/tasks/bmad-create-prd/steps-c/step-12-complete.md @@ -1,12 +1,3 @@ ---- -name: 'step-12-complete' -description: 'Complete the PRD workflow, update status files, and suggest next steps including validation' - -# File References -outputFile: '{planning_artifacts}/prd.md' -validationFlow: '../steps-v/step-v-01-discovery.md' ---- - # Step 12: Workflow Completion **Final Step - Complete the PRD** @@ -60,8 +51,8 @@ Inform user that the PRD is complete and polished: Update the main workflow status file if there is one: -- Load `{status_file}` from workflow configuration (if exists) -- Update workflow_status["prd"] = "{default_output_file}" +- Check workflow configuration for a status file (if one exists) +- Update workflow_status["prd"] = "{outputFile}" - Save file, preserving all comments and structure - Mark current timestamp as completion time @@ -71,7 +62,7 @@ Offer validation workflows to ensure PRD is ready for implementation: **Available Validation Workflows:** -**Option 1: Check Implementation Readiness** (`{checkImplementationReadinessWorkflow}`) +**Option 1: Check Implementation Readiness** (`skill:bmad-check-implementation-readiness`) - Validates PRD has all information needed for development - Checks epic coverage completeness - Reviews UX alignment with requirements diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md b/src/core/tasks/bmad-create-prd/templates/prd-template.md similarity index 100% rename from src/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md rename to src/core/tasks/bmad-create-prd/templates/prd-template.md diff --git a/src/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md b/src/core/tasks/bmad-create-prd/workflow.md similarity index 91% rename from src/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md rename to src/core/tasks/bmad-create-prd/workflow.md index c7c565a72..39f78e9d5 100644 --- a/src/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +++ b/src/core/tasks/bmad-create-prd/workflow.md @@ -1,8 +1,6 @@ --- -name: create-prd -description: 'Create a PRD from scratch. Use when the user says "lets create a product requirements document" or "I want to create a new PRD"' main_config: '{project-root}/_bmad/bmm/config.yaml' -nextStep: './steps-c/step-01-init.md' +outputFile: '{planning_artifacts}/prd.md' --- # PRD Create Workflow @@ -55,9 +53,10 @@ Load and read full config from {main_config} and resolve: - `date` as system-generated current datetime ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured `{communication_language}`. +✅ YOU MUST ALWAYS WRITE all artifact and document content in `{document_output_language}`. ### 2. Route to Create Workflow "**Create Mode: Creating a new PRD from scratch.**" -Read fully and follow: `{nextStep}` (steps-c/step-01-init.md) +Read fully and follow: `./steps-c/step-01-init.md` diff --git a/src/core/workflows/bmad-brainstorming/steps/step-01-session-setup.md b/src/core/workflows/bmad-brainstorming/steps/step-01-session-setup.md index cf970e3f7..edbf453c1 100644 --- a/src/core/workflows/bmad-brainstorming/steps/step-01-session-setup.md +++ b/src/core/workflows/bmad-brainstorming/steps/step-01-session-setup.md @@ -65,7 +65,7 @@ Create the brainstorming session document: mkdir -p "$(dirname "{brainstorming_session_output_file}")" # Initialize from template -cp "{template_path}" "{brainstorming_session_output_file}" +cp "../template.md" "{brainstorming_session_output_file}" ``` #### B. Context File Check and Loading diff --git a/src/core/workflows/bmad-brainstorming/workflow.md b/src/core/workflows/bmad-brainstorming/workflow.md index f4a6686df..e3b1cdabc 100644 --- a/src/core/workflows/bmad-brainstorming/workflow.md +++ b/src/core/workflows/bmad-brainstorming/workflow.md @@ -40,8 +40,6 @@ Load config from `{project-root}/_bmad/core/config.yaml` and resolve: ### Paths -- `template_path` = `./template.md` -- `brain_techniques_path` = `./brain-methods.csv` - `brainstorming_session_output_file` = `{output_folder}/brainstorming/brainstorming-session-{{date}}-{{time}}.md` (evaluated once at workflow start) All steps MUST reference `{brainstorming_session_output_file}` instead of the full path pattern. diff --git a/tools/skill-validator.md b/tools/skill-validator.md new file mode 100644 index 000000000..a3327cea1 --- /dev/null +++ b/tools/skill-validator.md @@ -0,0 +1,300 @@ +# Skill Validator — Inference-Based + +An LLM-readable validation prompt for skills following the Agent Skills open standard. + +## How to Use + +1. You are given a **skill directory path** to validate. +2. Read every file in the skill directory recursively. +3. Apply every rule in the catalog below to every applicable file. +4. Produce a findings report using the report template at the end. + +If no findings are generated, the skill passes validation. + +--- + +## Definitions + +- **Skill directory**: the folder containing `SKILL.md` and all supporting files. +- **Internal reference**: a file path from one file in the skill to another file in the same skill. +- **External reference**: a file path from a skill file to a file outside the skill directory. +- **Originating file**: the file that contains the reference (path resolution is relative to this file's location). +- **Config variable**: a name-value pair whose value comes from the project config file (e.g., `planning_artifacts`, `implementation_artifacts`, `communication_language`). +- **Runtime variable**: a name-value pair whose value is set during workflow execution (e.g., `spec_file`, `date`, `status`). +- **Intra-skill path variable**: a frontmatter variable whose value is a path to another file within the same skill — this is an anti-pattern. + +--- + +## Rule Catalog + +### SKILL-01 — SKILL.md Must Exist + +- **Severity:** CRITICAL +- **Applies to:** skill directory +- **Rule:** The skill directory must contain a file named `SKILL.md` (exact case). +- **Detection:** Check for the file's existence. +- **Fix:** Create `SKILL.md` as the skill entrypoint. + +### SKILL-02 — SKILL.md Must Have `name` in Frontmatter + +- **Severity:** CRITICAL +- **Applies to:** `SKILL.md` +- **Rule:** The YAML frontmatter must contain a `name` field. +- **Detection:** Parse the `---` delimited frontmatter block and check for `name:`. +- **Fix:** Add `name: ` to the frontmatter. + +### SKILL-03 — SKILL.md Must Have `description` in Frontmatter + +- **Severity:** CRITICAL +- **Applies to:** `SKILL.md` +- **Rule:** The YAML frontmatter must contain a `description` field. +- **Detection:** Parse the `---` delimited frontmatter block and check for `description:`. +- **Fix:** Add `description: ''` to the frontmatter. + +### SKILL-04 — `name` Format + +- **Severity:** HIGH +- **Applies to:** `SKILL.md` +- **Rule:** The `name` value must use only lowercase letters, numbers, and hyphens. Max 64 characters. Must not contain "anthropic" or "claude". +- **Detection:** Regex test: `^[a-z0-9][a-z0-9-]{0,62}[a-z0-9]$`. String search for forbidden substrings. +- **Fix:** Rename to comply with the format. + +### SKILL-05 — `name` Must Match Directory Name + +- **Severity:** HIGH +- **Applies to:** `SKILL.md` +- **Rule:** The `name` value in SKILL.md frontmatter must exactly match the skill directory name. The directory name is the canonical identifier used by installers, manifests, and `skill:` references throughout the project. +- **Detection:** Compare the `name:` frontmatter value against the basename of the skill directory (i.e., the immediate parent directory of `SKILL.md`). +- **Fix:** Change the `name:` value to match the directory name, or rename the directory to match — prefer changing `name:` unless other references depend on the current value. + +### SKILL-06 — `description` Quality + +- **Severity:** MEDIUM +- **Applies to:** `SKILL.md` +- **Rule:** The `description` must state both what the skill does AND when to use it. Max 1024 characters. +- **Detection:** Check length. Look for trigger phrases like "Use when" or "Use if" — their absence suggests the description only says _what_ but not _when_. +- **Fix:** Append a "Use when..." clause to the description. + +--- + +### WF-01 — workflow.md Must NOT Have `name` in Frontmatter + +- **Severity:** HIGH +- **Applies to:** `workflow.md` (if it exists) +- **Rule:** The `name` field belongs only in `SKILL.md`. If `workflow.md` has YAML frontmatter, it must not contain `name:`. +- **Detection:** Parse frontmatter and check for `name:` key. +- **Fix:** Remove the `name:` line from workflow.md frontmatter. + +### WF-02 — workflow.md Must NOT Have `description` in Frontmatter + +- **Severity:** HIGH +- **Applies to:** `workflow.md` (if it exists) +- **Rule:** The `description` field belongs only in `SKILL.md`. If `workflow.md` has YAML frontmatter, it must not contain `description:`. +- **Detection:** Parse frontmatter and check for `description:` key. +- **Fix:** Remove the `description:` line from workflow.md frontmatter. + +### WF-03 — workflow.md Frontmatter Variables Must Be Config or Runtime Only + +- **Severity:** HIGH +- **Applies to:** `workflow.md` frontmatter +- **Rule:** Every variable defined in workflow.md frontmatter must be either: + - A config variable (value references `{project-root}` or a config-derived variable like `{planning_artifacts}`) + - A runtime variable (value is empty, a placeholder, or set during execution) + - A legitimate external path expression + + It must NOT be a path to a file within the skill directory. +- **Detection:** For each frontmatter variable, check if its value resolves to a file inside the skill (e.g., starts with `./`, `{installed_path}`, or is a bare relative path to a sibling file). If so, it is an intra-skill path variable. +- **Fix:** Remove the variable. Use a hardcoded relative path inline where the file is referenced. + +--- + +### PATH-01 — Internal References Must Be Relative From Originating File + +- **Severity:** CRITICAL +- **Applies to:** all files in the skill +- **Rule:** Any reference from one file in the skill to another file in the same skill must be a relative path resolved from the directory of the originating file. Use `./` prefix for siblings or children, `../` for parent traversal. Bare relative filenames in markdown links (e.g., `[text](sibling.md)`) are also acceptable. +- **Detection:** Scan for file path references (in markdown links, frontmatter values, inline backtick paths, and prose instructions like "Read fully and follow"). Verify each internal reference uses relative notation (`./`, `../`, or bare filename). Always resolve the path from the originating file's directory — a reference to `./steps/step-01.md` from a file already inside `steps/` would resolve to `steps/steps/step-01.md`, which is wrong. +- **Examples:** + - CORRECT: `./steps/step-01-init.md` (from workflow.md at skill root to a step) + - CORRECT: `./template.md` (from workflow.md to a sibling) + - CORRECT: `../template.md` (from steps/step-01.md to a skill-root file) + - CORRECT: `[workflow.md](workflow.md)` (markdown link to sibling — bare relative) + - CORRECT: `./step-02-plan.md` (from steps/step-01.md to a sibling step) + - WRONG: `./steps/step-02-plan.md` (from a file already inside steps/ — resolves to steps/steps/) + - WRONG: `{installed_path}/template.md` + - WRONG: `{project-root}/.claude/skills/my-skill/template.md` + - WRONG: `/Users/someone/.claude/skills/my-skill/steps/step-01.md` + - WRONG: `~/.claude/skills/my-skill/file.md` + +### PATH-02 — No `installed_path` Variable + +- **Severity:** HIGH +- **Applies to:** all files in the skill +- **Rule:** The `installed_path` variable is an anti-pattern from the pre-skill workflow era. It must not be defined in any frontmatter, and `{installed_path}` must not appear anywhere in any file. +- **Detection:** Search all files for: + - Frontmatter key `installed_path:` + - String `{installed_path}` anywhere in content + - Markdown/prose assigning `installed_path` (e.g., `` `installed_path` = `.` ``) +- **Fix:** Remove all `installed_path` definitions. Replace every `{installed_path}/path` with `./path` (relative from the file that contains the reference). If the reference is in a step file and points to a skill-root file, use `../path` instead. + +### PATH-03 — External References Must Use `{project-root}` or Config Variables + +- **Severity:** HIGH +- **Applies to:** all files in the skill +- **Rule:** References to files outside the skill directory must use `{project-root}/...` or a config-derived variable path (e.g., `{planning_artifacts}/...`, `{implementation_artifacts}/...`). +- **Detection:** Identify file references that point outside the skill. Verify they start with `{project-root}` or a known config variable. Flag absolute paths, home-relative paths (`~/`), or bare paths that resolve outside the skill. +- **Fix:** Replace with `{project-root}/...` or the appropriate config variable. + +### PATH-04 — No Intra-Skill Path Variables + +- **Severity:** MEDIUM +- **Applies to:** all files (frontmatter AND body content) +- **Rule:** Variables must not store paths to files within the same skill. These paths should be hardcoded as relative paths inline where used. This applies to YAML frontmatter variables AND markdown body variable assignments (e.g., `` `template` = `./template.md` `` under a `### Paths` section). +- **Detection:** For each variable with a path-like value — whether defined in frontmatter or in body text — determine if the target is inside the skill directory. Indicators: value starts with `./`, `../`, `{installed_path}`, or is a bare filename of a file that exists in the skill. Exclude variables whose values are prefixed with a config variable like `{planning_artifacts}`, `{implementation_artifacts}`, `{project-root}`, or other config-derived paths — these are external references and are legitimate. +- **Fix:** Remove the variable. Replace each `{variable_name}` usage with the direct relative path. +- **Exception:** If a path variable is used in 4+ locations across multiple files and the path is non-trivial, a variable MAY be acceptable. Flag it as LOW instead and note the exception. + +--- + +### STEP-01 — Step File Naming + +- **Severity:** MEDIUM +- **Applies to:** files in `steps/` directory +- **Rule:** Step files must be named `step-NN-description.md` where NN is a zero-padded two-digit number. An optional single-letter variant suffix is allowed for branching steps (e.g., `step-01b-continue.md`). +- **Detection:** Regex: `^step-\d{2}[a-z]?-[a-z0-9-]+\.md$` +- **Fix:** Rename to match the pattern. + +### STEP-02 — Step Must Have a Goal Section + +- **Severity:** HIGH +- **Applies to:** step files +- **Rule:** Each step must clearly state its goal. Look for a heading like `## YOUR TASK`, `## STEP GOAL`, `## INSTRUCTIONS`, `## INITIALIZATION`, `## EXECUTION`, `# Step N:`, or a frontmatter `goal:` field. +- **Detection:** Scan for goal-indicating headings (including `# Step N: Title` as a top-level heading that names the step's purpose) or frontmatter. +- **Fix:** Add a clear goal section. + +### STEP-03 — Step Must Reference Next Step + +- **Severity:** MEDIUM +- **Applies to:** step files (except the final step) +- **Rule:** Each non-terminal step must contain a reference to the next step file for sequential execution. +- **Detection:** Look for `## NEXT` section or inline reference to a next step file. Remember to resolve the reference from the originating file's directory (PATH-01 applies here too). +- **Fix:** Add a `## NEXT` section with the relative path to the next step. +- **Note:** A terminal step is one that has no next-step reference and either contains completion/finalization language or is the highest-numbered step. If a workflow branches, there may be multiple terminal steps. + +### STEP-04 — Halt Before Menu + +- **Severity:** HIGH +- **Applies to:** step files +- **Rule:** Any step that presents a user menu (e.g., `[C] Continue`, `[A] Approve`, `[S] Split`) must explicitly HALT and wait for user response before proceeding. +- **Detection:** Find menu patterns (bracketed letter options). Check that text within the same section (under the same heading) includes "HALT", "wait", "stop", "FORBIDDEN to proceed", or equivalent. +- **Fix:** Add an explicit HALT instruction before or after the menu. + +### STEP-05 — No Forward Loading + +- **Severity:** HIGH +- **Applies to:** step files +- **Rule:** A step must not load or read future step files until the current step is complete. Just-in-time loading only. +- **Detection:** Look for instructions to read multiple step files simultaneously, or unconditional references to step files with higher numbers than the current step. Exempt locations: `## NEXT` sections, navigation/dispatch sections that list valid resumption targets, and conditional routing branches. +- **Fix:** Remove premature step loading. Ensure only the current step is active. + +### STEP-06 — Step File Frontmatter: No `name` or `description` + +- **Severity:** MEDIUM +- **Applies to:** step files +- **Rule:** Step files should not have `name:` or `description:` in their YAML frontmatter. These are metadata noise — the step's purpose is conveyed by its goal section and filename. +- **Detection:** Parse step file frontmatter for `name:` or `description:` keys. +- **Fix:** Remove `name:` and `description:` from step file frontmatter. + +### STEP-07 — Step Count + +- **Severity:** LOW +- **Applies to:** workflow as a whole +- **Rule:** A sharded workflow should have between 2 and 10 step files. More than 10 risks LLM context degradation. +- **Detection:** Count files matching `step-*.md` in the `steps/` directory. +- **Fix:** Consider consolidating steps if over 10. + +--- + +### SEQ-01 — No Skip Instructions + +- **Severity:** HIGH +- **Applies to:** all files +- **Rule:** No file should instruct the agent to skip steps or optimize step order. Sequential execution is mandatory. +- **Detection:** Scan for phrases like "skip to step", "jump to step", "skip ahead", "optimize the order", "you may skip". Exclude negation context (e.g., "do NOT skip steps", "NEVER skip") — these are enforcement instructions, not skip instructions. +- **Exception:** Conditional routing (e.g., "if X, go to step N; otherwise step M") is valid workflow branching, not skipping. + +### SEQ-02 — No Time Estimates + +- **Severity:** LOW +- **Applies to:** all files +- **Rule:** Workflow files should not include time estimates. AI execution speed varies too much for estimates to be meaningful. +- **Detection:** Scan for patterns like "takes X minutes", "~N min", "estimated time", "ETA". +- **Fix:** Remove time estimates. + +--- + +### REF-01 — Variable References Must Be Defined + +- **Severity:** HIGH +- **Applies to:** all files +- **Rule:** Every `{variable_name}` reference in any file (body text, frontmatter values, inline instructions) must resolve to a defined source. Valid sources are: + 1. A frontmatter variable in the same file + 2. A frontmatter variable in the skill's `workflow.md` (workflow-level variables are available to all steps) + 3. A known config variable from the project config (e.g., `project-root`, `planning_artifacts`, `implementation_artifacts`, `communication_language`) + 4. A known runtime variable set during execution (e.g., `date`, `status`, `project_name`, user-provided input variables) +- **Detection:** Collect all `{...}` tokens in the file. For each, check whether it is defined in the file's own frontmatter, in `workflow.md` frontmatter, or is a recognized config/runtime variable. Flag any token that cannot be traced to a source. Use the config variable list from the project's `config.yaml` as the reference for recognized config variables. Runtime variables are those explicitly described as user-provided or set during execution in the workflow instructions. +- **Exceptions:** + - Double-curly `{{variable}}` — these are template placeholders intended to survive into generated output (e.g., `{{project_name}}` in a template file). Do not flag these. + - Variables inside fenced code blocks that are clearly illustrative examples. +- **Fix:** Either define the variable in the appropriate frontmatter, or replace the reference with a literal value. If the variable is a config variable that was misspelled, correct the spelling. + +### REF-02 — File References Must Resolve + +- **Severity:** HIGH +- **Applies to:** all files +- **Rule:** All file path references within the skill (markdown links, backtick paths, frontmatter values) should point to files that plausibly exist. +- **Detection:** For internal references, verify the target file exists in the skill directory. For external references using config variables, verify the path structure is plausible (you cannot resolve config variables, but you can check that the path after the variable looks reasonable — e.g., `{planning_artifacts}/*.md` is plausible, `{planning_artifacts}/../../etc/passwd` is not). +- **Fix:** Correct the path or remove the dead reference. + +--- + +## Report Template + +When reporting findings, use this format: + +```markdown +# Skill Validation Report: {skill-name} + +**Directory:** {path} +**Date:** {date} +**Files scanned:** {count} + +## Summary + +| Severity | Count | +|----------|-------| +| CRITICAL | N | +| HIGH | N | +| MEDIUM | N | +| LOW | N | + +## Findings + +### {RULE-ID} — {Rule Title} + +- **Severity:** {severity} +- **File:** `{relative-path-within-skill}` +- **Line:** {line number or range, if identifiable} +- **Detail:** {what was found} +- **Fix:** {specific fix for this instance} + +--- + +(repeat for each finding, grouped by rule ID) + +## Passed Rules + +(list rule IDs that produced no findings) +``` + +If zero findings: report "All {N} rules passed. No findings." and list all passed rule IDs.