@nextsparkjs/ai-workflow 0.1.0-beta.100

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 (272) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +115 -0
  3. package/claude/_docs/workflows-optimizations.md +359 -0
  4. package/claude/agents/api-tester.md +634 -0
  5. package/claude/agents/architecture-supervisor.md +1351 -0
  6. package/claude/agents/backend-developer.md +997 -0
  7. package/claude/agents/backend-validator.md +417 -0
  8. package/claude/agents/bdd-docs-writer.md +737 -0
  9. package/claude/agents/block-developer.md +677 -0
  10. package/claude/agents/code-reviewer.md +1432 -0
  11. package/claude/agents/db-developer.md +721 -0
  12. package/claude/agents/db-validator.md +407 -0
  13. package/claude/agents/demo-video-generator.md +493 -0
  14. package/claude/agents/documentation-writer.md +1268 -0
  15. package/claude/agents/frontend-developer.md +1234 -0
  16. package/claude/agents/frontend-validator.md +777 -0
  17. package/claude/agents/functional-validator.md +630 -0
  18. package/claude/agents/mock-analyst.md +387 -0
  19. package/claude/agents/product-manager.md +963 -0
  20. package/claude/agents/qa-automation.md +1762 -0
  21. package/claude/agents/release-manager.md +634 -0
  22. package/claude/agents/selectors-translator.md +262 -0
  23. package/claude/agents/unit-test-writer.md +785 -0
  24. package/claude/agents/visual-comparator.md +329 -0
  25. package/claude/agents/workflow-maintainer.md +352 -0
  26. package/claude/commands/do/README.md +88 -0
  27. package/claude/commands/do/create-api.md +64 -0
  28. package/claude/commands/do/create-entity.md +66 -0
  29. package/claude/commands/do/create-migration.md +64 -0
  30. package/claude/commands/do/create-plugin.md +56 -0
  31. package/claude/commands/do/create-theme.md +70 -0
  32. package/claude/commands/do/mock-data.md +67 -0
  33. package/claude/commands/do/reset-db.md +71 -0
  34. package/claude/commands/do/setup-scheduled-action.md +75 -0
  35. package/claude/commands/do/sync-code-review.md +117 -0
  36. package/claude/commands/do/update-selectors.md +112 -0
  37. package/claude/commands/do/use-skills.md +90 -0
  38. package/claude/commands/do/validate-blocks.md +69 -0
  39. package/claude/commands/how-to/README.md +261 -0
  40. package/claude/commands/how-to/add-metadata.md +692 -0
  41. package/claude/commands/how-to/add-taxonomies.md +806 -0
  42. package/claude/commands/how-to/add-translations.md +571 -0
  43. package/claude/commands/how-to/create-api.md +577 -0
  44. package/claude/commands/how-to/create-block.md +575 -0
  45. package/claude/commands/how-to/create-child-entities.md +771 -0
  46. package/claude/commands/how-to/create-entity.md +597 -0
  47. package/claude/commands/how-to/create-migrations.md +605 -0
  48. package/claude/commands/how-to/create-plugin.md +654 -0
  49. package/claude/commands/how-to/customize-app.md +481 -0
  50. package/claude/commands/how-to/customize-dashboard.md +553 -0
  51. package/claude/commands/how-to/customize-theme.md +438 -0
  52. package/claude/commands/how-to/define-features-flows.md +632 -0
  53. package/claude/commands/how-to/deploy.md +507 -0
  54. package/claude/commands/how-to/handle-file-uploads.md +746 -0
  55. package/claude/commands/how-to/implement-search.md +1001 -0
  56. package/claude/commands/how-to/install-plugins.md +352 -0
  57. package/claude/commands/how-to/manage-test-coverage.md +984 -0
  58. package/claude/commands/how-to/run-tests.md +400 -0
  59. package/claude/commands/how-to/set-app-languages.md +601 -0
  60. package/claude/commands/how-to/set-plans-and-permissions.md +575 -0
  61. package/claude/commands/how-to/set-scheduled-actions.md +527 -0
  62. package/claude/commands/how-to/set-user-roles-and-permissions.md +550 -0
  63. package/claude/commands/how-to/setup-authentication.md +388 -0
  64. package/claude/commands/how-to/setup-claude-code.md +440 -0
  65. package/claude/commands/how-to/setup-database.md +274 -0
  66. package/claude/commands/how-to/setup-email-providers.md +598 -0
  67. package/claude/commands/how-to/setup-mobile-dev.md +627 -0
  68. package/claude/commands/how-to/start.md +500 -0
  69. package/claude/commands/how-to/use-devtools.md +639 -0
  70. package/claude/commands/how-to/use-superadmin.md +622 -0
  71. package/claude/commands/session/README.md +193 -0
  72. package/claude/commands/session/block-create.md +190 -0
  73. package/claude/commands/session/block-list.md +203 -0
  74. package/claude/commands/session/block-update.md +192 -0
  75. package/claude/commands/session/block-validate.md +218 -0
  76. package/claude/commands/session/changelog.md +115 -0
  77. package/claude/commands/session/close.md +225 -0
  78. package/claude/commands/session/commit.md +174 -0
  79. package/claude/commands/session/db-entity.md +206 -0
  80. package/claude/commands/session/db-fix.md +212 -0
  81. package/claude/commands/session/db-sample.md +206 -0
  82. package/claude/commands/session/demo.md +178 -0
  83. package/claude/commands/session/doc-bdd.md +207 -0
  84. package/claude/commands/session/doc-feature.md +218 -0
  85. package/claude/commands/session/doc-read.md +225 -0
  86. package/claude/commands/session/execute.md +204 -0
  87. package/claude/commands/session/explain.md +202 -0
  88. package/claude/commands/session/fix-bug.md +210 -0
  89. package/claude/commands/session/fix-build.md +182 -0
  90. package/claude/commands/session/fix-test.md +189 -0
  91. package/claude/commands/session/pending.md +232 -0
  92. package/claude/commands/session/refine.md +188 -0
  93. package/claude/commands/session/resume.md +192 -0
  94. package/claude/commands/session/review.md +192 -0
  95. package/claude/commands/session/scope-change.md +181 -0
  96. package/claude/commands/session/start-blocks.md +347 -0
  97. package/claude/commands/session/start.md +604 -0
  98. package/claude/commands/session/status.md +169 -0
  99. package/claude/commands/session/test-fix.md +221 -0
  100. package/claude/commands/session/test-run.md +203 -0
  101. package/claude/commands/session/test-write.md +242 -0
  102. package/claude/commands/session/validate.md +162 -0
  103. package/claude/config/context.json +40 -0
  104. package/claude/config/github.json +69 -0
  105. package/claude/config/github.schema.json +106 -0
  106. package/claude/config/team.json +46 -0
  107. package/claude/config/team.schema.json +106 -0
  108. package/claude/config/workspace.json +43 -0
  109. package/claude/config/workspace.schema.json +75 -0
  110. package/claude/skills/README.md +228 -0
  111. package/claude/skills/accessibility/SKILL.md +573 -0
  112. package/claude/skills/api-bypass-layers/SKILL.md +550 -0
  113. package/claude/skills/asana-integration/SKILL.md +499 -0
  114. package/claude/skills/better-auth/SKILL.md +666 -0
  115. package/claude/skills/billing-subscriptions/SKILL.md +660 -0
  116. package/claude/skills/block-decision-matrix/SKILL.md +359 -0
  117. package/claude/skills/clickup-integration/SKILL.md +434 -0
  118. package/claude/skills/core-theme-responsibilities/SKILL.md +485 -0
  119. package/claude/skills/create-plugin/SKILL.md +425 -0
  120. package/claude/skills/create-theme/SKILL.md +331 -0
  121. package/claude/skills/cypress-api/SKILL.md +511 -0
  122. package/claude/skills/cypress-api/scripts/generate-api-controller.py +329 -0
  123. package/claude/skills/cypress-api/scripts/generate-api-test.py +930 -0
  124. package/claude/skills/cypress-e2e/SKILL.md +526 -0
  125. package/claude/skills/cypress-e2e/scripts/extract-selectors.py +383 -0
  126. package/claude/skills/cypress-e2e/scripts/generate-uat-test.py +788 -0
  127. package/claude/skills/cypress-selectors/SKILL.md +309 -0
  128. package/claude/skills/cypress-selectors/scripts/extract-missing.py +243 -0
  129. package/claude/skills/cypress-selectors/scripts/generate-block-selectors.py +283 -0
  130. package/claude/skills/cypress-selectors/scripts/validate-selectors.py +145 -0
  131. package/claude/skills/database-migrations/SKILL.md +335 -0
  132. package/claude/skills/database-migrations/scripts/generate-sample-data.py +284 -0
  133. package/claude/skills/database-migrations/scripts/validate-migration.py +323 -0
  134. package/claude/skills/design-system/SKILL.md +682 -0
  135. package/claude/skills/documentation/SKILL.md +540 -0
  136. package/claude/skills/entity-api/SKILL.md +482 -0
  137. package/claude/skills/entity-system/SKILL.md +635 -0
  138. package/claude/skills/entity-system/scripts/generate-child-migration.py +298 -0
  139. package/claude/skills/entity-system/scripts/generate-metas-migration.py +233 -0
  140. package/claude/skills/entity-system/scripts/generate-migration.py +382 -0
  141. package/claude/skills/entity-system/scripts/generate-sample-data.py +418 -0
  142. package/claude/skills/entity-system/scripts/scaffold-entity.py +661 -0
  143. package/claude/skills/github/SKILL.md +467 -0
  144. package/claude/skills/i18n-nextintl/SKILL.md +302 -0
  145. package/claude/skills/i18n-nextintl/scripts/add-translation.py +243 -0
  146. package/claude/skills/i18n-nextintl/scripts/extract-hardcoded.py +246 -0
  147. package/claude/skills/i18n-nextintl/scripts/validate-translations.py +260 -0
  148. package/claude/skills/impact-analysis/SKILL.md +203 -0
  149. package/claude/skills/jest-unit/SKILL.md +306 -0
  150. package/claude/skills/jest-unit/references/component-testing.md +371 -0
  151. package/claude/skills/jest-unit/references/mocking-patterns.md +380 -0
  152. package/claude/skills/jest-unit/references/service-hook-testing.md +454 -0
  153. package/claude/skills/jira-integration/SKILL.md +539 -0
  154. package/claude/skills/media-library/SKILL.md +743 -0
  155. package/claude/skills/mock-analysis/SKILL.md +276 -0
  156. package/claude/skills/monorepo-architecture/SKILL.md +162 -0
  157. package/claude/skills/nextjs-api-development/SKILL.md +364 -0
  158. package/claude/skills/nextjs-api-development/scripts/generate-crud-tests.py +456 -0
  159. package/claude/skills/nextjs-api-development/scripts/scaffold-endpoint.py +481 -0
  160. package/claude/skills/nextjs-api-development/scripts/validate-api.py +283 -0
  161. package/claude/skills/notion-integration/SKILL.md +641 -0
  162. package/claude/skills/npm-development-workflow/SKILL.md +480 -0
  163. package/claude/skills/page-builder-blocks/SKILL.md +530 -0
  164. package/claude/skills/page-builder-blocks/scripts/scaffold-block.py +444 -0
  165. package/claude/skills/permissions-system/SKILL.md +619 -0
  166. package/claude/skills/plugins/SKILL.md +340 -0
  167. package/claude/skills/plugins/references/plugin-templates.md +414 -0
  168. package/claude/skills/plugins/references/plugin-testing.md +353 -0
  169. package/claude/skills/plugins/references/plugin-types.md +198 -0
  170. package/claude/skills/plugins/scripts/scaffold-plugin.py +443 -0
  171. package/claude/skills/pom-patterns/SKILL.md +452 -0
  172. package/claude/skills/pom-patterns/scripts/generate-pom.py +392 -0
  173. package/claude/skills/rate-limiting/SKILL.md +342 -0
  174. package/claude/skills/react-best-practices/AGENTS.md +2410 -0
  175. package/claude/skills/react-best-practices/README.md +123 -0
  176. package/claude/skills/react-best-practices/SKILL.md +125 -0
  177. package/claude/skills/react-best-practices/metadata.json +15 -0
  178. package/claude/skills/react-best-practices/rules/_sections.md +46 -0
  179. package/claude/skills/react-best-practices/rules/_template.md +28 -0
  180. package/claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +55 -0
  181. package/claude/skills/react-best-practices/rules/advanced-use-latest.md +49 -0
  182. package/claude/skills/react-best-practices/rules/async-api-routes.md +38 -0
  183. package/claude/skills/react-best-practices/rules/async-defer-await.md +80 -0
  184. package/claude/skills/react-best-practices/rules/async-dependencies.md +36 -0
  185. package/claude/skills/react-best-practices/rules/async-parallel.md +28 -0
  186. package/claude/skills/react-best-practices/rules/async-suspense-boundaries.md +99 -0
  187. package/claude/skills/react-best-practices/rules/bundle-barrel-imports.md +59 -0
  188. package/claude/skills/react-best-practices/rules/bundle-conditional.md +31 -0
  189. package/claude/skills/react-best-practices/rules/bundle-defer-third-party.md +49 -0
  190. package/claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +35 -0
  191. package/claude/skills/react-best-practices/rules/bundle-preload.md +50 -0
  192. package/claude/skills/react-best-practices/rules/client-event-listeners.md +74 -0
  193. package/claude/skills/react-best-practices/rules/client-localstorage-schema.md +71 -0
  194. package/claude/skills/react-best-practices/rules/client-passive-event-listeners.md +48 -0
  195. package/claude/skills/react-best-practices/rules/client-swr-dedup.md +56 -0
  196. package/claude/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  197. package/claude/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  198. package/claude/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  199. package/claude/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  200. package/claude/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  201. package/claude/skills/react-best-practices/rules/js-early-exit.md +50 -0
  202. package/claude/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  203. package/claude/skills/react-best-practices/rules/js-index-maps.md +37 -0
  204. package/claude/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  205. package/claude/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  206. package/claude/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  207. package/claude/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  208. package/claude/skills/react-best-practices/rules/rendering-activity.md +26 -0
  209. package/claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  210. package/claude/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  211. package/claude/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  212. package/claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +46 -0
  213. package/claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
  214. package/claude/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  215. package/claude/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  216. package/claude/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  217. package/claude/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  218. package/claude/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  219. package/claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  220. package/claude/skills/react-best-practices/rules/rerender-memo.md +44 -0
  221. package/claude/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  222. package/claude/skills/react-best-practices/rules/server-after-nonblocking.md +73 -0
  223. package/claude/skills/react-best-practices/rules/server-cache-lru.md +41 -0
  224. package/claude/skills/react-best-practices/rules/server-cache-react.md +76 -0
  225. package/claude/skills/react-best-practices/rules/server-parallel-fetching.md +83 -0
  226. package/claude/skills/react-best-practices/rules/server-serialization.md +38 -0
  227. package/claude/skills/react-patterns/SKILL.md +688 -0
  228. package/claude/skills/registry-system/SKILL.md +331 -0
  229. package/claude/skills/scheduled-actions/SKILL.md +671 -0
  230. package/claude/skills/scope-enforcement/SKILL.md +542 -0
  231. package/claude/skills/scope-enforcement/scripts/validate-scope.py +357 -0
  232. package/claude/skills/server-actions/SKILL.md +493 -0
  233. package/claude/skills/service-layer/SKILL.md +587 -0
  234. package/claude/skills/session-management/SKILL.md +266 -0
  235. package/claude/skills/session-management/scripts/create-session.py +166 -0
  236. package/claude/skills/session-management/scripts/iteration-close.sh +105 -0
  237. package/claude/skills/session-management/scripts/iteration-init.sh +180 -0
  238. package/claude/skills/session-management/scripts/session-archive.sh +87 -0
  239. package/claude/skills/session-management/scripts/session-close.sh +133 -0
  240. package/claude/skills/session-management/scripts/session-init.sh +225 -0
  241. package/claude/skills/session-management/scripts/session-list.sh +163 -0
  242. package/claude/skills/session-management/scripts/split-plan.sh +116 -0
  243. package/claude/skills/shadcn-components/SKILL.md +586 -0
  244. package/claude/skills/shadcn-theming/SKILL.md +446 -0
  245. package/claude/skills/suspense-loading/SKILL.md +280 -0
  246. package/claude/skills/tailwind-theming/SKILL.md +507 -0
  247. package/claude/skills/tanstack-query/SKILL.md +608 -0
  248. package/claude/skills/test-coverage/SKILL.md +239 -0
  249. package/claude/skills/web-design-guidelines/SKILL.md +39 -0
  250. package/claude/skills/zod-validation/SKILL.md +537 -0
  251. package/claude/templates/blocks/progress.md +86 -0
  252. package/claude/templates/iteration/changes.md +61 -0
  253. package/claude/templates/iteration/progress.md +55 -0
  254. package/claude/templates/log.md +31 -0
  255. package/claude/templates/story/context.md +77 -0
  256. package/claude/templates/story/pendings.md +37 -0
  257. package/claude/templates/story/plan.md +299 -0
  258. package/claude/templates/story/requirements.md +109 -0
  259. package/claude/templates/story/scope.json +10 -0
  260. package/claude/templates/story/tests.md +91 -0
  261. package/claude/templates/task/progress.md +58 -0
  262. package/claude/templates/task/requirements.md +54 -0
  263. package/claude/workflows/README.md +154 -0
  264. package/claude/workflows/blocks.md +614 -0
  265. package/claude/workflows/story.md +1207 -0
  266. package/claude/workflows/task.md +927 -0
  267. package/claude/workflows/tweak.md +527 -0
  268. package/cursor/.gitkeep +0 -0
  269. package/package.json +35 -0
  270. package/scripts/postinstall.mjs +198 -0
  271. package/scripts/setup.mjs +282 -0
  272. package/scripts/sync.mjs +209 -0
