Goal: Eliminate external dependencies for JS library icons to ensure consistent, reliable display and improve application performance.
Scope: Migrate all 14 recommended JS library icons from third-party CDN URLs (GitHub, jsDelivr) to internal static asset hosting.
Success Criteria:
<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>
2 Stories (preferred for most Level 1):
3 Stories (only if necessary):
Never exceed 3 stories for Level 1:
Story Point Estimation:
Level 1 Typical Totals:
Story Structure (MUST match create-story format):
<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_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>
<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>
Epic: Icon Reliability
├── Story 1: Build Icon Infrastructure (3 points)
└── Story 2: Test and Deploy Icons (2 points)
Total Story Points: 5 Estimated Timeline: 1 sprint (1 week)
<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>
Ordered story sequence - populated at Phase 4 start:
| Epic | Story | ID | Title | File | | —- | —– | — | —– | —- |
{{#if story_2}} | 1 | 2 | {epic_slug}-2 | {{story_2_title}} | story-{epic_slug}-2.md | {{/if}} {{#if story_3}} | 1 | 3 | {epic_slug}-3 | {{story_3_title}} | story-{epic_slug}-3.md | {{/if}}
Total in backlog: {{story_count - 1}} stories
NOTE: Level 1 uses slug-based IDs like “{epic_slug}-1”, “{epic_slug}-2” instead of numeric “1.1”, “1.2”
Initialize with FIRST story (already drafted):
story-{epic_slug}-1.mdstory-ready workflow to approveLeave empty initially:
(Story will be moved here by SM agent story-ready workflow after user approves story-{epic_slug}-1.md)
Initialize empty table:
| Story ID | File | Completed Date | Points |
|---|---|---|---|
| (none yet) |
Total completed: 0 stories Total points completed: 0 points
| tech-spec.md | Complete | {output_folder}/tech-spec.md | {{date}} |
| epic-stories.md | Complete | {output_folder}/epic-stories.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}}
| story-{epic_slug}-3.md | Draft | {dev_story_location}/story-{epic_slug}-3.md | {{date}} |
{{/if}}
**What to do next:** Review drafted story-{epic_slug}-1.md, then mark it ready for development
**Command to run:** Load SM agent and run 'story-ready' workflow (confirms story-{epic_slug}-1.md is ready)
**Agent to load:** bmad/bmm/agents/sm.md
- **{{date}}**: Level 1 tech-spec and epic/stories generation completed. {{story_count}} stories created. Skipping Phase 3 (solutioning) - moving directly to Phase 4 (implementation). Story backlog populated. First story (story-{epic_slug}-1.md) drafted and ready for review.
Level 1 Planning Complete!
Epic: {{epic_title}} Total Stories: {{story_count}} Total Story Points: {{total_points}} Estimated Timeline: {{estimated_timeline}}
Generated Artifacts:
tech-spec.md → Technical source of truthepic-stories.md → Epic and story summarystory-{epic_slug}-1.md → First story (ready for implementation)story-{epic_slug}-2.md → Second story
{{#if story_3}}story-{epic_slug}-3.md → Third story
{{/if}}Story Location: {dev_story_location}/
Next Steps - Iterative Implementation:
1. Start with Story 1:
a. Load SM agent: {project-root}/bmad/bmm/agents/sm.md
b. Run story-context workflow (select story-{epic_slug}-1.md)
c. Load DEV agent: {project-root}/bmad/bmm/agents/dev.md
d. Run dev-story workflow to implement story 1
2. After Story 1 Complete:
3. After Story 2 Complete: {{#if story_3}}
Progress Tracking:
bmm-workflow-status.mdSelect option (1-3):