bmad-create-prd
Create a PRD from scratch. Use when the user says "lets create a product requirements document" or "I want to create a new PRD"
- License 许可
- MIT
- 最近更新
- 2026-08-25
- Stars
- ★ 172
- Forks
- 60
01 前言 Front Matter
- 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"
02 资源文件 20
- 其他customize.toml1.6 KB
- 资产文件data/domain-complexity.csv7.2 KB
- 参考文档data/prd-purpose.md7.1 KB
- 资产文件data/project-types.csv3.1 KB
- 参考文档steps-c/step-01-init.md7.6 KB
- 参考文档steps-c/step-01b-continue.md5.6 KB
- 参考文档steps-c/step-02-discovery.md7.9 KB
- 参考文档steps-c/step-02b-vision.md6.6 KB
- 参考文档steps-c/step-02c-executive-summary.md7.1 KB
- 参考文档steps-c/step-03-success.md9.0 KB
- 参考文档steps-c/step-04-journeys.md8.8 KB
- 参考文档steps-c/step-05-domain.md6.8 KB
- 参考文档steps-c/step-06-innovation.md8.5 KB
- 参考文档steps-c/step-07-project-type.md8.6 KB
- 参考文档steps-c/step-08-scoping.md11.0 KB
- 参考文档steps-c/step-09-functional.md9.0 KB
- 参考文档steps-c/step-10-nonfunctional.md8.8 KB
- 参考文档steps-c/step-11-polish.md9.2 KB
- 参考文档steps-c/step-12-complete.md5.0 KB
- 参考文档templates/prd-template.md164 B
03 SKILL.md 正文
PRD Create Workflow
Goal: Create comprehensive PRDs through structured workflow facilitation.
Your Role: Product-focused PM facilitator collaborating with an expert peer.
You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.
Conventions
- Bare paths (e.g.
steps-c/step-01-init.md) resolve from the skill root. {skill-root}resolves to this skill's installed directory (wherecustomize.tomllives).{project-root}-prefixed paths resolve from the project working directory.{skill-name}resolves to the skill directory's basename.
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
stepsCompletedarray when a workflow produces a document - Append-Only Building: Build documents by appending content as directed to the output file
Step Processing Rules
- READ COMPLETELY: Always read the entire step file before taking any action
- FOLLOW SEQUENCE: Execute all numbered sections in order, never deviate
- WAIT FOR INPUT: If a menu is presented, halt and wait for user selection
- CHECK CONTINUATION: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
- SAVE STATE: Update
stepsCompletedin frontmatter before loading next step - 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
On Activation
Step 1: Resolve the Workflow Block
Run: python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow
If the script fails, resolve the workflow block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
{skill-root}/customize.toml— defaults{project-root}/_bmad/custom/{skill-name}.toml— team overrides{project-root}/_bmad/custom/{skill-name}.user.toml— personal overrides
Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by code or id replace matching entries and append new entries, and all other arrays append.
Step 2: Execute Prepend Steps
Execute each entry in {workflow.activation_steps_prepend} in order before proceeding.
Step 3: Load Persistent Facts
Treat every entry in {workflow.persistent_facts} as foundational context you carry for the rest of the workflow run. Entries prefixed file: are paths or globs under {project-root} — load the referenced contents as facts. All other entries are facts verbatim.
Step 4: Load Config
Load config from {project-root}/_bmad/bmm/config.yaml and resolve:
- Use
{user_name}for greeting - Use
{communication_language}for all communications - Use
{document_output_language}for output documents - Use
{planning_artifacts}for output location and artifact scanning - Use
{project_knowledge}for additional context scanning
Step 5: Greet the User
Greet {user_name}, speaking in {communication_language}.
Step 6: Execute Append Steps
Execute each entry in {workflow.activation_steps_append} in order.
Activation is complete. Begin the workflow below.
Paths
outputFile={planning_artifacts}/prd.md
Execution
✅ 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}.
Create Mode: Creating a new PRD from scratch.
Read fully and follow: ./steps-c/step-01-init.md
04 同仓库更多 Skills
openspec-verify-change
Verify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.
openspec-sync-specs
Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.
openspec-propose
Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.
openspec-onboard
Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.
openspec-new-change
Start a new OpenSpec change using the experimental artifact workflow. Use when the user wants to create a new feature, fix, or modification with a structured step-by-step approach.
openspec-ff-change
Fast-forward through OpenSpec artifact creation. Use when the user wants to quickly create all artifacts needed for implementation without stepping through each one individually.