@shaykec/bridge 0.4.25 → 0.4.27

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 (595) hide show
  1. package/journeys/ai-engineer.yaml +34 -0
  2. package/journeys/backend-developer.yaml +36 -0
  3. package/journeys/business-analyst.yaml +37 -0
  4. package/journeys/devops-engineer.yaml +37 -0
  5. package/journeys/engineering-manager.yaml +44 -0
  6. package/journeys/frontend-developer.yaml +41 -0
  7. package/journeys/fullstack-developer.yaml +49 -0
  8. package/journeys/mobile-developer.yaml +42 -0
  9. package/journeys/product-manager.yaml +35 -0
  10. package/journeys/qa-engineer.yaml +37 -0
  11. package/journeys/ux-designer.yaml +43 -0
  12. package/modules/README.md +52 -0
  13. package/modules/accessibility-fundamentals/content.md +126 -0
  14. package/modules/accessibility-fundamentals/exercises.md +88 -0
  15. package/modules/accessibility-fundamentals/module.yaml +43 -0
  16. package/modules/accessibility-fundamentals/quick-ref.md +71 -0
  17. package/modules/accessibility-fundamentals/quiz.md +100 -0
  18. package/modules/accessibility-fundamentals/resources.md +29 -0
  19. package/modules/accessibility-fundamentals/walkthrough.md +80 -0
  20. package/modules/adr-writing/content.md +121 -0
  21. package/modules/adr-writing/exercises.md +81 -0
  22. package/modules/adr-writing/module.yaml +41 -0
  23. package/modules/adr-writing/quick-ref.md +57 -0
  24. package/modules/adr-writing/quiz.md +73 -0
  25. package/modules/adr-writing/resources.md +29 -0
  26. package/modules/adr-writing/walkthrough.md +64 -0
  27. package/modules/ai-agents/content.md +120 -0
  28. package/modules/ai-agents/exercises.md +82 -0
  29. package/modules/ai-agents/module.yaml +42 -0
  30. package/modules/ai-agents/quick-ref.md +60 -0
  31. package/modules/ai-agents/quiz.md +103 -0
  32. package/modules/ai-agents/resources.md +30 -0
  33. package/modules/ai-agents/walkthrough.md +85 -0
  34. package/modules/ai-assisted-research/content.md +136 -0
  35. package/modules/ai-assisted-research/exercises.md +80 -0
  36. package/modules/ai-assisted-research/module.yaml +42 -0
  37. package/modules/ai-assisted-research/quick-ref.md +67 -0
  38. package/modules/ai-assisted-research/quiz.md +73 -0
  39. package/modules/ai-assisted-research/resources.md +33 -0
  40. package/modules/ai-assisted-research/walkthrough.md +85 -0
  41. package/modules/ai-pair-programming/content.md +105 -0
  42. package/modules/ai-pair-programming/exercises.md +98 -0
  43. package/modules/ai-pair-programming/module.yaml +39 -0
  44. package/modules/ai-pair-programming/quick-ref.md +58 -0
  45. package/modules/ai-pair-programming/quiz.md +73 -0
  46. package/modules/ai-pair-programming/resources.md +34 -0
  47. package/modules/ai-pair-programming/walkthrough.md +117 -0
  48. package/modules/ai-test-generation/content.md +125 -0
  49. package/modules/ai-test-generation/exercises.md +98 -0
  50. package/modules/ai-test-generation/module.yaml +39 -0
  51. package/modules/ai-test-generation/quick-ref.md +65 -0
  52. package/modules/ai-test-generation/quiz.md +74 -0
  53. package/modules/ai-test-generation/resources.md +41 -0
  54. package/modules/ai-test-generation/walkthrough.md +100 -0
  55. package/modules/api-design/content.md +189 -0
  56. package/modules/api-design/exercises.md +84 -0
  57. package/modules/api-design/game.yaml +113 -0
  58. package/modules/api-design/module.yaml +45 -0
  59. package/modules/api-design/quick-ref.md +73 -0
  60. package/modules/api-design/quiz.md +100 -0
  61. package/modules/api-design/resources.md +55 -0
  62. package/modules/api-design/walkthrough.md +88 -0
  63. package/modules/clean-code/content.md +136 -0
  64. package/modules/clean-code/exercises.md +137 -0
  65. package/modules/clean-code/game.yaml +172 -0
  66. package/modules/clean-code/module.yaml +44 -0
  67. package/modules/clean-code/quick-ref.md +44 -0
  68. package/modules/clean-code/quiz.md +105 -0
  69. package/modules/clean-code/resources.md +40 -0
  70. package/modules/clean-code/walkthrough.md +78 -0
  71. package/modules/clean-code/workshop.yaml +149 -0
  72. package/modules/code-review/content.md +130 -0
  73. package/modules/code-review/exercises.md +95 -0
  74. package/modules/code-review/game.yaml +83 -0
  75. package/modules/code-review/module.yaml +42 -0
  76. package/modules/code-review/quick-ref.md +77 -0
  77. package/modules/code-review/quiz.md +105 -0
  78. package/modules/code-review/resources.md +40 -0
  79. package/modules/code-review/walkthrough.md +106 -0
  80. package/modules/daily-workflow/content.md +81 -0
  81. package/modules/daily-workflow/exercises.md +50 -0
  82. package/modules/daily-workflow/module.yaml +33 -0
  83. package/modules/daily-workflow/quick-ref.md +37 -0
  84. package/modules/daily-workflow/quiz.md +65 -0
  85. package/modules/daily-workflow/resources.md +38 -0
  86. package/modules/daily-workflow/walkthrough.md +83 -0
  87. package/modules/debugging-systematically/content.md +139 -0
  88. package/modules/debugging-systematically/exercises.md +91 -0
  89. package/modules/debugging-systematically/module.yaml +46 -0
  90. package/modules/debugging-systematically/quick-ref.md +59 -0
  91. package/modules/debugging-systematically/quiz.md +105 -0
  92. package/modules/debugging-systematically/resources.md +42 -0
  93. package/modules/debugging-systematically/walkthrough.md +84 -0
  94. package/modules/debugging-systematically/workshop.yaml +127 -0
  95. package/modules/demo-test/content.md +68 -0
  96. package/modules/demo-test/exercises.md +28 -0
  97. package/modules/demo-test/game.yaml +171 -0
  98. package/modules/demo-test/module.yaml +41 -0
  99. package/modules/demo-test/quick-ref.md +54 -0
  100. package/modules/demo-test/quiz.md +74 -0
  101. package/modules/demo-test/resources.md +21 -0
  102. package/modules/demo-test/walkthrough.md +122 -0
  103. package/modules/demo-test/workshop.yaml +31 -0
  104. package/modules/design-critique/content.md +93 -0
  105. package/modules/design-critique/exercises.md +71 -0
  106. package/modules/design-critique/module.yaml +41 -0
  107. package/modules/design-critique/quick-ref.md +63 -0
  108. package/modules/design-critique/quiz.md +73 -0
  109. package/modules/design-critique/resources.md +27 -0
  110. package/modules/design-critique/walkthrough.md +68 -0
  111. package/modules/design-patterns/content.md +335 -0
  112. package/modules/design-patterns/exercises.md +82 -0
  113. package/modules/design-patterns/game.yaml +55 -0
  114. package/modules/design-patterns/module.yaml +45 -0
  115. package/modules/design-patterns/quick-ref.md +44 -0
  116. package/modules/design-patterns/quiz.md +101 -0
  117. package/modules/design-patterns/resources.md +40 -0
  118. package/modules/design-patterns/walkthrough.md +64 -0
  119. package/modules/exploratory-testing/content.md +133 -0
  120. package/modules/exploratory-testing/exercises.md +88 -0
  121. package/modules/exploratory-testing/module.yaml +41 -0
  122. package/modules/exploratory-testing/quick-ref.md +68 -0
  123. package/modules/exploratory-testing/quiz.md +75 -0
  124. package/modules/exploratory-testing/resources.md +39 -0
  125. package/modules/exploratory-testing/walkthrough.md +87 -0
  126. package/modules/git/content.md +128 -0
  127. package/modules/git/exercises.md +53 -0
  128. package/modules/git/game.yaml +190 -0
  129. package/modules/git/module.yaml +44 -0
  130. package/modules/git/quick-ref.md +67 -0
  131. package/modules/git/quiz.md +89 -0
  132. package/modules/git/resources.md +49 -0
  133. package/modules/git/walkthrough.md +92 -0
  134. package/modules/git/workshop.yaml +145 -0
  135. package/modules/hiring-interviews/content.md +130 -0
  136. package/modules/hiring-interviews/exercises.md +88 -0
  137. package/modules/hiring-interviews/module.yaml +41 -0
  138. package/modules/hiring-interviews/quick-ref.md +68 -0
  139. package/modules/hiring-interviews/quiz.md +73 -0
  140. package/modules/hiring-interviews/resources.md +36 -0
  141. package/modules/hiring-interviews/walkthrough.md +75 -0
  142. package/modules/hooks/content.md +97 -0
  143. package/modules/hooks/exercises.md +69 -0
  144. package/modules/hooks/module.yaml +39 -0
  145. package/modules/hooks/quick-ref.md +93 -0
  146. package/modules/hooks/quiz.md +81 -0
  147. package/modules/hooks/resources.md +34 -0
  148. package/modules/hooks/walkthrough.md +105 -0
  149. package/modules/hooks/workshop.yaml +64 -0
  150. package/modules/incident-response/content.md +124 -0
  151. package/modules/incident-response/exercises.md +82 -0
  152. package/modules/incident-response/game.yaml +132 -0
  153. package/modules/incident-response/module.yaml +45 -0
  154. package/modules/incident-response/quick-ref.md +53 -0
  155. package/modules/incident-response/quiz.md +103 -0
  156. package/modules/incident-response/resources.md +40 -0
  157. package/modules/incident-response/walkthrough.md +82 -0
  158. package/modules/llm-fundamentals/content.md +114 -0
  159. package/modules/llm-fundamentals/exercises.md +83 -0
  160. package/modules/llm-fundamentals/module.yaml +42 -0
  161. package/modules/llm-fundamentals/quick-ref.md +64 -0
  162. package/modules/llm-fundamentals/quiz.md +103 -0
  163. package/modules/llm-fundamentals/resources.md +30 -0
  164. package/modules/llm-fundamentals/walkthrough.md +91 -0
  165. package/modules/one-on-ones/content.md +133 -0
  166. package/modules/one-on-ones/exercises.md +81 -0
  167. package/modules/one-on-ones/module.yaml +44 -0
  168. package/modules/one-on-ones/quick-ref.md +67 -0
  169. package/modules/one-on-ones/quiz.md +73 -0
  170. package/modules/one-on-ones/resources.md +37 -0
  171. package/modules/one-on-ones/walkthrough.md +69 -0
  172. package/modules/package.json +9 -0
  173. package/modules/prioritization-frameworks/content.md +130 -0
  174. package/modules/prioritization-frameworks/exercises.md +93 -0
  175. package/modules/prioritization-frameworks/module.yaml +41 -0
  176. package/modules/prioritization-frameworks/quick-ref.md +77 -0
  177. package/modules/prioritization-frameworks/quiz.md +73 -0
  178. package/modules/prioritization-frameworks/resources.md +32 -0
  179. package/modules/prioritization-frameworks/walkthrough.md +69 -0
  180. package/modules/prompt-engineering/content.md +123 -0
  181. package/modules/prompt-engineering/exercises.md +82 -0
  182. package/modules/prompt-engineering/game.yaml +101 -0
  183. package/modules/prompt-engineering/module.yaml +45 -0
  184. package/modules/prompt-engineering/quick-ref.md +65 -0
  185. package/modules/prompt-engineering/quiz.md +105 -0
  186. package/modules/prompt-engineering/resources.md +36 -0
  187. package/modules/prompt-engineering/walkthrough.md +81 -0
  188. package/modules/rag-fundamentals/content.md +111 -0
  189. package/modules/rag-fundamentals/exercises.md +80 -0
  190. package/modules/rag-fundamentals/module.yaml +45 -0
  191. package/modules/rag-fundamentals/quick-ref.md +58 -0
  192. package/modules/rag-fundamentals/quiz.md +75 -0
  193. package/modules/rag-fundamentals/resources.md +34 -0
  194. package/modules/rag-fundamentals/walkthrough.md +75 -0
  195. package/modules/react-fundamentals/content.md +140 -0
  196. package/modules/react-fundamentals/exercises.md +81 -0
  197. package/modules/react-fundamentals/game.yaml +145 -0
  198. package/modules/react-fundamentals/module.yaml +45 -0
  199. package/modules/react-fundamentals/quick-ref.md +62 -0
  200. package/modules/react-fundamentals/quiz.md +106 -0
  201. package/modules/react-fundamentals/resources.md +42 -0
  202. package/modules/react-fundamentals/walkthrough.md +89 -0
  203. package/modules/react-fundamentals/workshop.yaml +112 -0
  204. package/modules/react-native-fundamentals/content.md +141 -0
  205. package/modules/react-native-fundamentals/exercises.md +79 -0
  206. package/modules/react-native-fundamentals/module.yaml +42 -0
  207. package/modules/react-native-fundamentals/quick-ref.md +60 -0
  208. package/modules/react-native-fundamentals/quiz.md +61 -0
  209. package/modules/react-native-fundamentals/resources.md +24 -0
  210. package/modules/react-native-fundamentals/walkthrough.md +84 -0
  211. package/modules/registry.yaml +1650 -0
  212. package/modules/risk-management/content.md +162 -0
  213. package/modules/risk-management/exercises.md +86 -0
  214. package/modules/risk-management/module.yaml +41 -0
  215. package/modules/risk-management/quick-ref.md +82 -0
  216. package/modules/risk-management/quiz.md +73 -0
  217. package/modules/risk-management/resources.md +40 -0
  218. package/modules/risk-management/walkthrough.md +67 -0
  219. package/modules/running-effective-standups/content.md +119 -0
  220. package/modules/running-effective-standups/exercises.md +79 -0
  221. package/modules/running-effective-standups/module.yaml +40 -0
  222. package/modules/running-effective-standups/quick-ref.md +61 -0
  223. package/modules/running-effective-standups/quiz.md +73 -0
  224. package/modules/running-effective-standups/resources.md +36 -0
  225. package/modules/running-effective-standups/walkthrough.md +76 -0
  226. package/modules/solid-principles/content.md +154 -0
  227. package/modules/solid-principles/exercises.md +107 -0
  228. package/modules/solid-principles/module.yaml +42 -0
  229. package/modules/solid-principles/quick-ref.md +50 -0
  230. package/modules/solid-principles/quiz.md +102 -0
  231. package/modules/solid-principles/resources.md +39 -0
  232. package/modules/solid-principles/walkthrough.md +84 -0
  233. package/modules/sprint-planning/content.md +142 -0
  234. package/modules/sprint-planning/exercises.md +79 -0
  235. package/modules/sprint-planning/game.yaml +84 -0
  236. package/modules/sprint-planning/module.yaml +44 -0
  237. package/modules/sprint-planning/quick-ref.md +76 -0
  238. package/modules/sprint-planning/quiz.md +102 -0
  239. package/modules/sprint-planning/resources.md +39 -0
  240. package/modules/sprint-planning/walkthrough.md +75 -0
  241. package/modules/sql-fundamentals/content.md +160 -0
  242. package/modules/sql-fundamentals/exercises.md +87 -0
  243. package/modules/sql-fundamentals/game.yaml +105 -0
  244. package/modules/sql-fundamentals/module.yaml +45 -0
  245. package/modules/sql-fundamentals/quick-ref.md +53 -0
  246. package/modules/sql-fundamentals/quiz.md +103 -0
  247. package/modules/sql-fundamentals/resources.md +42 -0
  248. package/modules/sql-fundamentals/walkthrough.md +92 -0
  249. package/modules/sql-fundamentals/workshop.yaml +109 -0
  250. package/modules/stakeholder-communication/content.md +186 -0
  251. package/modules/stakeholder-communication/exercises.md +87 -0
  252. package/modules/stakeholder-communication/module.yaml +38 -0
  253. package/modules/stakeholder-communication/quick-ref.md +89 -0
  254. package/modules/stakeholder-communication/quiz.md +73 -0
  255. package/modules/stakeholder-communication/resources.md +41 -0
  256. package/modules/stakeholder-communication/walkthrough.md +74 -0
  257. package/modules/system-design/content.md +149 -0
  258. package/modules/system-design/exercises.md +83 -0
  259. package/modules/system-design/game.yaml +95 -0
  260. package/modules/system-design/module.yaml +46 -0
  261. package/modules/system-design/quick-ref.md +59 -0
  262. package/modules/system-design/quiz.md +102 -0
  263. package/modules/system-design/resources.md +46 -0
  264. package/modules/system-design/walkthrough.md +90 -0
  265. package/modules/team-topologies/content.md +166 -0
  266. package/modules/team-topologies/exercises.md +85 -0
  267. package/modules/team-topologies/module.yaml +41 -0
  268. package/modules/team-topologies/quick-ref.md +61 -0
  269. package/modules/team-topologies/quiz.md +101 -0
  270. package/modules/team-topologies/resources.md +37 -0
  271. package/modules/team-topologies/walkthrough.md +76 -0
  272. package/modules/technical-debt/content.md +111 -0
  273. package/modules/technical-debt/exercises.md +92 -0
  274. package/modules/technical-debt/module.yaml +39 -0
  275. package/modules/technical-debt/quick-ref.md +60 -0
  276. package/modules/technical-debt/quiz.md +73 -0
  277. package/modules/technical-debt/resources.md +25 -0
  278. package/modules/technical-debt/walkthrough.md +94 -0
  279. package/modules/technical-mentoring/content.md +128 -0
  280. package/modules/technical-mentoring/exercises.md +84 -0
  281. package/modules/technical-mentoring/module.yaml +41 -0
  282. package/modules/technical-mentoring/quick-ref.md +74 -0
  283. package/modules/technical-mentoring/quiz.md +73 -0
  284. package/modules/technical-mentoring/resources.md +33 -0
  285. package/modules/technical-mentoring/walkthrough.md +65 -0
  286. package/modules/test-strategy/content.md +136 -0
  287. package/modules/test-strategy/exercises.md +84 -0
  288. package/modules/test-strategy/game.yaml +99 -0
  289. package/modules/test-strategy/module.yaml +45 -0
  290. package/modules/test-strategy/quick-ref.md +66 -0
  291. package/modules/test-strategy/quiz.md +99 -0
  292. package/modules/test-strategy/resources.md +60 -0
  293. package/modules/test-strategy/walkthrough.md +97 -0
  294. package/modules/test-strategy/workshop.yaml +96 -0
  295. package/modules/typescript-fundamentals/content.md +127 -0
  296. package/modules/typescript-fundamentals/exercises.md +79 -0
  297. package/modules/typescript-fundamentals/game.yaml +111 -0
  298. package/modules/typescript-fundamentals/module.yaml +45 -0
  299. package/modules/typescript-fundamentals/quick-ref.md +55 -0
  300. package/modules/typescript-fundamentals/quiz.md +104 -0
  301. package/modules/typescript-fundamentals/resources.md +42 -0
  302. package/modules/typescript-fundamentals/walkthrough.md +71 -0
  303. package/modules/typescript-fundamentals/workshop.yaml +146 -0
  304. package/modules/user-story-mapping/content.md +123 -0
  305. package/modules/user-story-mapping/exercises.md +87 -0
  306. package/modules/user-story-mapping/module.yaml +41 -0
  307. package/modules/user-story-mapping/quick-ref.md +64 -0
  308. package/modules/user-story-mapping/quiz.md +73 -0
  309. package/modules/user-story-mapping/resources.md +29 -0
  310. package/modules/user-story-mapping/walkthrough.md +86 -0
  311. package/modules/writing-prds/content.md +133 -0
  312. package/modules/writing-prds/exercises.md +93 -0
  313. package/modules/writing-prds/game.yaml +83 -0
  314. package/modules/writing-prds/module.yaml +44 -0
  315. package/modules/writing-prds/quick-ref.md +77 -0
  316. package/modules/writing-prds/quiz.md +103 -0
  317. package/modules/writing-prds/resources.md +30 -0
  318. package/modules/writing-prds/walkthrough.md +87 -0
  319. package/package.json +2 -2
  320. package/canvas-dist/assets/_basePickBy-BovdgFIW.js +0 -1
  321. package/canvas-dist/assets/_basePickBy-BtkHe2u_.js +0 -1
  322. package/canvas-dist/assets/_basePickBy-C0936578.js +0 -1
  323. package/canvas-dist/assets/_basePickBy-CE2Qvuh7.js +0 -1
  324. package/canvas-dist/assets/_basePickBy-DV6sX4CG.js +0 -1
  325. package/canvas-dist/assets/_basePickBy-DZX6ZNMT.js +0 -1
  326. package/canvas-dist/assets/_baseUniq-B7dN28TM.js +0 -1
  327. package/canvas-dist/assets/_baseUniq-Cl23fCdR.js +0 -1
  328. package/canvas-dist/assets/_baseUniq-CojWFw7B.js +0 -1
  329. package/canvas-dist/assets/_baseUniq-DA640BJl.js +0 -1
  330. package/canvas-dist/assets/_baseUniq-Ds-62CCj.js +0 -1
  331. package/canvas-dist/assets/_baseUniq-KG7SRw9H.js +0 -1
  332. package/canvas-dist/assets/arc-7E9FFKlC.js +0 -1
  333. package/canvas-dist/assets/arc-BSMfRZtt.js +0 -1
  334. package/canvas-dist/assets/arc-C6nT-koR.js +0 -1
  335. package/canvas-dist/assets/arc-D_fOnjmo.js +0 -1
  336. package/canvas-dist/assets/arc-Khfvgkr3.js +0 -1
  337. package/canvas-dist/assets/arc-ieS-i42x.js +0 -1
  338. package/canvas-dist/assets/architectureDiagram-VXUJARFQ-DF4t6GQD.js +0 -36
  339. package/canvas-dist/assets/architectureDiagram-VXUJARFQ-DXgSlsio.js +0 -36
  340. package/canvas-dist/assets/architectureDiagram-VXUJARFQ-DiomxPB4.js +0 -36
  341. package/canvas-dist/assets/architectureDiagram-VXUJARFQ-DnFaxvXD.js +0 -36
  342. package/canvas-dist/assets/architectureDiagram-VXUJARFQ-Dt38C0LJ.js +0 -36
  343. package/canvas-dist/assets/architectureDiagram-VXUJARFQ-egbtMwua.js +0 -36
  344. package/canvas-dist/assets/blockDiagram-VD42YOAC-CUNKQd-b.js +0 -122
  345. package/canvas-dist/assets/blockDiagram-VD42YOAC-D-NiLXxd.js +0 -122
  346. package/canvas-dist/assets/blockDiagram-VD42YOAC-Dx6Dh9gg.js +0 -122
  347. package/canvas-dist/assets/blockDiagram-VD42YOAC-_r-PmlQy.js +0 -122
  348. package/canvas-dist/assets/blockDiagram-VD42YOAC-bvYKZLMc.js +0 -122
  349. package/canvas-dist/assets/blockDiagram-VD42YOAC-l85QT9Ig.js +0 -122
  350. package/canvas-dist/assets/c4Diagram-YG6GDRKO-BWKCTyQi.js +0 -10
  351. package/canvas-dist/assets/c4Diagram-YG6GDRKO-CbXs2xzC.js +0 -10
  352. package/canvas-dist/assets/c4Diagram-YG6GDRKO-CjiS-GNK.js +0 -10
  353. package/canvas-dist/assets/c4Diagram-YG6GDRKO-D7SnLlHp.js +0 -10
  354. package/canvas-dist/assets/c4Diagram-YG6GDRKO-RTTCSVf2.js +0 -10
  355. package/canvas-dist/assets/c4Diagram-YG6GDRKO-yvqJ_AqX.js +0 -10
  356. package/canvas-dist/assets/channel-CSXq7GP6.js +0 -1
  357. package/canvas-dist/assets/channel-CvujjGiJ.js +0 -1
  358. package/canvas-dist/assets/channel-D959Iony.js +0 -1
  359. package/canvas-dist/assets/channel-DOSwCnrB.js +0 -1
  360. package/canvas-dist/assets/channel-sw61LzxF.js +0 -1
  361. package/canvas-dist/assets/channel-vZVnNhOK.js +0 -1
  362. package/canvas-dist/assets/chunk-4BX2VUAB-BBjuAwXr.js +0 -1
  363. package/canvas-dist/assets/chunk-4BX2VUAB-BXRNyucU.js +0 -1
  364. package/canvas-dist/assets/chunk-4BX2VUAB-Bgq5Z77T.js +0 -1
  365. package/canvas-dist/assets/chunk-4BX2VUAB-BuoMCMCr.js +0 -1
  366. package/canvas-dist/assets/chunk-4BX2VUAB-COD5n7vg.js +0 -1
  367. package/canvas-dist/assets/chunk-4BX2VUAB-K8DepKJO.js +0 -1
  368. package/canvas-dist/assets/chunk-55IACEB6-Bic_bMrQ.js +0 -1
  369. package/canvas-dist/assets/chunk-55IACEB6-DEy2QUDq.js +0 -1
  370. package/canvas-dist/assets/chunk-55IACEB6-Dcgbmfzg.js +0 -1
  371. package/canvas-dist/assets/chunk-55IACEB6-DfmuNm_E.js +0 -1
  372. package/canvas-dist/assets/chunk-55IACEB6-DlQRcczm.js +0 -1
  373. package/canvas-dist/assets/chunk-55IACEB6-p2qMY-fm.js +0 -1
  374. package/canvas-dist/assets/chunk-B4BG7PRW-BpbyxBP2.js +0 -165
  375. package/canvas-dist/assets/chunk-B4BG7PRW-CCPqvPrP.js +0 -165
  376. package/canvas-dist/assets/chunk-B4BG7PRW-CEeDPAki.js +0 -165
  377. package/canvas-dist/assets/chunk-B4BG7PRW-D2UFN_2M.js +0 -165
  378. package/canvas-dist/assets/chunk-B4BG7PRW-DFI5h6HC.js +0 -165
  379. package/canvas-dist/assets/chunk-B4BG7PRW-DKOiFGMU.js +0 -165
  380. package/canvas-dist/assets/chunk-DI55MBZ5-BV6nHjNQ.js +0 -220
  381. package/canvas-dist/assets/chunk-DI55MBZ5-CEZJmC0E.js +0 -220
  382. package/canvas-dist/assets/chunk-DI55MBZ5-DOZT99Ek.js +0 -220
  383. package/canvas-dist/assets/chunk-DI55MBZ5-DmC2LoG2.js +0 -220
  384. package/canvas-dist/assets/chunk-DI55MBZ5-DpkcJdZP.js +0 -220
  385. package/canvas-dist/assets/chunk-DI55MBZ5-fVTGx0zh.js +0 -220
  386. package/canvas-dist/assets/chunk-FMBD7UC4-BOCyQpI7.js +0 -15
  387. package/canvas-dist/assets/chunk-FMBD7UC4-C76FrRL8.js +0 -15
  388. package/canvas-dist/assets/chunk-FMBD7UC4-CAq-btWc.js +0 -15
  389. package/canvas-dist/assets/chunk-FMBD7UC4-CidVsej6.js +0 -15
  390. package/canvas-dist/assets/chunk-FMBD7UC4-DPpfskdX.js +0 -15
  391. package/canvas-dist/assets/chunk-FMBD7UC4-DnLtclge.js +0 -15
  392. package/canvas-dist/assets/chunk-QN33PNHL-BclpCUi8.js +0 -1
  393. package/canvas-dist/assets/chunk-QN33PNHL-DDUw8IU1.js +0 -1
  394. package/canvas-dist/assets/chunk-QN33PNHL-DdJFAUXw.js +0 -1
  395. package/canvas-dist/assets/chunk-QN33PNHL-DjV4jUn9.js +0 -1
  396. package/canvas-dist/assets/chunk-QN33PNHL-N-HTycqU.js +0 -1
  397. package/canvas-dist/assets/chunk-QN33PNHL-sd8p21DW.js +0 -1
  398. package/canvas-dist/assets/chunk-QZHKN3VN-B6mT-JkP.js +0 -1
  399. package/canvas-dist/assets/chunk-QZHKN3VN-BCo8pc7x.js +0 -1
  400. package/canvas-dist/assets/chunk-QZHKN3VN-C8IIu6es.js +0 -1
  401. package/canvas-dist/assets/chunk-QZHKN3VN-D9FF492U.js +0 -1
  402. package/canvas-dist/assets/chunk-QZHKN3VN-DWMbUjXT.js +0 -1
  403. package/canvas-dist/assets/chunk-QZHKN3VN-l5FBJ77g.js +0 -1
  404. package/canvas-dist/assets/chunk-TZMSLE5B-BASt-UWt.js +0 -1
  405. package/canvas-dist/assets/chunk-TZMSLE5B-BCfaZWLT.js +0 -1
  406. package/canvas-dist/assets/chunk-TZMSLE5B-BKIk_hBR.js +0 -1
  407. package/canvas-dist/assets/chunk-TZMSLE5B-C4pt-Ir8.js +0 -1
  408. package/canvas-dist/assets/chunk-TZMSLE5B-DwGlELvo.js +0 -1
  409. package/canvas-dist/assets/chunk-TZMSLE5B-jJKG-WvJ.js +0 -1
  410. package/canvas-dist/assets/classDiagram-2ON5EDUG-B7YQfPU4.js +0 -1
  411. package/canvas-dist/assets/classDiagram-2ON5EDUG-BZ61MaHY.js +0 -1
  412. package/canvas-dist/assets/classDiagram-2ON5EDUG-CGseYor2.js +0 -1
  413. package/canvas-dist/assets/classDiagram-2ON5EDUG-CKzOc99J.js +0 -1
  414. package/canvas-dist/assets/classDiagram-2ON5EDUG-Ce_LPjwW.js +0 -1
  415. package/canvas-dist/assets/classDiagram-2ON5EDUG-DorPdibv.js +0 -1
  416. package/canvas-dist/assets/classDiagram-v2-WZHVMYZB-B7YQfPU4.js +0 -1
  417. package/canvas-dist/assets/classDiagram-v2-WZHVMYZB-BZ61MaHY.js +0 -1
  418. package/canvas-dist/assets/classDiagram-v2-WZHVMYZB-CGseYor2.js +0 -1
  419. package/canvas-dist/assets/classDiagram-v2-WZHVMYZB-CKzOc99J.js +0 -1
  420. package/canvas-dist/assets/classDiagram-v2-WZHVMYZB-Ce_LPjwW.js +0 -1
  421. package/canvas-dist/assets/classDiagram-v2-WZHVMYZB-DorPdibv.js +0 -1
  422. package/canvas-dist/assets/clone-74KSto7H.js +0 -1
  423. package/canvas-dist/assets/clone-CJQgAYVe.js +0 -1
  424. package/canvas-dist/assets/clone-DLeTuhHE.js +0 -1
  425. package/canvas-dist/assets/clone-D_IHK_lQ.js +0 -1
  426. package/canvas-dist/assets/clone-DxMUv1L9.js +0 -1
  427. package/canvas-dist/assets/clone-UNKf_nED.js +0 -1
  428. package/canvas-dist/assets/cose-bilkent-S5V4N54A-BTyQiCkr.js +0 -1
  429. package/canvas-dist/assets/cose-bilkent-S5V4N54A-BtPAe24N.js +0 -1
  430. package/canvas-dist/assets/cose-bilkent-S5V4N54A-DIjE7V3m.js +0 -1
  431. package/canvas-dist/assets/cose-bilkent-S5V4N54A-DKL_BGvE.js +0 -1
  432. package/canvas-dist/assets/cose-bilkent-S5V4N54A-LZ4OsCLU.js +0 -1
  433. package/canvas-dist/assets/cose-bilkent-S5V4N54A-XWeJtgga.js +0 -1
  434. package/canvas-dist/assets/dagre-6UL2VRFP-BJ2vcFwR.js +0 -4
  435. package/canvas-dist/assets/dagre-6UL2VRFP-C1FlE5s8.js +0 -4
  436. package/canvas-dist/assets/dagre-6UL2VRFP-C3BWFgl6.js +0 -4
  437. package/canvas-dist/assets/dagre-6UL2VRFP-CUnx73Rf.js +0 -4
  438. package/canvas-dist/assets/dagre-6UL2VRFP-Do10BY1y.js +0 -4
  439. package/canvas-dist/assets/dagre-6UL2VRFP-rOZEkrsg.js +0 -4
  440. package/canvas-dist/assets/diagram-PSM6KHXK-BGi_qzbq.js +0 -24
  441. package/canvas-dist/assets/diagram-PSM6KHXK-C3Nv7h_j.js +0 -24
  442. package/canvas-dist/assets/diagram-PSM6KHXK-CsMy-r0n.js +0 -24
  443. package/canvas-dist/assets/diagram-PSM6KHXK-Dj8g7kGt.js +0 -24
  444. package/canvas-dist/assets/diagram-PSM6KHXK-Dxb1w_7r.js +0 -24
  445. package/canvas-dist/assets/diagram-PSM6KHXK-kVMBkEyV.js +0 -24
  446. package/canvas-dist/assets/diagram-QEK2KX5R-4bsrr1WZ.js +0 -43
  447. package/canvas-dist/assets/diagram-QEK2KX5R-Bv7BmKfI.js +0 -43
  448. package/canvas-dist/assets/diagram-QEK2KX5R-C_FLN6hv.js +0 -43
  449. package/canvas-dist/assets/diagram-QEK2KX5R-Csuk5L3z.js +0 -43
  450. package/canvas-dist/assets/diagram-QEK2KX5R-D5Aszgz4.js +0 -43
  451. package/canvas-dist/assets/diagram-QEK2KX5R-DX58f87l.js +0 -43
  452. package/canvas-dist/assets/diagram-S2PKOQOG-1Q7hwiSd.js +0 -24
  453. package/canvas-dist/assets/diagram-S2PKOQOG-Bz9Vxi5V.js +0 -24
  454. package/canvas-dist/assets/diagram-S2PKOQOG-CdWgZIIc.js +0 -24
  455. package/canvas-dist/assets/diagram-S2PKOQOG-DBicbKFU.js +0 -24
  456. package/canvas-dist/assets/diagram-S2PKOQOG-DsXKwPtU.js +0 -24
  457. package/canvas-dist/assets/diagram-S2PKOQOG-L_SMHLXs.js +0 -24
  458. package/canvas-dist/assets/erDiagram-Q2GNP2WA-BYu7fh6H.js +0 -60
  459. package/canvas-dist/assets/erDiagram-Q2GNP2WA-CvnQ69BF.js +0 -60
  460. package/canvas-dist/assets/erDiagram-Q2GNP2WA-D3xm-Tdm.js +0 -60
  461. package/canvas-dist/assets/erDiagram-Q2GNP2WA-DIPpD8sj.js +0 -60
  462. package/canvas-dist/assets/erDiagram-Q2GNP2WA-DNgu6dMd.js +0 -60
  463. package/canvas-dist/assets/erDiagram-Q2GNP2WA-Decm8aB4.js +0 -60
  464. package/canvas-dist/assets/flowDiagram-NV44I4VS-2ymk2kw2.js +0 -162
  465. package/canvas-dist/assets/flowDiagram-NV44I4VS-BEPFOt6U.js +0 -162
  466. package/canvas-dist/assets/flowDiagram-NV44I4VS-BwqXYGfK.js +0 -162
  467. package/canvas-dist/assets/flowDiagram-NV44I4VS-CS1jax_z.js +0 -162
  468. package/canvas-dist/assets/flowDiagram-NV44I4VS-DQz5bf7r.js +0 -162
  469. package/canvas-dist/assets/flowDiagram-NV44I4VS-KW4T1sqF.js +0 -162
  470. package/canvas-dist/assets/ganttDiagram-JELNMOA3-B811prZt.js +0 -267
  471. package/canvas-dist/assets/ganttDiagram-JELNMOA3-C75pWm7X.js +0 -267
  472. package/canvas-dist/assets/ganttDiagram-JELNMOA3-CWsbo0fn.js +0 -267
  473. package/canvas-dist/assets/ganttDiagram-JELNMOA3-CbJozPBN.js +0 -267
  474. package/canvas-dist/assets/ganttDiagram-JELNMOA3-Co0cFt4c.js +0 -267
  475. package/canvas-dist/assets/ganttDiagram-JELNMOA3-I4PDqrRh.js +0 -267
  476. package/canvas-dist/assets/gitGraphDiagram-V2S2FVAM-B-z0cLPt.js +0 -65
  477. package/canvas-dist/assets/gitGraphDiagram-V2S2FVAM-Be40z-LF.js +0 -65
  478. package/canvas-dist/assets/gitGraphDiagram-V2S2FVAM-BejNaAVm.js +0 -65
  479. package/canvas-dist/assets/gitGraphDiagram-V2S2FVAM-BqWDYr0X.js +0 -65
  480. package/canvas-dist/assets/gitGraphDiagram-V2S2FVAM-DSvWGY-e.js +0 -65
  481. package/canvas-dist/assets/gitGraphDiagram-V2S2FVAM-HLYbyNJ5.js +0 -65
  482. package/canvas-dist/assets/graph-BE8KKsdf.js +0 -1
  483. package/canvas-dist/assets/graph-D6DzzszU.js +0 -1
  484. package/canvas-dist/assets/graph-DFR8Y_8s.js +0 -1
  485. package/canvas-dist/assets/graph-Da385cDY.js +0 -1
  486. package/canvas-dist/assets/graph-MU7gZz2B.js +0 -1
  487. package/canvas-dist/assets/graph-wjSBJwnf.js +0 -1
  488. package/canvas-dist/assets/index--ztw-8Rw.js +0 -647
  489. package/canvas-dist/assets/index-5TpIM6B1.js +0 -11
  490. package/canvas-dist/assets/index-BSswTuBk.js +0 -11
  491. package/canvas-dist/assets/index-BVvhMmjs.js +0 -11
  492. package/canvas-dist/assets/index-BY92Mj5g.js +0 -572
  493. package/canvas-dist/assets/index-CV7palC3.js +0 -572
  494. package/canvas-dist/assets/index-D9bmQGsB.js +0 -11
  495. package/canvas-dist/assets/index-DDIKkGv8.js +0 -592
  496. package/canvas-dist/assets/index-Dyo0NkPb.js +0 -574
  497. package/canvas-dist/assets/index-iQWajCow.js +0 -572
  498. package/canvas-dist/assets/index-m68YlAMU.js +0 -11
  499. package/canvas-dist/assets/index-mEoP57az.js +0 -11
  500. package/canvas-dist/assets/infoDiagram-HS3SLOUP--9BirqgJ.js +0 -2
  501. package/canvas-dist/assets/infoDiagram-HS3SLOUP-CSJVED2y.js +0 -2
  502. package/canvas-dist/assets/infoDiagram-HS3SLOUP-D68HIb2t.js +0 -2
  503. package/canvas-dist/assets/infoDiagram-HS3SLOUP-DK2VLGGz.js +0 -2
  504. package/canvas-dist/assets/infoDiagram-HS3SLOUP-PaFhn4yD.js +0 -2
  505. package/canvas-dist/assets/infoDiagram-HS3SLOUP-zLNG47sU.js +0 -2
  506. package/canvas-dist/assets/journeyDiagram-XKPGCS4Q-Bue2dR2X.js +0 -139
  507. package/canvas-dist/assets/journeyDiagram-XKPGCS4Q-CrgZfpdU.js +0 -139
  508. package/canvas-dist/assets/journeyDiagram-XKPGCS4Q-DUxWmkkC.js +0 -139
  509. package/canvas-dist/assets/journeyDiagram-XKPGCS4Q-OTFkv4pd.js +0 -139
  510. package/canvas-dist/assets/journeyDiagram-XKPGCS4Q-eK2_Zuu3.js +0 -139
  511. package/canvas-dist/assets/journeyDiagram-XKPGCS4Q-uds5Tz8D.js +0 -139
  512. package/canvas-dist/assets/kanban-definition-3W4ZIXB7-BETdiI7I.js +0 -89
  513. package/canvas-dist/assets/kanban-definition-3W4ZIXB7-BdVh7KdN.js +0 -89
  514. package/canvas-dist/assets/kanban-definition-3W4ZIXB7-Cxl8UM9S.js +0 -89
  515. package/canvas-dist/assets/kanban-definition-3W4ZIXB7-DVPlx3I2.js +0 -89
  516. package/canvas-dist/assets/kanban-definition-3W4ZIXB7-LtNWeoYB.js +0 -89
  517. package/canvas-dist/assets/kanban-definition-3W4ZIXB7-uvhEMvyE.js +0 -89
  518. package/canvas-dist/assets/layout-1OzszN14.js +0 -1
  519. package/canvas-dist/assets/layout-CJSupFcF.js +0 -1
  520. package/canvas-dist/assets/layout-DFRmxN_c.js +0 -1
  521. package/canvas-dist/assets/layout-DSu-zk7y.js +0 -1
  522. package/canvas-dist/assets/layout-TGcrvApd.js +0 -1
  523. package/canvas-dist/assets/layout-eStc8SYK.js +0 -1
  524. package/canvas-dist/assets/linear-9qlE6xa7.js +0 -1
  525. package/canvas-dist/assets/linear-CBfFWnLD.js +0 -1
  526. package/canvas-dist/assets/linear-Cv4ai8Hq.js +0 -1
  527. package/canvas-dist/assets/linear-DDzz65E6.js +0 -1
  528. package/canvas-dist/assets/linear-wbIqhwDf.js +0 -1
  529. package/canvas-dist/assets/linear-wyNKl76F.js +0 -1
  530. package/canvas-dist/assets/mindmap-definition-VGOIOE7T-3l4YzhEM.js +0 -68
  531. package/canvas-dist/assets/mindmap-definition-VGOIOE7T-B-KkpNlw.js +0 -68
  532. package/canvas-dist/assets/mindmap-definition-VGOIOE7T-DHMHWgmT.js +0 -68
  533. package/canvas-dist/assets/mindmap-definition-VGOIOE7T-Dqfyg4Z2.js +0 -68
  534. package/canvas-dist/assets/mindmap-definition-VGOIOE7T-NeRYOzsq.js +0 -68
  535. package/canvas-dist/assets/mindmap-definition-VGOIOE7T-xyu628P9.js +0 -68
  536. package/canvas-dist/assets/pieDiagram-ADFJNKIX-BWNzVAGj.js +0 -30
  537. package/canvas-dist/assets/pieDiagram-ADFJNKIX-Bm3PXYs-.js +0 -30
  538. package/canvas-dist/assets/pieDiagram-ADFJNKIX-BvvN7VvQ.js +0 -30
  539. package/canvas-dist/assets/pieDiagram-ADFJNKIX-BwU7AN7W.js +0 -30
  540. package/canvas-dist/assets/pieDiagram-ADFJNKIX-CHgwWCaM.js +0 -30
  541. package/canvas-dist/assets/pieDiagram-ADFJNKIX-DlZc8YOh.js +0 -30
  542. package/canvas-dist/assets/quadrantDiagram-AYHSOK5B-B-Zd8OFp.js +0 -7
  543. package/canvas-dist/assets/quadrantDiagram-AYHSOK5B-B1CnJyxI.js +0 -7
  544. package/canvas-dist/assets/quadrantDiagram-AYHSOK5B-C0Qo00b9.js +0 -7
  545. package/canvas-dist/assets/quadrantDiagram-AYHSOK5B-C9bx3nEJ.js +0 -7
  546. package/canvas-dist/assets/quadrantDiagram-AYHSOK5B-UHENkiRO.js +0 -7
  547. package/canvas-dist/assets/quadrantDiagram-AYHSOK5B-jKfurTPU.js +0 -7
  548. package/canvas-dist/assets/requirementDiagram-UZGBJVZJ-BPpNNusD.js +0 -64
  549. package/canvas-dist/assets/requirementDiagram-UZGBJVZJ-BwZF1NIK.js +0 -64
  550. package/canvas-dist/assets/requirementDiagram-UZGBJVZJ-CaT3Frtk.js +0 -64
  551. package/canvas-dist/assets/requirementDiagram-UZGBJVZJ-Dfoz7R_7.js +0 -64
  552. package/canvas-dist/assets/requirementDiagram-UZGBJVZJ-DsrX4TT-.js +0 -64
  553. package/canvas-dist/assets/requirementDiagram-UZGBJVZJ-dmouSXOl.js +0 -64
  554. package/canvas-dist/assets/sankeyDiagram-TZEHDZUN-BEy-A1Fu.js +0 -10
  555. package/canvas-dist/assets/sankeyDiagram-TZEHDZUN-BViMBiAQ.js +0 -10
  556. package/canvas-dist/assets/sankeyDiagram-TZEHDZUN-BqrM-qWN.js +0 -10
  557. package/canvas-dist/assets/sankeyDiagram-TZEHDZUN-DRkRC9qB.js +0 -10
  558. package/canvas-dist/assets/sankeyDiagram-TZEHDZUN-DbuzKCtn.js +0 -10
  559. package/canvas-dist/assets/sankeyDiagram-TZEHDZUN-_aHMKbpw.js +0 -10
  560. package/canvas-dist/assets/sequenceDiagram-WL72ISMW-B8FOaL2Q.js +0 -145
  561. package/canvas-dist/assets/sequenceDiagram-WL72ISMW-C02NQwOB.js +0 -145
  562. package/canvas-dist/assets/sequenceDiagram-WL72ISMW-CgyHivPj.js +0 -145
  563. package/canvas-dist/assets/sequenceDiagram-WL72ISMW-CzW1WaEm.js +0 -145
  564. package/canvas-dist/assets/sequenceDiagram-WL72ISMW-DJhHI1pe.js +0 -145
  565. package/canvas-dist/assets/sequenceDiagram-WL72ISMW-VFkpAeoG.js +0 -145
  566. package/canvas-dist/assets/stateDiagram-FKZM4ZOC-BSqFX4PJ.js +0 -1
  567. package/canvas-dist/assets/stateDiagram-FKZM4ZOC-BnXhhxkN.js +0 -1
  568. package/canvas-dist/assets/stateDiagram-FKZM4ZOC-ClARVrvt.js +0 -1
  569. package/canvas-dist/assets/stateDiagram-FKZM4ZOC-CuC6xesY.js +0 -1
  570. package/canvas-dist/assets/stateDiagram-FKZM4ZOC-DcAiGjph.js +0 -1
  571. package/canvas-dist/assets/stateDiagram-FKZM4ZOC-aBg0hjTp.js +0 -1
  572. package/canvas-dist/assets/stateDiagram-v2-4FDKWEC3-8fib9ftc.js +0 -1
  573. package/canvas-dist/assets/stateDiagram-v2-4FDKWEC3-B-DO0ZqO.js +0 -1
  574. package/canvas-dist/assets/stateDiagram-v2-4FDKWEC3-BksbsE4k.js +0 -1
  575. package/canvas-dist/assets/stateDiagram-v2-4FDKWEC3-C2DJCNPK.js +0 -1
  576. package/canvas-dist/assets/stateDiagram-v2-4FDKWEC3-CeA5jba6.js +0 -1
  577. package/canvas-dist/assets/stateDiagram-v2-4FDKWEC3-zsAyq0tK.js +0 -1
  578. package/canvas-dist/assets/timeline-definition-IT6M3QCI-BaHdYD2h.js +0 -61
  579. package/canvas-dist/assets/timeline-definition-IT6M3QCI-Bl2hg8IM.js +0 -61
  580. package/canvas-dist/assets/timeline-definition-IT6M3QCI-CrVwLiGm.js +0 -61
  581. package/canvas-dist/assets/timeline-definition-IT6M3QCI-DrXGRjnB.js +0 -61
  582. package/canvas-dist/assets/timeline-definition-IT6M3QCI-cYAwshf6.js +0 -61
  583. package/canvas-dist/assets/timeline-definition-IT6M3QCI-flyL0y-3.js +0 -61
  584. package/canvas-dist/assets/treemap-GDKQZRPO-C4Hg8kJ_.js +0 -162
  585. package/canvas-dist/assets/treemap-GDKQZRPO-DVY2G9qY.js +0 -162
  586. package/canvas-dist/assets/treemap-GDKQZRPO-DpLWPA1z.js +0 -162
  587. package/canvas-dist/assets/treemap-GDKQZRPO-Ds86cUVw.js +0 -162
  588. package/canvas-dist/assets/treemap-GDKQZRPO-DwmoI6tH.js +0 -162
  589. package/canvas-dist/assets/treemap-GDKQZRPO-SsGFkgVd.js +0 -162
  590. package/canvas-dist/assets/xychartDiagram-PRI3JC2R-B9c1iLBf.js +0 -7
  591. package/canvas-dist/assets/xychartDiagram-PRI3JC2R-BpX6MPWa.js +0 -7
  592. package/canvas-dist/assets/xychartDiagram-PRI3JC2R-CEgW_j0p.js +0 -7
  593. package/canvas-dist/assets/xychartDiagram-PRI3JC2R-CSEFGEQX.js +0 -7
  594. package/canvas-dist/assets/xychartDiagram-PRI3JC2R-CnG4XoMc.js +0 -7
  595. package/canvas-dist/assets/xychartDiagram-PRI3JC2R-Dftj3Bt3.js +0 -7
