@pjmendonca/devflow 1.13.2 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/.claude/commands/agent.md +1 -1
  2. package/.claude/commands/brainstorm.md +28 -0
  3. package/.claude/commands/bugfix.md +21 -0
  4. package/.claude/commands/checkpoint.md +0 -1
  5. package/.claude/commands/collab.md +0 -1
  6. package/.claude/commands/costs.md +88 -18
  7. package/.claude/commands/devflow.md +26 -0
  8. package/.claude/commands/handoff.md +0 -1
  9. package/.claude/commands/init.md +383 -0
  10. package/.claude/commands/memory.md +0 -1
  11. package/.claude/commands/pair.md +0 -1
  12. package/.claude/commands/review.md +27 -0
  13. package/.claude/commands/route.md +0 -1
  14. package/.claude/commands/swarm.md +0 -1
  15. package/.claude/commands/validate.md +55 -0
  16. package/.claude/hooks/session-notification.sh +44 -0
  17. package/.claude/hooks/session-startup.sh +427 -0
  18. package/.claude/hooks/session-stop.sh +38 -0
  19. package/.claude/hooks/session_tracker.py +272 -0
  20. package/.claude/settings.json +38 -0
  21. package/.claude/skills/brainstorm/SKILL.md +531 -0
  22. package/.claude/skills/costs/SKILL.md +156 -0
  23. package/.claude/skills/validate/SKILL.md +101 -0
  24. package/CHANGELOG.md +284 -0
  25. package/README.md +207 -10
  26. package/bin/devflow-install.js +2 -1
  27. package/bin/devflow.js +4 -0
  28. package/lib/constants.js +0 -1
  29. package/lib/exec-python.js +1 -1
  30. package/package.json +1 -1
  31. package/tooling/.automation/.checkpoint_lock +1 -0
  32. package/tooling/.automation/agents/architect.md +19 -0
  33. package/tooling/.automation/agents/ba.md +19 -0
  34. package/tooling/.automation/agents/maintainer.md +19 -0
  35. package/tooling/.automation/agents/pm.md +19 -0
  36. package/tooling/.automation/agents/reviewer.md +1 -1
  37. package/tooling/.automation/agents/writer.md +19 -0
  38. package/tooling/.automation/benchmarks/benchmark_20251230_100119.json +314 -0
  39. package/tooling/.automation/benchmarks/benchmark_20251230_100216.json +314 -0
  40. package/tooling/.automation/costs/config.json +31 -0
  41. package/tooling/.automation/costs/sessions/2025-12-29_20251229_164128.json +22 -0
  42. package/tooling/.automation/memory/knowledge/kg_integration-test.json +738 -1
  43. package/tooling/.automation/memory/knowledge/kg_test-story.json +3381 -2
  44. package/tooling/.automation/memory/shared/shared_integration-test.json +193 -1
  45. package/tooling/.automation/memory/shared/shared_test-story.json +757 -1
  46. package/tooling/.automation/memory/shared/shared_test.json +1332 -0
  47. package/tooling/.automation/memory/shared/shared_validation-check.json +240 -0
  48. package/tooling/.automation/overrides/templates/architect/cloud-native.yaml +5 -5
  49. package/tooling/.automation/overrides/templates/architect/enterprise-architect.yaml +23 -5
  50. package/tooling/.automation/overrides/templates/architect/pragmatic-minimalist.yaml +24 -6
  51. package/tooling/.automation/overrides/templates/ba/agile-storyteller.yaml +4 -4
  52. package/tooling/.automation/overrides/templates/ba/domain-expert.yaml +4 -4
  53. package/tooling/.automation/overrides/templates/ba/requirements-engineer.yaml +4 -4
  54. package/tooling/.automation/overrides/templates/dev/performance-engineer.yaml +18 -0
  55. package/tooling/.automation/overrides/templates/dev/rapid-prototyper.yaml +19 -1
  56. package/tooling/.automation/overrides/templates/dev/security-focused.yaml +18 -0
  57. package/tooling/.automation/overrides/templates/dev/user-advocate.yaml +54 -0
  58. package/tooling/.automation/overrides/templates/maintainer/devops-maintainer.yaml +4 -4
  59. package/tooling/.automation/overrides/templates/maintainer/legacy-steward.yaml +4 -4
  60. package/tooling/.automation/overrides/templates/maintainer/oss-maintainer.yaml +4 -4
  61. package/tooling/.automation/overrides/templates/maintainer/reliability-engineer.yaml +55 -0
  62. package/tooling/.automation/overrides/templates/pm/agile-pm.yaml +4 -4
  63. package/tooling/.automation/overrides/templates/pm/hybrid-delivery.yaml +3 -3
  64. package/tooling/.automation/overrides/templates/pm/traditional-pm.yaml +4 -4
  65. package/tooling/.automation/overrides/templates/reviewer/quick-sanity.yaml +18 -0
  66. package/tooling/.automation/overrides/templates/reviewer/thorough-critic.yaml +18 -0
  67. package/tooling/.automation/overrides/templates/sm/agile-coach.yaml +2 -2
  68. package/tooling/.automation/overrides/templates/sm/startup-pm.yaml +3 -3
  69. package/tooling/.automation/overrides/templates/writer/api-documentarian.yaml +5 -5
  70. package/tooling/.automation/overrides/templates/writer/docs-as-code.yaml +4 -4
  71. package/tooling/.automation/overrides/templates/writer/user-guide-author.yaml +5 -5
  72. package/tooling/.automation/validation/history/2025-12-29_val_002a28c1.json +32 -0
  73. package/tooling/.automation/validation/history/2025-12-29_val_01273bb1.json +32 -0
  74. package/tooling/.automation/validation/history/2025-12-29_val_03369914.json +41 -0
  75. package/tooling/.automation/validation/history/2025-12-29_val_07a449ba.json +32 -0
  76. package/tooling/.automation/validation/history/2025-12-29_val_0df1f0a2.json +41 -0
  77. package/tooling/.automation/validation/history/2025-12-29_val_10ff3d34.json +41 -0
  78. package/tooling/.automation/validation/history/2025-12-29_val_110771d7.json +32 -0
  79. package/tooling/.automation/validation/history/2025-12-29_val_13f3a7f9.json +32 -0
  80. package/tooling/.automation/validation/history/2025-12-29_val_17ba9d21.json +41 -0
  81. package/tooling/.automation/validation/history/2025-12-29_val_22247089.json +32 -0
  82. package/tooling/.automation/validation/history/2025-12-29_val_227ea6a4.json +32 -0
  83. package/tooling/.automation/validation/history/2025-12-29_val_2335d5ae.json +32 -0
  84. package/tooling/.automation/validation/history/2025-12-29_val_246824bb.json +41 -0
  85. package/tooling/.automation/validation/history/2025-12-29_val_28b4b9cd.json +32 -0
  86. package/tooling/.automation/validation/history/2025-12-29_val_2abd12cc.json +32 -0
  87. package/tooling/.automation/validation/history/2025-12-29_val_2c801b2f.json +59 -0
  88. package/tooling/.automation/validation/history/2025-12-29_val_2c8cfa8e.json +32 -0
  89. package/tooling/.automation/validation/history/2025-12-29_val_2ce76eb0.json +32 -0
  90. package/tooling/.automation/validation/history/2025-12-29_val_30351948.json +41 -0
  91. package/tooling/.automation/validation/history/2025-12-29_val_30eb7229.json +41 -0
  92. package/tooling/.automation/validation/history/2025-12-29_val_34df0e77.json +41 -0
  93. package/tooling/.automation/validation/history/2025-12-29_val_376e4d6a.json +32 -0
  94. package/tooling/.automation/validation/history/2025-12-29_val_3a4e8a1a.json +59 -0
  95. package/tooling/.automation/validation/history/2025-12-29_val_3b77a628.json +32 -0
  96. package/tooling/.automation/validation/history/2025-12-29_val_3ea4e1cf.json +59 -0
  97. package/tooling/.automation/validation/history/2025-12-29_val_44aacdb4.json +59 -0
  98. package/tooling/.automation/validation/history/2025-12-29_val_457ddfa8.json +32 -0
  99. package/tooling/.automation/validation/history/2025-12-29_val_45af6238.json +41 -0
  100. package/tooling/.automation/validation/history/2025-12-29_val_4735dba1.json +41 -0
  101. package/tooling/.automation/validation/history/2025-12-29_val_486b203c.json +41 -0
  102. package/tooling/.automation/validation/history/2025-12-29_val_49dc56cd.json +59 -0
  103. package/tooling/.automation/validation/history/2025-12-29_val_4d863d6d.json +32 -0
  104. package/tooling/.automation/validation/history/2025-12-29_val_5149a808.json +59 -0
  105. package/tooling/.automation/validation/history/2025-12-29_val_52e0bb43.json +32 -0
  106. package/tooling/.automation/validation/history/2025-12-29_val_585d6319.json +59 -0
  107. package/tooling/.automation/validation/history/2025-12-29_val_5b2d859a.json +32 -0
  108. package/tooling/.automation/validation/history/2025-12-29_val_635a7081.json +41 -0
  109. package/tooling/.automation/validation/history/2025-12-29_val_64df4905.json +32 -0
  110. package/tooling/.automation/validation/history/2025-12-29_val_70634cee.json +41 -0
  111. package/tooling/.automation/validation/history/2025-12-29_val_714553f9.json +32 -0
  112. package/tooling/.automation/validation/history/2025-12-29_val_7f7bfdbf.json +41 -0
  113. package/tooling/.automation/validation/history/2025-12-29_val_7faad91d.json +32 -0
  114. package/tooling/.automation/validation/history/2025-12-29_val_81821f8f.json +41 -0
  115. package/tooling/.automation/validation/history/2025-12-29_val_8249f3c9.json +32 -0
  116. package/tooling/.automation/validation/history/2025-12-29_val_8422b50f.json +41 -0
  117. package/tooling/.automation/validation/history/2025-12-29_val_8446c134.json +32 -0
  118. package/tooling/.automation/validation/history/2025-12-29_val_879f4e26.json +59 -0
  119. package/tooling/.automation/validation/history/2025-12-29_val_8b6d5bd7.json +32 -0
  120. package/tooling/.automation/validation/history/2025-12-29_val_8c5cd787.json +32 -0
  121. package/tooling/.automation/validation/history/2025-12-29_val_91d20bc7.json +32 -0
  122. package/tooling/.automation/validation/history/2025-12-29_val_958a12b7.json +41 -0
  123. package/tooling/.automation/validation/history/2025-12-29_val_95d91108.json +41 -0
  124. package/tooling/.automation/validation/history/2025-12-29_val_980dbb74.json +32 -0
  125. package/tooling/.automation/validation/history/2025-12-29_val_9e40c79b.json +32 -0
  126. package/tooling/.automation/validation/history/2025-12-29_val_9f499b7c.json +32 -0
  127. package/tooling/.automation/validation/history/2025-12-29_val_9f7c3b57.json +32 -0
  128. package/tooling/.automation/validation/history/2025-12-29_val_a30d5bd4.json +32 -0
  129. package/tooling/.automation/validation/history/2025-12-29_val_a6eb09c7.json +32 -0
  130. package/tooling/.automation/validation/history/2025-12-29_val_a86f7b83.json +41 -0
  131. package/tooling/.automation/validation/history/2025-12-29_val_ad5347e1.json +41 -0
  132. package/tooling/.automation/validation/history/2025-12-29_val_b0a5a993.json +32 -0
  133. package/tooling/.automation/validation/history/2025-12-29_val_bcb0192e.json +32 -0
  134. package/tooling/.automation/validation/history/2025-12-29_val_bf3c9aaa.json +32 -0
  135. package/tooling/.automation/validation/history/2025-12-29_val_c461ff88.json +32 -0
  136. package/tooling/.automation/validation/history/2025-12-29_val_c4f4e258.json +41 -0
  137. package/tooling/.automation/validation/history/2025-12-29_val_c7f0fa6d.json +41 -0
  138. package/tooling/.automation/validation/history/2025-12-29_val_c911b0e6.json +32 -0
  139. package/tooling/.automation/validation/history/2025-12-29_val_cc581964.json +32 -0
  140. package/tooling/.automation/validation/history/2025-12-29_val_cdd5a33b.json +32 -0
  141. package/tooling/.automation/validation/history/2025-12-29_val_cfd42495.json +32 -0
  142. package/tooling/.automation/validation/history/2025-12-29_val_d1c7a4ee.json +41 -0
  143. package/tooling/.automation/validation/history/2025-12-29_val_d2280d0e.json +32 -0
  144. package/tooling/.automation/validation/history/2025-12-29_val_d2a6ff69.json +32 -0
  145. package/tooling/.automation/validation/history/2025-12-29_val_d8c53ab2.json +59 -0
  146. package/tooling/.automation/validation/history/2025-12-29_val_d9c1247a.json +41 -0
  147. package/tooling/.automation/validation/history/2025-12-29_val_d9d58569.json +32 -0
  148. package/tooling/.automation/validation/history/2025-12-29_val_dabb4fd9.json +32 -0
  149. package/tooling/.automation/validation/history/2025-12-29_val_dd8fe359.json +32 -0
  150. package/tooling/.automation/validation/history/2025-12-29_val_decdffc9.json +32 -0
  151. package/tooling/.automation/validation/history/2025-12-29_val_e3a95476.json +59 -0
  152. package/tooling/.automation/validation/history/2025-12-29_val_e776dfca.json +32 -0
  153. package/tooling/.automation/validation/history/2025-12-29_val_ea70969f.json +59 -0
  154. package/tooling/.automation/validation/history/2025-12-29_val_ef41ea95.json +32 -0
  155. package/tooling/.automation/validation/history/2025-12-29_val_f384f9b1.json +32 -0
  156. package/tooling/.automation/validation/history/2025-12-29_val_f8adc38c.json +41 -0
  157. package/tooling/.automation/validation/history/2025-12-29_val_fa40b69e.json +32 -0
  158. package/tooling/.automation/validation/history/2025-12-29_val_fc538d54.json +41 -0
  159. package/tooling/.automation/validation/history/2025-12-29_val_fe814665.json +32 -0
  160. package/tooling/.automation/validation/history/2025-12-29_val_ffea4b12.json +32 -0
  161. package/tooling/.automation/validation/history/2025-12-30_val_02d001e5.json +59 -0
  162. package/tooling/.automation/validation/history/2025-12-30_val_0b8966dc.json +32 -0
  163. package/tooling/.automation/validation/history/2025-12-30_val_15455fbf.json +59 -0
  164. package/tooling/.automation/validation/history/2025-12-30_val_157e34b9.json +32 -0
  165. package/tooling/.automation/validation/history/2025-12-30_val_28d1d933.json +32 -0
  166. package/tooling/.automation/validation/history/2025-12-30_val_3442a52c.json +32 -0
  167. package/tooling/.automation/validation/history/2025-12-30_val_37f1ce1e.json +32 -0
  168. package/tooling/.automation/validation/history/2025-12-30_val_4f1d8a93.json +32 -0
  169. package/tooling/.automation/validation/history/2025-12-30_val_56ff1de3.json +32 -0
  170. package/tooling/.automation/validation/history/2025-12-30_val_664fd4e2.json +41 -0
  171. package/tooling/.automation/validation/history/2025-12-30_val_66afb0a7.json +32 -0
  172. package/tooling/.automation/validation/history/2025-12-30_val_7634663c.json +41 -0
  173. package/tooling/.automation/validation/history/2025-12-30_val_8ea830c3.json +41 -0
  174. package/tooling/.automation/validation/history/2025-12-30_val_998957c2.json +32 -0
  175. package/tooling/.automation/validation/history/2025-12-30_val_a52177db.json +32 -0
  176. package/tooling/.automation/validation/history/2025-12-30_val_a5b65a63.json +32 -0
  177. package/tooling/.automation/validation/history/2025-12-30_val_ae391d0e.json +32 -0
  178. package/tooling/.automation/validation/history/2025-12-30_val_c7895339.json +41 -0
  179. package/tooling/.automation/validation/history/2025-12-30_val_ca416593.json +41 -0
  180. package/tooling/.automation/validation/history/2025-12-30_val_cee19422.json +32 -0
  181. package/tooling/.automation/validation/history/2025-12-30_val_ddd4f4e6.json +32 -0
  182. package/tooling/.automation/validation/history/2025-12-30_val_f2e1394b.json +32 -0
  183. package/tooling/.automation/validation/history/2025-12-30_val_f4a7fa06.json +41 -0
  184. package/tooling/.automation/validation/history/2025-12-30_val_ffea3369.json +32 -0
  185. package/tooling/.automation/validation/history/2026-01-03_val_1287a74c.json +41 -0
  186. package/tooling/.automation/validation/history/2026-01-03_val_3b24071f.json +32 -0
  187. package/tooling/.automation/validation/history/2026-01-03_val_44d77573.json +32 -0
  188. package/tooling/.automation/validation/history/2026-01-03_val_5b31dc51.json +32 -0
  189. package/tooling/.automation/validation/history/2026-01-03_val_74267244.json +32 -0
  190. package/tooling/.automation/validation/history/2026-01-03_val_8b2d95c7.json +59 -0
  191. package/tooling/.automation/validation/history/2026-01-03_val_d875b297.json +41 -0
  192. package/tooling/.automation/validation-config.yaml +103 -0
  193. package/tooling/completions/DevflowCompletion.ps1 +21 -21
  194. package/tooling/completions/_run-story +3 -3
  195. package/tooling/completions/run-story-completion.bash +8 -8
  196. package/tooling/docs/DOC-STANDARD.md +14 -14
  197. package/tooling/docs/stories/.gitkeep +0 -0
  198. package/tooling/docs/templates/brainstorm-guide.md +314 -0
  199. package/tooling/docs/templates/migration-spec.md +4 -4
  200. package/tooling/docs/templates/story.md +66 -0
  201. package/tooling/scripts/context_checkpoint.py +5 -15
  202. package/tooling/scripts/cost_dashboard.py +610 -13
  203. package/tooling/scripts/create-persona.py +1 -12
  204. package/tooling/scripts/create-persona.sh +44 -44
  205. package/tooling/scripts/lib/__init__.py +12 -1
  206. package/tooling/scripts/lib/agent_handoff.py +11 -2
  207. package/tooling/scripts/lib/agent_router.py +31 -10
  208. package/tooling/scripts/lib/colors.py +106 -0
  209. package/tooling/scripts/lib/context_monitor.py +766 -0
  210. package/tooling/scripts/lib/cost_config.py +229 -10
  211. package/tooling/scripts/lib/cost_display.py +20 -45
  212. package/tooling/scripts/lib/cost_tracker.py +462 -15
  213. package/tooling/scripts/lib/currency_converter.py +28 -5
  214. package/tooling/scripts/lib/pair_programming.py +102 -3
  215. package/tooling/scripts/lib/personality_system.py +949 -0
  216. package/tooling/scripts/lib/platform.py +55 -0
  217. package/tooling/scripts/lib/shared_memory.py +9 -3
  218. package/tooling/scripts/lib/swarm_orchestrator.py +514 -75
  219. package/tooling/scripts/lib/validation_loop.py +1014 -0
  220. package/tooling/scripts/memory_summarize.py +9 -2
  221. package/tooling/scripts/new-doc.py +2 -9
  222. package/tooling/scripts/personalize_agent.py +1 -12
  223. package/tooling/scripts/rollback-migration.sh +60 -60
  224. package/tooling/scripts/run-collab.ps1 +16 -16
  225. package/tooling/scripts/run-collab.py +88 -53
  226. package/tooling/scripts/run-collab.sh +4 -4
  227. package/tooling/scripts/run-story.py +278 -20
  228. package/tooling/scripts/run-story.sh +3 -3
  229. package/tooling/scripts/setup-checkpoint-service.py +2 -9
  230. package/tooling/scripts/tech-debt-tracker.py +1 -12
  231. package/tooling/scripts/test_adversarial_swarm.py +452 -0
  232. package/tooling/scripts/validate-overrides.py +1 -10
  233. package/tooling/scripts/validate-overrides.sh +40 -40
  234. package/tooling/scripts/validate_loop.py +162 -0
  235. package/tooling/scripts/validate_setup.py +2 -30
  236. package/.claude/skills/init/SKILL.md +0 -496
