planning tech spec cleanup

This commit is contained in:
Brian Madison
2025-10-14 20:20:55 -05:00
parent 0f126b7f87
commit 9b427a4e2b
10 changed files with 49 additions and 92 deletions

View File

@@ -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

View File

@@ -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">

View File

@@ -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}}

View File

@@ -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>

View File

@@ -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._

View File

@@ -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_

View File

@@ -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"

View File

@@ -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)

View File

@@ -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"