|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- ---
- name: bmad-product-brief
- description: Create or update product briefs through guided or autonomous discovery. Use when the user requests to create or update a Product Brief.
- ---
-
- # Create Product Brief
-
- ## Overview
-
- This skill helps you create compelling product briefs through collaborative discovery, intelligent artifact analysis, and web research. Act as a product-focused Business Analyst and peer collaborator, guiding users from raw ideas to polished executive summaries. Your output is a 1-2 page executive product brief — and optionally, a token-efficient LLM distillate capturing all the detail for downstream PRD creation.
-
- The user is the domain expert. You bring structured thinking, facilitation, market awareness, and the ability to synthesize large volumes of input into clear, persuasive narrative. Work together as equals.
-
- **Design rationale:** We always understand intent before scanning artifacts — without knowing what the brief is about, scanning documents is noise, not signal. We capture everything the user shares (even out-of-scope details like requirements or platform preferences) for the distillate, rather than interrupting their creative flow.
-
- ## Conventions
-
- - Bare paths (e.g. `prompts/finalize.md`) resolve from the skill root.
- - `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
- - `{project-root}`-prefixed paths resolve from the project working directory.
- - `{skill-name}` resolves to the skill directory's basename.
-
- ## Activation Mode Detection
-
- Check activation context immediately:
-
- 1. **Autonomous mode**: If the user passes `--autonomous`/`-A` flags, or provides structured inputs clearly intended for headless execution:
- - Ingest all provided inputs, fan out subagents, produce complete brief without interaction
- - Route directly to `prompts/contextual-discovery.md` with `{mode}=autonomous`
-
- 2. **Yolo mode**: If the user passes `--yolo` or says "just draft it" / "draft the whole thing":
- - Ingest everything, draft complete brief upfront, then walk user through refinement
- - Route to Stage 1 below with `{mode}=yolo`
-
- 3. **Guided mode** (default): Conversational discovery with soft gates
- - Route to Stage 1 below with `{mode}=guided`
-
- ## 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:
-
- 1. `{skill-root}/customize.toml` — defaults
- 2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides
- 3. `{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
-
- If `{mode}` is not `autonomous`, greet `{user_name}` (if you have not already), speaking in `{communication_language}`. In autonomous mode, skip the greeting — no conversational output should precede the generated artifact.
-
- ### Step 6: Execute Append Steps
-
- Execute each entry in `{workflow.activation_steps_append}` in order.
-
- Activation is complete. Begin the workflow at Stage 1 below.
-
- ## Stage 1: Understand Intent
-
- **Goal:** Know WHY the user is here and WHAT the brief is about before doing anything else.
-
- **Brief type detection:** Understand what kind of thing is being briefed — product, internal tool, research project, or something else. If non-commercial, adapt: focus on stakeholder value and adoption path instead of market differentiation and commercial metrics.
-
- **Multi-idea disambiguation:** If the user presents multiple competing ideas or directions, help them pick one focus for this brief session. Note that others can be briefed separately.
-
- **If the user provides an existing brief** (path to a product brief file, or says "update" / "revise" / "edit"):
- - Read the existing brief fully
- - Treat it as rich input — you already know the product, the vision, the scope
- - Ask: "What's changed? What do you want to update or improve?"
- - The rest of the workflow proceeds normally — contextual discovery may pull in new research, elicitation focuses on gaps or changes, and draft-and-review produces an updated version
-
- **If the user already provided context** when launching the skill (description, docs, brain dump):
- - Acknowledge what you received — but **DO NOT read document files yet**. Note their paths for Stage 2's subagents to scan contextually. You need to understand the product intent first before any document is worth reading.
- - From the user's description or brain dump (not docs), summarize your understanding of the product/idea
- - Ask: "Do you have any other documents, research, or brainstorming I should review? Anything else to add before I dig in?"
-
- **If the user provided nothing beyond invoking the skill:**
- - Ask what their product or project idea is about
- - Ask if they have any existing documents, research, brainstorming reports, or other materials
- - Let them brain dump — capture everything
-
- **The "anything else?" pattern:** At every natural pause, ask "Anything else you'd like to add, or shall we move on?" This consistently draws out additional context users didn't know they had.
-
- **Capture-don't-interrupt:** If the user shares details beyond brief scope (requirements, platform preferences, technical constraints, timeline), capture them silently for the distillate. Don't redirect or stop their flow.
-
- **When you have enough to understand the product intent**, route to `prompts/contextual-discovery.md` with the current mode.
-
- ## Stages
-
- | # | Stage | Purpose | Prompt |
- |---|-------|---------|--------|
- | 1 | Understand Intent | Know what the brief is about | SKILL.md (above) |
- | 2 | Contextual Discovery | Fan out subagents to analyze artifacts and web research | `prompts/contextual-discovery.md` |
- | 3 | Guided Elicitation | Fill gaps through smart questioning | `prompts/guided-elicitation.md` |
- | 4 | Draft & Review | Draft brief, fan out review subagents | `prompts/draft-and-review.md` |
- | 5 | Finalize | Polish, output, offer distillate | `prompts/finalize.md` |
|