@zigrivers/scaffold 2.1.2 → 2.38.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 (391) hide show
  1. package/README.md +505 -119
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js +94 -14
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/build.test.js +30 -5
  6. package/dist/cli/commands/build.test.js.map +1 -1
  7. package/dist/cli/commands/check.d.ts +12 -0
  8. package/dist/cli/commands/check.d.ts.map +1 -0
  9. package/dist/cli/commands/check.js +311 -0
  10. package/dist/cli/commands/check.js.map +1 -0
  11. package/dist/cli/commands/check.test.d.ts +2 -0
  12. package/dist/cli/commands/check.test.d.ts.map +1 -0
  13. package/dist/cli/commands/check.test.js +412 -0
  14. package/dist/cli/commands/check.test.js.map +1 -0
  15. package/dist/cli/commands/complete.d.ts +12 -0
  16. package/dist/cli/commands/complete.d.ts.map +1 -0
  17. package/dist/cli/commands/complete.js +101 -0
  18. package/dist/cli/commands/complete.js.map +1 -0
  19. package/dist/cli/commands/complete.test.d.ts +2 -0
  20. package/dist/cli/commands/complete.test.d.ts.map +1 -0
  21. package/dist/cli/commands/complete.test.js +133 -0
  22. package/dist/cli/commands/complete.test.js.map +1 -0
  23. package/dist/cli/commands/dashboard.d.ts.map +1 -1
  24. package/dist/cli/commands/dashboard.js +12 -8
  25. package/dist/cli/commands/dashboard.js.map +1 -1
  26. package/dist/cli/commands/info.d.ts.map +1 -1
  27. package/dist/cli/commands/info.js +4 -0
  28. package/dist/cli/commands/info.js.map +1 -1
  29. package/dist/cli/commands/knowledge.d.ts.map +1 -1
  30. package/dist/cli/commands/knowledge.js +6 -2
  31. package/dist/cli/commands/knowledge.js.map +1 -1
  32. package/dist/cli/commands/knowledge.test.js +16 -11
  33. package/dist/cli/commands/knowledge.test.js.map +1 -1
  34. package/dist/cli/commands/next.d.ts.map +1 -1
  35. package/dist/cli/commands/next.js +41 -13
  36. package/dist/cli/commands/next.js.map +1 -1
  37. package/dist/cli/commands/next.test.js +3 -0
  38. package/dist/cli/commands/next.test.js.map +1 -1
  39. package/dist/cli/commands/reset.d.ts +1 -0
  40. package/dist/cli/commands/reset.d.ts.map +1 -1
  41. package/dist/cli/commands/reset.js +179 -67
  42. package/dist/cli/commands/reset.js.map +1 -1
  43. package/dist/cli/commands/reset.test.js +360 -0
  44. package/dist/cli/commands/reset.test.js.map +1 -1
  45. package/dist/cli/commands/rework.d.ts +20 -0
  46. package/dist/cli/commands/rework.d.ts.map +1 -0
  47. package/dist/cli/commands/rework.js +332 -0
  48. package/dist/cli/commands/rework.js.map +1 -0
  49. package/dist/cli/commands/rework.test.d.ts +2 -0
  50. package/dist/cli/commands/rework.test.d.ts.map +1 -0
  51. package/dist/cli/commands/rework.test.js +297 -0
  52. package/dist/cli/commands/rework.test.js.map +1 -0
  53. package/dist/cli/commands/run.d.ts.map +1 -1
  54. package/dist/cli/commands/run.js +59 -31
  55. package/dist/cli/commands/run.js.map +1 -1
  56. package/dist/cli/commands/run.test.js +288 -6
  57. package/dist/cli/commands/run.test.js.map +1 -1
  58. package/dist/cli/commands/skill.d.ts +12 -0
  59. package/dist/cli/commands/skill.d.ts.map +1 -0
  60. package/dist/cli/commands/skill.js +123 -0
  61. package/dist/cli/commands/skill.js.map +1 -0
  62. package/dist/cli/commands/skill.test.d.ts +2 -0
  63. package/dist/cli/commands/skill.test.d.ts.map +1 -0
  64. package/dist/cli/commands/skill.test.js +297 -0
  65. package/dist/cli/commands/skill.test.js.map +1 -0
  66. package/dist/cli/commands/skip.d.ts +1 -1
  67. package/dist/cli/commands/skip.d.ts.map +1 -1
  68. package/dist/cli/commands/skip.js +123 -57
  69. package/dist/cli/commands/skip.js.map +1 -1
  70. package/dist/cli/commands/skip.test.js +91 -0
  71. package/dist/cli/commands/skip.test.js.map +1 -1
  72. package/dist/cli/commands/status.d.ts +1 -0
  73. package/dist/cli/commands/status.d.ts.map +1 -1
  74. package/dist/cli/commands/status.js +57 -10
  75. package/dist/cli/commands/status.js.map +1 -1
  76. package/dist/cli/commands/status.test.js +81 -0
  77. package/dist/cli/commands/status.test.js.map +1 -1
  78. package/dist/cli/commands/update.test.js +252 -0
  79. package/dist/cli/commands/update.test.js.map +1 -1
  80. package/dist/cli/commands/version.test.js +171 -1
  81. package/dist/cli/commands/version.test.js.map +1 -1
  82. package/dist/cli/index.d.ts.map +1 -1
  83. package/dist/cli/index.js +8 -0
  84. package/dist/cli/index.js.map +1 -1
  85. package/dist/core/adapters/adapter.d.ts +14 -0
  86. package/dist/core/adapters/adapter.d.ts.map +1 -1
  87. package/dist/core/adapters/adapter.js.map +1 -1
  88. package/dist/core/adapters/adapter.test.js +10 -0
  89. package/dist/core/adapters/adapter.test.js.map +1 -1
  90. package/dist/core/adapters/claude-code.d.ts.map +1 -1
  91. package/dist/core/adapters/claude-code.js +47 -10
  92. package/dist/core/adapters/claude-code.js.map +1 -1
  93. package/dist/core/adapters/claude-code.test.js +41 -20
  94. package/dist/core/adapters/claude-code.test.js.map +1 -1
  95. package/dist/core/adapters/codex.d.ts.map +1 -1
  96. package/dist/core/adapters/codex.js +5 -1
  97. package/dist/core/adapters/codex.js.map +1 -1
  98. package/dist/core/adapters/codex.test.js +5 -0
  99. package/dist/core/adapters/codex.test.js.map +1 -1
  100. package/dist/core/adapters/universal.d.ts.map +1 -1
  101. package/dist/core/adapters/universal.js +0 -1
  102. package/dist/core/adapters/universal.js.map +1 -1
  103. package/dist/core/adapters/universal.test.js +5 -0
  104. package/dist/core/adapters/universal.test.js.map +1 -1
  105. package/dist/core/assembly/context-gatherer.d.ts.map +1 -1
  106. package/dist/core/assembly/context-gatherer.js +5 -2
  107. package/dist/core/assembly/context-gatherer.js.map +1 -1
  108. package/dist/core/assembly/engine.d.ts.map +1 -1
  109. package/dist/core/assembly/engine.js +10 -2
  110. package/dist/core/assembly/engine.js.map +1 -1
  111. package/dist/core/assembly/engine.test.js +19 -0
  112. package/dist/core/assembly/engine.test.js.map +1 -1
  113. package/dist/core/assembly/knowledge-loader.d.ts +25 -0
  114. package/dist/core/assembly/knowledge-loader.d.ts.map +1 -1
  115. package/dist/core/assembly/knowledge-loader.js +75 -2
  116. package/dist/core/assembly/knowledge-loader.js.map +1 -1
  117. package/dist/core/assembly/knowledge-loader.test.js +388 -1
  118. package/dist/core/assembly/knowledge-loader.test.js.map +1 -1
  119. package/dist/core/assembly/meta-prompt-loader.d.ts +6 -0
  120. package/dist/core/assembly/meta-prompt-loader.d.ts.map +1 -1
  121. package/dist/core/assembly/meta-prompt-loader.js +41 -25
  122. package/dist/core/assembly/meta-prompt-loader.js.map +1 -1
  123. package/dist/core/assembly/preset-loader.d.ts +10 -0
  124. package/dist/core/assembly/preset-loader.d.ts.map +1 -1
  125. package/dist/core/assembly/preset-loader.js +26 -1
  126. package/dist/core/assembly/preset-loader.js.map +1 -1
  127. package/dist/core/assembly/preset-loader.test.js +65 -1
  128. package/dist/core/assembly/preset-loader.test.js.map +1 -1
  129. package/dist/core/assembly/update-mode.d.ts.map +1 -1
  130. package/dist/core/assembly/update-mode.js +10 -4
  131. package/dist/core/assembly/update-mode.js.map +1 -1
  132. package/dist/core/assembly/update-mode.test.js +47 -0
  133. package/dist/core/assembly/update-mode.test.js.map +1 -1
  134. package/dist/core/dependency/dependency.d.ts.map +1 -1
  135. package/dist/core/dependency/dependency.js +3 -2
  136. package/dist/core/dependency/dependency.js.map +1 -1
  137. package/dist/core/dependency/dependency.test.js +2 -0
  138. package/dist/core/dependency/dependency.test.js.map +1 -1
  139. package/dist/core/dependency/eligibility.js +3 -3
  140. package/dist/core/dependency/eligibility.js.map +1 -1
  141. package/dist/core/dependency/eligibility.test.js +2 -0
  142. package/dist/core/dependency/eligibility.test.js.map +1 -1
  143. package/dist/core/dependency/graph.d.ts.map +1 -1
  144. package/dist/core/dependency/graph.js +4 -0
  145. package/dist/core/dependency/graph.js.map +1 -1
  146. package/dist/core/dependency/graph.test.d.ts +2 -0
  147. package/dist/core/dependency/graph.test.d.ts.map +1 -0
  148. package/dist/core/dependency/graph.test.js +262 -0
  149. package/dist/core/dependency/graph.test.js.map +1 -0
  150. package/dist/core/rework/phase-selector.d.ts +24 -0
  151. package/dist/core/rework/phase-selector.d.ts.map +1 -0
  152. package/dist/core/rework/phase-selector.js +98 -0
  153. package/dist/core/rework/phase-selector.js.map +1 -0
  154. package/dist/core/rework/phase-selector.test.d.ts +2 -0
  155. package/dist/core/rework/phase-selector.test.d.ts.map +1 -0
  156. package/dist/core/rework/phase-selector.test.js +138 -0
  157. package/dist/core/rework/phase-selector.test.js.map +1 -0
  158. package/dist/dashboard/generator.d.ts +48 -17
  159. package/dist/dashboard/generator.d.ts.map +1 -1
  160. package/dist/dashboard/generator.js +75 -5
  161. package/dist/dashboard/generator.js.map +1 -1
  162. package/dist/dashboard/generator.test.js +213 -5
  163. package/dist/dashboard/generator.test.js.map +1 -1
  164. package/dist/dashboard/template.d.ts +1 -1
  165. package/dist/dashboard/template.d.ts.map +1 -1
  166. package/dist/dashboard/template.js +755 -114
  167. package/dist/dashboard/template.js.map +1 -1
  168. package/dist/e2e/knowledge.test.js +4 -3
  169. package/dist/e2e/knowledge.test.js.map +1 -1
  170. package/dist/e2e/pipeline.test.js +2 -0
  171. package/dist/e2e/pipeline.test.js.map +1 -1
  172. package/dist/e2e/rework.test.d.ts +6 -0
  173. package/dist/e2e/rework.test.d.ts.map +1 -0
  174. package/dist/e2e/rework.test.js +226 -0
  175. package/dist/e2e/rework.test.js.map +1 -0
  176. package/dist/index.js +0 -0
  177. package/dist/project/adopt.test.js +2 -0
  178. package/dist/project/adopt.test.js.map +1 -1
  179. package/dist/project/claude-md.js +2 -2
  180. package/dist/project/claude-md.js.map +1 -1
  181. package/dist/project/claude-md.test.js +4 -4
  182. package/dist/project/claude-md.test.js.map +1 -1
  183. package/dist/project/detector.d.ts.map +1 -1
  184. package/dist/project/detector.js +4 -1
  185. package/dist/project/detector.js.map +1 -1
  186. package/dist/project/frontmatter.d.ts.map +1 -1
  187. package/dist/project/frontmatter.js +54 -15
  188. package/dist/project/frontmatter.js.map +1 -1
  189. package/dist/project/frontmatter.test.js +2 -2
  190. package/dist/project/frontmatter.test.js.map +1 -1
  191. package/dist/state/rework-manager.d.ts +16 -0
  192. package/dist/state/rework-manager.d.ts.map +1 -0
  193. package/dist/state/rework-manager.js +126 -0
  194. package/dist/state/rework-manager.js.map +1 -0
  195. package/dist/state/rework-manager.test.d.ts +2 -0
  196. package/dist/state/rework-manager.test.d.ts.map +1 -0
  197. package/dist/state/rework-manager.test.js +191 -0
  198. package/dist/state/rework-manager.test.js.map +1 -0
  199. package/dist/state/state-manager.d.ts +13 -0
  200. package/dist/state/state-manager.d.ts.map +1 -1
  201. package/dist/state/state-manager.js +39 -2
  202. package/dist/state/state-manager.js.map +1 -1
  203. package/dist/state/state-manager.test.js +74 -1
  204. package/dist/state/state-manager.test.js.map +1 -1
  205. package/dist/state/state-migration.d.ts +23 -0
  206. package/dist/state/state-migration.d.ts.map +1 -0
  207. package/dist/state/state-migration.js +144 -0
  208. package/dist/state/state-migration.js.map +1 -0
  209. package/dist/state/state-migration.test.d.ts +2 -0
  210. package/dist/state/state-migration.test.d.ts.map +1 -0
  211. package/dist/state/state-migration.test.js +451 -0
  212. package/dist/state/state-migration.test.js.map +1 -0
  213. package/dist/types/assembly.d.ts +2 -0
  214. package/dist/types/assembly.d.ts.map +1 -1
  215. package/dist/types/dependency.d.ts +2 -2
  216. package/dist/types/dependency.d.ts.map +1 -1
  217. package/dist/types/frontmatter.d.ts +100 -7
  218. package/dist/types/frontmatter.d.ts.map +1 -1
  219. package/dist/types/frontmatter.js +89 -1
  220. package/dist/types/frontmatter.js.map +1 -1
  221. package/dist/types/index.d.ts +1 -0
  222. package/dist/types/index.d.ts.map +1 -1
  223. package/dist/types/index.js +1 -0
  224. package/dist/types/index.js.map +1 -1
  225. package/dist/types/lock.d.ts +1 -1
  226. package/dist/types/lock.d.ts.map +1 -1
  227. package/dist/types/rework.d.ts +36 -0
  228. package/dist/types/rework.d.ts.map +1 -0
  229. package/dist/types/rework.js +2 -0
  230. package/dist/types/rework.js.map +1 -0
  231. package/dist/utils/errors.d.ts +1 -0
  232. package/dist/utils/errors.d.ts.map +1 -1
  233. package/dist/utils/errors.js +8 -0
  234. package/dist/utils/errors.js.map +1 -1
  235. package/dist/utils/fs.d.ts +6 -0
  236. package/dist/utils/fs.d.ts.map +1 -1
  237. package/dist/utils/fs.js +13 -0
  238. package/dist/utils/fs.js.map +1 -1
  239. package/dist/validation/config-validator.test.d.ts +2 -0
  240. package/dist/validation/config-validator.test.d.ts.map +1 -0
  241. package/dist/validation/config-validator.test.js +210 -0
  242. package/dist/validation/config-validator.test.js.map +1 -0
  243. package/dist/validation/dependency-validator.test.d.ts +2 -0
  244. package/dist/validation/dependency-validator.test.d.ts.map +1 -0
  245. package/dist/validation/dependency-validator.test.js +215 -0
  246. package/dist/validation/dependency-validator.test.js.map +1 -0
  247. package/dist/validation/frontmatter-validator.test.d.ts +2 -0
  248. package/dist/validation/frontmatter-validator.test.d.ts.map +1 -0
  249. package/dist/validation/frontmatter-validator.test.js +371 -0
  250. package/dist/validation/frontmatter-validator.test.js.map +1 -0
  251. package/dist/validation/state-validator.test.d.ts +2 -0
  252. package/dist/validation/state-validator.test.d.ts.map +1 -0
  253. package/dist/validation/state-validator.test.js +325 -0
  254. package/dist/validation/state-validator.test.js.map +1 -0
  255. package/dist/wizard/suggestion.test.d.ts +2 -0
  256. package/dist/wizard/suggestion.test.d.ts.map +1 -0
  257. package/dist/wizard/suggestion.test.js +115 -0
  258. package/dist/wizard/suggestion.test.js.map +1 -0
  259. package/dist/wizard/wizard.d.ts.map +1 -1
  260. package/dist/wizard/wizard.js +34 -1
  261. package/dist/wizard/wizard.js.map +1 -1
  262. package/knowledge/core/adr-craft.md +57 -0
  263. package/knowledge/core/ai-memory-management.md +246 -0
  264. package/knowledge/core/api-design.md +8 -0
  265. package/knowledge/core/automated-review-tooling.md +203 -0
  266. package/knowledge/core/claude-md-patterns.md +254 -0
  267. package/knowledge/core/coding-conventions.md +246 -0
  268. package/knowledge/core/database-design.md +8 -0
  269. package/knowledge/core/design-system-tokens.md +469 -0
  270. package/knowledge/core/dev-environment.md +223 -0
  271. package/knowledge/core/domain-modeling.md +8 -0
  272. package/knowledge/core/eval-craft.md +1008 -0
  273. package/knowledge/core/git-workflow-patterns.md +200 -0
  274. package/knowledge/core/multi-model-review-dispatch.md +250 -0
  275. package/knowledge/core/operations-runbook.md +40 -225
  276. package/knowledge/core/project-structure-patterns.md +231 -0
  277. package/knowledge/core/review-step-template.md +247 -0
  278. package/knowledge/core/{security-review.md → security-best-practices.md} +9 -1
  279. package/knowledge/core/system-architecture.md +5 -1
  280. package/knowledge/core/task-decomposition.md +174 -36
  281. package/knowledge/core/task-tracking.md +225 -0
  282. package/knowledge/core/tech-stack-selection.md +214 -0
  283. package/knowledge/core/testing-strategy.md +63 -70
  284. package/knowledge/core/user-stories.md +69 -60
  285. package/knowledge/core/user-story-innovation.md +70 -0
  286. package/knowledge/core/ux-specification.md +18 -148
  287. package/knowledge/execution/enhancement-workflow.md +201 -0
  288. package/knowledge/execution/task-claiming-strategy.md +130 -0
  289. package/knowledge/execution/tdd-execution-loop.md +172 -0
  290. package/knowledge/execution/worktree-management.md +205 -0
  291. package/knowledge/finalization/apply-fixes-and-freeze.md +177 -14
  292. package/knowledge/finalization/developer-onboarding.md +4 -0
  293. package/knowledge/finalization/implementation-playbook.md +83 -5
  294. package/knowledge/product/gap-analysis.md +5 -1
  295. package/knowledge/product/prd-craft.md +55 -34
  296. package/knowledge/product/prd-innovation.md +12 -0
  297. package/knowledge/product/vision-craft.md +213 -0
  298. package/knowledge/review/review-adr.md +44 -0
  299. package/knowledge/review/{review-api-contracts.md → review-api-design.md} +47 -1
  300. package/knowledge/review/{review-database-schema.md → review-database-design.md} +40 -1
  301. package/knowledge/review/review-domain-modeling.md +38 -1
  302. package/knowledge/review/review-implementation-tasks.md +108 -1
  303. package/knowledge/review/review-methodology.md +11 -0
  304. package/knowledge/review/review-operations.md +67 -0
  305. package/knowledge/review/review-prd.md +46 -0
  306. package/knowledge/review/review-security.md +65 -0
  307. package/knowledge/review/review-system-architecture.md +32 -2
  308. package/knowledge/review/review-testing-strategy.md +62 -0
  309. package/knowledge/review/review-user-stories.md +65 -0
  310. package/knowledge/review/{review-ux-spec.md → review-ux-specification.md} +50 -2
  311. package/knowledge/review/review-vision.md +255 -0
  312. package/knowledge/tools/release-management.md +222 -0
  313. package/knowledge/tools/session-analysis.md +215 -0
  314. package/knowledge/tools/version-strategy.md +200 -0
  315. package/knowledge/validation/critical-path-analysis.md +1 -1
  316. package/knowledge/validation/cross-phase-consistency.md +12 -0
  317. package/knowledge/validation/decision-completeness.md +13 -1
  318. package/knowledge/validation/dependency-validation.md +12 -0
  319. package/knowledge/validation/scope-management.md +12 -0
  320. package/knowledge/validation/traceability.md +12 -0
  321. package/methodology/README.md +37 -0
  322. package/methodology/custom-defaults.yml +44 -4
  323. package/methodology/deep.yml +43 -3
  324. package/methodology/mvp.yml +43 -3
  325. package/package.json +4 -3
  326. package/pipeline/architecture/review-architecture.md +36 -13
  327. package/pipeline/architecture/system-architecture.md +24 -9
  328. package/pipeline/build/multi-agent-resume.md +245 -0
  329. package/pipeline/build/multi-agent-start.md +236 -0
  330. package/pipeline/build/new-enhancement.md +456 -0
  331. package/pipeline/build/quick-task.md +381 -0
  332. package/pipeline/build/single-agent-resume.md +210 -0
  333. package/pipeline/build/single-agent-start.md +207 -0
  334. package/pipeline/consolidation/claude-md-optimization.md +76 -0
  335. package/pipeline/consolidation/workflow-audit.md +77 -0
  336. package/pipeline/decisions/adrs.md +21 -7
  337. package/pipeline/decisions/review-adrs.md +32 -11
  338. package/pipeline/environment/ai-memory-setup.md +76 -0
  339. package/pipeline/environment/automated-pr-review.md +76 -0
  340. package/pipeline/environment/design-system.md +75 -0
  341. package/pipeline/environment/dev-env-setup.md +68 -0
  342. package/pipeline/environment/git-workflow.md +73 -0
  343. package/pipeline/finalization/apply-fixes-and-freeze.md +17 -6
  344. package/pipeline/finalization/developer-onboarding-guide.md +23 -9
  345. package/pipeline/finalization/implementation-playbook.md +43 -14
  346. package/pipeline/foundation/beads.md +71 -0
  347. package/pipeline/foundation/coding-standards.md +71 -0
  348. package/pipeline/foundation/project-structure.md +73 -0
  349. package/pipeline/foundation/tdd.md +64 -0
  350. package/pipeline/foundation/tech-stack.md +74 -0
  351. package/pipeline/integration/add-e2e-testing.md +80 -0
  352. package/pipeline/modeling/domain-modeling.md +23 -8
  353. package/pipeline/modeling/review-domain-modeling.md +35 -11
  354. package/pipeline/parity/platform-parity-review.md +90 -0
  355. package/pipeline/planning/implementation-plan-review.md +67 -0
  356. package/pipeline/planning/implementation-plan.md +110 -0
  357. package/pipeline/pre/create-prd.md +34 -10
  358. package/pipeline/pre/innovate-prd.md +46 -15
  359. package/pipeline/pre/innovate-user-stories.md +47 -14
  360. package/pipeline/pre/review-prd.md +29 -8
  361. package/pipeline/pre/review-user-stories.md +34 -8
  362. package/pipeline/pre/user-stories.md +23 -8
  363. package/pipeline/quality/create-evals.md +106 -0
  364. package/pipeline/quality/operations.md +46 -17
  365. package/pipeline/quality/review-operations.md +32 -11
  366. package/pipeline/quality/review-security.md +34 -12
  367. package/pipeline/quality/review-testing.md +37 -14
  368. package/pipeline/quality/security.md +36 -10
  369. package/pipeline/quality/story-tests.md +75 -0
  370. package/pipeline/specification/api-contracts.md +28 -8
  371. package/pipeline/specification/database-schema.md +29 -8
  372. package/pipeline/specification/review-api.md +32 -11
  373. package/pipeline/specification/review-database.md +32 -11
  374. package/pipeline/specification/review-ux.md +34 -12
  375. package/pipeline/specification/ux-spec.md +35 -13
  376. package/pipeline/validation/critical-path-walkthrough.md +45 -11
  377. package/pipeline/validation/cross-phase-consistency.md +45 -11
  378. package/pipeline/validation/decision-completeness.md +45 -11
  379. package/pipeline/validation/dependency-graph-validation.md +46 -11
  380. package/pipeline/validation/implementability-dry-run.md +46 -11
  381. package/pipeline/validation/scope-creep-check.md +46 -11
  382. package/pipeline/validation/traceability-matrix.md +51 -11
  383. package/pipeline/vision/create-vision.md +267 -0
  384. package/pipeline/vision/innovate-vision.md +157 -0
  385. package/pipeline/vision/review-vision.md +149 -0
  386. package/skills/multi-model-dispatch/SKILL.md +326 -0
  387. package/skills/scaffold-pipeline/SKILL.md +210 -0
  388. package/skills/scaffold-runner/SKILL.md +619 -0
  389. package/pipeline/planning/implementation-tasks.md +0 -57
  390. package/pipeline/planning/review-tasks.md +0 -38
  391. package/pipeline/quality/testing-strategy.md +0 -42
