planning tech spec cleanup
This commit is contained in:
@@ -70,10 +70,10 @@ plan-project/
|
||||
│ ├── prd-template.md # Product Requirements Document template
|
||||
│ └── workflow.yaml
|
||||
├── tech-spec/
|
||||
│ ├── epic-stories-template.md # Epic-to-story handoff template
|
||||
│ ├── epics-template.md # Epic-to-story handoff template
|
||||
│ ├── instructions-level0-story.md
|
||||
│ ├── instructions-level1-stories.md
|
||||
│ ├── instructions-sm.md # Level 0 tech-spec instructions
|
||||
│ ├── instructions.md # Level 0 tech-spec instructions
|
||||
│ ├── tech-spec-template.md # Technical Specification template
|
||||
│ ├── user-story-template.md # Story template for Level 0/1
|
||||
│ └── workflow.yaml
|
||||
|
||||
@@ -91,7 +91,7 @@ After updating your plan, return here if needed.
|
||||
<action>Check for existing workflow outputs based on level in status file:</action>
|
||||
|
||||
- Level 0: Check for tech-spec.md
|
||||
- Level 1-2: Check for PRD.md, epic-stories.md, tech-spec.md
|
||||
- Level 1-2: Check for PRD.md, epics.md, tech-spec.md
|
||||
- Level 3-4: Check for PRD.md, epics.md
|
||||
|
||||
<check if="outputs exist">
|
||||
|
||||
@@ -58,14 +58,14 @@
|
||||
- "Admin Dashboard" → "admin-dashboard"
|
||||
</example>
|
||||
|
||||
<action>Initialize epic-stories.md summary document using epic_stories_template</action>
|
||||
<action>Initialize epics.md summary document using epics_template</action>
|
||||
|
||||
<template-output file="{output_folder}/epic-stories.md">epic_title</template-output>
|
||||
<template-output file="{output_folder}/epic-stories.md">epic_slug</template-output>
|
||||
<template-output file="{output_folder}/epic-stories.md">epic_goal</template-output>
|
||||
<template-output file="{output_folder}/epic-stories.md">epic_scope</template-output>
|
||||
<template-output file="{output_folder}/epic-stories.md">epic_success_criteria</template-output>
|
||||
<template-output file="{output_folder}/epic-stories.md">epic_dependencies</template-output>
|
||||
<template-output file="{output_folder}/epics.md">epic_title</template-output>
|
||||
<template-output file="{output_folder}/epics.md">epic_slug</template-output>
|
||||
<template-output file="{output_folder}/epics.md">epic_goal</template-output>
|
||||
<template-output file="{output_folder}/epics.md">epic_scope</template-output>
|
||||
<template-output file="{output_folder}/epics.md">epic_success_criteria</template-output>
|
||||
<template-output file="{output_folder}/epics.md">epic_dependencies</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
@@ -105,9 +105,6 @@
|
||||
|
||||
<action>For each story (2-3 total), generate separate story file</action>
|
||||
<action>Story filename format: "story-{epic_slug}-{n}.md" where n = 1, 2, or 3</action>
|
||||
<action>Each story should represent a deliverable unit of work</action>
|
||||
<action>Stories should have clear acceptance criteria from tech spec</action>
|
||||
<action>Estimate story points based on time estimates in tech spec</action>
|
||||
|
||||
<guidelines>
|
||||
**Story Generation Guidelines:**
|
||||
@@ -140,58 +137,27 @@
|
||||
- Dev Agent Record: Empty sections for context workflow to populate
|
||||
</guidelines>
|
||||
|
||||
<action>For story 1:</action>
|
||||
<action>Set story_path_1 = "{dev_story_location}/story-{epic_slug}-1.md"</action>
|
||||
<action>Initialize from user_story_template</action>
|
||||
<for-each story="1 to story_count">
|
||||
<action>Set story_path_{n} = "{dev_story_location}/story-{epic_slug}-{n}.md"</action>
|
||||
<action>Create story file from user_story_template with the following content:</action>
|
||||
|
||||
<template-output file="{story_path_1}">story_title</template-output>
|
||||
<template-output file="{story_path_1}">role</template-output>
|
||||
<template-output file="{story_path_1}">capability</template-output>
|
||||
<template-output file="{story_path_1}">benefit</template-output>
|
||||
<template-output file="{story_path_1}">acceptance_criteria</template-output>
|
||||
<template-output file="{story_path_1}">tasks_subtasks</template-output>
|
||||
<template-output file="{story_path_1}">technical_summary</template-output>
|
||||
<template-output file="{story_path_1}">files_to_modify</template-output>
|
||||
<template-output file="{story_path_1}">test_locations</template-output>
|
||||
<template-output file="{story_path_1}">story_points</template-output>
|
||||
<template-output file="{story_path_1}">time_estimate</template-output>
|
||||
<template-output file="{story_path_1}">architecture_references</template-output>
|
||||
<template-output file="{story_path_{n}}">
|
||||
- story_title: User-focused deliverable title
|
||||
- role: User role (e.g., developer, user, admin)
|
||||
- capability: What they want to do
|
||||
- benefit: Why it matters
|
||||
- acceptance_criteria: Specific, measurable criteria from tech spec
|
||||
- tasks_subtasks: Implementation tasks with AC references
|
||||
- technical_summary: High-level approach, key decisions
|
||||
- files_to_modify: List of files that will change
|
||||
- test_locations: Where tests will be added
|
||||
- story_points: Estimated effort (1/2/3/5)
|
||||
- time_estimate: Days/hours estimate
|
||||
- architecture_references: Links to tech-spec.md sections
|
||||
</template-output>
|
||||
</for-each>
|
||||
|
||||
<action>For story 2:</action>
|
||||
<action>Set story_path_2 = "{dev_story_location}/story-{epic_slug}-2.md"</action>
|
||||
<action>Initialize from user_story_template</action>
|
||||
|
||||
<template-output file="{story_path_2}">story_title</template-output>
|
||||
<template-output file="{story_path_2}">role</template-output>
|
||||
<template-output file="{story_path_2}">capability</template-output>
|
||||
<template-output file="{story_path_2}">benefit</template-output>
|
||||
<template-output file="{story_path_2}">acceptance_criteria</template-output>
|
||||
<template-output file="{story_path_2}">tasks_subtasks</template-output>
|
||||
<template-output file="{story_path_2}">technical_summary</template-output>
|
||||
<template-output file="{story_path_2}">files_to_modify</template-output>
|
||||
<template-output file="{story_path_2}">test_locations</template-output>
|
||||
<template-output file="{story_path_2}">story_points</template-output>
|
||||
<template-output file="{story_path_2}">time_estimate</template-output>
|
||||
<template-output file="{story_path_2}">architecture_references</template-output>
|
||||
|
||||
<check if="story_count == 3">
|
||||
<action>For story 3:</action>
|
||||
<action>Set story_path_3 = "{dev_story_location}/story-{epic_slug}-3.md"</action>
|
||||
<action>Initialize from user_story_template</action>
|
||||
|
||||
<template-output file="{story_path_3}">story_title</template-output>
|
||||
<template-output file="{story_path_3}">role</template-output>
|
||||
<template-output file="{story_path_3}">capability</template-output>
|
||||
<template-output file="{story_path_3}">benefit</template-output>
|
||||
<template-output file="{story_path_3}">acceptance_criteria</template-output>
|
||||
<template-output file="{story_path_3}">tasks_subtasks</template-output>
|
||||
<template-output file="{story_path_3}">technical_summary</template-output>
|
||||
<template-output file="{story_path_3}">files_to_modify</template-output>
|
||||
<template-output file="{story_path_3}">test_locations</template-output>
|
||||
<template-output file="{story_path_3}">story_points</template-output>
|
||||
<template-output file="{story_path_3}">time_estimate</template-output>
|
||||
<template-output file="{story_path_3}">architecture_references</template-output>
|
||||
</check>
|
||||
<critical>Generate exactly {story_count} story files (2 or 3 based on Step 3 decision)</critical>
|
||||
|
||||
</step>
|
||||
|
||||
@@ -220,11 +186,11 @@ Epic: Icon Reliability
|
||||
2. **Story 2** → Test and deploy (depends on Story 1)
|
||||
</example>
|
||||
|
||||
<template-output file="{output_folder}/epic-stories.md">story_summaries</template-output>
|
||||
<template-output file="{output_folder}/epic-stories.md">story_map</template-output>
|
||||
<template-output file="{output_folder}/epic-stories.md">total_points</template-output>
|
||||
<template-output file="{output_folder}/epic-stories.md">estimated_timeline</template-output>
|
||||
<template-output file="{output_folder}/epic-stories.md">implementation_sequence</template-output>
|
||||
<template-output file="{output_folder}/epics.md">story_summaries</template-output>
|
||||
<template-output file="{output_folder}/epics.md">story_map</template-output>
|
||||
<template-output file="{output_folder}/epics.md">total_points</template-output>
|
||||
<template-output file="{output_folder}/epics.md">estimated_timeline</template-output>
|
||||
<template-output file="{output_folder}/epics.md">implementation_sequence</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
@@ -290,7 +256,7 @@ Initialize empty table:
|
||||
|
||||
```
|
||||
| tech-spec.md | Complete | {output_folder}/tech-spec.md | {{date}} |
|
||||
| epic-stories.md | Complete | {output_folder}/epic-stories.md | {{date}} |
|
||||
| epics.md | Complete | {output_folder}/epics.md | {{date}} |
|
||||
| story-{epic_slug}-1.md | Draft | {dev_story_location}/story-{epic_slug}-1.md | {{date}} |
|
||||
| story-{epic_slug}-2.md | Draft | {dev_story_location}/story-{epic_slug}-2.md | {{date}} |
|
||||
{{#if story_3}}
|
||||
@@ -335,7 +301,7 @@ Initialize empty table:
|
||||
**Generated Artifacts:**
|
||||
|
||||
- `tech-spec.md` → Technical source of truth
|
||||
- `epic-stories.md` → Epic and story summary
|
||||
- `epics.md` → Epic and story summary
|
||||
- `story-{epic_slug}-1.md` → First story (ready for implementation)
|
||||
- `story-{epic_slug}-2.md` → Second story
|
||||
{{#if story_3}}
|
||||
|
||||
@@ -118,7 +118,7 @@ Run cohesion validation? (y/n)</ask>
|
||||
|
||||
<check if="project_level == 1">
|
||||
<action>Invoke instructions-level1-stories.md to generate epic and stories</action>
|
||||
<action>Epic and stories will be saved to epic-stories.md</action>
|
||||
<action>Epic and stories will be saved to epics.md
|
||||
<action>Stories link to tech-spec.md implementation tasks</action>
|
||||
</check>
|
||||
|
||||
@@ -133,7 +133,7 @@ Run cohesion validation? (y/n)</ask>
|
||||
</check>
|
||||
|
||||
<check if="project_level == 1">
|
||||
<action>Confirm epic-stories.md generated successfully</action>
|
||||
<action>Confirm epics.md generated successfully</action>
|
||||
</check>
|
||||
|
||||
## Summary
|
||||
@@ -145,7 +145,7 @@ Run cohesion validation? (y/n)</ask>
|
||||
</check>
|
||||
|
||||
<check if="project_level == 1">
|
||||
- **Level 1 Output**: tech-spec.md + epic-stories.md
|
||||
- **Level 1 Output**: tech-spec.md + epics.md
|
||||
- **No PRD required**
|
||||
- **Ready for sprint planning with epic/story breakdown**
|
||||
</check>
|
||||
@@ -53,7 +53,3 @@
|
||||
## Deployment Strategy
|
||||
|
||||
{{deployment_strategy}}
|
||||
|
||||
---
|
||||
|
||||
_This tech spec is for Level 0-2 projects (BMad Method v6). It provides the technical details needed for implementation. Level 3+ projects use the separate architecture workflow for comprehensive technical design._
|
||||
|
||||
@@ -54,8 +54,3 @@ so that {{benefit}}.
|
||||
### File List
|
||||
|
||||
<!-- Will be populated during dev-story execution -->
|
||||
|
||||
---
|
||||
|
||||
_Generated as part of Level 0 Tech Spec workflow (BMad Method v6)_
|
||||
_Story Format: Compatible with story-context and dev-story workflows_
|
||||
|
||||
@@ -12,7 +12,7 @@ date: system-generated
|
||||
|
||||
# Workflow components
|
||||
installed_path: "{project-root}/bmad/bmm/workflows/2-plan/tech-spec"
|
||||
instructions: "{installed_path}/instructions-sm.md"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
template: "{installed_path}/tech-spec-template.md"
|
||||
|
||||
# Story generation instructions (invoked based on level)
|
||||
@@ -21,12 +21,12 @@ instructions_level1_stories: "{installed_path}/instructions-level1-stories.md"
|
||||
|
||||
# Templates
|
||||
user_story_template: "{installed_path}/user-story-template.md"
|
||||
epic_stories_template: "{installed_path}/epic-stories-template.md"
|
||||
epics_template: "{installed_path}/epics-template.md"
|
||||
|
||||
# Output configuration
|
||||
default_output_file: "{output_folder}/tech-spec.md"
|
||||
user_story_file: "{output_folder}/user-story.md"
|
||||
epic_stories_file: "{output_folder}/epic-stories.md"
|
||||
epics_file: "{output_folder}/epics.md"
|
||||
|
||||
# Recommended input documents (optional for Level 0)
|
||||
recommended_inputs:
|
||||
@@ -57,15 +57,15 @@ web_bundle:
|
||||
name: "tech-spec-sm"
|
||||
description: "Technical specification workflow for Level 0-1 projects. Creates focused tech spec with story generation. Level 0: tech-spec + user story. Level 1: tech-spec + epic/stories."
|
||||
author: "BMad"
|
||||
instructions: "bmad/bmm/workflows/2-plan/tech-spec/instructions-sm.md"
|
||||
instructions: "bmad/bmm/workflows/2-plan/tech-spec/instructions.md"
|
||||
use_advanced_elicitation: true
|
||||
web_bundle_files:
|
||||
- "bmad/bmm/workflows/2-plan/tech-spec/instructions-sm.md"
|
||||
- "bmad/bmm/workflows/2-plan/tech-spec/instructions.md"
|
||||
- "bmad/bmm/workflows/2-plan/tech-spec/instructions-level0-story.md"
|
||||
- "bmad/bmm/workflows/2-plan/tech-spec/instructions-level1-stories.md"
|
||||
- "bmad/bmm/workflows/2-plan/tech-spec/tech-spec-template.md"
|
||||
- "bmad/bmm/workflows/2-plan/tech-spec/user-story-template.md"
|
||||
- "bmad/bmm/workflows/2-plan/tech-spec/epic-stories-template.md"
|
||||
- "bmad/bmm/workflows/2-plan/tech-spec/epics-template.md"
|
||||
# Technical frameworks available
|
||||
frameworks:
|
||||
- "Technical Design Patterns"
|
||||
|
||||
@@ -35,7 +35,7 @@ If no: We'll gather basic requirements to create the UX spec
|
||||
<action>Load the following documents if available:</action>
|
||||
|
||||
- PRD.md (primary source for requirements and user journeys)
|
||||
- epics.md or epic-stories.md (helps understand feature grouping)
|
||||
- epics.md (helps understand feature grouping)
|
||||
- tech-spec.md (understand technical constraints)
|
||||
- solution-architecture.md (if Level 3-4 project)
|
||||
- bmm-workflow-status.md (understand project level and scope)
|
||||
|
||||
@@ -58,7 +58,7 @@ scale_parameters:
|
||||
level_4: "40+ stories, 5+ epics, enterprise PRD + architect handoff"
|
||||
|
||||
#Do not load these directly - instructions-router.md will load the proper file based on project type/level when needed
|
||||
instructions_sm: "{installed_path}/tech-spec/instructions-sm.md"
|
||||
instructions_sm: "{installed_path}/tech-spec/instructions.md"
|
||||
instructions_med: "{installed_path}/prd/instructions-med.md"
|
||||
instructions_lg: "{installed_path}/prd/instructions-lg.md"
|
||||
instructions_ux: "{installed_path}/ux/instructions-ux.md"
|
||||
@@ -75,7 +75,7 @@ web_bundle:
|
||||
validation: "bmad/bmm/workflows/2-plan/checklist.md"
|
||||
use_advanced_elicitation: true
|
||||
# Do not load these directly - instructions-router.md will load the proper file based on project type/level when needed
|
||||
instructions_sm: "bmad/bmm/workflows/2-plan/tech-spec/instructions-sm.md"
|
||||
instructions_sm: "bmad/bmm/workflows/2-plan/tech-spec/instructions.md"
|
||||
instructions_med: "bmad/bmm/workflows/2-plan/prd/instructions-med.md"
|
||||
instructions_lg: "bmad/bmm/workflows/2-plan/prd/instructions-lg.md"
|
||||
instructions_ux: "bmad/bmm/workflows/2-plan/ux/instructions-ux.md"
|
||||
@@ -99,7 +99,7 @@ web_bundle:
|
||||
level_4: "40+ stories, 5+ epics, enterprise PRD + architect handoff"
|
||||
web_bundle_files:
|
||||
- "bmad/bmm/workflows/2-plan/instructions-router.md"
|
||||
- "bmad/bmm/workflows/2-plan/tech-spec/instructions-sm.md"
|
||||
- "bmad/bmm/workflows/2-plan/tech-spec/instructions.md"
|
||||
- "bmad/bmm/workflows/2-plan/prd/instructions-med.md"
|
||||
- "bmad/bmm/workflows/2-plan/prd/instructions-lg.md"
|
||||
- "bmad/bmm/workflows/2-plan/prd/prd-template.md"
|
||||
|
||||
Reference in New Issue
Block a user