@@ -0,0 +1,73 @@
1
+ # User Story Mapping Quiz
2
+
3
+ ## Question 1
4
+
5
+ What is the "backbone" in a user story map?
6
+
7
+ A) The technical architecture that supports the product
8
+ B) The high-level user activities, ordered left-to-right (top row)
9
+ C) The most critical user stories for the release
10
+ D) The dependencies between development teams
11
+
12
+ <!-- ANSWER: B -->
13
+ <!-- EXPLANATION: The backbone is the top row of the map—high-level user activities in sequence (e.g., Browse, Add to cart, Check out). It represents the user's journey at a coarse level. The "body" is the tasks stacked under each activity. -->
14
+
15
+ ## Question 2
16
+
17
+ What is a "walking skeleton" release?
18
+
19
+ A) A release that includes all planned features
20
+ B) The thinnest end-to-end path that delivers user value
21
+ C) A prototype with no backend
22
+ D) The first sprint in an agile project
23
+
24
+ <!-- ANSWER: B -->
25
+ <!-- EXPLANATION: A walking skeleton is the minimum set of tasks that lets the user complete the main journey from start to finish. It's a horizontal slice across the map—the smallest viable release. It enables learning and iteration. -->
26
+
27
+ ## Question 3
28
+
29
+ When building the backbone, activities should be:
30
+
31
+ A) Technical components (e.g., "API," "Database")
32
+ B) User actions or goals (e.g., "Search," "Book," "Track")
33
+ C) Screens or pages (e.g., "Homepage," "Settings")
34
+ D) Developer tasks (e.g., "Implement auth," "Add tests")
35
+
36
+ <!-- ANSWER: B -->
37
+ <!-- EXPLANATION: The backbone reflects the user's journey. Activities are what the user does—verbs like search, compare, book. Technical components, screens, and dev tasks belong elsewhere; the map stays user-centered. -->
38
+
39
+ ## Question 4
40
+
41
+ How do you "slice" releases from a story map?
42
+
43
+ A) Vertically—each column is a release
44
+ B) Horizontally—draw a line; above = Release 1, below = later
45
+ C) Randomly—stories are shuffled into sprints
46
+ D) By team—each team takes a section
47
+
48
+ <!-- ANSWER: B -->
49
+ <!-- EXPLANATION: Slicing is horizontal. The most important tasks sit at the top of each activity column. You draw a line: everything above is Release 1 (MVP), the next band is Release 2, etc. This keeps each release a coherent slice of the journey. -->
50
+
51
+ ## Question 5
52
+
53
+ Which is a common mistake when story mapping?
54
+
55
+ A) Starting with user activities
56
+ B) Making the map too granular too early—listing every tiny task before understanding the flow
57
+ C) Walking the map to validate the sequence
58
+ D) Including designers and developers in the workshop
59
+
60
+ <!-- ANSWER: B -->
61
+ <!-- EXPLANATION: Adding too much detail too early makes the map unwieldy and loses the big picture. Start with activities and a few key tasks. Add granularity when slicing releases. Walking the map (C) and including the team (D) are good practices. -->
62
+
63
+ ## Question 6
64
+
65
+ What does "walking the map" mean?
66
+
67
+ A) Physically moving around the room during the workshop
68
+ B) Reading the map left-to-right as a story to validate flow and find gaps
69
+ C) Deleting low-priority tasks
70
+ D) Merging similar activities
71
+
72
+ <!-- ANSWER: B -->
73
+ <!-- EXPLANATION: Walking the map means reading it as a narrative: "The user first does X, then Y, then Z." This helps spot missing steps, wrong order, or tasks that don't fit. It's a validation and sense-check step. -->
@@ -0,0 +1,29 @@
1
+ # User Story Mapping — Resources
2
+
3
+ ## Videos
4
+
5
+ - [User Story Mapping — Jeff Patton](https://www.youtube.com/watch?v=O7wLoFWE5HU) — 15 min, Agile Alliance. Overview of the method and why it works.
6
+ - [Story Mapping in a Nutshell](https://www.youtube.com/watch?v=srQ2sRCNepo) — ~10 min. Quick visual walkthrough of backbone, body, and slicing.
7
+
8
+ ## Articles and Readings
9
+
10
+ - [User Story Mapping](https://www.nngroup.com/articles/user-story-mapping/) — Nielsen Norman Group. UX perspective on story mapping and journey visualization.
11
+ - [How to Use User Story Mapping](https://www.atlassian.com/agile/project-management/user-stories/user-story-mapping) — Atlassian. Practical guide with examples.
12
+ - [Story Mapping 101](https://www.jpattonassociates.com/user-story-mapping/) — Jeff Patton's site. Core concepts and links to the book.
13
+ - [Building a Story Map](https://www.smashingmagazine.com/2017/08/story-mapping-agile/) — Smashing Magazine. Step-by-step workshop facilitation.
14
+
15
+ ## Books
16
+
17
+ - **User Story Mapping** by Jeff Patton — Definitive book on the method. O'Reilly. Covers backbone, body, slicing, workshops, and connecting to agile.
18
+
19
+ ## Tools
20
+
21
+ - [Miro](https://miro.com) — Collaborative boards with story mapping templates.
22
+ - [Trello](https://trello.com) — Use boards and lists to model backbone + body; swimlanes for releases.
23
+ - [Figma](https://www.figma.com) — Design tools with FigJam for remote mapping workshops.
24
+ - [Storiesonboard](https://storiesonboard.com) — Purpose-built story mapping tool with release slicing.
25
+
26
+ ## Templates
27
+
28
+ - [Story Map Template (Miro)](https://miro.com/templates/user-story-mapping/) — Pre-built structure for mapping.
29
+ - [Jeff Patton's Map Outline](https://www.jpattonassociates.com/the-new-backlog/) — Backlog vs. story map relationship.
@@ -0,0 +1,86 @@
1
+ # User Story Mapping Walkthrough — Learn by Doing
2
+
3
+ ## Before We Begin
4
+
5
+ **Diagnostic:** Whose story is it? When you plan a feature, do you start from the user's journey or from the features you want to build? What's the difference—and why does it matter for prioritization?
6
+
7
+ **Checkpoint:** You can articulate why "user does X, then Y" leads to different decisions than "we need screens A, B, C."
8
+
9
+ ---
10
+
11
+ ## Step 1: Identify the User and Outcome
12
+
13
+ You're planning a feature: "Users can manage their saved payment methods." Before building a map, you need a clear user and outcome.
14
+
15
+ **Task:** Write down (a) who this map is for (be specific: new shopper, returning customer, B2B admin?), and (b) one sentence describing the outcome they accomplish.
16
+
17
+ **Question:** Why does defining the user matter? What if you had two different users—how might their maps differ?
18
+
19
+ **Checkpoint:** You have a named user and a clear outcome. You understand that different users have different journeys.
20
+
21
+ ---
22
+
23
+ ## Step 2: Build the Backbone (Activities)
24
+
25
+ For your chosen user and outcome, list the high-level activities they perform. Use verbs: browse, compare, add, checkout, track.
26
+
27
+ <!-- hint:diagram mermaid-type="flowchart" topic="Story map structure: backbone (activities) on top, body (tasks) below" -->
28
+ <!-- hint:list style="cards" -->
29
+
30
+ **Task:** Write 4–6 activities in left-to-right order (the natural sequence of the user's journey). Don't add tasks yet—just the backbone.
31
+
32
+ **Question:** How do you know when an activity is "right-sized"? What makes an activity too big or too small?
33
+
34
+ **Checkpoint:** You have a backbone row: activities in sequence. Each activity is a user action, not a technical component or screen name.
35
+
36
+ ---
37
+
38
+ ## Step 3: Add the Body (Tasks)
39
+
40
+ Under each activity, add 2–4 specific tasks. "Check out" might have: Enter shipping address, Choose payment method, Review order, Confirm.
41
+
42
+ **Task:** Add tasks under each backbone activity. Keep them user-centric (what the user does, not how the system does it).
43
+
44
+ **Question:** Where do you draw the line between "task" and "too granular"? When would you stop breaking down?
45
+
46
+ **Checkpoint:** You have a 2D map: backbone on top, body stacked below. Tasks are concrete but not atomically tiny.
47
+
48
+ ---
49
+
50
+ ## Step 4: Walk the Map
51
+
52
+ Read the map left-to-right as a story. "The user first does X, then Y, then Z..."
53
+
54
+ **Task:** Walk your map aloud (or in your head). Note: gaps, wrong order, missing steps, tasks that don't fit.
55
+
56
+ **Question:** What would you do if you found a task that belongs under a different activity? Or an activity that seems out of order?
57
+
58
+ **Checkpoint:** You've validated the flow. You've identified at least one gap or ordering issue and know how to fix it.
59
+
60
+ ---
61
+
62
+ ## Step 5: Slice Release 1 (Walking Skeleton)
63
+
64
+ The walking skeleton is the thinnest path that delivers value. Draw a horizontal line: above = Release 1.
65
+
66
+ <!-- hint:buttons type="single" prompt="How do you decide what goes above the Release 1 line?" options="Everything users might want,Minimum to complete the outcome,Whatever fits the timeline,Whatever engineers can build" -->
67
+
68
+ **Task:** For your map, identify the minimum tasks needed to complete the outcome. Draw your Release 1 line. What's in? What's "later"?
69
+
70
+ **Question:** How do you decide what stays above the line vs below? What's the risk of putting too much in Release 1?
71
+
72
+ **Checkpoint:** Release 1 is a coherent, minimal slice. You can articulate what the user gets and what's deferred.
73
+
74
+ ---
75
+
76
+ ## Step 6: Run a Mini-Workshop
77
+
78
+ Imagine you're facilitating a 30-minute story-mapping workshop with two developers and one designer.
79
+
80
+ <!-- hint:card type="concept" title="Story maps keep the workshop user-centered, not feature- or architecture-focused" -->
81
+
82
+ **Task:** Write a brief agenda: (a) how you'd introduce the user and outcome, (b) how you'd get the backbone and body on the board (who speaks, what order), and (c) how you'd handle the "slice" discussion.
83
+
84
+ **Question:** What could go wrong in the workshop? How would you keep it from becoming a feature list or technical architecture discussion?
85
+
86
+ **Checkpoint:** You have a facilitation plan. You know how to keep the map user-centered and the conversation productive.
@@ -0,0 +1,133 @@
1
+ # Writing PRDs — From Problem to Spec
2
+
3
+ <!-- hint:slides topic="PRD writing: problem-first thinking, JTBD, PRD structure, stakeholder alignment, and common anti-patterns" slides="5" -->
4
+
5
+ ## What Is a PRD?
6
+
7
+ A **Product Requirements Document (PRD)** is a living document that defines what you're building, why, and for whom. It bridges the gap between strategy and execution—giving engineering, design, and stakeholders a shared understanding before a single line of code is written.
8
+
9
+ A good PRD answers: *What problem are we solving?* and *How will we know we succeeded?*
10
+
11
+ ## Why PRDs Matter
12
+
13
+ Without a PRD, teams often:
14
+
15
+ - Build solutions before validating the problem
16
+ - Scope creep from unclear boundaries
17
+ - Disagree on "done" because success was never defined
18
+ - Waste cycles re-explaining the same context
19
+
20
+ A well-crafted PRD aligns everyone, reduces ambiguity, and makes prioritization decisions traceable.
21
+
22
+ ## PRD Structure
23
+
24
+ A typical PRD includes these sections:
25
+
26
+ | Section | Purpose |
27
+ |---------|---------|
28
+ | **Problem Statement** | Clear description of the user/customer pain |
29
+ | **Goals & Non-Goals** | What we will and won't do (prevents scope creep) |
30
+ | **User Stories / Use Cases** | Who does what and why |
31
+ | **Success Metrics** | Measurable outcomes (quantified) |
32
+ | **Scope** | In/out of scope, phased approach |
33
+ | **Timeline** | High-level milestones |
34
+ | **Open Questions** | Known unknowns, risks, dependencies |
35
+
36
+ ## Writing Effective Problem Statements
37
+
38
+ A problem statement is **not** a solution in disguise. It focuses on the pain, not the fix.
39
+
40
+ **Weak:** "Users need a dark mode toggle."
41
+
42
+ **Strong:** "Users report eye strain when using the app for extended sessions in low-light environments, leading to reduced engagement after 30+ minutes."
43
+
44
+ The **Jobs To Be Done (JTBD)** framework helps: *When [situation], I want to [motivation], so I can [outcome].*
45
+
46
+ Example: *When I'm reviewing a long PR diff, I want to quickly spot high-risk changes, so I can focus my review time where it matters.*
47
+
48
+ ## Defining Measurable Success Criteria
49
+
50
+ Vague metrics ("improve user satisfaction") are hard to act on. Make them **SMART**:
51
+
52
+ - **Specific:** Which metric (e.g., NPS, retention, task completion)?
53
+ - **Measurable:** Can we track it in our systems?
54
+ - **Achievable:** Is it realistic given scope?
55
+ - **Relevant:** Does it tie to the problem?
56
+ - **Time-bound:** By when?
57
+
58
+ **Example:** "Reduce time-to-first-value for new users from 14 days to 7 days within Q2, measured by cohort analysis."
59
+
60
+ ## JTBD Framework
61
+
62
+ Jobs To Be Done reframes features as outcomes:
63
+
64
+ | Element | Example |
65
+ |---------|---------|
66
+ | **Job** | Get my team aligned on the sprint |
67
+ | **Situation** | End of planning, many opinions |
68
+ | **Motivation** | Capture decisions and next steps |
69
+ | **Outcome** | Everyone leaves with clarity on who does what |
70
+
71
+ Using JTBD in your PRD keeps the focus on user value, not feature lists.
72
+
73
+ ## Common PRD Anti-Patterns
74
+
75
+ 1. **Solution-first thinking** — Starting with "We need a search bar" instead of "Users can't find what they need."
76
+ 2. **Vague success metrics** — "Improve engagement" with no baseline or target.
77
+ 3. **Missing non-goals** — Stakeholders assume everything is in scope.
78
+ 4. **No open questions** — Pretending uncertainty doesn't exist.
79
+ 5. **Waterfall rigidity** — Treating the PRD as unchangeable instead of iterative.
80
+
81
+ ## PRD Lifecycle: Problem → Build
82
+
83
+ ```mermaid
84
+ flowchart LR
85
+ A[Problem] --> B[Research]
86
+ B --> C[PRD]
87
+ C --> D[Review]
88
+ D --> E[Build]
89
+ E -.->|feedback| B
90
+ ```
91
+
92
+ 1. **Problem** — Identify the pain point or opportunity.
93
+ 2. **Research** — User interviews, data, competitive analysis.
94
+ 3. **PRD** — Document findings, goals, and scope.
95
+ 4. **Review** — Stakeholder alignment, design/engineering input.
96
+ 5. **Build** — Execution with feedback loops back to research.
97
+
98
+ ## Templates
99
+
100
+ Use a consistent template so your PRDs are comparable and complete. A minimal template:
101
+
102
+ ```markdown
103
+ # [Feature Name]
104
+
105
+ ## Problem
106
+ [1–2 paragraphs: who has the problem, what it is, why it matters]
107
+
108
+ ## Goals
109
+ - [Goal 1]
110
+ - [Goal 2]
111
+
112
+ ## Non-Goals
113
+ - [What we're explicitly NOT doing]
114
+
115
+ ## Success Metrics
116
+ - [Metric]: [Baseline] → [Target] by [Date]
117
+
118
+ ## User Stories
119
+ - As a [persona], I want [action], so that [outcome]
120
+
121
+ ## Scope
122
+ - In scope: ...
123
+ - Out of scope: ...
124
+ - Phase 2 considerations: ...
125
+
126
+ ## Open Questions
127
+ - [Question 1]
128
+ - [Question 2]
129
+ ```
130
+
131
+ ---
132
+
133
+ PRDs are communication tools. A great PRD doesn't have to be long—it has to be **clear**. When in doubt, start with the problem statement and success metrics. Everything else supports those two.
@@ -0,0 +1,93 @@
1
+ # Writing PRDs — Exercises
2
+
3
+ ## Exercise 1: Problem vs Solution
4
+
5
+ **Task:** For each statement, label it as a **problem** or **solution**. If it's a solution, rewrite it as a problem statement.
6
+
7
+ 1. "We need a search bar in the header."
8
+ 2. "Users spend 5+ minutes trying to find the export option, often giving up."
9
+ 3. "Add a dark mode toggle to settings."
10
+ 4. "New users abandon the onboarding flow at step 3 at a 40% rate."
11
+
12
+ **Validation:**
13
+ - [ ] Problems focus on pain, context, and impact
14
+ - [ ] Solutions are rewritten to describe the underlying problem
15
+ - [ ] No solution language in problem statements (no "we need," "add," "implement")
16
+
17
+ **Hints:**
18
+ 1. Problem = who, what pain, why it matters
19
+ 2. Solution = the proposed fix (feature, button, page)
20
+ 3. "Users can't find X" is problem; "We need search" is solution
21
+
22
+ ---
23
+
24
+ ## Exercise 2: Write a JTBD
25
+
26
+ **Task:** Pick a feature you know (real or hypothetical). Write a Jobs To Be Done statement using: *When [situation], I want to [motivation], so I can [outcome].*
27
+
28
+ **Validation:**
29
+ - [ ] Situation is specific (context, circumstance)
30
+ - [ ] Motivation is the goal or need
31
+ - [ ] Outcome is the benefit or result
32
+ - [ ] The statement is about the user, not the system
33
+
34
+ **Hints:**
35
+ 1. Start with "When I..." — the situation grounds the job
36
+ 2. "So I can" ties the action to value
37
+ 3. Avoid feature names; describe the job in user terms
38
+
39
+ ---
40
+
41
+ ## Exercise 3: Make Metrics SMART
42
+
43
+ **Task:** These metrics are vague. Rewrite each as a SMART metric (Specific, Measurable, Achievable, Relevant, Time-bound). Include baseline, target, and timeframe where possible.
44
+
45
+ 1. "Improve user satisfaction"
46
+ 2. "Reduce time to complete onboarding"
47
+ 3. "Increase engagement"
48
+
49
+ **Validation:**
50
+ - [ ] Each metric names a specific measure
51
+ - [ ] Baseline and target are included (or justified if unknown)
52
+ - [ ] Timeframe is stated
53
+ - [ ] Metric is actionable (you could track it)
54
+
55
+ **Hints:**
56
+ 1. "Improve" → improve what? NPS? CSAT? Task completion?
57
+ 2. Add numbers: "from X to Y by [date]"
58
+ 3. If baseline is unknown, note "TBD—measure first"
59
+
60
+ ---
61
+
62
+ ## Exercise 4: Write Non-Goals
63
+
64
+ **Task:** For a feature you're familiar with (e.g., "user profile export"), write 3–5 non-goals. These are things stakeholders might assume are in scope but are explicitly out.
65
+
66
+ **Validation:**
67
+ - [ ] Non-goals are concrete (not "everything else")
68
+ - [ ] Each is plausible scope creep
69
+ - [ ] Language is clear: "We will NOT..."
70
+ - [ ] At least one addresses "nice to have" vs "must have"
71
+
72
+ **Hints:**
73
+ 1. Think: What would stakeholders ask for? "Can we also...?"
74
+ 2. Non-goals prevent "while you're at it" creep
75
+ 3. "Phase 2" or "Future consideration" can be non-goals
76
+
77
+ ---
78
+
79
+ ## Exercise 5: Minimal PRD Draft
80
+
81
+ **Task:** Draft a minimal PRD (1–2 pages) for a small feature. Include: Problem, Goals, Non-Goals, Success Metrics, and 2–3 User Stories. Use the PRD structure from the content.
82
+
83
+ **Validation:**
84
+ - [ ] Problem statement is problem-focused, not solution-focused
85
+ - [ ] Goals and non-goals are explicit
86
+ - [ ] Success metrics have baseline/target/timeframe (or TBD noted)
87
+ - [ ] User stories follow "As a / I want / So that" format
88
+ - [ ] Document is readable in under 5 minutes
89
+
90
+ **Hints:**
91
+ 1. Start with the problem—everything else supports it
92
+ 2. Keep each section concise; 2–3 bullets each
93
+ 3. Open questions are fine—list them explicitly
@@ -0,0 +1,83 @@
1
+ games:
2
+ - type: classify
3
+ title: "Requirement Classifier"
4
+ categories:
5
+ - name: "Functional"
6
+ color: "#58a6ff"
7
+ - name: "Non-Functional"
8
+ color: "#3fb950"
9
+ - name: "Out of Scope"
10
+ color: "#8b949e"
11
+ items:
12
+ - text: "Users can reset their password via email link."
13
+ category: "Functional"
14
+ - text: "The app must load the dashboard within 2 seconds on 4G."
15
+ category: "Non-Functional"
16
+ - text: "Add dark mode and a mobile app in phase 1."
17
+ category: "Out of Scope"
18
+ - text: "Users can filter search results by date range and category."
19
+ category: "Functional"
20
+ - text: "The system must support 10,000 concurrent users."
21
+ category: "Non-Functional"
22
+ - text: "Integrate with CRM system X and analytics platform Y."
23
+ category: "Out of Scope"
24
+ - text: "Admins can bulk-export user data as CSV."
25
+ category: "Functional"
26
+ - text: "All user data must be encrypted at rest and in transit."
27
+ category: "Non-Functional"
28
+ - text: "Build an AI recommendation engine for the product catalog."
29
+ category: "Out of Scope"
30
+ - text: "Users receive an in-app notification when their order ships."
31
+ category: "Functional"
32
+
33
+ - type: speed-round
34
+ title: "Problem or Solution?"
35
+ rounds:
36
+ - question: "Users need a faster way to complete checkout on mobile."
37
+ options:
38
+ - "Problem"
39
+ - "Solution"
40
+ answer: 0
41
+ timeLimit: 12
42
+ - question: "We should add a one-click checkout button to reduce cart abandonment."
43
+ options:
44
+ - "Problem"
45
+ - "Solution"
46
+ answer: 1
47
+ timeLimit: 14
48
+ - question: "Support gets too many tickets about password reset confusion."
49
+ options:
50
+ - "Problem"
51
+ - "Solution"
52
+ answer: 0
53
+ timeLimit: 12
54
+ - question: "We need to build a chatbot to answer common support questions."
55
+ options:
56
+ - "Problem"
57
+ - "Solution"
58
+ answer: 1
59
+ timeLimit: 14
60
+ - question: "New users don't understand how to set up their first project."
61
+ options:
62
+ - "Problem"
63
+ - "Solution"
64
+ answer: 0
65
+ timeLimit: 12
66
+ - question: "Let's add an onboarding wizard with 3 steps."
67
+ options:
68
+ - "Problem"
69
+ - "Solution"
70
+ answer: 1
71
+ timeLimit: 14
72
+ - question: "Admins spend 2 hours weekly manually reconciling reports."
73
+ options:
74
+ - "Problem"
75
+ - "Solution"
76
+ answer: 0
77
+ timeLimit: 12
78
+ - question: "We should use React with a component library for the new dashboard."
79
+ options:
80
+ - "Problem"
81
+ - "Solution"
82
+ answer: 1
83
+ timeLimit: 14
@@ -0,0 +1,44 @@
1
+ slug: writing-prds
2
+ title: "Writing PRDs — From Problem to Spec"
3
+ version: 1.0.0
4
+ description: "Learn to write product requirements documents that align teams and clarify scope."
5
+ category: product-management
6
+ tags: [prd, product-management, requirements, specification, documentation]
7
+ difficulty: beginner
8
+
9
+ xp:
10
+ read: 10
11
+ walkthrough: 30
12
+ exercise: 20
13
+ quiz: 15
14
+ quiz-perfect-bonus: 10
15
+ game: 20
16
+ game-perfect-bonus: 10
17
+
18
+ time:
19
+ quick: 5
20
+ read: 15
21
+ guided: 45
22
+
23
+ prerequisites: []
24
+ related: [prioritization-frameworks, user-story-mapping]
25
+
26
+ triggers:
27
+ - "How do I write a PRD?"
28
+ - "What should a product requirements document include?"
29
+ - "How do I define product requirements?"
30
+ - "What's the difference between a PRD and a spec?"
31
+
32
+ visuals:
33
+ diagrams: [diagram-flow, diagram-mermaid]
34
+ quiz-types: [quiz-drag-order, quiz-timed-choice]
35
+ game-types: [classify, speed-round]
36
+ slides: true
37
+
38
+ sources:
39
+ - url: "https://www.lennysnewsletter.com/p/prds-1-pagers-examples"
40
+ label: "Lenny's Newsletter — PRDs & 1-Pagers"
41
+ type: article
42
+ - url: "https://www.svpg.com/revisiting-the-product-spec/"
43
+ label: "SVPG — Revisiting the Product Spec"
44
+ type: article
@@ -0,0 +1,77 @@
1
+ # PRD Quick Reference
2
+
3
+ ## PRD Sections Checklist
4
+
5
+ | Section | Purpose | Key Questions |
6
+ |---------|---------|---------------|
7
+ | Problem Statement | User pain, not solution | Who? What pain? Why does it matter? |
8
+ | Goals | What we will achieve | What outcomes? For whom? |
9
+ | Non-Goals | What we won't do | What's out of scope? |
10
+ | Success Metrics | Measurable outcomes | Baseline? Target? Timeframe? |
11
+ | User Stories | Use cases | As a / I want / So that |
12
+ | Scope | In/out, phases | What's in v1? What's later? |
13
+ | Open Questions | Known unknowns | What do we still need to learn? |
14
+
15
+ ## Problem vs Solution
16
+
17
+ | Problem ✓ | Solution ✗ |
18
+ |-----------|-----------|
19
+ | "Users can't find key actions" | "We need a search bar" |
20
+ | "Eye strain in low-light" | "Add dark mode" |
21
+ | "Too many steps to complete task" | "Add a wizard" |
22
+
23
+ ## JTBD Template
24
+
25
+ ```
26
+ When [situation/circumstance],
27
+ I want to [motivation/goal],
28
+ so I can [outcome/benefit].
29
+ ```
30
+
31
+ **Example:** When I'm reviewing a long PR, I want to quickly spot high-risk files, so I can focus my review where it matters.
32
+
33
+ ## Success Metric Template
34
+
35
+ ```
36
+ [Metric name]: [Baseline] → [Target] by [Date]
37
+ ```
38
+
39
+ **Example:** Time-to-first-value: 14 days → 7 days by end of Q2
40
+
41
+ ## Common Anti-Patterns
42
+
43
+ | Anti-Pattern | Fix |
44
+ |--------------|-----|
45
+ | Solution-first | Start with problem, not feature |
46
+ | Vague metrics | Add baseline, target, timeframe |
47
+ | No non-goals | List 3–5 explicit out-of-scope items |
48
+ | Missing open questions | Capture unknowns and risks |
49
+ | Waterfall rigidity | Treat PRD as living doc, iterate |
50
+
51
+ ## PRD Lifecycle (Mermaid)
52
+
53
+ ```mermaid
54
+ flowchart LR
55
+ A[Problem] --> B[Research]
56
+ B --> C[PRD]
57
+ C --> D[Review]
58
+ D --> E[Build]
59
+ ```
60
+
61
+ ## Minimal PRD Template
62
+
63
+ ```markdown
64
+ # [Feature Name]
65
+ ## Problem
66
+ [2–3 sentences: who, what, why]
67
+ ## Goals
68
+ - ...
69
+ ## Non-Goals
70
+ - ...
71
+ ## Success Metrics
72
+ - [Metric]: [Baseline] → [Target] by [Date]
73
+ ## User Stories
74
+ - As a [persona], I want [action], so that [outcome]
75
+ ## Open Questions
76
+ - ...
77
+ ```