@@ -1,9 +1,22 @@
1
1
  ---
2
2
  name: ux-specification
3
- description: UX documentation patterns, design systems, accessibility, and component architecture
4
- topics: [ux, design-system, accessibility, wireframes, user-flows, responsive-design, components]
3
+ description: UX documentation patterns — user flows, interaction states, component architecture, accessibility, and responsive behavior
4
+ topics: [ux, accessibility, wireframes, user-flows, responsive-design, components, interaction-states]
5
5
  ---
6
6
 
7
+ # UX Specification
8
+
9
+ ## Summary
10
+
11
+ - **User flow documentation**: Map each story's Given/When/Then scenarios to screen states and transitions. Document entry points, preconditions, happy path, decision points, error paths, empty states, and exit points.
12
+ - **Component architecture**: Organize components as atoms (base), molecules (composite), organisms (feature), templates (layouts), and pages. Define prop/data flow with top-down props and events/callbacks up.
13
+ - **Design system reference**: Consume design tokens from `docs/design-system.md` by name (e.g., `--color-error`, `--space-4`). Never hard-code values.
14
+ - **Accessibility**: Target WCAG AA as baseline. Keyboard navigation for all interactive elements, semantic HTML, screen reader support with ARIA, 4.5:1 color contrast, and proper focus management.
15
+ - **Responsive design**: Mobile-first breakpoints (mobile < 640px, tablet 640-1024px, desktop 1024-1280px, large > 1280px). Touch targets minimum 44x44px. Document layout behavior per breakpoint.
16
+ - **Common pitfalls**: Designing for happy path only, accessibility as afterthought, missing loading states, breaking text on resize, and modal abuse for content that should be pages.
17
+
18
+ ## Deep Guidance
19
+
7
20
  ## User Flow Documentation
