codymaster 4.4.4 → 4.5.1

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 (190) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +29 -14
  3. package/commands/demo.md +1 -1
  4. package/dist/context-bus.js +70 -0
  5. package/dist/context-db.js +265 -0
  6. package/dist/continuity.js +12 -0
  7. package/dist/file-watcher.js +79 -0
  8. package/dist/index.js +152 -1
  9. package/dist/l0-indexer.js +158 -0
  10. package/dist/mcp-context-server.js +400 -0
  11. package/dist/migrate-json-to-sqlite.js +126 -0
  12. package/dist/skill-chain.js +19 -3
  13. package/dist/token-budget.js +108 -0
  14. package/dist/uri-resolver.js +203 -0
  15. package/package.json +7 -1
  16. package/skills/_shared/helpers.md +50 -14
  17. package/skills/cm-autopilot/SKILL.md +29 -0
  18. package/skills/cm-autopilot/scripts/autopilot.py +190 -0
  19. package/skills/cm-continuity/SKILL.md +90 -28
  20. package/skills/cm-quality-gate/SKILL.md +11 -1
  21. package/skills/cm-safe-deploy/SKILL.md +38 -2
  22. package/skills/cm-security-gate/SKILL.md +158 -34
  23. package/skills/cm-skill-chain/SKILL.md +47 -1
  24. package/skills/cm-start/SKILL.md +11 -2
  25. package/skills/cm-test-gate/SKILL.md +3 -0
  26. package/skills/boxme-git-config/SKILL.md +0 -56
  27. package/skills/boxme-local-dev/SKILL.md +0 -66
  28. package/skills/jobs-to-be-done/SKILL.md +0 -266
  29. package/skills/jobs-to-be-done/references/case-studies.md +0 -154
  30. package/skills/jobs-to-be-done/references/competitive-strategy.md +0 -280
  31. package/skills/jobs-to-be-done/references/diagnostics.md +0 -158
  32. package/skills/jobs-to-be-done/references/innovation-process.md +0 -392
  33. package/skills/jobs-to-be-done/references/organizational-change.md +0 -328
  34. package/skills/marketplace-report-crawler/SKILL.md +0 -176
  35. package/skills/marketplace-report-crawler/config/accounts.json +0 -41
  36. package/skills/marketplace-report-crawler/config/report-types.json +0 -422
  37. package/skills/marketplace-report-crawler/config/sessions.json +0 -3
  38. package/skills/marketplace-report-crawler/scripts/ab-wrapper.sh +0 -102
  39. package/skills/marketplace-report-crawler/scripts/browser-actions/lazada/lazada-actions.js +0 -114
  40. package/skills/marketplace-report-crawler/scripts/browser-actions/shopee/shopee-actions.js +0 -94
  41. package/skills/marketplace-report-crawler/scripts/browser-actions/tiktok/tiktok-actions.js +0 -272
  42. package/skills/marketplace-report-crawler/scripts/crawl-runner.js +0 -281
  43. package/skills/marketplace-report-crawler/scripts/session-check.sh +0 -72
  44. package/skills/marketplace-report-crawler/scripts/session-manager.sh +0 -349
  45. package/skills/marketplace-report-crawler/scripts/setup-folders.sh +0 -83
  46. package/skills/medical-research/SKILL.md +0 -194
  47. package/skills/medical-research/scripts/evidence_checker.py +0 -288
  48. package/skills/mom-test/SKILL.md +0 -267
  49. package/skills/mom-test/references/avoiding-bad-data.md +0 -221
  50. package/skills/mom-test/references/case-studies.md +0 -306
  51. package/skills/mom-test/references/commitment-advancement.md +0 -219
  52. package/skills/mom-test/references/finding-conversations.md +0 -251
  53. package/skills/mom-test/references/processing-learning.md +0 -256
  54. package/skills/mom-test/references/question-patterns.md +0 -198
  55. package/skills/pandasai-analytics/SKILL.md +0 -251
  56. package/skills/release-it/SKILL.md +0 -235
  57. package/skills/release-it/references/anti-patterns.md +0 -279
  58. package/skills/release-it/references/capacity-planning.md +0 -285
  59. package/skills/release-it/references/chaos-engineering.md +0 -325
  60. package/skills/release-it/references/deployment-strategies.md +0 -331
  61. package/skills/release-it/references/observability.md +0 -301
  62. package/skills/release-it/references/stability-patterns.md +0 -355
  63. package/skills/skill-creator-ultra/.agents/workflows/skill-audit.md +0 -37
  64. package/skills/skill-creator-ultra/.agents/workflows/skill-compare.md +0 -34
  65. package/skills/skill-creator-ultra/.agents/workflows/skill-export.md +0 -51
  66. package/skills/skill-creator-ultra/.agents/workflows/skill-generate.md +0 -39
  67. package/skills/skill-creator-ultra/.agents/workflows/skill-scaffold.md +0 -52
  68. package/skills/skill-creator-ultra/.agents/workflows/skill-simulate.md +0 -25
  69. package/skills/skill-creator-ultra/.agents/workflows/skill-stats.md +0 -31
  70. package/skills/skill-creator-ultra/.agents/workflows/skill-validate.md +0 -25
  71. package/skills/skill-creator-ultra/README.md +0 -1242
  72. package/skills/skill-creator-ultra/SKILL.md +0 -388
  73. package/skills/skill-creator-ultra/agents/analyzer.md +0 -274
  74. package/skills/skill-creator-ultra/agents/comparator.md +0 -202
  75. package/skills/skill-creator-ultra/agents/grader.md +0 -223
  76. package/skills/skill-creator-ultra/assets/eval_review.html +0 -146
  77. package/skills/skill-creator-ultra/eval-viewer/generate_review.py +0 -471
  78. package/skills/skill-creator-ultra/eval-viewer/viewer.html +0 -1325
  79. package/skills/skill-creator-ultra/examples/example_anthropic_frontend.md +0 -109
  80. package/skills/skill-creator-ultra/examples/example_anthropic_pdf.md +0 -116
  81. package/skills/skill-creator-ultra/examples/example_api_docs.md +0 -189
  82. package/skills/skill-creator-ultra/examples/example_db_migration.md +0 -253
  83. package/skills/skill-creator-ultra/examples/example_git_commit.md +0 -111
  84. package/skills/skill-creator-ultra/install.ps1 +0 -289
  85. package/skills/skill-creator-ultra/install.sh +0 -313
  86. package/skills/skill-creator-ultra/phases/phase1_interview.md +0 -202
  87. package/skills/skill-creator-ultra/phases/phase2_extract.md +0 -55
  88. package/skills/skill-creator-ultra/phases/phase3_detect.md +0 -57
  89. package/skills/skill-creator-ultra/phases/phase4_generate.md +0 -543
  90. package/skills/skill-creator-ultra/phases/phase5_test.md +0 -319
  91. package/skills/skill-creator-ultra/phases/phase6_eval.md +0 -301
  92. package/skills/skill-creator-ultra/phases/phase7_iterate.md +0 -103
  93. package/skills/skill-creator-ultra/phases/phase8_optimize.md +0 -113
  94. package/skills/skill-creator-ultra/resources/advanced_patterns.md +0 -499
  95. package/skills/skill-creator-ultra/resources/anti_patterns.md +0 -376
  96. package/skills/skill-creator-ultra/resources/blueprints.md +0 -498
  97. package/skills/skill-creator-ultra/resources/checklist.md +0 -243
  98. package/skills/skill-creator-ultra/resources/composition_cookbook.md +0 -291
  99. package/skills/skill-creator-ultra/resources/description_optimization.md +0 -90
  100. package/skills/skill-creator-ultra/resources/eval_guide.md +0 -133
  101. package/skills/skill-creator-ultra/resources/industry_questions.md +0 -189
  102. package/skills/skill-creator-ultra/resources/interview_questions.md +0 -200
  103. package/skills/skill-creator-ultra/resources/pattern_detection.md +0 -200
  104. package/skills/skill-creator-ultra/resources/prompt_engineering.md +0 -531
  105. package/skills/skill-creator-ultra/resources/schemas.md +0 -430
  106. package/skills/skill-creator-ultra/resources/script_integration.md +0 -593
  107. package/skills/skill-creator-ultra/resources/scripts_guide.md +0 -339
  108. package/skills/skill-creator-ultra/resources/skill_template.md +0 -124
  109. package/skills/skill-creator-ultra/resources/skill_writing_guide.md +0 -634
  110. package/skills/skill-creator-ultra/resources/versioning_guide.md +0 -193
  111. package/skills/skill-creator-ultra/scripts/ci_eval.py +0 -200
  112. package/skills/skill-creator-ultra/scripts/package_skill.py +0 -165
  113. package/skills/skill-creator-ultra/scripts/simulate_skill.py +0 -398
  114. package/skills/skill-creator-ultra/scripts/skill_audit.py +0 -611
  115. package/skills/skill-creator-ultra/scripts/skill_compare.py +0 -265
  116. package/skills/skill-creator-ultra/scripts/skill_export.py +0 -334
  117. package/skills/skill-creator-ultra/scripts/skill_scaffold.py +0 -403
  118. package/skills/skill-creator-ultra/scripts/skill_stats.py +0 -339
  119. package/skills/skill-creator-ultra/scripts/validate_skill.py +0 -411
  120. package/skills/tailwind-mastery/SKILL.md +0 -229
  121. package/skills/vercel-react-best-practices/AGENTS.md +0 -3373
  122. package/skills/vercel-react-best-practices/README.md +0 -123
  123. package/skills/vercel-react-best-practices/SKILL.md +0 -143
  124. package/skills/vercel-react-best-practices/rules/_sections.md +0 -46
  125. package/skills/vercel-react-best-practices/rules/_template.md +0 -28
  126. package/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +0 -55
  127. package/skills/vercel-react-best-practices/rules/advanced-init-once.md +0 -42
  128. package/skills/vercel-react-best-practices/rules/advanced-use-latest.md +0 -39
  129. package/skills/vercel-react-best-practices/rules/async-api-routes.md +0 -38
  130. package/skills/vercel-react-best-practices/rules/async-defer-await.md +0 -80
  131. package/skills/vercel-react-best-practices/rules/async-dependencies.md +0 -51
  132. package/skills/vercel-react-best-practices/rules/async-parallel.md +0 -28
  133. package/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +0 -99
  134. package/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +0 -59
  135. package/skills/vercel-react-best-practices/rules/bundle-conditional.md +0 -31
  136. package/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +0 -49
  137. package/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +0 -35
  138. package/skills/vercel-react-best-practices/rules/bundle-preload.md +0 -50
  139. package/skills/vercel-react-best-practices/rules/client-event-listeners.md +0 -74
  140. package/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +0 -71
  141. package/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +0 -48
  142. package/skills/vercel-react-best-practices/rules/client-swr-dedup.md +0 -56
  143. package/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +0 -107
  144. package/skills/vercel-react-best-practices/rules/js-cache-function-results.md +0 -80
  145. package/skills/vercel-react-best-practices/rules/js-cache-property-access.md +0 -28
  146. package/skills/vercel-react-best-practices/rules/js-cache-storage.md +0 -70
  147. package/skills/vercel-react-best-practices/rules/js-combine-iterations.md +0 -32
  148. package/skills/vercel-react-best-practices/rules/js-early-exit.md +0 -50
  149. package/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +0 -60
  150. package/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +0 -45
  151. package/skills/vercel-react-best-practices/rules/js-index-maps.md +0 -37
  152. package/skills/vercel-react-best-practices/rules/js-length-check-first.md +0 -49
  153. package/skills/vercel-react-best-practices/rules/js-min-max-loop.md +0 -82
  154. package/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +0 -24
  155. package/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +0 -57
  156. package/skills/vercel-react-best-practices/rules/rendering-activity.md +0 -26
  157. package/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
  158. package/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +0 -40
  159. package/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +0 -38
  160. package/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +0 -46
  161. package/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
  162. package/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +0 -30
  163. package/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +0 -85
  164. package/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +0 -68
  165. package/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +0 -28
  166. package/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +0 -75
  167. package/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +0 -39
  168. package/skills/vercel-react-best-practices/rules/rerender-dependencies.md +0 -45
  169. package/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +0 -40
  170. package/skills/vercel-react-best-practices/rules/rerender-derived-state.md +0 -29
  171. package/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +0 -74
  172. package/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +0 -58
  173. package/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +0 -38
  174. package/skills/vercel-react-best-practices/rules/rerender-memo.md +0 -44
  175. package/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +0 -45
  176. package/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +0 -82
  177. package/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +0 -35
  178. package/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +0 -64
  179. package/skills/vercel-react-best-practices/rules/rerender-transitions.md +0 -40
  180. package/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +0 -59
  181. package/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +0 -73
  182. package/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +0 -73
  183. package/skills/vercel-react-best-practices/rules/server-auth-actions.md +0 -96
  184. package/skills/vercel-react-best-practices/rules/server-cache-lru.md +0 -41
  185. package/skills/vercel-react-best-practices/rules/server-cache-react.md +0 -76
  186. package/skills/vercel-react-best-practices/rules/server-dedup-props.md +0 -65
  187. package/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +0 -142
  188. package/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +0 -83
  189. package/skills/vercel-react-best-practices/rules/server-serialization.md +0 -38
  190. package/skills/web-design-guidelines/SKILL.md +0 -39