@@ -0,0 +1,531 @@
1
+ ---
2
+ name: brainstorm
3
+ description: Full workshop for story discovery, user journey mapping, and backlog creation (project)
4
+ ---
5
+
6
+ # Brainstorm Skill
7
+
8
+ A comprehensive product discovery workshop that guides users through vision definition, feature brainstorming, user journey mapping, and story creation.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /brainstorm [options]
14
+ ```
15
+
16
+ ## Options
17
+
18
+ | Option | Description |
19
+ |--------|-------------|
20
+ | --quick | Quick mode: Vision + 5 features (10 min) |
21
+ | --journey | Focus on user journey mapping technique |
22
+ | --features | Focus on rapid feature list technique |
23
+ | --decompose EPIC | Decompose an existing epic into stories |
24
+ | --prioritize | Run prioritization on existing backlog |
25
+
26
+ ## Prompt
27
+
28
+ You are the **Devflow Brainstorm Facilitator** - an AI-driven product discovery workshop leader.
29
+
30
+ **Arguments:** $ARGUMENTS
31
+
32
+ Your goal is to guide users through structured brainstorming to create actionable stories for their product/project.
33
+
34
+ ---
35
+
36
+ ## Workshop Modes
37
+
38
+ Based on $ARGUMENTS, run one of these modes:
39
+
40
+ ### Default Mode: Full Workshop (30 min)
41
+
42
+ Run through all 5 phases sequentially.
43
+
44
+ ### --quick Mode: Quick Discovery (10 min)
45
+
46
+ Run only Phase 1 (Vision) and Phase 2 (Features) with abbreviated questions.
47
+
48
+ ### --journey Mode: Journey Focus
49
+
50
+ Run Phase 1 briefly, then deep dive into Phase 3 (User Journey Mapping).
51
+
52
+ ### --features Mode: Features Focus
53
+
54
+ Run Phase 1 briefly, then deep dive into Phase 2 (Rapid Feature List).
55
+
56
+ ### --decompose EPIC Mode
57
+
58
+ Skip vision/feature discovery. Take the epic name and run Phase 4 (Story Decomposition).
59
+
60
+ ### --prioritize Mode
61
+
62
+ Read existing stories from `tooling/docs/stories/` and run Phase 5 (Prioritization).
63
+
64
+ ---
65
+
66
+ ## Phase 1: Vision Discovery (5 min)
67
+
68
+ Start with:
69
+ ```
70
+ [BRAINSTORM] Vision Discovery
71
+ Let's define your product vision. I'll ask a few key questions.
72
+ ```
73
+
74
+ ### Vision Questions
75
+
76
+ Use AskUserQuestion tool for each. Allow "Other" for custom answers.
77
+
78
+ **Q1: Problem Space**
79
+ ```
80
+ What problem are you solving?
81
+ ```
82
+ Options:
83
+ - Productivity/Efficiency problem
84
+ - Communication/Collaboration problem
85
+ - Learning/Education problem
86
+ - Entertainment/Engagement problem
87
+ (Other for custom)
88
+
89
+ **Q2: Target Users**
90
+ ```
91
+ Who is your primary user?
92
+ ```
93
+ Options:
94
+ - Developers/Technical users
95
+ - Business professionals
96
+ - Consumers/General public
97
+ - Specialized domain experts
98
+ (Other for custom)
99
+
100
+ **Q3: Success Definition**
101
+ ```
102
+ How will you measure success?
103
+ ```
104
+ Options:
105
+ - User growth/adoption metrics
106
+ - Revenue/conversion metrics
107
+ - Engagement/retention metrics
108
+ - Efficiency/time-saved metrics
109
+ (Other for custom)
110
+
111
+ **Q4: Competitive Advantage**
112
+ ```
113
+ What's your unfair advantage?
114
+ ```
115
+ Options:
116
+ - Better user experience
117
+ - Unique technology/algorithm
118
+ - Domain expertise
119
+ - Network effects
120
+ (Other for custom)
121
+
122
+ ### Vision Summary
123
+
124
+ After questions, summarize:
125
+ ```
126
+ [VISION SUMMARY]
127
+ Problem: {problem}
128
+ Users: {users}
129
+ Success: {success_metric}
130
+ Advantage: {advantage}
131
+ ```
132
+
133
+ Save this to `tooling/docs/vision.md` if it doesn't exist.
134
+
135
+ ---
136
+
137
+ ## Phase 2: Rapid Feature List (7 min)
138
+
139
+ ```
140
+ [BRAINSTORM] Feature Discovery
141
+ Let's brainstorm all the features your product needs.
142
+ ```
143
+
144
+ ### Feature Categories
145
+
146
+ Present categories and ask for features in each:
147
+
148
+ **Q1: Core Value Features**
149
+ ```
150
+ What are the 3-5 features that deliver your core value proposition?
151
+ (comma-separated list)
152
+ ```
153
+
154
+ **Q2: User Management**
155
+ ```
156
+ What user management features do you need? (auth, profiles, settings, etc.)
157
+ (comma-separated or "skip")
158
+ ```
159
+
160
+ **Q3: Data & Content**
161
+ ```
162
+ What content do users create or consume?
163
+ (comma-separated or "skip")
164
+ ```
165
+
166
+ **Q4: Social/Sharing (if applicable)**
167
+ ```
168
+ Any social or collaboration features?
169
+ (comma-separated or "skip")
170
+ ```
171
+
172
+ **Q5: Integrations**
173
+ ```
174
+ Any third-party integrations needed?
175
+ (comma-separated or "skip")
176
+ ```
177
+
178
+ ### MoSCoW Prioritization
179
+
180
+ Present the collected features and ask:
181
+ ```
182
+ Let's prioritize. For each feature, is it:
183
+ - M (Must Have) - Critical for launch
184
+ - S (Should Have) - Important but can work around
185
+ - C (Could Have) - Nice to have
186
+ - W (Won't Have) - Not now
187
+
188
+ [Feature List with M/S/C/W to assign]
189
+ ```
190
+
191
+ Use AskUserQuestion with multiSelect to let them pick Must Haves, then Should Haves, etc.
192
+
193
+ ### Feature Summary
194
+
195
+ ```
196
+ [FEATURE SUMMARY]
197
+
198
+ MUST HAVE (MVP):
199
+ - Feature 1
200
+ - Feature 2
201
+ - Feature 3
202
+
203
+ SHOULD HAVE:
204
+ - Feature 4
205
+ - Feature 5
206
+
207
+ COULD HAVE:
208
+ - Feature 6
209
+
210
+ WON'T HAVE (for now):
211
+ - Feature 7
212
+ ```
213
+
214
+ ---
215
+
216
+ ## Phase 3: User Journey Mapping (8 min)
217
+
218
+ ```
219
+ [BRAINSTORM] User Journey Mapping
220
+ Let's walk through your user's journey to discover features systematically.
221
+ ```
222
+
223
+ ### Journey Framework
224
+
225
+ For each stage, ask about actions and extract features:
226
+
227
+ **Stage 1: Trigger**
228
+ ```
229
+ How do users discover your product? What brings them in?
230
+ ```
231
+
232
+ **Stage 2: Entry/Onboarding**
233
+ ```
234
+ What's the first experience? What do new users need to do?
235
+ ```
236
+
237
+ **Stage 3: Core Actions**
238
+ ```
239
+ What are the 3-5 primary actions users take daily/regularly?
240
+ ```
241
+
242
+ **Stage 4: Success Moment**
243
+ ```
244
+ What outcome indicates success for the user? When do they feel satisfied?
245
+ ```
246
+
247
+ **Stage 5: Retention**
248
+ ```
249
+ Why would users come back? What triggers re-engagement?
250
+ ```
251
+
252
+ ### Journey Summary
253
+
254
+ Create a visual journey map:
255
+ ```
256
+ [USER JOURNEY]
257
+
258
+ User: {persona}
259
+ Goal: {goal}
260
+
261
+ TRIGGER ENTRY CORE ACTIONS SUCCESS RETENTION
262
+ | | | | |
263
+ v v v v v
264
+ [discovery] -> [onboard] -> [action 1] -> [outcome] -> [return]
265
+ [action 2]
266
+ [action 3]
267
+
268
+ Features Identified:
269
+ - From Trigger: {features}
270
+ - From Entry: {features}
271
+ - From Core: {features}
272
+ - From Success: {features}
273
+ - From Retention: {features}
274
+ ```
275
+
276
+ ---
277
+
278
+ ## Phase 4: Story Decomposition (7 min)
279
+
280
+ ```
281
+ [BRAINSTORM] Story Decomposition
282
+ Let's break down features into implementable stories.
283
+ ```
284
+
285
+ ### INVEST Criteria Reminder
286
+
287
+ Before decomposing, remind:
288
+ ```
289
+ Good stories should be:
290
+ - Independent: Can be built separately
291
+ - Negotiable: Details can be discussed
292
+ - Valuable: Delivers user value
293
+ - Estimable: Can be sized
294
+ - Small: Fits in a sprint
295
+ - Testable: Has clear acceptance criteria
296
+ ```
297
+
298
+ ### Decomposition for Each Must Have
299
+
300
+ For each Must Have feature:
301
+
302
+ **Step 1: Identify Sub-features**
303
+ ```
304
+ For "{feature}", what are the distinct capabilities needed?
305
+ ```
306
+
307
+ **Step 2: Apply Story Template**
308
+
309
+ For each sub-feature, generate a story:
310
+ ```
311
+ Story: {sprint}-{number}-{slug}
312
+ User Story: As a {user}, I want {goal}, so that {benefit}
313
+ Size: XS/S/M/L/XL
314
+ ```
315
+
316
+ **Step 3: Acceptance Criteria**
317
+
318
+ For each story, generate 2-3 acceptance criteria:
319
+ ```
320
+ - AC-1: {criterion}
321
+ - AC-2: {criterion}
322
+ - AC-3: {criterion}
323
+ ```
324
+
325
+ ### Size Reference
326
+
327
+ | Size | Time | Example |
328
+ |------|------|---------|
329
+ | XS | < 2 hours | Add button, fix typo |
330
+ | S | 2-4 hours | Simple form, basic API |
331
+ | M | 1-2 days | Feature with UI + API + tests |
332
+ | L | 3-5 days | Complex feature |
333
+ | XL | 1+ week | Needs further breakdown |
334
+
335
+ If any story is XL, break it down further.
336
+
337
+ ---
338
+
339
+ ## Phase 5: Prioritization & Sprint Planning (3 min)
340
+
341
+ ```
342
+ [BRAINSTORM] Sprint Planning
343
+ Let's organize stories into sprints.
344
+ ```
345
+
346
+ ### Story List Review
347
+
348
+ Display all stories created:
349
+ ```
350
+ STORIES READY FOR PLANNING
351
+
352
+ Must Have Stories:
353
+ [ ] 1-1-story-slug (Size: M)
354
+ [ ] 1-2-story-slug (Size: S)
355
+ [ ] 1-3-story-slug (Size: L)
356
+ ...
357
+
358
+ Should Have Stories:
359
+ [ ] 1-4-story-slug (Size: M)
360
+ ...
361
+ ```
362
+
363
+ ### Sprint 1 Selection
364
+
365
+ ```
366
+ For Sprint 1, I recommend these stories based on:
367
+ - Must Have priority
368
+ - Balanced sizing (not all L stories)
369
+ - Logical dependencies
370
+
371
+ Proposed Sprint 1:
372
+ - 1-1-story-slug
373
+ - 1-2-story-slug
374
+ - 1-3-story-slug
375
+
376
+ Accept this sprint? Or would you like to modify?
377
+ ```
378
+
379
+ Use AskUserQuestion for confirmation.
380
+
381
+ ### RICE Scoring (Optional)
382
+
383
+ If user wants more rigorous prioritization:
384
+ ```
385
+ Let's score remaining stories using RICE:
386
+
387
+ Story: {story}
388
+ - Reach: How many users affected? (number)
389
+ - Impact: 3=massive, 2=high, 1=medium, 0.5=low
390
+ - Confidence: 100%, 80%, 50%
391
+ - Effort: Person-weeks
392
+
393
+ Score = (Reach x Impact x Confidence) / Effort
394
+ ```
395
+
396
+ ---
397
+
398
+ ## Phase 6: Generate Artifacts
399
+
400
+ After all phases, create files:
401
+
402
+ ### 1. Update sprint-status.yaml
403
+
404
+ Add all stories to the sprint status file:
405
+ ```yaml
406
+ stories:
407
+ 1-1-story-slug: backlog
408
+ 1-2-story-slug: backlog
409
+ 1-3-story-slug: backlog
410
+ ```
411
+
412
+ ### 2. Create Story Files
413
+
414
+ For each story, create `tooling/docs/stories/STORY-{key}.md` using the template:
415
+
416
+ ```markdown
417
+ # STORY-{key}
418
+
419
+ **Type**: Feature
420
+ **Status**: backlog
421
+ **Sprint**: {sprint}
422
+ **Priority**: {priority}
423
+ **Effort**: {size}
424
+ **Created**: {date}
425
+
426
+ ---
427
+
428
+ ## Summary
429
+
430
+ {Summary from brainstorm}
431
+
432
+ ## User Story
433
+
434
+ As a **{user type}**,
435
+ I want **{goal}**,
436
+ So that **{benefit}**.
437
+
438
+ ## Context
439
+
440
+ {Context from vision and journey mapping}
441
+
442
+ ## Acceptance Criteria
443
+
444
+ {Generated ACs}
445
+
446
+ ## Technical Notes
447
+
448
+ {Any technical considerations identified}
449
+
450
+ ## Dependencies
451
+
452
+ {Dependencies identified during decomposition}
453
+ ```
454
+
455
+ ### 3. Save Vision Document
456
+
457
+ Create/update `tooling/docs/vision.md`:
458
+ ```markdown
459
+ # Product Vision
460
+
461
+ **Last Updated**: {date}
462
+
463
+ ## Problem
464
+
465
+ {Problem from Phase 1}
466
+
467
+ ## Target Users
468
+
469
+ {Users from Phase 1}
470
+
471
+ ## Success Metrics
472
+
473
+ {Success definition from Phase 1}
474
+
475
+ ## Competitive Advantage
476
+
477
+ {Advantage from Phase 1}
478
+
479
+ ## User Journey
480
+
481
+ {Journey map from Phase 3}
482
+
483
+ ## Feature Roadmap
484
+
485
+ ### Must Have (MVP)
486
+ {List}
487
+
488
+ ### Should Have
489
+ {List}
490
+
491
+ ### Could Have
492
+ {List}
493
+ ```
494
+
495
+ ---
496
+
497
+ ## Completion Summary
498
+
499
+ ```
500
+ [BRAINSTORM COMPLETE]
501
+
502
+ Vision documented: tooling/docs/vision.md
503
+ Stories created: {count}
504
+ Sprint 1 stories: {sprint1_count}
505
+
506
+ Files created:
507
+ - tooling/docs/vision.md
508
+ - tooling/docs/stories/STORY-1-1-*.md
509
+ - tooling/docs/stories/STORY-1-2-*.md
510
+ ...
511
+
512
+ Next Steps:
513
+ 1. Review generated stories in tooling/docs/stories/
514
+ 2. Run /story 1-1-story-slug to start development
515
+ 3. Run /brainstorm --prioritize to re-prioritize anytime
516
+ 4. Run /brainstorm --decompose "Epic Name" to add more stories
517
+
518
+ Tip: Use /develop and /review for individual pipeline phases.
519
+ ```
520
+
521
+ ---
522
+
523
+ ## Important Guidelines
524
+
525
+ 1. **Be collaborative** - This is a dialogue, not an interrogation
526
+ 2. **Offer examples** - When users are stuck, suggest concrete examples
527
+ 3. **Validate understanding** - Restate what you heard before proceeding
528
+ 4. **Keep momentum** - Don't over-analyze; good enough is better than perfect
529
+ 5. **No emojis** - Use text markers like [OK], [INFO], [BRAINSTORM]
530
+ 6. **Create files** - Use Write tool to create all artifacts
531
+ 7. **Reference templates** - Follow `tooling/docs/templates/story.md` format
@@ -0,0 +1,156 @@
1
+ ---
2
+ name: costs
3
+ description: View cost dashboard and spending analytics (project)
4
+ ---
5
+
6
+ # Cost Dashboard Skill
7
+
8
+ Display Devflow cost tracking and spending analytics by reading session data directly.
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /costs [options]
14
+ ```
15
+
16
+ ## Options
17
+
18
+ | Option | Description |
19
+ |--------|-------------|
20
+ | --period day | Show today's costs only |
21
+ | --period week | Show this week's costs |
22
+ | --period month | Show this month's costs (default) |
23
+ | --history N | Show last N sessions |
24
+ | --story KEY | Filter by story key |
25
+
26
+ ## Prompt
27
+
28
+ You are displaying the Devflow cost dashboard.
29
+
30
+ **Arguments:** $ARGUMENTS
31
+
32
+ ### Step 1: Read Configuration
33
+
34
+ Read the configuration file:
35
+ - Path: `tooling/.automation/costs/config.json`
36
+
37
+ This contains:
38
+ - `budget_dev`: Development budget (USD)
39
+ - `subscription_plan`: Current plan (free/pro)
40
+ - `subscription_token_limit`: Monthly token limit
41
+ - `subscription_billing_period_days`: Days in billing period
42
+ - `display_currencies`: Currencies to show
43
+ - `currency_rates`: Exchange rates
44
+
45
+ ### Step 2: Find Session Files
46
+
47
+ Find all session files:
48
+ - Path pattern: `tooling/.automation/costs/sessions/*.json`
49
+
50
+ ### Step 3: Read and Aggregate Session Data
51
+
52
+ For each session file, extract:
53
+ - `session_id`: Session identifier
54
+ - `start_time` / `end_time`: Timestamps
55
+ - `story_key`: Associated story (if any)
56
+ - `entries[]`: Array of cost entries with `model`, `input_tokens`, `output_tokens`, `cost_usd`
57
+ - `totals`: Aggregated totals for the session
58
+
59
+ Identify the most recent session as the "current session".
60
+
61
+ ### Step 4: Calculate Metrics
62
+
63
+ Calculate:
64
+ 1. **Current session tokens/cost**: From the most recent session
65
+ 2. **Cumulative tokens**: Sum of all tokens across ALL sessions this billing period
66
+ 3. **Cumulative cost**: Sum of all `cost_usd` across ALL sessions
67
+ 4. **Cost by model**: Group costs by model (opus, sonnet, haiku)
68
+ 5. **Cost by story**: Group costs by story_key
69
+ 6. **Budget usage**: (cumulative_cost / budget_dev) * 100
70
+ 7. **Subscription usage**: (cumulative_tokens / subscription_token_limit) * 100
71
+ 8. **Average cost per session**: cumulative_cost / session_count
72
+ 9. **Average tokens per session**: cumulative_tokens / session_count
73
+ 10. **Input/output ratio**: total_input_tokens / total_output_tokens
74
+ 11. **Days remaining**: Calculate from billing period start
75
+ 12. **Projected monthly cost**: (cumulative_cost / days_elapsed) * 30
76
+ 13. **Projected token usage**: (cumulative_tokens / days_elapsed) * 30
77
+
78
+ ### Step 5: Apply Filters
79
+
80
+ Based on $ARGUMENTS:
81
+ - `--period day`: Filter sessions from today only
82
+ - `--period week`: Filter sessions from last 7 days
83
+ - `--period month`: Filter sessions from last 30 days (default)
84
+ - `--history N`: Show only last N sessions
85
+ - `--story KEY`: Filter sessions matching story_key
86
+
87
+ ### Step 6: Format Output
88
+
89
+ Display the dashboard using this format:
90
+
91
+ ```
92
+ =================================================================
93
+ DEVFLOW COST DASHBOARD
94
+ =================================================================
95
+ Plan: [plan] | Tokens: [cumulative]/[limit] ([%]%) | [days] days left
96
+ This Session: $[current_cost] | Cumulative: $[total_cost]
97
+ =================================================================
98
+
99
+ PERIOD: [period] SESSIONS: [count]
100
+
101
+ --- TOKEN USAGE ---------------------------------------------
102
+ This Session Cumulative
103
+ Input: [current_in] [total_in]
104
+ Output: [current_out] [total_out]
105
+ Total: [current_total] [total_total]
106
+
107
+ I/O Ratio: [ratio]:1 (higher = more input-heavy conversations)
108
+
109
+ --- COST BY MODEL -------------------------------------------
110
+ [model] $[cost] ([%]%) [bar]
111
+
112
+ --- COST BY STORY -------------------------------------------
113
+ [story-key] $[cost] ([%]%)
114
+ (no story) $[cost] ([%]%)
115
+
116
+ --- BUDGET STATUS -------------------------------------------
117
+ Spent: $[total] / $[budget] ([%]%)
118
+ [================================--------------------] [%]%
119
+
120
+ [WARNING] if > 75%: "Approaching budget limit!"
121
+ [CRITICAL] if > 90%: "Near budget limit - consider pausing"
122
+
123
+ --- PROJECTIONS (based on current usage rate) ---------------
124
+ Monthly token projection: [projected] / [limit] ([%]%)
125
+ Monthly cost projection: $[projected_cost]
126
+ Avg cost per session: $[avg_cost]
127
+ Avg tokens per session: [avg_tokens]
128
+
129
+ --- RECENT SESSIONS -----------------------------------------
130
+ [session_id] [date] [tokens] $[cost] [story or "-"]
131
+ [session_id] [date] [tokens] $[cost] [story or "-"]
132
+ [session_id] [date] [tokens] $[cost] [story or "-"]
133
+ (show last 5 sessions)
134
+
135
+ --- CURRENCIES ----------------------------------------------
136
+ $[USD] | E[EUR] | L[GBP] | R$[BRL]
137
+ =================================================================
138
+ ```
139
+
140
+ ### Budget Warnings
141
+
142
+ Display warnings based on config thresholds:
143
+ - If budget usage > `warning_percent` (75%): Show [WARNING]
144
+ - If budget usage > `critical_percent` (90%): Show [CRITICAL]
145
+ - If subscription usage > 80%: Show token limit warning
146
+
147
+ ### Notes
148
+
149
+ - Format large numbers with K/M suffixes (e.g., 1.5K, 2.3M)
150
+ - Round costs to 2 decimal places
151
+ - Show percentages to 1 decimal place
152
+ - Use text-based progress bars with = and - characters
153
+ - Current session = most recent session file by timestamp
154
+ - Cumulative = sum of ALL sessions in the billing period
155
+ - If no sessions found, display a message indicating no cost data available
156
+ - Calculate days remaining: billing_period_days - days since first session of period