8
21
 
9
22
  ### Journey Mapping
@@ -128,148 +141,11 @@ Define how data flows through the component tree:
128
141
 
129
142
  **Promotion rule:** A component starts as page-specific. When a second feature needs the same component, promote it to shared. Don't pre-optimize by making everything shared from the start.
130
143
 
131
- ## Design System
132
-
133
- A design system is the set of constraints and building blocks that ensure visual consistency across the entire application. It includes design tokens, base components, and usage patterns.
134
-
135
- ### Design Tokens
136
-
137
- Design tokens are the atomic values that define the visual language. They are variables, not hard-coded values. Every visual property in the application references a token.
138
-
139
- **Color tokens:**
140
-
141
- ```
142
- --color-primary: #2563EB // Main brand/action color
143
- --color-primary-hover: #1D4ED8 // Interactive state
144
- --color-primary-light: #DBEAFE // Backgrounds, subtle highlights
145
-
146
- --color-secondary: #7C3AED // Supporting brand color
147
-
148
- --color-neutral-50: #FAFAFA // Lightest background
149
- --color-neutral-100: #F5F5F5 // Card backgrounds
150
- --color-neutral-200: #E5E5E5 // Borders
151
- --color-neutral-400: #A3A3A3 // Muted text, placeholders
152
- --color-neutral-700: #404040 // Secondary text
153
- --color-neutral-900: #171717 // Primary text
154
-
155
- --color-success: #16A34A // Success states, positive actions
156
- --color-warning: #CA8A04 // Warning states, caution
157
- --color-error: #DC2626 // Error states, destructive actions
158
- --color-info: #2563EB // Informational states
159
- ```
160
-
161
- **Typography tokens:**
162
-
163
- ```
164
- --font-family: 'Inter', system-ui, sans-serif
165
-
166
- --text-xs: 0.75rem // 12px — fine print, labels
167
- --text-sm: 0.875rem // 14px — secondary text, table cells
168
- --text-base: 1rem // 16px — body text
169
- --text-lg: 1.125rem // 18px — subheadings
170
- --text-xl: 1.25rem // 20px — section titles
171
- --text-2xl: 1.5rem // 24px — page titles
172
- --text-3xl: 1.875rem // 30px — hero text
173
-
174
- --font-weight-normal: 400
175
- --font-weight-medium: 500
176
- --font-weight-semibold: 600
177
- --font-weight-bold: 700
178
-
179
- --line-height-tight: 1.25
180
- --line-height-normal: 1.5
181
- --line-height-relaxed: 1.75
182
- ```
183
-
184
- **Spacing tokens:**
185
-
186
- ```
187
- --space-1: 0.25rem // 4px — tight gaps (icon to label)
188
- --space-2: 0.5rem // 8px — compact spacing (list items)
189
- --space-3: 0.75rem // 12px — default padding (buttons, inputs)
190
- --space-4: 1rem // 16px — standard spacing (form fields)
191
- --space-6: 1.5rem // 24px — section padding
192
- --space-8: 2rem // 32px — large gaps
193
- --space-12: 3rem // 48px — section separators
194
- --space-16: 4rem // 64px — page-level spacing
195
- ```
196
-
197
- **Border and shadow tokens:**
198
-
199
- ```
200
- --radius-sm: 0.25rem // 4px — subtle rounding (tags, badges)
201
- --radius-md: 0.5rem // 8px — standard rounding (cards, inputs, buttons)
202
- --radius-lg: 0.75rem // 12px — prominent rounding (modals, panels)
203
- --radius-full: 9999px // Pill shapes, avatars
204
-
205
- --shadow-sm: 0 1px 2px rgba(0,0,0,0.05)
206
- --shadow-md: 0 4px 6px rgba(0,0,0,0.07)
207
- --shadow-lg: 0 10px 15px rgba(0,0,0,0.1)
208
- --shadow-xl: 0 20px 25px rgba(0,0,0,0.1)
209
- ```
210
-
211
- ### Dark Mode
212
-
213
- When dark mode is required, define a parallel set of semantic tokens that switch based on the color scheme:
214
-
215
- ```css
216
- :root {
217
- --bg-primary: var(--color-neutral-50);
218
- --bg-card: white;
219
- --text-primary: var(--color-neutral-900);
220
- --text-secondary: var(--color-neutral-700);
221
- --border-default: var(--color-neutral-200);
222
- }
223
-
224
- @media (prefers-color-scheme: dark) {
225
- :root {
226
- --bg-primary: var(--color-neutral-900);
227
- --bg-card: var(--color-neutral-800);
228
- --text-primary: var(--color-neutral-50);
229
- --text-secondary: var(--color-neutral-400);
230
- --border-default: var(--color-neutral-700);
231
- }
232
- }
233
- ```
234
-
235
- Use semantic tokens (`--bg-primary`, `--text-primary`) in components, not raw color tokens. This makes dark mode automatic.
236
-
237
- ### Base Components
144
+ ## Design System Reference
238
145
 