@@ -0,0 +1,1207 @@
1
+ # STORY Workflow v1.0
2
+
3
+ **T-Shirt Size:** L - XL
4
+ **Session:** `stories/`
5
+ **Subagents:** Specialized per phase (8-10)
6
+ **Duration:** 1-5 hours
7
+ **Token Estimate:** 120-350k
8
+
9
+ ---
10
+
11
+ ## Overview
12
+
13
+ The STORY workflow is designed for complex features that require database changes, full CRUD implementation, multiple validation gates, and comprehensive documentation. It provides maximum structure and quality assurance.
14
+
15
+ ---
16
+
17
+ ## Initial Questions (All 7)
18
+
19
+ Before launching any subagent, Claude asks **all 7 questions** to gather complete context:
20
+
21
+ ```
22
+ ┌─────────────────────────────────────────────────────────────────┐
23
+ │ STORY DISCOVERY (Claude asks directly) │
24
+ ├─────────────────────────────────────────────────────────────────┤
25
+ │ │
26
+ │ 1. TASK MANAGER │
27
+ │ Is there an existing task in a project management system? │
28
+ │ - No │
29
+ │ - Yes, ClickUp (request task_id) │
30
+ │ - Yes, Jira (request task_id) │
31
+ │ - Yes, Linear (request task_id) │
32
+ │ - Yes, Asana (request task_id) │
33
+ │ │
34
+ │ 2. DATABASE POLICY │
35
+ │ How should the database be handled? │
36
+ │ - Reset allowed (dev/staging) │
37
+ │ - Incremental migrations only (production) │
38
+ │ │
39
+ │ 3. ENTITY TYPE │
40
+ │ What type of entity change? │
41
+ │ - New entity │
42
+ │ - Modify existing entity (request name) │
43
+ │ - No entity changes │
44
+ │ │
45
+ │ 4. BLOCKS │
46
+ │ Are blocks needed? │
47
+ │ - No blocks needed │
48
+ │ - Simple blocks (frontend-developer creates) │
49
+ │ - Complex blocks (use BLOCKS workflow) │
50
+ │ │
51
+ │ 5. MOCK │
52
+ │ Do you have a design mock? │
53
+ │ - No │
54
+ │ - Yes, I have a mock │
55
+ │ IF YES, ask conditional questions: │
56
+ │ ├── 5a. Mock is for: │
57
+ │ │ [1] Page builder blocks (default if Q4 = blocks) │
58
+ │ │ [2] Complete screens/pages │
59
+ │ │ [3] Specific components │
60
+ │ ├── 5b. Mock was created in: │
61
+ │ │ [1] Stitch │
62
+ │ │ [2] UXPilot │
63
+ │ │ [3] Figma │
64
+ │ │ [4] Other │
65
+ │ └── 5c. Number of sections/blocks: │
66
+ │ [1] Single block/component │
67
+ │ [2] Multiple (2-4) │
68
+ │ [3] Full page (5+)
69
+ │ │
70
+ │ 6. TESTING │
71
+ │ What testing is needed? │
72
+ │ - Modify existing tests (request which ones) │
73
+ │ - Create new tests (request description) │
74
+ │ - Cypress automation required? │
75
+ │ - Yes │
76
+ │ - No, manual tests only │
77
+ │ │
78
+ │ 7. DOCUMENTATION │
79
+ │ What documentation is needed? │
80
+ │ - Public docs (end users) │
81
+ │ - Superadmin docs (administrators) │
82
+ │ - Skills update (technical patterns) │
83
+ │ - No documentation │
84
+ │ │
85
+ └─────────────────────────────────────────────────────────────────┘
86
+ ```
87
+
88
+ **Key difference from TASK:** After Claude asks questions, Claude launches `product-manager` subagent with the discovery context. PM uses this context to create detailed requirements.md.
89
+
90
+ ---
91
+
92
+ ## When to Use
93
+
94
+ ### Criteria (ANY applies)
95
+
96
+ | Criterion | Threshold |
97
+ |-----------|-----------|
98
+ | **Files affected** | 15+ files |
99
+ | **Layers touched** | 3 (DB + API + UI) |
100
+ | **New tests needed** | Comprehensive |
101
+ | **Business risk** | Medium to High |
102
+ | **Database changes** | Migrations required |
103
+ | **Documentation** | Required |
104
+
105
+ ### Examples
106
+
107
+ | Task | T-Shirt | Why STORY |
108
+ |------|---------|--------------|
109
+ | New entity with full CRUD | L-XL | DB + API + UI + Tests |
110
+ | Notification system | L | Multiple components, async |
111
+ | Auth module refactor | XL | High risk, many files |
112
+ | Billing/subscriptions feature | XL | High risk, external APIs |
113
+ | Architecture migration | XL | Many files, breaking changes |
114
+
115
+ ---
116
+
117
+ ## When NOT to Use
118
+
119
+ **Use TWEAK instead if:**
120
+ - 1-3 files only
121
+ - No planning needed
122
+ - Zero business risk
123
+ - Simple fix or typo
124
+
125
+ **Use TASK instead if:**
126
+ - 4-15 files affected
127
+ - No database changes
128
+ - Low to medium risk
129
+ - Light planning sufficient
130
+ - Feature with 1-2 layers only
131
+
132
+ ---
133
+
134
+ ## Context Awareness
135
+
136
+ **CRITICAL:** Before starting any STORY workflow, read `.claude/config/context.json` to understand the environment.
137
+
138
+ ### Context Detection
139
+
140
+ ```typescript
141
+ const context = await Read('.claude/config/context.json')
142
+
143
+ if (context.context === 'monorepo') {
144
+ // Full 15-phase workflow with core access
145
+ } else if (context.context === 'consumer') {
146
+ // Full 15-phase workflow but core-restricted
147
+ }
148
+ ```
149
+
150
+ ### Scope Declaration (Phase 2: architecture-supervisor)
151
+
152
+ The architect MUST validate context before planning:
153
+
154
+ ```markdown
155
+ ## Context Validation
156
+
157
+ **Detected Context:** [monorepo/consumer]
158
+ **Context File:** .claude/config/context.json
159
+
160
+ ### Scope Impact
161
+
162
+ | Planned Area | Allowed? | Alternative (if blocked) |
163
+ |--------------|----------|--------------------------|
164
+ | core/entities/ | [Yes/No] | theme entities |
165
+ | core/services/ | [Yes/No] | theme services |
166
+ | core/migrations/ | [Yes/No] | theme migrations |
167
+ ```
168
+
169
+ ### Monorepo STORY
170
+
171
+ When `context.context === "monorepo"`:
172
+ - **FULL** 15-phase workflow with core access
173
+ - **CAN** create new core entities in `core/entities/`
174
+ - **CAN** create core migrations in `core/migrations/`
175
+ - **CAN** modify core architecture and shared utilities
176
+ - **CAN** add core services in `core/services/`
177
+ - Focus on creating reusable, abstract features for the platform
178
+
179
+ ### Consumer STORY
180
+
181
+ When `context.context === "consumer"`:
182
+ - **FULL** 15-phase workflow but **CORE-RESTRICTED**
183
+ - **Phase 3 (db-developer):** Use theme migrations only (`contents/themes/{theme}/migrations/`)
184
+ - **Phase 5 (backend-developer):** Create in theme/plugins only
185
+ - **FORBIDDEN:** Never create/modify files in `core/` (read-only in node_modules)
186
+
187
+ If feature **REQUIRES** core changes:
188
+ 1. Document as "Core Dependency" in requirements.md
189
+ 2. Pause workflow
190
+ 3. Request user decision: wait for core update OR implement workaround
191
+
192
+ ### PM Decisions Extension (Add to requirements.md)
193
+
194
+ ```markdown
195
+ ### Context Awareness
196
+ - [ ] Monorepo (full core access)
197
+ - [ ] Consumer (core read-only)
198
+
199
+ ### Core Dependencies (Consumer only)
200
+ - [ ] No core changes needed
201
+ - [ ] Core enhancement needed: ____________
202
+ - Action: [ ] Wait for core update / [ ] Implement workaround
203
+ ```
204
+
205
+ ### Path Validation (All Developer Phases)
206
+
207
+ Before any file operation:
208
+ ```typescript
209
+ const context = await Read('.claude/config/context.json')
210
+ const targetPath = 'core/entities/newEntity.config.ts'
211
+
212
+ if (context.context === 'consumer' && targetPath.startsWith('core/')) {
213
+ // STOP - Cannot modify core in consumer context
214
+ return `
215
+ ❌ Cannot create ${targetPath} in consumer context.
216
+
217
+ This file is in core/, which is read-only in your project.
218
+
219
+ Alternatives:
220
+ 1. Create theme-specific entity in contents/themes/${activeTheme}/entities/
221
+ 2. Create plugin entity in contents/plugins/{plugin}/entities/
222
+ 3. Document as "Core Enhancement Request" for upstream
223
+ `
224
+ }
225
+ ```
226
+
227
+ ---
228
+
229
+ ## Flow (15 Phases)
230
+
231
+ ```
232
+ ┌─────────────────────────────────────────────────────────────────┐
233
+ │ STORY WORKFLOW v1.0 - 15 PHASES │
234
+ ├─────────────────────────────────────────────────────────────────┤
235
+ │ │
236
+ │ BLOCK 0: DISCOVERY + MOCK ANALYSIS (1-3) │
237
+ │ ────────────────────────────────────────── │
238
+ │ Phase 0: Claude (orchestrator) → Asks 7 questions │
239
+ │ Phase 0.5: Mock Upload Pause [CONDITIONAL: si hay mock] │
240
+ │ Phase 0.6: mock-analyst [CONDITIONAL: si hay mock] │
241
+ │ │
242
+ │ BLOCK 1: PLANNING (2) │
243
+ │ ───────────────────── │
244
+ │ Phase 1: product-manager → requirements.md (with context) │
245
+ │ Phase 2: architecture-supervisor → plan.md, progress.md │
246
+ │ │
247
+ │ BLOCK 2: FOUNDATION (2) │
248
+ │ ───────────────────────── │
249
+ │ Phase 3: db-entity-developer → migrations + entity files │
250
+ │ Phase 4: db-entity-validator [GATE] │
251
+ │ │
252
+ │ BLOCK 3: BACKEND TDD (2) │
253
+ │ ───────────────────────── │
254
+ │ Phase 5: backend-developer → API routes (TDD completo) │
255
+ │ Phase 6: backend-validator [GATE] │
256
+ │ │
257
+ │ BLOCK 4: DESIGN (legacy - merged into Block 0) │
258
+ │ ─────────────────────────────────────────────── │
259
+ │ Phase 7: [REMOVED - mock-analyst now in Phase 0.6] │
260
+ │ │
261
+ │ BLOCK 5: FRONTEND (2) │
262
+ │ ─────────────────────── │
263
+ │ Phase 8: frontend-developer → UI + bloques simples │
264
+ │ Phase 9: frontend-validator [GATE] │
265
+ │ │
266
+ │ BLOCK 6: CODE REVIEW (1) │
267
+ │ ───────────────────────── │
268
+ │ Phase 10: code-reviewer → architecture + security │
269
+ │ │
270
+ │ BLOCK 7: QA (2) │
271
+ │ ─────────────── │
272
+ │ Phase 11: qa-manual [ORCHESTRATOR] │
273
+ │ Phase 12: qa-automation [OPTIONAL: si PM lo requiere] │
274
+ │ │
275
+ │ BLOCK 8: FINALIZATION (2) │
276
+ │ ───────────────────────── │
277
+ │ Phase 13: documentation-writer [CONDITIONAL] │
278
+ │ Phase 14: unit-test-writer [OPTIONAL: coverage 100%] │
279
+ │ │
280
+ └─────────────────────────────────────────────────────────────────┘
281
+ ```
282
+
283
+ ---
284
+
285
+ ## Changes from v5.2
286
+
287
+ | Change | Reason |
288
+ |--------|-------|
289
+ | **New:** Phase 0 DISCOVERY (Claude asks questions) | Consistent question experience across all workflows |
290
+ | **Changed:** PM no longer asks questions | Claude asks in Phase 0, PM receives context |
291
+ | **New:** Phase 0.6 mock-analyst [CONDITIONAL] | Design token analysis when mock available |
292
+ | **Expanded:** PM Decisions with Task Manager | Integration with ClickUp/Jira/Asana/Linear |
293
+ | **Expanded:** PM Decisions with Testing | Control over which tests to create |
294
+ | **Expanded:** PM Decisions with Mock | Enables design system analysis |
295
+ | **Changed:** qa-automation from GATE to OPTIONAL | Automated testing based on need |
296
+
297
+ **Result:** 13 phases → 15 phases, 5 gates → 4 mandatory gates
298
+
299
+ ---
300
+
301
+ ## Changes from v4.0
302
+
303
+ | Change | Reason |
304
+ |--------|-------|
305
+ | **New:** Phase 0 DISCOVERY | Claude asks questions consistently |
306
+ | **Removed:** theme-creator | Separate workflow |
307
+ | **Merged:** db-developer + entity config | DB/Entity coherence |
308
+ | **Merged:** api-tester into backend-validator | Reduce redundant gates |
309
+ | **Merged:** functional-validator into frontend-validator | Reduce redundant gates |
310
+ | **Moved:** code-reviewer BEFORE QA | Avoid rework post-QA |
311
+ | **Removed:** block-developer | Frontend handles or separate workflow |
312
+ | **Converted:** qa-manual from subagent to ORCHESTRATOR | Full context, fewer issues |
313
+ | **Moved:** unit-test-writer to FINALIZATION as optional | 100% coverage when needed |
314
+ | **Expanded:** documentation-writer with 3 doc layers | Public, superadmin, skills |
315
+ | **New:** mock-analyst (Phase 0.6) for design tokens | Mock analysis |
316
+ | **New:** Expanded PM Decisions | Task Manager, Mocks, Testing |
317
+
318
+ **Result:** 19 phases → 15 phases, 8 gates → 4 mandatory gates
319
+
320
+ ---
321
+
322
+ ## Characteristics
323
+
324
+ | Aspecto | v4.0 | v1.0 |
325
+ |---------|------|------|
326
+ | **Total phases** | 19 | 15 (including Phase 0) |
327
+ | **Mandatory gates** | 8 | 4 |
328
+ | **Subagents** | 15+ | 8-10 |
329
+ | **Phase types** | 1 (subagent) | 5 (orchestrator, subagent, gate, conditional, optional) |
330
+ | **Who asks questions** | PM subagent | Claude (orchestrator) |
331
+ | **Typical duration** | 2-8 hours | 1-5 hours |
332
+ | **Token estimate** | 200-500k | 120-350k |
333
+
334
+ ---
335
+
336
+ ## Tipos de Fases
337
+
338
+ | Tipo | Símbolo | Descripción | Quién ejecuta |
339
+ |------|---------|-------------|---------------|
340
+ | **SUBAGENT** | (ninguno) | Agente especializado | Subagente dedicado |
341
+ | **GATE** | [GATE] | Validación que debe pasar | Subagente validador |
342
+ | **ORCHESTRATOR** | [ORCHESTRATOR] | Fase con contexto completo | Orquestador principal |
343
+ | **CONDITIONAL** | [CONDITIONAL] | Se ejecuta según PM Decisions | Subagente dedicado |
344
+ | **OPTIONAL** | [OPTIONAL] | Se ejecuta si se solicita | Subagente dedicado |
345
+
346
+ ---
347
+
348
+ ## Workflows Separados (No incluidos aquí)
349
+
350
+ | Workflow | Comando | Uso |
351
+ |----------|---------|-----|
352
+ | Theme creation | `/session:theme:create` | Crear nuevo theme |
353
+ | Plugin creation | `/session:plugin:create` | Crear nuevo plugin |
354
+ | Block creation | `/session:block:create` | Bloques complejos |
355
+
356
+ **Nota:** STORY asume que el theme ya existe.
357
+
358
+ ---
359
+
360
+ ## PM Decisions (OBLIGATORIO en requirements.md)
361
+
362
+ ```markdown
363
+ ## PM Decisions
364
+
365
+ ### Task Manager
366
+ - [ ] No task manager
367
+ - [ ] ClickUp: task_id=____________
368
+ - [ ] Jira: task_id=____________
369
+ - [ ] Linear: task_id=____________
370
+ - [ ] Asana: task_id=____________
371
+
372
+ ### Database Policy
373
+ - [ ] Reset allowed (dev/staging)
374
+ - [ ] Incremental migrations only (production)
375
+
376
+ ### Entity Type
377
+ - [ ] New entity required
378
+ - [ ] Modify existing entity: ____________
379
+ - [ ] No entity changes
380
+
381
+ ### Blocks
382
+ - [ ] No blocks needed
383
+ - [ ] Simple blocks (frontend-developer creates)
384
+ - [ ] Complex blocks (use BLOCKS workflow)
385
+
386
+ ### Mock
387
+ - [ ] No mock disponible
388
+ - [ ] Mock disponible: path=____________
389
+ - [ ] Para bloques (page builder)
390
+ - [ ] Para componentes generales
391
+
392
+ ### Testing
393
+ - [ ] Modificar tests existentes: ____________
394
+ - [ ] Crear nuevos tests: ____________
395
+ - [ ] Automatización Cypress requerida
396
+ - [ ] Solo tests manuales
397
+
398
+ ### Documentation
399
+ - [ ] Public docs (user-facing)
400
+ - [ ] Superadmin docs (internal admin)
401
+ - [ ] Skills update (technical patterns)
402
+ - [ ] No documentation needed
403
+ ```
404
+
405
+ ---
406
+
407
+ ## Discovery to PM Handoff (Phase 0 → Phase 1)
408
+
409
+ Claude asks all 7 questions in Phase 0, then passes the discovery context to the product-manager in Phase 1:
410
+
411
+ ```
412
+ ┌─────────────────────────────────────────────────────────────────┐
413
+ │ PHASE 0: DISCOVERY (Claude) │
414
+ ├─────────────────────────────────────────────────────────────────┤
415
+ │ │
416
+ │ Claude asks user the 7 questions (see Initial Questions above) │
417
+ │ Claude collects all answers │
418
+ │ Claude creates discovery context object │
419
+ │ │
420
+ └─────────────────────────────────────────────────────────────────┘
421
+
422
+
423
+ ┌─────────────────────────────────────────────────────────────────┐
424
+ │ PHASE 1: PRODUCT-MANAGER (receives context) │
425
+ ├─────────────────────────────────────────────────────────────────┤
426
+ │ │
427
+ │ PM receives discovery context: │
428
+ │ { │
429
+ │ taskManager: { type: "clickup", taskId: "abc123" }, │
430
+ │ databasePolicy: "reset_allowed", │
431
+ │ entityType: { type: "new", name: "products" }, │
432
+ │ blocks: "simple", │
433
+ │ mock: { path: "_tmp/mocks/products", for: "blocks" }, │
434
+ │ testing: { type: "create", automation: true }, │
435
+ │ documentation: ["superadmin", "skills"] │
436
+ │ } │
437
+ │ │
438
+ │ PM uses context to: │
439
+ │ ├── Fetch external task (if taskManager provided) │
440
+ │ ├── Create requirements.md with correct PM Decisions │
441
+ │ ├── Define ACs based on entity type │
442
+ │ └── Set up session structure │
443
+ │ │
444
+ └─────────────────────────────────────────────────────────────────┘
445
+ ```
446
+
447
+ **Benefits of this approach:**
448
+ - Consistent question experience across all workflows (Claude always asks)
449
+ - PM has full context before starting work
450
+ - If external task exists, PM can fetch and incorporate it
451
+ - No redundant questioning
452
+
453
+ ---
454
+
455
+ ## Session Files
456
+
457
+ ```
458
+ stories/YYYY-MM-DD-name/
459
+ ├── context.md # Permanent info + agent log
460
+ ├── requirements.md # ACs, user stories, PM Decisions
461
+ ├── plan.md # Detailed technical plan (with phase markers)
462
+ ├── scope.json # Allowed paths
463
+ ├── pendings.md # Global pending items
464
+ ├── tests.md # Selectors, translations, results
465
+
466
+ ├── mocks/ # [CONDITIONAL: if mock selected]
467
+ │ ├── code.html # User uploads
468
+ │ ├── screen.png # User uploads
469
+ │ ├── analysis.json # From mock-analyst (Phase 0.6)
470
+ │ └── ds-mapping.json # From mock-analyst (Phase 0.6)
471
+
472
+ ├── phases/ # Auto-generated phase files (token optimization)
473
+ │ ├── phase-03-db-entity.md
474
+ │ ├── phase-05-backend.md
475
+ │ ├── phase-08-frontend.md
476
+ │ └── ... # One file per developer phase
477
+
478
+ ├── iterations/
479
+ │ ├── 01-initial/
480
+ │ │ ├── progress.md
481
+ │ │ ├── changes.md
482
+ │ │ └── closed.json
483
+ │ └── 02-scope-change/
484
+ │ ├── scope-change.md
485
+ │ ├── progress.md
486
+ │ └── changes.md
487
+
488
+ └── current/
489
+ ├── progress.md → iterations/XX/progress.md
490
+ └── changes.md → iterations/XX/changes.md
491
+ ```
492
+
493
+ **Token Optimization:** The `phases/` directory contains pre-split phase files generated by `split-plan.sh`. Each developer agent reads only their specific phase file (~800 tokens) instead of the full plan.md (~2,800 tokens). See `_docs/workflows-optimizations.md` for details.
494
+
495
+ ---
496
+
497
+ ## Validation Gates
498
+
499
+ | Gate | Phase | What it validates | Required |
500
+ |------|-------|-------------------|----------|
501
+ | `db-entity-validator` | 4 | Migrations, sample data, entity files | Yes |
502
+ | `backend-validator` | 6 | Jest tests, build, lint, Cypress API | Yes |
503
+ | `frontend-validator` | 9 | data-cy, translations, ACs coherence | Yes |
504
+ | `qa-automation` | 12 | Cypress UAT tests | **No** (PM Decision) |
505
+
506
+ **Note:** qa-manual is no longer a separate GATE, it's an ORCHESTRATOR phase that can block if it finds critical errors.
507
+
508
+ ---
509
+
510
+ ## Subagents by Phase
511
+
512
+ | Phase | Type | Agent/Executor | Responsibility |
513
+ |------|------|-----------------|-----------------|
514
+ | 0 | ORCHESTRATOR | *Claude* | Ask 7 questions, collect discovery context |
515
+ | 1 | SUBAGENT | product-manager | Requirements with context, ACs, PM Decisions |
516
+ | 2 | SUBAGENT | architecture-supervisor | Technical plan, progress template |
517
+ | 3 | SUBAGENT | db-entity-developer | Migrations + Entity files |
518
+ | 4 | GATE | db-entity-validator | Validate DB + Entity |
519
+ | 5 | SUBAGENT | backend-developer | API routes (full TDD) |
520
+ | 6 | GATE | backend-validator | Jest + Build + API tests |
521
+ | 7 | DEPRECATED | ~~mock-analyst~~ | Moved to Phase 0.6 |
522
+ | 8 | SUBAGENT | frontend-developer | UI components + simple blocks |
523
+ | 9 | GATE | frontend-validator | data-cy + i18n + ACs |
524
+ | 10 | SUBAGENT | code-reviewer | Architecture + Security review |
525
+ | 11 | ORCHESTRATOR | *orchestrator* | QA Manual with Playwright |
526
+ | 12 | OPTIONAL | qa-automation | Cypress UAT tests |
527
+ | 13 | CONDITIONAL | documentation-writer | Docs: public, superadmin, skills |
528
+ | 14 | OPTIONAL | unit-test-writer | Coverage 100% |
529
+
530
+ ---
531
+
532
+ ## Block Details
533
+
534
+ ### BLOQUE 0: DISCOVERY + MOCK ANALYSIS
535
+
536
+ **Phase 0: Claude (Orchestrator)**
537
+ ```
538
+ Responsabilidades:
539
+ ├── Hacer las 7 preguntas al usuario
540
+ │ ├── Q4: Blocks → Entender si hay bloques
541
+ │ └── Q5: Mock → Si Yes, hacer preguntas condicionales 5a, 5b, 5c
542
+ │ └── Si Q4 = blocks → 5a defaults to "blocks"
543
+ ├── Recopilar todas las respuestas
544
+ ├── Crear objeto de contexto discovery
545
+ ├── Evaluar si el workflow STORY es correcto
546
+ │ └── Si es demasiado simple → Recomendar TASK
547
+ └── Si hay mock → Continuar con Phase 0.5
548
+ Si no hay mock → Lanzar product-manager con contexto
549
+ ```
550
+
551
+ **Phase 0.5: Mock Upload Pause** [CONDITIONAL: si hay mock]
552
+ ```
553
+ ⚠️ SE EJECUTA SI: Discovery answer "Mock" = Yes
554
+
555
+ Responsabilidades:
556
+ ├── Crear carpeta session con mocks/ subfolder
557
+ ├── Mostrar instrucciones de upload:
558
+ │ ┌─────────────────────────────────────────────────────┐
559
+ │ │ 📁 MOCK UPLOAD REQUIRED │
560
+ │ │ │
561
+ │ │ Please upload your mock files to: │
562
+ │ │ .claude/sessions/stories/YYYY-MM-DD-name/mocks/ │
563
+ │ │ │
564
+ │ │ Expected files (auto-detected): │
565
+ │ │ - HTML: code.html, index.html, *.html │
566
+ │ │ - Screenshot: screen.png, *.png, *.jpg │
567
+ │ │ - Optional: assets/, tailwind.config.js │
568
+ │ │ │
569
+ │ │ Reply "ready" when files are uploaded. │
570
+ │ └─────────────────────────────────────────────────────┘
571
+ ├── Esperar confirmación del usuario ("ready")
572
+ └── Validar que los archivos existen
573
+ ```
574
+
575
+ **Phase 0.6: mock-analyst** [CONDITIONAL: si hay mock]
576
+ ```
577
+ ⚠️ SE EJECUTA SI: Phase 0.5 completado exitosamente
578
+
579
+ Responsabilidades:
580
+ ├── Detectar archivos en mocks/ (*.html, *.png, *.jpg, *.pdf)
581
+ ├── Analizar HTML/CSS del mock (si disponible)
582
+ ├── Extraer tokens de diseño del Tailwind config
583
+ ├── Mapear a tokens del theme activo
584
+ ├── Identificar gaps (tokens faltantes)
585
+ └── Generar outputs:
586
+ ├── analysis.json (estructura del mock)
587
+ └── ds-mapping.json (mapeo de tokens)
588
+
589
+ Output → PM recibe mock analysis como parte del contexto
590
+ ```
591
+
592
+ ### BLOQUE 1: PLANNING
593
+
594
+ **Phase 1: product-manager**
595
+ ```
596
+ Responsabilidades (CON CONTEXTO de Phase 0):
597
+ ├── Recibir discovery context de Claude
598
+ ├── Si hay Task Manager en contexto:
599
+ │ ├── Usar task_id del contexto
600
+ │ ├── Leer tarea existente (contexto)
601
+ │ └── Sincronizar ACs con la tarea
602
+ ├── Crear requirements.md con ACs detallados
603
+ ├── Rellenar PM Decisions con datos del contexto
604
+ └── Crear clickup_task.md (si aplica)
605
+
606
+ ⚠️ NO hace preguntas - ya tiene el contexto de Phase 0
607
+ ```
608
+
609
+ **Phase 2: architecture-supervisor**
610
+ - Lee requirements y PM Decisions
611
+ - Crea `plan.md` con plan técnico detallado
612
+ - **CRITICAL:** Must include phase markers for token optimization
613
+ - Format: `<!-- PHASE:XX:START -->` and `<!-- PHASE:XX:END -->`
614
+ - Each phase section ~800 tokens, self-contained
615
+ - ACs extracted per phase (not "see requirements.md")
616
+ - Crea `progress.md` template con todas las fases
617
+ - Define scope en `scope.json`
618
+ - Si hay Mock → Incluye Phase 7 en plan
619
+ - **After plan.md:** Run `split-plan.sh` to create phase files
620
+
621
+ ---
622
+
623
+ ### BLOCK 2: FOUNDATION
624
+
625
+ **Phase 3: db-entity-developer**
626
+ ```
627
+ Context (Token Optimized):
628
+ ├── Read phases/phase-03-db-entity.md (~800 tokens)
629
+ │ └── Contains: Objective, Relevant ACs, Files to create
630
+ ├── Read progress.md (~200 tokens)
631
+ └── Total: ~1,000 tokens (vs ~7,800 without optimization)
632
+
633
+ Responsabilidades:
634
+ ├── 3.1 Database Layer
635
+ │ ├── Migration file (SQL con TIMESTAMPTZ)
636
+ │ ├── Sample data (abundante y realista)
637
+ │ └── Test users en devKeyring
638
+
639
+ └── 3.2 Entity Layer
640
+ ├── entity.config.ts (5 sections)
641
+ ├── entity.fields.ts (NO system fields)
642
+ ├── entity.types.ts
643
+ ├── entity.service.ts (static class, RLS)
644
+ └── entity.messages/ (en.json, es.json)
645
+ ```
646
+
647
+ **Phase 4: db-entity-validator** [GATE]
648
+ - ✓ Migrations ejecutan sin error
649
+ - ✓ Tablas existen con schema correcto
650
+ - ✓ Sample data insertada
651
+ - ✓ Test users pueden autenticarse
652
+ - ✓ Entity files existen (4-5 archivos)
653
+ - ✓ Types coinciden con migration
654
+ - ✓ Service methods funcionan
655
+
656
+ ---
657
+
658
+ ### BLOCK 3: BACKEND TDD
659
+
660
+ **Phase 5: backend-developer**
661
+ ```
662
+ Context (Token Optimized):
663
+ ├── Read phases/phase-05-backend.md (~800 tokens)
664
+ │ └── Contains: Objective, Relevant ACs, Files to create
665
+ ├── Read progress.md (~200 tokens)
666
+ └── Total: ~1,000 tokens (vs ~7,800 without optimization)
667
+
668
+ TDD Completo:
669
+ 1. Escribir tests PRIMERO (RED)
670
+ 2. Implementar código (GREEN)
671
+ 3. Refactorizar (REFACTOR)
672
+
673
+ Entregables:
674
+ ├── __tests__/api/[entity].test.ts
675
+ ├── app/api/v1/[entity]/route.ts
676
+ ├── Dual auth (session + API key)
677
+ ├── Zod validation schemas
678
+ ├── Response format con metadata
679
+ └── Target: 70%+ coverage
680
+ ```
681
+
682
+ **Phase 6: backend-validator** [GATE]
683
+ - ✓ Jest tests pasan (100%)
684
+ - ✓ `pnpm build` sin errores
685
+ - ✓ `tsc --noEmit` sin errores
686
+ - ✓ `pnpm lint` sin errores
687
+ - ✓ Cypress API tests pasan (si hay endpoints nuevos)
688
+ - ✓ Data-only registry pattern verificado
689
+
690
+ ---
691
+
692
+ ### BLOCK 4: DESIGN [DEPRECATED]
693
+
694
+ **Phase 7: [REMOVED - Moved to Phase 0.6]**
695
+
696
+ ```
697
+ ⚠️ ESTA FASE SE MOVIÓ A PHASE 0.6 EN BLOCK 0
698
+
699
+ Razón del cambio:
700
+ ├── Mock analysis debe ocurrir ANTES de PM
701
+ ├── PM necesita ver el análisis para escribir mejores ACs
702
+ ├── Arc necesita saber qué bloques crear
703
+ └── Frontend-developer sigue leyendo ds-mapping.json
704
+
705
+ El mock analysis ahora:
706
+ ├── Se ejecuta inmediatamente después de Discovery
707
+ ├── Genera analysis.json + ds-mapping.json en mocks/
708
+ └── PM y Arc reciben el análisis como parte del contexto
709
+ ```
710
+
711
+ **Integración con frontend-developer (sin cambios):**
712
+ ```
713
+ El frontend-developer:
714
+ 1. Lee mocks/ds-mapping.json (si existe)
715
+ 2. Usa los mappings para aplicar tokens correctos
716
+ 3. Reporta si encuentra valores no mapeados
717
+ ```
718
+
719
+ ---
720
+
721
+ ### BLOCK 5: FRONTEND
722
+
723
+ **Phase 8: frontend-developer**
724
+ ```
725
+ Context (Token Optimized):
726
+ ├── Read phases/phase-08-frontend.md (~800 tokens)
727
+ │ └── Contains: Objective, Relevant ACs, Files to create
728
+ ├── Read progress.md (~200 tokens)
729
+ └── Total: ~1,000 tokens (vs ~7,800 without optimization)
730
+
731
+ Responsabilidades:
732
+ ├── UI Components (shadcn/ui, compound patterns)
733
+ ├── State Management (TanStack Query)
734
+ ├── Translations (ZERO hardcoded strings)
735
+ ├── data-cy selectors (con sel() function)
736
+ ├── Accessibility (ARIA, keyboard nav)
737
+ ├── Bloques simples (si PM Decision permite)
738
+ ├── Responsive design (mobile-first)
739
+
740
+ └── Si hay ds-mapping.json:
741
+ ├── Usar tokens mapeados
742
+ ├── Reportar gaps encontrados
743
+ └── Seguir guía de colores/spacing
744
+ ```
745
+
746
+ **Phase 9: frontend-validator** [GATE]
747
+ - ✓ Todos los data-cy usan `sel()` function
748
+ - ✓ ZERO hardcoded strings (todo usa translations)
749
+ - ✓ `pnpm build` sin errores
750
+ - ✓ ACs coherentes con implementación
751
+ - ✓ Selectores documentados en tests.md
752
+ - ✓ Si hay mock: valores usan tokens del mapping
753
+
754
+ ---
755
+
756
+ ### BLOCK 6: CODE REVIEW
757
+
758
+ **Phase 10: code-reviewer**
759
+ ```
760
+ Context (Token Optimized):
761
+ ├── Read phases/phase-10-code-reviewer.md (~800 tokens)
762
+ │ └── Contains: Objective, Files to review, Checklist
763
+ ├── Read progress.md (~200 tokens)
764
+ └── Total: ~1,000 tokens (vs ~7,800 without optimization)
765
+
766
+ Review antes de QA:
767
+ ├── Architecture patterns correctos
768
+ ├── Security vulnerabilities
769
+ ├── Performance concerns
770
+ ├── Code quality y best practices
771
+ ├── Core/Theme boundaries respetados
772
+ └── Registry pattern violations
773
+ ```
774
+
775
+ Si encuentra issues críticos → Llama al developer para fix.
776
+
777
+ ---
778
+
779
+ ### BLOCK 7: QA
780
+
781
+ **Phase 11: qa-manual** [ORCHESTRATOR]
782
+
783
+ ```
784
+ ⚠️ EJECUTADO POR EL ORQUESTADOR (no subagente)
785
+
786
+ El orquestador tiene contexto completo de la sesión:
787
+ - Ya leyó requirements.md (conoce los ACs)
788
+ - Ya leyó plan.md (conoce la arquitectura)
789
+ - Ya leyó progress.md (sabe qué se implementó)
790
+
791
+ Ejecución:
792
+ 1. Iniciar dev server (si no está corriendo)
793
+ 2. Abrir browser con Playwright
794
+ 3. Para cada AC en requirements.md:
795
+ ├── Navegar a la pantalla correspondiente
796
+ ├── Verificar funcionamiento visual
797
+ ├── Probar interacciones principales
798
+ └── Marcar como ✓ o ✗
799
+ 4. Revisar consola del browser por errores
800
+ 5. Revisar network por errores 500
801
+ 6. Si encuentra issues:
802
+ ├── Documentar en context.md
803
+ ├── Llamar al developer apropiado (backend/frontend)
804
+ ├── Esperar fix
805
+ └── Retry (max 3 intentos)
806
+ 7. Si todo OK → Continuar (qa-automation si PM lo requiere)
807
+
808
+ Ventajas vs subagente:
809
+ ✓ Contexto completo sin re-lectura
810
+ ✓ Mejor criterio sobre qué es crítico
811
+ ✓ Menos problemas de herramientas
812
+ ✓ Decisiones más inteligentes
813
+ ```
814
+
815
+ **Phase 12: qa-automation** [OPTIONAL]
816
+
817
+ ```
818
+ ⚠️ SE EJECUTA SI: PM Decision "Testing" incluye "Automatización Cypress requerida"
819
+
820
+ Responsabilidades:
821
+ ├── Heredar contexto de qa-manual (misma sesión)
822
+ ├── Verificar selectores antes de ejecutar
823
+ ├── Crear/actualizar Cypress tests (API + UAT)
824
+ ├── Ejecutar suite completa
825
+ └── Documentar resultados en tests.md
826
+
827
+ Si PM Decision es "Solo tests manuales":
828
+ └── Esta fase se SALTA
829
+ ```
830
+
831
+ ---
832
+
833
+ ### BLOCK 8: FINALIZATION
834
+
835
+ **Phase 13: documentation-writer** [CONDITIONAL]
836
+
837
+ ```
838
+ ⚠️ SE EJECUTA SI PM Decision indica documentación necesaria
839
+
840
+ RESPONSABILIDADES EXPANDIDAS:
841
+ El agente debe analizar qué documentación crear/actualizar
842
+ basándose en los cambios realizados.
843
+ ```
844
+
845
+ #### Tres Capas de Documentación
846
+
847
+ | Capa | Ubicación | Audiencia | Lenguaje |
848
+ |------|-----------|-----------|----------|
849
+ | **Public** | `docs/public/` | Usuarios finales | Simple, no técnico |
850
+ | **Superadmin** | `docs/superadmin/` | Administradores | Semi-técnico, operacional |
851
+ | **Skills** | `.claude/skills/` | Claude/Desarrolladores | Técnico, patrones |
852
+
853
+ #### Matriz de Decisión
854
+
855
+ ```
856
+ Tipo de Cambio │ Public │ Superadmin │ Skills
857
+ ────────────────────────────┼────────┼────────────┼────────
858
+ Nueva entidad + CRUD │ ○ │ ● │ ●
859
+ Nuevo API endpoint │ ○ │ ● │ ○
860
+ Nuevo componente UI │ ○ │ ○ │ ○
861
+ Nueva arquitectura/patrón │ ✗ │ ○ │ ●
862
+ Cambio de configuración │ ✗ │ ● │ ○
863
+ Nuevo plugin │ ○ │ ● │ ●
864
+ Nueva convención/patrón │ ✗ │ ✗ │ ●
865
+
866
+ ● = Requerido
867
+ ○ = Si aplica
868
+ ✗ = No necesario
869
+ ```
870
+
871
+ #### Detalle por Capa
872
+
873
+ **Public Docs** (`docs/public/`)
874
+ ```
875
+ Cuándo crear/actualizar:
876
+ - Feature visible para usuarios finales
877
+ - Nuevo flujo de usuario
878
+ - Cambio en UI existente
879
+
880
+ Contenido:
881
+ ├── Guías de usuario (how-to)
882
+ ├── FAQs
883
+ ├── Screenshots/GIFs
884
+ └── Ejemplos de uso
885
+
886
+ Estilo:
887
+ - Lenguaje simple y accesible
888
+ - Evitar jerga técnica
889
+ - Paso a paso con imágenes
890
+ ```
891
+
892
+ **Superadmin Docs** (`docs/superadmin/`)
893
+ ```
894
+ Cuándo crear/actualizar:
895
+ - Nueva entidad administrable
896
+ - Nuevas opciones de configuración
897
+ - Cambios en permisos/roles
898
+ - Nuevos flujos de administración
899
+
900
+ Contenido:
901
+ ├── Guías de configuración
902
+ ├── Troubleshooting
903
+ ├── Opciones disponibles
904
+ ├── Permisos necesarios
905
+ └── Ejemplos de configuración
906
+
907
+ Estilo:
908
+ - Semi-técnico pero comprensible
909
+ - Enfocado en operaciones
910
+ - Sin código, pero con ejemplos de config
911
+ ```
912
+
913
+ **Skills** (`.claude/skills/`)
914
+ ```
915
+ Cuándo crear/actualizar:
916
+ - Nuevo patrón arquitectural
917
+ - Nueva convención de código
918
+ - Patrón que se reutilizará
919
+ - Conocimiento técnico que Claude necesita recordar
920
+
921
+ Contenido:
922
+ ├── SKILL.md principal
923
+ ├── Estructura de archivos
924
+ ├── Patrones y convenciones
925
+ ├── Ejemplos de código
926
+ ├── Anti-patterns
927
+ └── Referencias a otros skills
928
+
929
+ Criterios para crear/actualizar skill:
930
+ □ ¿Es un patrón que se reutilizará?
931
+ □ ¿Claude necesita recordar esto para futuras tareas?
932
+ □ ¿Un developer necesitaría entender esto?
933
+ □ ¿Cambia cómo se hace algo en el proyecto?
934
+
935
+ Si ≥2 respuestas son SÍ → Crear/actualizar skill
936
+ ```
937
+
938
+ #### Flujo del documentation-writer
939
+
940
+ ```
941
+ 1. ANÁLISIS
942
+ ├── Leer changes.md (qué archivos cambiaron)
943
+ ├── Leer requirements.md (qué feature es)
944
+ ├── Leer PM Decisions (qué docs se pidieron)
945
+ └── Identificar tipo de cambios
946
+
947
+ 2. DECISIÓN
948
+ ├── Aplicar matriz de decisión
949
+ ├── Determinar qué capas necesitan docs
950
+ └── Priorizar: Skills > Superadmin > Public
951
+
952
+ 3. EJECUCIÓN
953
+ Para cada capa necesaria:
954
+ ├── Verificar si existe documentación previa
955
+ ├── Si existe → Actualizar
956
+ ├── Si no existe → Crear
957
+ └── Seguir estilo de la capa
958
+
959
+ 4. VALIDACIÓN
960
+ ├── Links funcionan
961
+ ├── Ejemplos son correctos
962
+ ├── Código compila (en skills)
963
+ └── Consistencia con docs existentes
964
+ ```
965
+
966
+ **Phase 14: unit-test-writer** [OPTIONAL]
967
+
968
+ ```
969
+ SE EJECUTA SI:
970
+ - Coverage actual < 80%
971
+ - PM solicita coverage 100%
972
+ - Hay business logic compleja sin tests
973
+
974
+ Responsabilidades:
975
+ ├── Analizar coverage report
976
+ ├── Identificar gaps
977
+ ├── Escribir tests para:
978
+ │ ├── Services (business logic)
979
+ │ ├── Utilities
980
+ │ ├── Edge cases
981
+ │ └── Error handling
982
+ └── Target: 100% coverage en critical paths
983
+
984
+ NO hace:
985
+ - Re-escribir tests de backend-developer
986
+ - Tests de API (ya cubiertos)
987
+ - Tests E2E (eso es qa-automation)
988
+ ```
989
+
990
+ ---
991
+
992
+ ## Iterations
993
+
994
+ ### When to Create a New Iteration
995
+
996
+ 1. **Scope Change:** El alcance cambió significativamente
997
+ 2. **Major Blocker:** Blocker que requiere replantear
998
+ 3. **Review Feedback:** Code review requiere cambios sustanciales
999
+ 4. **Pausa Larga:** Se pausó el trabajo por días
1000
+
1001
+ ### Command
1002
+
1003
+ ```bash
1004
+ ./iteration-init.sh stories/YYYY-MM-DD-name scope-change "add-variants"
1005
+ ```
1006
+
1007
+ ---
1008
+
1009
+ ## Commands
1010
+
1011
+ ```
1012
+ /session:start:story <description>
1013
+ ```
1014
+
1015
+ Or automatic evaluation:
1016
+ ```
1017
+ /session:start complex-feature-description
1018
+ ```
1019
+
1020
+ ---
1021
+
1022
+ ## Flow Diagram
1023
+
1024
+ ```
1025
+ START
1026
+
1027
+
1028
+ ┌─────────────────┐
1029
+ │ BLOQUE 0: │
1030
+ │ DISCOVERY │
1031
+ │ (0, 0.5, 0.6) │
1032
+ │ Claude asks 7 │
1033
+ │ questions │
1034
+ └────────┬────────┘
1035
+
1036
+
1037
+ ┌────────────────────┐
1038
+ │ Mock selected? │
1039
+ │ (Discovery Q4) │
1040
+ └─────┬──────────────┘
1041
+
1042
+ ┌───┴───┐
1043
+ │ │
1044
+ YES NO
1045
+ │ │
1046
+ ▼ │
1047
+ ┌─────────────┐│
1048
+ │ Phase 0.5: ││
1049
+ │ Mock Upload ││
1050
+ │ Pause ││
1051
+ └──────┬──────┘│
1052
+ │ │
1053
+ ▼ │
1054
+ ┌─────────────┐│
1055
+ │ Phase 0.6: ││
1056
+ │ mock-analyst││
1057
+ └──────┬──────┘│
1058
+ │ │
1059
+ └───┬───┘
1060
+
1061
+
1062
+ ┌─────────────────┐
1063
+ │ BLOQUE 1: │
1064
+ │ PLANNING │
1065
+ │ (1-2) PM + Arc │
1066
+ │ receives context│
1067
+ └────────┬────────┘
1068
+
1069
+
1070
+ ┌─────────────────┐
1071
+ │ BLOQUE 2: │
1072
+ │ FOUNDATION │
1073
+ │ (3-4) │
1074
+ └────────┬────────┘
1075
+
1076
+
1077
+ ┌────────────┐
1078
+ │ GATE: db- │──NO──► Fix db-entity-developer
1079
+ │ entity- │ │
1080
+ │ validator │◄───────┘
1081
+ └─────┬──────┘
1082
+ │YES
1083
+
1084
+ ┌─────────────────┐
1085
+ │ BLOQUE 3: │
1086
+ │ BACKEND TDD │
1087
+ │ (5-6) │
1088
+ └────────┬────────┘
1089
+
1090
+
1091
+ ┌────────────┐
1092
+ │ GATE: │──NO──► Fix backend-developer
1093
+ │ backend- │ │
1094
+ │ validator │◄───────┘
1095
+ └─────┬──────┘
1096
+ │YES
1097
+
1098
+ ┌─────────────────┐
1099
+ │ BLOQUE 5: │
1100
+ │ FRONTEND │
1101
+ │ (8-9) │
1102
+ └────────┬────────┘
1103
+
1104
+
1105
+ ┌────────────┐
1106
+ │ GATE: │──NO──► Fix frontend-developer
1107
+ │ frontend- │ │
1108
+ │ validator │◄───────┘
1109
+ └─────┬──────┘
1110
+ │YES
1111
+
1112
+ ┌─────────────────┐
1113
+ │ BLOQUE 6: │
1114
+ │ CODE REVIEW │──Issues──► Fix developer
1115
+ │ (10) │ │
1116
+ └────────┬────────┘◄───────────┘
1117
+ │OK
1118
+
1119
+ ┌─────────────────┐
1120
+ │ BLOQUE 7: │
1121
+ │ QA │
1122
+ │ (11-12) │
1123
+ └────────┬────────┘
1124
+
1125
+
1126
+ ┌─────────────────────┐
1127
+ │ QA MANUAL │
1128
+ │ (Orquestador) │──Errors──► Fix developer
1129
+ │ │ │
1130
+ └──────────┬──────────┘◄───────────┘
1131
+ │OK
1132
+
1133
+ ┌────────────────────┐
1134
+ │ Cypress requerido? │
1135
+ │ (PM Decision) │
1136
+ └─────┬──────────────┘
1137
+
1138
+ ┌───┴───┐
1139
+ │ │
1140
+ YES NO
1141
+ │ │
1142
+ ▼ │
1143
+ ┌─────────────┐│
1144
+ │ qa-auto ││
1145
+ │ [OPTIONAL] ││
1146
+ └──────┬──────┘│
1147
+ │ │
1148
+ └───┬───┘
1149
+
1150
+
1151
+ ┌─────────────────┐
1152
+ │ BLOQUE 8: │
1153
+ │ FINALIZATION │
1154
+ │ (13-14) │
1155
+ └────────┬────────┘
1156
+
1157
+ ├──► [CONDITIONAL] documentation-writer
1158
+ │ ├── Public docs
1159
+ │ ├── Superadmin docs
1160
+ │ └── Skills
1161
+
1162
+ └──► [OPTIONAL] unit-test-writer
1163
+ └── Coverage 100%
1164
+
1165
+
1166
+ DONE
1167
+ ```
1168
+
1169
+ ---
1170
+
1171
+ ## Evolution Summary
1172
+
1173
+ ```
1174
+ v4.0 (Original) v1.0 (Current)
1175
+ ─────────────────────────────────────
1176
+ 19 phases → 15 phases (-21%)
1177
+ 8 gates → 4 mandatory (-50%)
1178
+ 15+ subagents → 8-10 subagents
1179
+ 1 phase type → 5 phase types
1180
+ PM asks Qs → Claude asks Qs (consistent)
1181
+ No Task Manager → ClickUp/Jira/Linear/Asana
1182
+ No Mocks → Mock analysis with mock-analyst
1183
+ Basic docs → 3 doc layers
1184
+ QA subagent → QA orchestrator
1185
+ Fixed testing → Configurable testing
1186
+ ```
1187
+
1188
+ ---
1189
+
1190
+ ## Related Documentation
1191
+
1192
+ - `workflows/tweak.md` - For simple adjustments (XS-S)
1193
+ - `workflows/task.md` - For medium complexity (S-M-L)
1194
+ - `commands/session-start.md` - Start command details
1195
+ - `commands/session-execute.md` - Execution details
1196
+ - `skills/README.md` - All available skills
1197
+
1198
+ ---
1199
+
1200
+ ## Version History
1201
+
1202
+ | Version | Changes |
1203
+ |---------|---------|
1204
+ | v1.0 | First public version: 15 phases, English documentation |
1205
+ | v1.1 | Mock analysis moved to Phase 0.6, Block 4 deprecated |
1206
+ | v5.2 | Added mock-analyst phase (legacy) |
1207
+ | v4.0 | Original 19-phase workflow |