@@ -1,392 +0,0 @@
1
- # JTBD Innovation Process
2
-
3
- Systematic methodology for discovering jobs and translating them into successful innovations.
4
-
5
- ## Job Hunting: Finding Undiscovered Jobs
6
-
7
- ### Where Jobs Hide
8
-
9
- Jobs worth pursuing are often invisible because:
10
- - Customers don't articulate them (they've adapted)
11
- - Existing categories obscure them (you see products, not jobs)
12
- - Data shows behavior, not motivation
13
-
14
- ### Five Sources of Job Discovery
15
-
16
- #### 1. Workarounds and Compensating Behaviors
17
-
18
- **Signal:** People combine products, modify them, or create DIY solutions.
19
-
20
- **What to look for:**
21
- - Products used in unintended ways
22
- - Multiple products combined to complete one job
23
- - Time-consuming manual processes
24
- - Spreadsheets and duct-tape solutions
25
-
26
- **Interview questions:**
27
- - "Walk me through how you handle [situation] today"
28
- - "What's frustrating about your current approach?"
29
- - "What have you tried that didn't work?"
30
- - "If you could wave a magic wand, what would change?"
31
-
32
- **Example:** Milkshake study discovered people "hiring" milkshakes for morning commutes—a workaround for boredom and hunger that bananas and bagels couldn't solve.
33
-
34
- #### 2. Non-Consumption
35
-
36
- **Signal:** People who should be using a solution but aren't.
37
-
38
- **Why people don't consume:**
39
- | Barrier | Example |
40
- |---------|---------|
41
- | Too expensive | Can't afford financial advisor |
42
- | Too complicated | Can't figure out video editing |
43
- | Too time-consuming | Can't commit to full course |
44
- | Requires expertise | Can't navigate tax code |
45
- | Socially unacceptable | Embarrassed to seek help |
46
-
47
- **What to look for:**
48
- - Markets that seem "maxed out" but have huge populations not participating
49
- - People who have "given up" on a category
50
- - Simpler alternatives that attract non-users
51
-
52
- **Interview approach:**
53
- - "Have you ever considered [category]? Why or why not?"
54
- - "What would make you try something in this area?"
55
- - "What have you heard about [category] that put you off?"
56
-
57
- **Example:** Southern New Hampshire University found millions of adults who wanted degrees but couldn't attend traditional college—a massive non-consumption opportunity.
58
-
59
- #### 3. Negative Emotions
60
-
61
- **Signal:** Frustration, anxiety, fear, or embarrassment around a situation.
62
-
63
- **Emotions that signal jobs:**
64
- - Frustration → Job not being done well
65
- - Anxiety → Risk of job failure
66
- - Embarrassment → Social dimension unmet
67
- - Overwhelm → Job too complex
68
-
69
- **Interview questions:**
70
- - "What's the hardest part about [situation]?"
71
- - "When do you feel frustrated with [current solution]?"
72
- - "Is there anything you avoid or dread?"
73
- - "What keeps you up at night about [area]?"
74
-
75
- **Example:** SNHU discovered adult students' real struggle wasn't academics—it was fear of failure and embarrassment about going back to school.
76
-
77
- #### 4. Unusual Uses and Surprising Customers
78
-
79
- **Signal:** Customers using your product in unexpected ways, or unexpected customer segments.
80
-
81
- **What to investigate:**
82
- - Customer segments you didn't target who are buying
83
- - Features used differently than intended
84
- - Complaints that reveal hidden jobs
85
- - Support tickets that reveal actual use cases
86
-
87
- **Questions to ask:**
88
- - "What made you choose us over [expected alternative]?"
89
- - "What were you using before? What was wrong with it?"
90
- - "What job are you really hiring us to do?"
91
-
92
- **Example:** Arm & Hammer discovered baking soda was being "hired" for odor absorption, carpet cleaning, and toothpaste—jobs far beyond baking.
93
-
94
- #### 5. Moments of Struggle
95
-
96
- **Signal:** Specific circumstances where existing solutions fail.
97
-
98
- **The Timeline Interview:**
99
-
100
- ```
101
- First thought → Passive looking → Active search → Decision → Purchase → Experience
102
- ```
103
-
104
- **Questions for each stage:**
105
-
106
- | Stage | Questions |
107
- |-------|-----------|
108
- | First thought | "When did you first realize you needed something? What was happening?" |
109
- | Passive looking | "What alternatives did you notice? Why did you dismiss them?" |
110
- | Active search | "What made you start actively looking? What criteria mattered?" |
111
- | Decision | "What tipped you over the edge to decide? What almost stopped you?" |
112
- | Experience | "Is it doing what you expected? What surprised you?" |
113
-
114
- ---
115
-
116
- ## Passive vs. Active Job Seeking
117
-
118
- ### Passive Seeking
119
-
120
- Customer is vaguely aware of a problem but not actively looking for solutions.
121
-
122
- **Characteristics:**
123
- - Haven't allocated budget
124
- - Haven't carved out time
125
- - Open to being educated
126
- - Easier to influence (no preconceptions)
127
-
128
- **Marketing implications:**
129
- - Content marketing to raise awareness
130
- - Focus on problem articulation
131
- - Lower competition for attention
132
-
133
- ### Active Seeking
134
-
135
- Customer is actively shopping for a solution.
136
-
137
- **Characteristics:**
138
- - Researching options
139
- - Set budget (often)
140
- - Clear criteria
141
- - Comparing alternatives
142
-
143
- **Marketing implications:**
144
- - More competitive
145
- - Focus on differentiation
146
- - Demonstrate superior job completion
147
-
148
- **Key insight:** The best customers are often passive seekers whose jobs you've awakened. They're not shopping—they're discovering they have a need.
149
-
150
- ---
151
-
152
- ## The Job Atlas
153
-
154
- A comprehensive map of a customer's job ecosystem.
155
-
156
- ### Elements of the Atlas
157
-
158
- **1. Main Job**
159
- The primary progress the customer wants to make.
160
-
161
- **2. Related Jobs**
162
- Adjacent jobs that cluster with the main job.
163
-
164
- Example (financial planning):
165
- - Main job: Retire comfortably
166
- - Related: Protect family if I die, fund kids' education, manage taxes
167
-
168
- **3. Emotional Jobs**
169
- How they want to feel during and after.
170
-
171
- **4. Social Jobs**
172
- How they want to be perceived by others.
173
-
174
- **5. Consumption Chain Jobs**
175
- Jobs at each stage of using your product:
176
-
177
- | Stage | Jobs |
178
- |-------|------|
179
- | Purchase | Find trusted option, feel confident in choice |
180
- | Setup | Get started quickly, not feel stupid |
181
- | Use | Accomplish task, save time |
182
- | Maintain | Keep it working, not waste money |
183
- | Upgrade | Stay current, not fall behind |
184
- | Dispose | Get rid of easily, recoup value |
185
-
186
- ### Building Your Atlas
187
-
188
- 1. Interview 10-20 customers using timeline methodology
189
- 2. Map all jobs mentioned across interviews
190
- 3. Cluster related jobs
191
- 4. Identify which jobs are served/underserved
192
- 5. Prioritize based on importance and satisfaction gap
193
-
194
- ---
195
-
196
- ## Prototype Testing Through the JTBD Lens
197
-
198
- ### Testing for Job Completion, Not Features
199
-
200
- **Wrong question:** "Do you like this feature?"
201
- **Right question:** "Does this help you accomplish [job]?"
202
-
203
- ### Prototype Testing Framework
204
-
205
- **1. Simulate the circumstances**
206
-
207
- Don't test in a vacuum. Recreate the context where the job arises.
208
-
209
- - Wrong: "Here's a new budgeting app. What do you think?"
210
- - Right: "Imagine it's the end of the month and you're worried about overspending. Here's what you'd see..."
211
-
212
- **2. Measure job completion**
213
-
214
- | Metric | What It Shows |
215
- |--------|---------------|
216
- | Can they complete the job? | Functional adequacy |
217
- | How long does it take? | Efficiency |
218
- | How do they feel during? | Emotional dimension |
219
- | Would they show others? | Social dimension |
220
- | Would they do it again? | Repeat hire likelihood |
221
-
222
- **3. Test the full experience**
223
-
224
- Not just the core product—test the entire "hiring" and "using" experience:
225
- - Finding and understanding the product
226
- - Purchasing/signing up
227
- - First use
228
- - Ongoing use
229
- - Moments of difficulty
230
-
231
- **4. Compare to current "hires"**
232
-
233
- "Would you fire your current solution for this?"
234
-
235
- ---
236
-
237
- ## Job Statements: The Right Level of Abstraction
238
-
239
- ### Too Narrow
240
-
241
- "I want to create a to-do list"
242
-
243
- **Problem:** Focuses on solution, not job. Misses why they want a list.
244
-
245
- ### Too Broad
246
-
247
- "I want to feel productive"
248
-
249
- **Problem:** Too vague to build for. Hundreds of solutions could apply.
250
-
251
- ### Just Right
252
-
253
- "When I'm overwhelmed with tasks and don't know where to start, I want to see my priorities clearly so I can focus on what matters and feel in control of my day."
254
-
255
- ### The Litmus Test
256
-
257
- A good job statement should:
258
- 1. Be solution-agnostic (no product names)
259
- 2. Include circumstances
260
- 3. Include functional, emotional, and social dimensions
261
- 4. Be specific enough to build for
262
- 5. Be abstract enough to allow innovation
263
-
264
- ---
265
-
266
- ## From Job to Innovation
267
-
268
- ### Step 1: Define the Job Clearly
269
-
270
- Use the job statement format:
271
- ```
272
- When _____________ [circumstances]
273
- I want to _____________ [progress]
274
- So I can _____________ [outcome]
275
- ```
276
-
277
- ### Step 2: Map Current "Employees"
278
-
279
- What do people currently hire to do this job?
280
- - Direct competitors (same category)
281
- - Indirect competitors (different category, same job)
282
- - Non-consumption (doing nothing)
283
- - DIY/workarounds
284
-
285
- ### Step 3: Identify Performance Gaps
286
-
287
- Where do current solutions fall short?
288
-
289
- | Dimension | Current Solution | Gap |
290
- |-----------|------------------|-----|
291
- | Functional | Mostly works | Takes too long |
292
- | Emotional | Creates anxiety | Want to feel confident |
293
- | Social | Embarrassing | Want to look smart |
294
-
295
- ### Step 4: Design for the Gap
296
-
297
- Build experiences that address unmet dimensions.
298
-
299
- **Questions:**
300
- - How can we do the functional job faster/better/cheaper?
301
- - How can we make the emotional experience better?
302
- - How can we help with the social dimension?
303
-
304
- ### Step 5: Test Against the Job
305
-
306
- Return to customers:
307
- - "Does this help you make the progress you wanted?"
308
- - "Would you fire your current solution for this?"
309
- - "What's still missing?"
310
-
311
- ---
312
-
313
- ## Common Innovation Traps
314
-
315
- ### The Feature Factory Trap
316
-
317
- **Symptom:** Shipping features without connecting them to jobs.
318
-
319
- **Fix:** Every feature must answer: "What job does this help complete?"
320
-
321
- ### The Correlation Trap
322
-
323
- **Symptom:** "Our best customers are women 25-34, so let's target them."
324
-
325
- **Problem:** Demographics correlate with jobs but don't explain them.
326
-
327
- **Fix:** Find the job that women 25-34 happen to have, then target anyone with that job.
328
-
329
- ### The Technology-First Trap
330
-
331
- **Symptom:** "We built this cool AI—let's find a use case."
332
-
333
- **Fix:** Start with jobs, then ask if your technology serves them better.
334
-
335
- ### The Competitor-Copying Trap
336
-
337
- **Symptom:** "Competitor added X, so we should too."
338
-
339
- **Fix:** Ask what job X serves. If that's not your customers' priority job, don't copy.
340
-
341
- ---
342
-
343
- ## Job Discovery Interview Guide
344
-
345
- ### Preparation
346
-
347
- - Recruit recent purchasers (within 1-2 weeks)
348
- - 45-60 minutes per interview
349
- - Record with permission
350
- - Prepare timeline visualization
351
-
352
- ### Opening (5 min)
353
-
354
- "I'd love to understand how you came to use [product]. Not to sell you anything—just to learn about your experience."
355
-
356
- ### First Thought (10 min)
357
-
358
- - "When did you first realize you might need something like this?"
359
- - "What was going on in your life at that time?"
360
- - "What triggered that thought?"
361
-
362
- ### Passive Looking (10 min)
363
-
364
- - "What did you do after that first thought?"
365
- - "What alternatives did you consider?"
366
- - "Why didn't you act on it right away?"
367
-
368
- ### Active Search (10 min)
369
-
370
- - "What made you start seriously looking?"
371
- - "What changed?"
372
- - "What were you comparing?"
373
- - "What criteria mattered most?"
374
-
375
- ### Purchase Moment (10 min)
376
-
377
- - "Walk me through the moment you decided to buy."
378
- - "Where were you? Who were you with?"
379
- - "What finally convinced you?"
380
- - "What almost stopped you?"
381
-
382
- ### Experience (10 min)
383
-
384
- - "Is it doing what you expected?"
385
- - "What surprised you?"
386
- - "What's still frustrating?"
387
- - "Would you hire it again?"
388
-
389
- ### Closing
390
-
391
- - "If you could change one thing, what would it be?"
392
- - "What would make this perfect for your situation?"
@@ -1,328 +0,0 @@
1
- # Organizational Change for JTBD
2
-
3
- Overcoming resistance, building jobs-oriented organizations, and avoiding the feature-factory trap.
4
-
5
- ## Common Objections to JTBD
6
-
7
- ### "We already know our customers"
8
-
9
- **The objection:** "We've been in this business for years. We know what customers want."
10
-
11
- **The reality:** You know what customers *say* they want and what they *do*. You may not know *why* they do it.
12
-
13
- **Counter:**
14
- - "Great—let's validate that knowledge. If we're right, research will confirm it quickly."
15
- - "When was the last time we talked to customers about their struggles, not our product?"
16
- - "Do we know why customers choose competitors, or why non-customers don't buy?"
17
-
18
- ### "Jobs theory is too abstract"
19
-
20
- **The objection:** "This sounds like academic theory. We need practical action."
21
-
22
- **The reality:** JTBD is extremely practical—it tells you what to build and how to market.
23
-
24
- **Counter:**
25
- - "Let me show you a job statement for our product. Does this match how we talk about it?"
26
- - "Here's how [successful company] used JTBD to [specific outcome]."
27
- - "What if we ran one customer interview using this method and compared insights?"
28
-
29
- ### "We don't have time for research"
30
-
31
- **The objection:** "We need to ship features, not conduct research."
32
-
33
- **The reality:** Shipping the wrong features wastes far more time than research.
34
-
35
- **Counter:**
36
- - "How much time did we spend building [feature that didn't work]?"
37
- - "Five customer interviews take ~10 hours. What's the cost of a failed launch?"
38
- - "We can learn the job from 10 interviews. We can't learn it from guessing."
39
-
40
- ### "Our data tells us what to build"
41
-
42
- **The objection:** "We have analytics. We know what users do."
43
-
44
- **The reality:** Data shows *what* users do, not *why*. Jobs research explains the why.
45
-
46
- **Counter:**
47
- - "Data shows users drop off at step 3. Do we know why?"
48
- - "Our most-used feature might not be our most-valued feature. Data can't tell us."
49
- - "Correlation ≠ causation. We see patterns but don't understand motivations."
50
-
51
- ### "Our roadmap is set"
52
-
53
- **The objection:** "Leadership has already decided what we're building."
54
-
55
- **The reality:** JTBD doesn't change what you build—it changes how you build and position it.
56
-
57
- **Counter:**
58
- - "Let's use jobs thinking to make sure we build [planned feature] the right way."
59
- - "Understanding the job might reveal quick wins within current plans."
60
- - "We can influence future roadmaps even if this quarter is set."
61
-
62
- ---
63
-
64
- ## The Feature-Factory Trap
65
-
66
- ### What It Looks Like
67
-
68
- A feature factory is an organization that:
69
- - Measures success by features shipped, not outcomes achieved
70
- - Builds what stakeholders request without validating need
71
- - Competes by feature matching competitors
72
- - Has roadmaps full of features without hypotheses
73
- - Celebrates launches, not impacts
74
-
75
- ### Why It Happens
76
-
77
- | Cause | Dynamic |
78
- |-------|---------|
79
- | Easier to measure | "Did we ship it?" is binary; "Did it help?" is nuanced |
80
- | Stakeholder demands | "Important person X wants feature Y" |
81
- | Competitor pressure | "They have it, we need it" |
82
- | Customer requests | "Customer asked for X" (but didn't explain job) |
83
- | Short-term thinking | Features feel like progress |
84
-
85
- ### The Costs
86
-
87
- - **Wasted development:** Features nobody uses
88
- - **Product bloat:** Complexity without value
89
- - **Technical debt:** Maintaining unused code
90
- - **Team demoralization:** Shipping without impact
91
- - **Customer confusion:** Product does everything, nothing well
92
-
93
- ### Breaking Free
94
-
95
- **Step 1: Change the conversation**
96
-
97
- | Instead of | Ask |
98
- |------------|-----|
99
- | "What features should we build?" | "What jobs aren't being well-served?" |
100
- | "What did the customer request?" | "What job is the customer trying to do?" |
101
- | "What does the competitor have?" | "What job does that feature serve? Do our customers have that job?" |
102
- | "Did we ship it?" | "Did it help customers make progress?" |
103
-
104
- **Step 2: Change the metrics**
105
-
106
- | Feature-Factory Metrics | Jobs-Oriented Metrics |
107
- |------------------------|----------------------|
108
- | Features shipped | Customer outcomes improved |
109
- | Velocity | Value delivered |
110
- | Usage | Job completion rate |
111
- | NPS | Would you hire us again? |
112
-
113
- **Step 3: Change the process**
114
-
115
- Before greenlighting any feature:
116
- 1. What job does this serve?
117
- 2. Who has this job? How many?
118
- 3. How well is the job being served today?
119
- 4. How will we measure if this helps?
120
-
121
- ---
122
-
123
- ## Getting Executive Buy-In
124
-
125
- ### Speaking Their Language
126
-
127
- Executives care about:
128
- - Revenue growth
129
- - Market share
130
- - Competitive advantage
131
- - Customer acquisition/retention
132
- - Resource efficiency
133
-
134
- **Frame JTBD in these terms:**
135
-
136
- | JTBD Concept | Executive Translation |
137
- |--------------|----------------------|
138
- | Understanding the job | Reduce failed product launches |
139
- | Job-based segmentation | Find underserved market opportunities |
140
- | Competitive analysis | Identify sustainable differentiation |
141
- | Job-oriented metrics | Improve customer retention |
142
-
143
- ### Making the Business Case
144
-
145
- **Case 1: Failed features**
146
- "Last year we shipped 12 major features. 3 moved metrics. JTBD research could have identified which 3 before we built all 12."
147
-
148
- **Case 2: Churn analysis**
149
- "Customers leave because we're not doing their job. Exit interviews reveal jobs we didn't know about. What if we knew before they left?"
150
-
151
- **Case 3: Competitive loss**
152
- "We lose deals to [competitor]. Is it features or job understanding? Interviews with lost customers could tell us."
153
-
154
- **Case 4: Market expansion**
155
- "Our market seems saturated. JTBD reveals non-consumers with the same jobs. That's greenfield opportunity."
156
-
157
- ### The Pilot Proposal
158
-
159
- Start small to prove value:
160
- 1. One focused research project (10 interviews, 2 weeks)
161
- 2. One product decision influenced by findings
162
- 3. Measure the outcome
163
- 4. Report back with concrete results
164
-
165
- ---
166
-
167
- ## Building a Jobs-Oriented Organization
168
-
169
- ### Team Structure
170
-
171
- **Option 1: Embedded researchers**
172
- - Researchers on each product team
173
- - Continuous discovery, integrated with development
174
- - Best for: Large organizations, complex products
175
-
176
- **Option 2: Central research team**
177
- - Shared research capability serving all products
178
- - Standardized methodology, cross-product insights
179
- - Best for: Multiple products, resource constraints
180
-
181
- **Option 3: Everyone does research**
182
- - Product managers, designers, engineers all interview
183
- - Research is a skill, not a role
184
- - Best for: Small teams, startups
185
-
186
- ### Cultural Practices
187
-
188
- **Regular customer exposure:**
189
- - Monthly customer interviews for every PM
190
- - Recordings shared team-wide
191
- - "Customer of the week" highlights
192
-
193
- **Decision-making rituals:**
194
- - "What job does this serve?" in every roadmap discussion
195
- - Job canvas for every major initiative
196
- - Retrospectives include job validation
197
-
198
- **Metrics and reviews:**
199
- - Quarterly job completion metrics
200
- - OKRs connected to customer progress
201
- - Celebrate outcomes, not outputs
202
-
203
- ### Knowledge Management
204
-
205
- **Job documentation:**
206
- - Job atlas maintained and updated
207
- - Interview insights aggregated
208
- - Competitive job mapping shared
209
-
210
- **Searchable repository:**
211
- - All interview notes and recordings
212
- - Tagged by job, circumstance, dimension
213
- - Accessible to entire organization
214
-
215
- ---
216
-
217
- ## Change Management Playbook
218
-
219
- ### Phase 1: Awareness (Weeks 1-4)
220
-
221
- **Activities:**
222
- - Present JTBD concepts to leadership
223
- - Share case studies relevant to your business
224
- - Identify internal champions
225
- - Conduct one pilot research project
226
-
227
- **Milestone:** Leadership agrees to pilot, one team engaged
228
-
229
- ### Phase 2: Pilot (Weeks 5-12)
230
-
231
- **Activities:**
232
- - Train pilot team on JTBD methodology
233
- - Conduct 10-15 customer interviews
234
- - Document job findings
235
- - Apply findings to one product decision
236
- - Measure results
237
-
238
- **Milestone:** Pilot produces actionable insights, one decision improved
239
-
240
- ### Phase 3: Expansion (Months 4-6)
241
-
242
- **Activities:**
243
- - Share pilot results broadly
244
- - Train additional teams
245
- - Establish research operations
246
- - Build job documentation
247
- - Connect to roadmap process
248
-
249
- **Milestone:** Multiple teams practicing, methodology documented
250
-
251
- ### Phase 4: Integration (Months 7-12)
252
-
253
- **Activities:**
254
- - Jobs language in all product discussions
255
- - Metrics shifted to job completion
256
- - Hiring includes research skills
257
- - Continuous discovery established
258
-
259
- **Milestone:** JTBD is "how we work," not "that initiative"
260
-
261
- ---
262
-
263
- ## Handling Resistance
264
-
265
- ### From Engineers
266
-
267
- **Concern:** "This is just going to change requirements mid-sprint."
268
-
269
- **Response:**
270
- - JTBD happens before sprint planning, not during
271
- - Better job understanding = fewer requirement changes later
272
- - You'll build things people actually use
273
-
274
- ### From Sales
275
-
276
- **Concern:** "Customers tell me what they want. I don't need research."
277
-
278
- **Response:**
279
- - Customer requests are input, not output
280
- - Understanding why they want it helps you sell better
281
- - Competitor feature requests aren't always right
282
-
283
- ### From Marketers
284
-
285
- **Concern:** "We already have personas and segments."
286
-
287
- **Response:**
288
- - Jobs complement personas with motivation
289
- - Circumstance-based targeting often outperforms demographic
290
- - Job statements make better copy than feature lists
291
-
292
- ### From Product Managers
293
-
294
- **Concern:** "I don't have time for research—I need to ship."
295
-
296
- **Response:**
297
- - Five interviews take less time than one failed feature
298
- - Research prevents building the wrong thing
299
- - Good PMs always talk to customers; this just structures it
300
-
301
- ---
302
-
303
- ## Measuring Adoption
304
-
305
- ### Leading Indicators
306
-
307
- | Indicator | Sign of Progress |
308
- |-----------|------------------|
309
- | Customer interviews conducted | Research is happening |
310
- | Job statements documented | Learning is being captured |
311
- | Decisions citing job research | Research is influencing work |
312
- | Job questions in meetings | Language is changing |
313
-
314
- ### Lagging Indicators
315
-
316
- | Indicator | Sign of Impact |
317
- |-----------|----------------|
318
- | Feature success rate | Building right things |
319
- | Customer satisfaction | Serving jobs better |
320
- | Retention/churn | Jobs being done |
321
- | Time to value | Onboarding aligned to jobs |
322
-
323
- ### Anti-Patterns to Watch
324
-
325
- - "Job-washing": Using jobs language without doing research
326
- - "One and done": Research project that doesn't continue
327
- - "Cherry-picking": Only sharing findings that support existing plans
328
- - "Performative interviews": Going through motions without learning