239
- Define the standard appearance and behavior for every common component:
146
+ Design tokens (colors, typography, spacing, borders, shadows), base component visual specs, dark mode patterns, and the pattern library are defined in `docs/design-system.md`. The UX specification consumes these tokens — it does not redefine them.
240
147
 
241
- **Buttons:**
242
- - Variants: Primary (solid fill), Secondary (subtle fill), Outline (border only), Ghost (no border), Destructive (red/danger)
243
- - Sizes: sm (28px height), md (36px height), lg (44px height)
244
- - States: default, hover, active, focused, disabled, loading
245
- - Loading state replaces label with spinner, disables interaction
246
-
247
- **Form elements:**
248
- - All inputs: border, focus ring, error state (red border + error message below), disabled state (reduced opacity)
249
- - Labels: always visible (never placeholder-only), required indicator (asterisk or "(required)")
250
- - Help text: below input, muted color, explains what the field expects
251
- - Error messages: below input, error color, describes what went wrong and how to fix it
252
-
253
- **Cards:**
254
- - Default: white/card background, subtle shadow or border, rounded corners
255
- - Interactive: hover state (shadow increase or border color change), cursor pointer
256
- - Header/footer sections: visually separated, structured content areas
257
-
258
- **Feedback:**
259
- - Toast notifications: temporary, non-blocking, auto-dismiss (with manual dismiss option)
260
- - Alert banners: persistent until dismissed, full-width or contained within a section
261
- - Empty states: illustration or icon, explanatory text, call-to-action button
262
- - Loading: skeleton loaders (preferred over spinners for content areas), spinner for actions
263
-
264
- ### Pattern Library
265
-
266
- Document recurring UI patterns with implementation guidance:
267
-
268
- - **Search with autocomplete:** Debounced input, dropdown results, keyboard navigation, "no results" state
269
- - **Confirmation dialogs:** Before destructive actions, clearly state what will happen, "Cancel" as primary action (preventing accidents)
270
- - **Inline editing:** Click to edit, Enter to save, Escape to cancel, loading indicator during save
271
- - **Bulk actions:** Select all, individual select, action toolbar appears when items selected
272
- - **Wizard/stepper:** Progress indicator, back/next navigation, save progress between steps
148
+ When specifying component behavior in user flows and interaction states, reference design system tokens by name (e.g., `--color-error`, `--space-4`) rather than hard-coding values. If `docs/design-system.md` does not exist yet, note which tokens are needed and defer visual decisions to the design-system step.
273
149
 
