@shaykec/bridge 0.4.25 → 0.4.26

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 (319) 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 +1 -1
@@ -0,0 +1,103 @@
1
+ # Writing PRDs — Quiz
2
+
3
+ ## Question 1
4
+
5
+ Which of these is a problem statement rather than a solution?
6
+
7
+ A) Users need a dark mode toggle
8
+ B) Users report eye strain when using the app in low-light for 30+ minutes, reducing engagement
9
+ C) We should add a settings page for appearance options
10
+ D) The design team wants to support dark mode
11
+
12
+ <!-- ANSWER: B -->
13
+ <!-- EXPLANATION: A problem statement focuses on user pain (eye strain, reduced engagement) without prescribing a fix. A, C, and D either describe solutions (toggle, settings page) or stakeholders, not the underlying problem. -->
14
+
15
+ ## Question 2
16
+
17
+ What does the JTBD framework help you capture?
18
+
19
+ A) Technical implementation details
20
+ B) The user's situation, motivation, and desired outcome
21
+ C) Competitor feature comparisons
22
+ D) Engineering estimates
23
+
24
+ <!-- ANSWER: B -->
25
+ <!-- EXPLANATION: Jobs To Be Done captures: When [situation], I want to [motivation], so I can [outcome]. It's about user context and value, not technical specs, competitors, or estimates. -->
26
+
27
+ ## Question 3
28
+
29
+ Why are non-goals important in a PRD?
30
+
31
+ A) They make the document longer and more impressive
32
+ B) They prevent scope creep by explicitly stating what's out of scope
33
+ C) They replace the need for success metrics
34
+ D) They are required for legal compliance
35
+
36
+ <!-- ANSWER: B -->
37
+ <!-- EXPLANATION: Non-goals explicitly state what you're NOT building. Stakeholders often assume "everything related" is in scope; non-goals deflect those assumptions and keep the team focused. -->
38
+
39
+ ## Question 4
40
+
41
+ Which success metric is MOST actionable?
42
+
43
+ A) Improve user satisfaction
44
+ B) Increase NPS from 42 to 50 by end of Q3
45
+ C) Make the product better
46
+ D) Users should like it more
47
+
48
+ <!-- ANSWER: B -->
49
+ <!-- EXPLANATION: A good success metric has a specific measure (NPS), a baseline (42), a target (50), and a timeframe (Q3). A, C, and D are vague and impossible to track or act on. -->
50
+
51
+ ## Question 5
52
+
53
+ What is the main anti-pattern of "solution-first thinking"?
54
+
55
+ A) Writing too many user stories
56
+ B) Defining the solution before understanding the problem
57
+ C) Including too many success metrics
58
+ D) Skipping the non-goals section
59
+
60
+ <!-- ANSWER: B -->
61
+ <!-- EXPLANATION: Solution-first thinking jumps to features (e.g., "we need X") before validating the problem. The PRD should start with the pain and outcome, not the proposed fix. -->
62
+
63
+ ## Question 6
64
+
65
+ In the PRD lifecycle (Problem → Research → PRD → Review → Build), what role does Research play?
66
+
67
+ A) It's optional—you can skip it for small features
68
+ B) It validates the problem and informs the PRD with data and user input
69
+ C) It happens only after the PRD is approved
70
+ D) It replaces the need for a PRD
71
+
72
+ <!-- ANSWER: B -->
73
+ <!-- EXPLANATION: Research (interviews, data, competitive analysis) validates the problem and provides evidence that informs the PRD. Without research, the PRD is guesswork. Research comes before the PRD, not after. -->
74
+
75
+ ## Question 7
76
+
77
+ <!-- VISUAL: quiz-drag-order -->
78
+
79
+ Put these PRD sections in the recommended order for the document:
80
+
81
+ A) Success metrics
82
+ B) Problem statement
83
+ C) Solution and requirements
84
+ D) Non-goals
85
+ E) User stories / JTBD
86
+
87
+ <!-- ANSWER: B,E,A,C,D -->
88
+ <!-- EXPLANATION: Start with the problem statement, then user stories or JTBD to capture value. Define success metrics before solution details. Describe the solution and requirements, and close with non-goals to prevent scope creep. -->
89
+
90
+ ## Question 8
91
+
92
+ <!-- VISUAL: quiz-drag-order -->
93
+
94
+ Put these problem-to-spec steps in the correct flow:
95
+
96
+ A) Write PRD
97
+ B) Validate problem (research, data)
98
+ C) Identify problem and outcome
99
+ D) Review with stakeholders
100
+ E) Build and iterate
101
+
102
+ <!-- ANSWER: C,B,A,D,E -->
103
+ <!-- EXPLANATION: Identify the problem and desired outcome first. Validate with research and data. Write the PRD. Review with stakeholders for alignment. Then build and iterate based on feedback. -->
@@ -0,0 +1,30 @@
1
+ # Writing PRDs — Resources
2
+
3
+ ## Videos
4
+
5
+ - [How to Write a PRD (Product Requirements Document)](https://www.youtube.com/watch?v=UQ5t-3r_Mjc) — Product School, ~15 min. Covers PRD structure and common mistakes.
6
+ - [Product Requirements Document Workshop](https://www.youtube.com/watch?v=udGyb3_IJ2o) — Marty Cagan, SVPG, ~45 min. Deep dive on problem-first product specs.
7
+
8
+ ## Articles and Readings
9
+
10
+ - [Examples and templates of 1-Pagers and PRDs](https://www.lennysnewsletter.com/p/prds-1-pagers-examples) — Lenny Rachitsky. Curated examples from top companies; great for stealing formats.
11
+ - [Revisiting the Product Spec](https://www.svpg.com/revisiting-the-product-spec/) — Marty Cagan, SVPG. Why high-fidelity prototypes can replace lengthy PRDs; when specs still matter.
12
+ - [Requirements Are Not](https://www.svpg.com/requirements-are-not/) — SVPG. Distinguishes hypotheses, assumptions, and true requirements.
13
+ - [The Product Requirements Document (PRD) Guide](https://www.productplan.com/glossary/product-requirements-document/) — ProductPlan. Structured overview with templates.
14
+ - [How to Write a Product Requirements Document](https://www.atlassian.com/agile/project-management/requirements) — Atlassian. Agile-friendly PRD practices.
15
+
16
+ ## Books
17
+
18
+ - **Inspired** by Marty Cagan — Foundational PM read on discovery, opportunity assessment, and specs.
19
+ - **The Lean Startup** by Eric Ries — Problem-solution fit, validated learning, and iterating on assumptions.
20
+
21
+ ## Podcasts
22
+
23
+ - [Lenny's Podcast: How to write a PRD](https://www.lennyspodcast.com/) — Lenny Rachitsky. Episodes on product strategy and documentation; search for "PRD" or "spec."
24
+ - [Product Talk: Building in Public](https://www.producttalk.org/) — Teresa Torres. Jobs-to-be-done and opportunity solution trees.
25
+
26
+ ## Tools
27
+
28
+ - [Notion PRD Template](https://www.notion.so/templates/product-requirements-document) — Collaborative PRD templates.
29
+ - [Confluence Product Spec Template](https://www.atlassian.com/software/confluence/templates/product-requirements) — Team-oriented spec format.
30
+ - [Coda PRD Doc](https://coda.io/templates) — Search "PRD" for product doc templates.
@@ -0,0 +1,87 @@
1
+ # Writing PRDs Walkthrough — Learn by Doing
2
+
3
+ ## Before We Begin
4
+
5
+ **Diagnostic:** When someone asks for a feature, are they describing the *problem* or the *solution*? If a stakeholder says "We need a dark mode button," what problem might they actually be trying to solve? How would you find out?
6
+
7
+ **Checkpoint:** You can restate a feature request as a problem (a user need or pain) without mentioning the proposed fix.
8
+
9
+ ---
10
+
11
+ ## Step 1: Problem or Solution?
12
+
13
+ Before writing anything, distinguish problem from solution.
14
+
15
+ **Task:** Choose a real or hypothetical product area (e.g., "onboarding," "search," "notifications"). Write one sentence that describes a *problem* a user has, and one sentence that describes a *solution*. Make sure the problem stands alone—it should make sense even if the solution never existed.
16
+
17
+ **Question:** If you showed your problem statement to someone who had never seen your solution, would they understand the pain? Or would they only understand it in terms of your proposed fix?
18
+
19
+ **Checkpoint:** The user can articulate a problem without mentioning any feature or UI.
20
+
21
+ ---
22
+
23
+ ## Step 2: Write a Problem Statement
24
+
25
+ **Task:** Expand your one-sentence problem into a 2–3 sentence problem statement. Include: who has the problem, what the pain is, and why it matters (impact). Avoid any mention of solutions.
26
+
27
+ **Question:** What happens if you flip your statement and ask "So what?" repeatedly? Does each "so what?" lead to a clearer, more concrete outcome?
28
+
29
+ **Checkpoint:** The problem statement is user-centered and avoids solution language.
30
+
31
+ ---
32
+
33
+ ## Step 3: Apply JTBD
34
+
35
+ <!-- hint:card type="concept" title="Jobs To Be Done: When [situation], I want to [motivation], so I can [outcome]" -->
36
+
37
+ **Task:** Restate your problem using the Jobs To Be Done format: *When [situation], I want to [motivation], so I can [outcome].* Write 2–3 variations with different situations or outcomes.
38
+
39
+ **Question:** Does the JTBD wording reveal any assumptions you had about *who* the user is or *when* they experience this? Could there be different "jobs" for different segments?
40
+
41
+ **Checkpoint:** The user produces at least one valid JTBD statement that maps to their problem.
42
+
43
+ ---
44
+
45
+ ## Step 4: Define Success Metrics
46
+
47
+ **Task:** For your problem, define 1–2 success metrics. For each: name the metric, state the current baseline (or "unknown" if you don't have data), and set a target with a timeframe.
48
+
49
+ **Question:** If you hit your target, would that *prove* you solved the problem? Or could the metric improve for unrelated reasons?
50
+
51
+ **Checkpoint:** Metrics are specific, measurable, and tied to the problem.
52
+
53
+ ---
54
+
55
+ ## Step 5: Add Non-Goals
56
+
57
+ <!-- hint:buttons type="single" prompt="A stakeholder asks to add 'export to PDF' to scope. How do you respond?" options="Add it; they know best,Add to next release; document as deferred,Negotiate: what problem does it solve?,Say no; out of scope" -->
58
+
59
+ **Task:** List 2–3 things that are explicitly **out of scope** for this initiative. These are things stakeholders might assume are included but you're intentionally excluding.
60
+
61
+ **Question:** Why is it as important to define what you're *not* doing as what you are? What happens when non-goals are missing?
62
+
63
+ **Checkpoint:** Non-goals are concrete and would prevent common scope-creep scenarios.
64
+
65
+ ---
66
+
67
+ ## Step 6: Draft a Minimal PRD
68
+
69
+ <!-- hint:list style="checklist" -->
70
+
71
+ **Task:** Combine your problem statement, JTBD, success metrics, and non-goals into a minimal PRD. Add a "User Stories" section with 2–3 stories that support the goals.
72
+
73
+ **Question:** If an engineer read this PRD tomorrow, what would they still need to ask you? What's missing?
74
+
75
+ **Checkpoint:** The PRD has clear sections and could be shared for feedback.
76
+
77
+ ---
78
+
79
+ ## Step 7: Review for Anti-Patterns
80
+
81
+ <!-- hint:celebrate -->
82
+
83
+ **Task:** Re-read your PRD. Check for: solution-first language, vague metrics, missing non-goals, and hidden assumptions. Revise at least one section.
84
+
85
+ **Question:** Which anti-pattern are you most likely to slip into in your own work? How could you catch it next time?
86
+
87
+ **Checkpoint:** The user identifies and fixes at least one anti-pattern in their draft.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shaykec/bridge",
3
- "version": "0.4.25",
3
+ "version": "0.4.26",
4
4
  "type": "module",
5
5
  "description": "Communication hub — HTTP + WebSocket + SSE server with template engine",
6
6
  "main": "src/server.js",