115 lines
4.8 KiB
Markdown
115 lines
4.8 KiB
Markdown
<!-- Powered by BMAD™ Core -->
|
||
|
||
# Create Document from Template (YAML Driven)
|
||
|
||
## ⚠️ CRITICAL EXECUTION NOTICE ⚠️
|
||
|
||
**THIS IS AN EXECUTABLE WORKFLOW - NOT REFERENCE MATERIAL**
|
||
|
||
When this task is invoked:
|
||
|
||
1. **DISABLE ALL EFFICIENCY OPTIMIZATIONS** - This workflow requires full user interaction
|
||
2. **MANDATORY STEP-BY-STEP EXECUTION** - Each section must be processed sequentially with user feedback
|
||
3. **ELICITATION IS REQUIRED** - When `elicit: true`, you MUST use the 1-9 format and wait for user response
|
||
4. **NO SHORTCUTS ALLOWED** - Complete documents cannot be created without following this workflow
|
||
|
||
**VIOLATION INDICATOR:** If you create a complete document without user interaction, you have violated this workflow.
|
||
|
||
## Critical: Template Discovery
|
||
|
||
If a YAML Template has not been provided, list all templates from .bmad-core/templates or ask the user to provide another.
|
||
|
||
## CRITICAL: Mandatory Elicitation Format
|
||
|
||
**When `elicit: true`, this is a HARD STOP requiring user interaction:**
|
||
|
||
**YOU MUST:**
|
||
|
||
1. Present section content
|
||
2. Provide detailed rationale (explain trade-offs, assumptions, decisions made)
|
||
3. **STOP and present numbered options 1-9:**
|
||
- **Option 1:** Always "Proceed to next section"
|
||
- **Options 2-9:** Select 8 methods from data/elicitation-methods
|
||
- End with: "Select 1-9 or just type your question/feedback:"
|
||
4. **WAIT FOR USER RESPONSE** - Do not proceed until user selects option or provides feedback
|
||
|
||
**WORKFLOW VIOLATION:** Creating content for elicit=true sections without user interaction violates this task.
|
||
|
||
**NEVER ask yes/no questions or use any other format.**
|
||
|
||
## Global Prose Mode (BMAD_STYLE=prose)
|
||
|
||
When the environment variable `BMAD_STYLE=prose` is set, apply this repository's formatting policy:
|
||
|
||
1. Write in full sentences, but format output as one sentence per line, and prefix each sentence with `* ` (asterisk + space).
|
||
2. Do not wrap multiple sentences into a single paragraph. Each sentence must be its own bullet line for readability and diffability.
|
||
3. Exceptions: Do NOT alter formatting for code blocks, diagrams (e.g., Mermaid), tables, or images; keep their native formats.
|
||
4. Always cover, in order where applicable: Purpose → Structure → Behavior → Conditions → Results → Errors/Edge Cases → Accessibility/Non-Functional → Acceptance.
|
||
5. Replace ambiguous shorthand with explicit phrasing. Example: “1行省略” → “1行表示領域を超えたテキストは末尾に省略記号(…)を付けて切り詰める”。
|
||
6. Before any lists or diagrams, you may include context sentences; still apply one-sentence-per-line with leading `* ` to those sentences (diagrams/tables themselves are excluded).
|
||
|
||
## Processing Flow
|
||
|
||
1. **Parse YAML template** - Load template metadata and sections
|
||
2. **Set preferences** - Show current mode (Interactive), confirm output file
|
||
3. **Process each section:**
|
||
- Skip if condition unmet
|
||
- Check agent permissions (owner/editors) - note if section is restricted to specific agents
|
||
- Draft content using section instruction
|
||
- Present content + detailed rationale
|
||
- **IF elicit: true** → MANDATORY 1-9 options format
|
||
- Save to file if possible
|
||
4. **Continue until complete**
|
||
|
||
## Detailed Rationale Requirements
|
||
|
||
When presenting section content, ALWAYS include rationale that explains:
|
||
|
||
- Trade-offs and choices made (what was chosen over alternatives and why)
|
||
- Key assumptions made during drafting
|
||
- Interesting or questionable decisions that need user attention
|
||
- Areas that might need validation
|
||
|
||
## Elicitation Results Flow
|
||
|
||
After user selects elicitation method (2-9):
|
||
|
||
1. Execute method from data/elicitation-methods
|
||
2. Present results with insights
|
||
3. Offer options:
|
||
- **1. Apply changes and update section**
|
||
- **2. Return to elicitation menu**
|
||
- **3. Ask any questions or engage further with this elicitation**
|
||
|
||
## Agent Permissions
|
||
|
||
When processing sections with agent permission fields:
|
||
|
||
- **owner**: Note which agent role initially creates/populates the section
|
||
- **editors**: List agent roles allowed to modify the section
|
||
- **readonly**: Mark sections that cannot be modified after creation
|
||
|
||
**For sections with restricted access:**
|
||
|
||
- Include a note in the generated document indicating the responsible agent
|
||
- Example: "_(This section is owned by dev-agent and can only be modified by dev-agent)_"
|
||
|
||
## YOLO Mode
|
||
|
||
User can type `#yolo` to toggle to YOLO mode (process all sections at once).
|
||
|
||
## CRITICAL REMINDERS
|
||
|
||
**❌ NEVER:**
|
||
|
||
- Ask yes/no questions for elicitation
|
||
- Use any format other than 1-9 numbered options
|
||
- Create new elicitation methods
|
||
|
||
**✅ ALWAYS:**
|
||
|
||
- Use exact 1-9 format when elicit: true
|
||
- Select options 2-9 from data/elicitation-methods only
|
||
- Provide detailed rationale explaining decisions
|
||
- End with "Select 1-9 or just type your question/feedback:"
|