274
150
  ## Accessibility
275
151
 
@@ -367,14 +243,8 @@ Mobile touch targets must be at least 44x44px (Apple) or 48x48px (Material). Ens
367
243
 
368
244
  **Accessibility as afterthought.** Building the entire UI first, then trying to add accessibility. Results in ARIA hacks layered on top of inaccessible markup. Fix: use semantic HTML from the start. Test keyboard navigation during development, not after.
369
245
 
370
- **Inconsistent spacing and typography.** Five different font sizes that are all "kind of like body text." Spacing that varies randomly between 12px and 17px with no system. Fix: define a spacing scale and type scale in the design system. Only use values from the scale.
371
-
372
- **Placeholder text as labels.** Using placeholder text instead of labels for form fields. Placeholders disappear when the user starts typing, leaving them with no indication of what the field expects. Fix: always use visible labels. Placeholders are supplementary hints, not replacements for labels.
373
-
374
246
  **Missing loading states.** The page shows nothing (white screen) while data loads, then content pops in. Users think the app is broken. Fix: use skeleton loaders that match the shape of the content being loaded.
375
247
 
376
- **Ignoring touch targets on mobile.** Tiny links and buttons that require precise finger tapping. Fix: ensure all interactive elements meet minimum 44x44px touch target size on mobile.
377
-
378
248
  **Breaking text on resize.** Content that looks fine at the design width but overflows, truncates, or overlaps at other widths. Fix: test with variable-length content and multiple viewport widths. Use CSS that handles overflow gracefully (truncation with ellipsis, wrapping, or scrolling).
379
249
 
380
250
  **Modal abuse.** Using modals for content that should be a page (long forms, complex workflows, multi-step processes). Modals are for brief, focused interactions. Fix: if the modal content would benefit from a back button or URL, it should be a page.
@@ -0,0 +1,201 @@
1
+ ---
2
+ name: enhancement-workflow
3
+ description: Discovery and implementation workflow for adding features to existing projects
4
+ topics: [enhancement, features, planning, discovery]
5
+ ---
6
+
7
+ # Enhancement Workflow
8
+
9
+ Expert knowledge for discovering, planning, and implementing enhancements to existing projects. Covers the four-phase discovery flow, impact analysis, documentation updates, and task creation patterns.
10
+
11
+ ## Summary
12
+
13
+ ### 4-Phase Discovery Flow
14
+
15
+ 1. **Discovery** — Understand the problem space, review existing docs, challenge scope, assess impact
16
+ 2. **Documentation** — Update project docs with the new feature, add user stories
17
+ 3. **Task Creation** — Break the enhancement into implementable tasks with dependencies
18
+ 4. **Summary** — Produce an enhancement summary with implementation order and follow-up suggestions
19
+
20
+ ### Impact Analysis
21
+
22
+ Before committing to an enhancement, assess its fit within the existing architecture, its scope relative to the project, and its technical impact on existing modules.
23
+
24
+ ### Documentation Updates
25
+
26
+ Every enhancement must update the project's planning and story documents with traceability markers so the change history is auditable.
27
+
28
+ ### Task Creation
29
+
30
+ One task per user story for small/medium enhancements. Larger enhancements decompose into data model, backend, frontend, and polish phases with explicit dependencies.
31
+
32
+ ## Deep Guidance
33
+
34
+ ### Phase 1: Discovery
35
+
36
+ Discovery is the most important phase. Skipping it leads to scope creep, architectural misalignment, and wasted implementation effort.
37
+
38
+ #### Review Existing Documentation
39
+
40
+ Read these documents in order before proposing any changes:
41
+
42
+ 1. **Product vision** (`docs/vision.md` or equivalent) — understand the project's purpose and direction
43
+ 2. **PRD** (`docs/prd.md`) — understand existing requirements and constraints
44
+ 3. **User stories** (`docs/user-stories.md`) — understand who uses the system and how
45
+ 4. **Architecture** (`docs/architecture.md` or ADRs) — understand the technical structure
46
+ 5. **Coding standards** (`docs/coding-standards.md`) — understand conventions you must follow
47
+ 6. **TDD standards** (`docs/tdd-standards.md`) — understand testing expectations
48
+ 7. **Project structure** (`docs/project-structure.md`) — understand where code lives
49
+ 8. **Source code** — read the modules most relevant to the enhancement
50
+
51
+ #### Understand the Problem
52
+
53
+ - What user problem does this enhancement solve?
54
+ - Is the problem validated (user feedback, metrics, strategic direction)?
55
+ - Are there existing features that partially solve this problem?
56
+ - Could an existing feature be extended instead of building something new?
57
+
58
+ #### Challenge Scope
59
+
60
+ Actively resist scope expansion:
61
+
62
+ - What is the minimum viable version of this enhancement?
63
+ - What can be deferred to a follow-up?
64
+ - Is this a single feature or actually multiple features bundled together?
65
+ - Would a simpler approach solve 80% of the problem?
66
+
67
+ #### Innovation Pass
68
+
69
+ After understanding the problem and challenging the scope:
70
+
71
+ - **Competitive analysis** — how do similar products solve this problem?
72
+ - **Enhancement opportunities** — are there adjacent improvements that are low-effort but high-value?
73
+ - **AI-native possibilities** — can AI capabilities enable a better solution than a traditional approach?
74
+
75
+ #### Impact Analysis
76
+
77
+ Assess the enhancement along three dimensions:
78
+
79
+ **Fit check:**
80
+ - Does this align with the product vision?
81
+ - Does it complement existing features or conflict with them?
82
+ - Is now the right time to build this?
83
+
84
+ **Scope assessment:**
85
+ - How many modules are affected?
86
+ - How many new entities or data models are needed?
87
+ - Estimate: small (1-2 tasks), medium (3-5 tasks), or large (6+ tasks)
88
+
89
+ **Technical impact:**
90
+ - Which existing modules need modification?
91
+ - Are there performance implications?
92
+ - Does this affect the API contract (breaking changes)?
93
+ - Are there security implications?
94
+
95
+ ### Phase 2: Documentation
96
+
97
+ Every enhancement must leave a documentation trail.
98
+
99
+ #### Update Planning Documents
100
+
101
+ Update `docs/plan.md` (or equivalent planning document) with the new feature:
102
+
103
+ - Add a section describing the enhancement
104
+ - Include traceability markers: `[Enhancement added YYYY-MM-DD]`
105
+ - Reference the motivation (user feedback, strategic goal, bug report)
106
+ - List affected modules and components
107
+
108
+ #### Add User Stories
109
+
110
+ Add new user stories to `docs/user-stories.md` following INVEST criteria:
111
+
112
+ - **I**ndependent — can be implemented without other new stories
113
+ - **N**egotiable — details can be discussed during implementation
114
+ - **V**aluable — delivers value to a specific user role
115
+ - **E**stimable — small enough to estimate effort
116
+ - **S**mall — completable in one task or a small number of tasks
117
+ - **T**estable — has clear acceptance criteria that can be automated
118
+
119
+ **Story format:**
120
+
121
+ ```
122
+ As a [role], I want [capability] so that [benefit].
123
+
124
+ Acceptance criteria:
125
+ - [ ] Given [context], when [action], then [result]
126
+ - [ ] Given [context], when [action], then [result]
127
+ ```
128
+
129
+ ### Phase 3: Task Creation
130
+
131
+ Convert user stories into implementable tasks.
132
+
133
+ #### Small/Medium Enhancements (1-5 tasks)
134
+
135
+ - One task per user story
136
+ - Each task includes: description, acceptance criteria, test expectations, and affected files
137
+ - Set dependencies between tasks where ordering matters
138
+
139
+ #### Large Enhancements (6+ tasks)
140
+
141
+ Decompose into implementation phases:
142
+
143
+ 1. **Data model** — schema changes, migrations, entity definitions
144
+ 2. **Backend** — API endpoints, business logic, service layer
145
+ 3. **Frontend** — UI components, pages, client-side logic
146
+ 4. **Polish** — error handling edge cases, performance optimization, documentation
147
+
148
+ Each phase may contain multiple tasks. Dependencies flow downward: data model before backend, backend before frontend, frontend before polish.
149
+
150
+ #### Task Creation with Beads
151
+
152
+ If `.beads/` directory exists:
153
+
154
+ ```bash
155
+ bd create --title "Add user endpoint" --depends-on bd-41
156
+ ```
157
+
158
+ #### Task Creation Without Beads
159
+
160
+ Add tasks to the project's task tracking system (implementation plan, GitHub Issues, etc.) with:
161
+ - Unique ID
162
+ - Title and description
163
+ - Dependencies (list of blocking task IDs)
164
+ - Acceptance criteria
165
+ - Estimated scope (S/M/L)
166
+
167
+ ### Phase 4: Summary
168
+
169
+ Produce an enhancement summary that includes:
170
+
171
+ 1. **Enhancement description** — one paragraph summarizing what was planned
172
+ 2. **Documentation changes** — list of docs updated and what was added
173
+ 3. **Tasks created** — numbered list of tasks with IDs, titles, and dependencies
174
+ 4. **Implementation order** — recommended sequence accounting for dependencies
175
+ 5. **Follow-up suggestions** — reviews to schedule, related enhancements to consider, risks to monitor
176
+
177
+ ### Complexity Gate
178
+
179
+ Not every change requires the full enhancement workflow. Use the quick-task path for simple changes and redirect to enhancement workflow when complexity exceeds a threshold.
180
+
181
+ **Redirect from quick-task to enhancement workflow when any of these are true:**
182
+
183
+ - Requires updates to planning or design documents
184
+ - Introduces a new user-facing feature (not just a fix or tweak)
185
+ - Affects 3 or more modules
186
+ - Requires new data entities, models, or schema changes
187
+ - Needs 4 or more implementation tasks
188
+ - Changes the API contract in a way that affects consumers
189
+
190
+ **Stay on quick-task path when:**
191
+ - Bug fix with clear root cause and limited scope
192
+ - Configuration change
193
+ - Documentation-only update
194
+ - Single-file refactor
195
+ - Test addition for existing behavior
196
+
197
+ ## See Also
198
+
199
+ - [task-decomposition](../core/task-decomposition.md) — Breaking work into implementable tasks
200
+ - [user-stories](../core/user-stories.md) — User story writing patterns
201
+ - [task-claiming-strategy](./task-claiming-strategy.md) — How agents select and claim tasks
@@ -0,0 +1,130 @@
1
+ ---
2
+ name: task-claiming-strategy
3
+ description: Task selection and management patterns for AI agent execution
4
+ topics: [tasks, execution, agents, planning]
5
+ ---
6
+
7
+ # Task Claiming Strategy
8
+
9
+ Expert knowledge for how AI agents select, claim, and manage tasks during implementation. Covers deterministic selection algorithms, dependency awareness, and multi-agent conflict avoidance patterns.
10
+
11
+ ## Summary
12
+
13
+ ### Task Selection Algorithm
14
+
15
+ Select the lowest-ID unblocked task. This provides deterministic, conflict-free ordering when multiple agents operate on the same task list.
16
+
17
+ ### Dependency Awareness
18
+
19
+ Before starting a task, verify all its blockers are resolved. After completing each task, re-check the dependency graph — your completion may have unblocked downstream tasks.
20
+
21
+ ### Multi-Agent Conflict Avoidance
22
+
23
+ - Claim the task before starting work (branch creation = claim)
24
+ - Communicate via git branches — branch existence signals ownership
25
+ - Detect file overlap in implementation plans before starting — if two tasks modify the same files, they should not run in parallel
26
+
27
+ ## Deep Guidance
28
+
29
+ ### Task Selection — Extended
30
+
31
+ **The algorithm:**
32
+ 1. List all tasks in the backlog
33
+ 2. Filter to tasks with status "ready" or "unblocked"
34
+ 3. Sort by task ID (ascending)
35
+ 4. Select the first task in the sorted list
36
+ 5. Claim it by creating a feature branch
37
+
38
+ **Why lowest-ID first:**
39
+ - Deterministic — two agents independently applying this rule will never pick the same task (the first agent claims it, the second sees it as taken)
40
+ - Dependency-friendly — lower IDs are typically earlier in the plan and have fewer blockers
41
+ - Predictable — humans can anticipate which tasks agents will pick next
42
+
43
+ **Exceptions:**
44
+ - If the lowest-ID task requires skills or context the agent doesn't have, skip it and document why
45
+ - If a task is labeled "high priority" or "urgent," it takes precedence over ID ordering
46
+ - If a human has assigned a specific task to the agent, honor the assignment
47
+
48
+ ### Dependency Awareness — Extended
49
+
50
+ **Before starting a task:**
51
+ 1. Read the task's dependency list (blockers, prerequisites)
52
+ 2. Verify each blocker is in "done" or "merged" state
53
+ 3. If any blocker is incomplete, skip this task and select the next eligible one
54
+ 4. Pull the latest main branch to ensure you have the outputs from completed blockers
55
+
56
+ **After completing a task:**
57
+ 1. Check which downstream tasks list the completed task as a blocker
58
+ 2. If any downstream tasks are now fully unblocked, they become eligible for selection
59
+ 3. If you're continuing work, re-run the selection algorithm — the next task may have changed
60
+
61
+ **Dependency types:**
62
+ - **Hard dependency** — cannot start until blocker is merged (e.g., "implement auth" blocks "implement protected routes")
63
+ - **Soft dependency** — can start with a stub/mock, but must integrate before PR (e.g., "design API" informs "implement client," but the client can start with a contract)
64
+ - **Data dependency** — needs output artifacts from another task (e.g., database schema must exist before writing queries)
65
+
66
+ ### Multi-Agent Conflict Avoidance — Extended
67
+
68
+ **Claiming a task:**
69
+ - Creating a feature branch (e.g., `bd-42/add-user-endpoint`) is the claim signal
70
+ - Other agents should check for existing branches before claiming the same task
71
+ - If two agents accidentally claim the same task, the one with fewer commits yields
72
+
73
+ **Detecting file overlap:**
74
+ - Before starting, review the implementation plan for file-level scope
75
+ - If two tasks both modify `src/auth/middleware.ts`, they should not run in parallel
76
+ - When overlap is detected: serialize the tasks (one blocks the other), or split the overlapping file into two files first
77
+
78
+ **Communication via branches:**
79
+ - Branch exists = task claimed
80
+ - Branch merged = task complete
81
+ - Branch deleted without merge = task abandoned, available for re-claim
82
+
83
+ ### What to Do When Blocked
84
+
85
+ When no eligible tasks remain (all are blocked or claimed):
86
+
87
+ 1. **Document the blocker** — note which task you need and what it produces
88
+ 2. **Skip to the next available task** — don't wait idle; there may be non-dependent tasks further down the list
89
+ 3. **Look for prep work** — can you write tests, set up scaffolding, or create stubs for the blocked task?
90
+ 4. **If truly nothing is available** — report status and wait for new tasks to become unblocked
91
+
92
+ **Never:**
93
+ - Start a blocked task hoping the blocker will finish soon
94
+ - Work on the same task as another agent without coordination
95
+ - Sit idle without communicating status
96
+
97
+ ### Conditional Beads Integration
98
+
99
+ Beads is an optional task-tracking tool. Detect its presence and adapt.
100
+
101
+ **When `.beads/` directory exists:**
102
+ - Use `bd ready` to list tasks that are ready for work
103
+ - Use `bd claim <id>` to claim a task (if available)
104
+ - Use `bd close <id>` after PR is merged to mark task complete
105
+ - Task IDs come from Beads (`bd-42`, `bd-43`, etc.)
106
+ - Branch naming follows Beads convention: `bd-<id>/<short-desc>`
107
+
108
+ **Without Beads:**
109
+ - Parse `implementation-plan.md` task list for task IDs and dependencies
110
+ - Or use the project's task tracking system (GitHub Issues, Linear, Jira)
111
+ - Branch naming uses the project's convention (e.g., `feat/US-001-slug`)
112
+ - Task status is tracked via PR state: open PR = in progress, merged PR = done
113
+
114
+ ### Task Completion Criteria
115
+
116
+ A task is complete when all of the following are true:
117
+
118
+ 1. **All acceptance criteria met** — every criterion listed in the task description is satisfied
119
+ 2. **Tests passing** — new tests written for the task, plus the full existing suite, all pass
120
+ 3. **PR created** — code is pushed and a pull request is open with a structured description
121
+ 4. **CI passing** — all automated quality gates pass on the PR
122
+ 5. **No regressions** — existing functionality is unchanged unless the task explicitly modifies it
123
+
124
+ Only after all five criteria are met should the task be marked as done.
125
+
126
+ ## See Also
127
+
128
+ - [tdd-execution-loop](./tdd-execution-loop.md) — Red-green-refactor cycle and commit timing
129
+ - [worktree-management](./worktree-management.md) — Parallel agent worktree setup
130
+ - [task-tracking](../core/task-tracking.md) — Task tracking systems and conventions