@mevdragon/vidfarm-devcli 0.5.3 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/SKILL.director.md +28 -7
- package/SKILL.platform.md +9 -5
- package/demo/README.md +28 -0
- package/demo/dist/app.css +1 -0
- package/demo/dist/app.js +1184 -0
- package/demo/dist/chunks/chunk-DXB73IDG.js +1 -0
- package/demo/dist/chunks/chunk-S7OWAJDS.js +36 -0
- package/demo/dist/chunks/chunk-VTIBZ6AN.js +1 -0
- package/demo/dist/chunks/dist-ADSJKBVE.js +332 -0
- package/demo/dist/chunks/domEditingLayers-VZMLL4AP-SGHWPND4.js +1 -0
- package/demo/dist/chunks/hyperframes-player-XB65TCD6.js +425 -0
- package/demo/dist/chunks/lib-XAQ37YOE.js +1 -0
- package/demo/dist/chunks/src-TJ2QYA4U.js +207 -0
- package/demo/dist/favicon.ico +0 -0
- package/demo/dist/icons/timeline/audio.svg +7 -0
- package/demo/dist/icons/timeline/captions.svg +5 -0
- package/demo/dist/icons/timeline/composition.svg +12 -0
- package/demo/dist/icons/timeline/image.svg +18 -0
- package/demo/dist/icons/timeline/music.svg +10 -0
- package/demo/dist/icons/timeline/text.svg +3 -0
- package/demo/dist/index.html +15 -0
- package/dist/src/account-pages-legacy.js +9396 -0
- package/dist/src/account-pages.js +61 -0
- package/dist/src/app.js +14663 -0
- package/dist/src/cli.js +60 -97
- package/dist/src/composition-runtime.js +613 -0
- package/dist/src/config.js +173 -0
- package/dist/src/context.js +447 -0
- package/dist/src/dev-app-legacy.js +739 -0
- package/dist/src/dev-app.js +6 -0
- package/dist/src/domain.js +2 -0
- package/dist/src/editor-chat-history.js +82 -0
- package/dist/src/editor-chat.js +449 -0
- package/dist/src/editor-dark-theme.js +1128 -0
- package/dist/src/frontend/debug.js +71 -0
- package/dist/src/frontend/flockposter-cache-store.js +124 -0
- package/dist/src/frontend/homepage-client.js +182 -0
- package/dist/src/frontend/homepage-shared.js +4 -0
- package/dist/src/frontend/homepage-store.js +28 -0
- package/dist/src/frontend/homepage-view.js +547 -0
- package/dist/src/frontend/page-runtime-client.js +132 -0
- package/dist/src/frontend/page-runtime-store.js +9 -0
- package/dist/src/frontend/sentry.js +42 -0
- package/dist/src/frontend/template-editor-chat.js +3960 -0
- package/dist/src/help-page.js +346 -0
- package/dist/src/homepage.js +1235 -0
- package/dist/src/hyperframes/composition.js +180 -0
- package/dist/src/index.js +16 -0
- package/dist/src/instrument.js +30 -0
- package/dist/src/lib/crypto.js +45 -0
- package/dist/src/lib/dev-log.js +54 -0
- package/dist/src/lib/display-name.js +11 -0
- package/dist/src/lib/ids.js +24 -0
- package/dist/src/lib/images.js +19 -0
- package/dist/src/lib/json.js +15 -0
- package/dist/src/lib/package-root.js +47 -0
- package/dist/src/lib/template-paths.js +28 -0
- package/dist/src/lib/time.js +7 -0
- package/dist/src/lib/url-clean.js +85 -0
- package/dist/src/page-runtime.js +2 -0
- package/dist/src/page-shell.js +1381 -0
- package/dist/src/primitive-context.js +357 -0
- package/dist/src/primitive-registry.js +2561 -0
- package/dist/src/primitive-sdk.js +4 -0
- package/dist/src/primitives/hyperframes-media.js +108 -0
- package/dist/src/react-page-shell.js +35 -0
- package/dist/src/ready-post-schedule-component.js +1540 -0
- package/dist/src/registry.js +296 -0
- package/dist/src/runtime.js +35 -0
- package/dist/src/services/api-call-history.js +249 -0
- package/dist/src/services/auth.js +152 -0
- package/dist/src/services/billing-pricing.js +39 -0
- package/dist/src/services/billing.js +228 -0
- package/dist/src/services/cast.js +127 -0
- package/dist/src/services/chat-threads.js +92 -0
- package/dist/src/services/composition-sanitize.js +124 -0
- package/dist/src/services/composition-watch.js +79 -0
- package/dist/src/services/fork-access.js +93 -0
- package/dist/src/services/fork-manifest.js +42 -0
- package/dist/src/services/ghostcut.js +179 -0
- package/dist/src/services/hyperframes.js +2307 -0
- package/dist/src/services/job-capacity.js +14 -0
- package/dist/src/services/job-logs.js +197 -0
- package/dist/src/services/jobs.js +136 -0
- package/dist/src/services/local-dynamo.js +0 -0
- package/dist/src/services/media-processing.js +766 -0
- package/dist/src/services/primitive-media-lambda.js +280 -0
- package/dist/src/services/providers.js +2926 -0
- package/dist/src/services/rate-limits.js +262 -0
- package/dist/src/services/serverless-auth.js +382 -0
- package/dist/src/services/serverless-jobs.js +1082 -0
- package/dist/src/services/serverless-provider-keys.js +409 -0
- package/dist/src/services/serverless-records.js +1385 -0
- package/dist/src/services/serverless-template-configs.js +75 -0
- package/dist/src/services/storage.js +383 -0
- package/dist/src/services/template-certification.js +413 -0
- package/dist/src/services/template-loader.js +99 -0
- package/dist/src/services/template-runtime-bundles.js +217 -0
- package/dist/src/services/template-sources.js +1017 -0
- package/dist/src/services/upstream.js +248 -0
- package/dist/src/services/video-normalization.js +2 -0
- package/dist/src/services/webhooks.js +62 -0
- package/dist/src/template-editor-pages.js +2576 -0
- package/dist/src/template-editor-shell.js +2840 -0
- package/dist/src/template-sdk.js +4 -0
- package/dist/src/worker.js +17 -0
- package/package.json +6 -4
- package/public/assets/homepage-app.js +54 -0
- package/public/assets/homepage-client-app.js +80 -0
- package/public/assets/page-runtime-client-app.js +94 -0
- package/src/assets/SELLING_AWARENESS_STAGES.md +579 -0
- package/src/assets/SELLING_WITH_HOOKS.md +377 -0
- package/src/assets/SELLING_WITH_VSLS.md +606 -0
- package/src/assets/favicon.ico +0 -0
- package/src/assets/logo-vidfarm.png +0 -0
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
# Selling With Hooks
|
|
2
|
+
|
|
3
|
+
This is a distilled reference for writing social hooks that earn attention fast, especially for ads, UGC, VSLs, reels, shorts, and native-feeling social content.
|
|
4
|
+
|
|
5
|
+
Source snapshot:
|
|
6
|
+
- `@ugcbykaytelynn`: 842 authored timeline items captured via `x-lead-gen`
|
|
7
|
+
- `@gethookdai`: 817 authored timeline items captured via `x-lead-gen`
|
|
8
|
+
- Extra high-signal tweets and threads were added manually from the URLs in [DISTILL_GURU.md](/Users/localghost/Projects/OfficeX/OfficeX/ZoomGTM/catalogs-setters/DISTILL_GURU.md)
|
|
9
|
+
|
|
10
|
+
## What a Hook Actually Has To Do
|
|
11
|
+
|
|
12
|
+
The job of the hook is not to explain everything.
|
|
13
|
+
|
|
14
|
+
The job is:
|
|
15
|
+
- stop the scroll
|
|
16
|
+
- make the right person feel seen
|
|
17
|
+
- imply a payoff
|
|
18
|
+
- create enough curiosity or tension to earn the next line
|
|
19
|
+
|
|
20
|
+
If the first line is weak, the rest of the copy is wasted.
|
|
21
|
+
|
|
22
|
+
## The Core Formula
|
|
23
|
+
|
|
24
|
+
The cleanest recurring formula across the research was:
|
|
25
|
+
|
|
26
|
+
`Identity or pain` + `implied outcome` + `curiosity / contrast / mechanism`
|
|
27
|
+
|
|
28
|
+
Examples of the logic:
|
|
29
|
+
- call out who it is for
|
|
30
|
+
- hint that a desirable result is possible
|
|
31
|
+
- leave an open loop so the brain wants closure
|
|
32
|
+
|
|
33
|
+
## The Best Hook Principles
|
|
34
|
+
|
|
35
|
+
### 1. Lead with the outcome, not the process
|
|
36
|
+
|
|
37
|
+
Weak:
|
|
38
|
+
- "Here’s how to sleep better"
|
|
39
|
+
|
|
40
|
+
Better:
|
|
41
|
+
- "I haven’t needed an alarm in 6 months"
|
|
42
|
+
|
|
43
|
+
People care about the before/after change first. The method comes second.
|
|
44
|
+
|
|
45
|
+
Sources:
|
|
46
|
+
- https://x.com/Mho_23/status/1976703452073111664
|
|
47
|
+
- https://x.com/learnwithazhar/status/2053724159633764668
|
|
48
|
+
|
|
49
|
+
### 2. Specificity creates belief
|
|
50
|
+
|
|
51
|
+
Specific numbers, timeframes, body parts, age brackets, dosage, and scenes consistently made hooks feel more real.
|
|
52
|
+
|
|
53
|
+
Patterns that kept showing up:
|
|
54
|
+
- exact timeframe
|
|
55
|
+
- exact amount
|
|
56
|
+
- exact symptom
|
|
57
|
+
- exact audience
|
|
58
|
+
- exact setting
|
|
59
|
+
|
|
60
|
+
Examples of the pattern:
|
|
61
|
+
- thick hair in 8 weeks
|
|
62
|
+
- first 3 words determine everything
|
|
63
|
+
- over 55
|
|
64
|
+
- 2 steps
|
|
65
|
+
- one scoop daily
|
|
66
|
+
|
|
67
|
+
Vague copy sounds invented. Specific copy sounds observed.
|
|
68
|
+
|
|
69
|
+
Sources:
|
|
70
|
+
- https://x.com/gethookdai/status/2063712716494176364
|
|
71
|
+
- https://x.com/gethookdai/status/2052176677355008377
|
|
72
|
+
- https://x.com/nicktheriot_/status/2027071756041678948
|
|
73
|
+
|
|
74
|
+
### 3. Open loops pull attention forward
|
|
75
|
+
|
|
76
|
+
Curiosity works when you withhold the payoff just enough.
|
|
77
|
+
|
|
78
|
+
Reliable open-loop structures:
|
|
79
|
+
- "Why your ___ isn’t working"
|
|
80
|
+
- "The one thing that..."
|
|
81
|
+
- "I knew this was a scam when..."
|
|
82
|
+
- "This might upset you..."
|
|
83
|
+
- "Don’t get me wrong, but..."
|
|
84
|
+
|
|
85
|
+
This is less about clickbait and more about creating an information gap the brain wants to close.
|
|
86
|
+
|
|
87
|
+
Sources:
|
|
88
|
+
- https://x.com/matt_gray_/status/1908873578746921051
|
|
89
|
+
- https://x.com/BradenRicchini/status/1925177893660811761
|
|
90
|
+
- https://x.com/gethookdai/status/2034676336715866192
|
|
91
|
+
- https://x.com/onlysweatequity/status/2048197237063266472
|
|
92
|
+
|
|
93
|
+
### 4. Contradiction is a fast scroll-stopper
|
|
94
|
+
|
|
95
|
+
Good hooks often contain an internal clash:
|
|
96
|
+
- expected vs unexpected
|
|
97
|
+
- familiar vs surprising
|
|
98
|
+
- problem vs impossible-seeming solution
|
|
99
|
+
|
|
100
|
+
Examples:
|
|
101
|
+
- stopped going to the gym and got in the best shape of my life
|
|
102
|
+
- no Botox Botox routine
|
|
103
|
+
- polished ads are out, ugly ads are in
|
|
104
|
+
|
|
105
|
+
Contradiction makes people pause because it breaks the feed’s normal pattern.
|
|
106
|
+
|
|
107
|
+
Sources:
|
|
108
|
+
- https://x.com/onlysweatequity/status/2048197237063266472
|
|
109
|
+
- https://x.com/gethookdai/status/2039357199189766387
|
|
110
|
+
- https://x.com/ugcbykaytelynn/status/2036822274163028095
|
|
111
|
+
|
|
112
|
+
### 5. Identity callouts qualify the right people immediately
|
|
113
|
+
|
|
114
|
+
The strongest hooks are often not universal. They are precise.
|
|
115
|
+
|
|
116
|
+
Examples of the structure:
|
|
117
|
+
- for women over 50
|
|
118
|
+
- for Shopify stores
|
|
119
|
+
- for my girlies who need a girls’ night soon
|
|
120
|
+
- for people with dry skin who tried everything
|
|
121
|
+
|
|
122
|
+
A narrower hook often outperforms a broader one because relevance beats reach.
|
|
123
|
+
|
|
124
|
+
Sources:
|
|
125
|
+
- https://x.com/nicktheriot_/status/1949826956377137469
|
|
126
|
+
- https://x.com/gethookdai/status/2056404613947900059
|
|
127
|
+
|
|
128
|
+
### 6. Mechanism beats generic benefit once the market is more sophisticated
|
|
129
|
+
|
|
130
|
+
Once people have seen the usual claims, they need a new reason to believe.
|
|
131
|
+
|
|
132
|
+
That usually means:
|
|
133
|
+
- a new mechanism
|
|
134
|
+
- a new explanation
|
|
135
|
+
- a new enemy
|
|
136
|
+
- a new frame
|
|
137
|
+
|
|
138
|
+
Examples:
|
|
139
|
+
- ingredient as mechanism
|
|
140
|
+
- emotional baiting as the lever
|
|
141
|
+
- your collagen is failing for a reason
|
|
142
|
+
- fiber is fighting the medication, not fixing the issue
|
|
143
|
+
|
|
144
|
+
Sources:
|
|
145
|
+
- https://x.com/nicktheriot_/status/2027071756041678948
|
|
146
|
+
- https://x.com/gethookdai/status/2053913209107595566
|
|
147
|
+
- https://x.com/gethookdai/status/2048559989040496932
|
|
148
|
+
|
|
149
|
+
### 7. Emotion before explanation
|
|
150
|
+
|
|
151
|
+
The winning pattern was rarely "educate first."
|
|
152
|
+
|
|
153
|
+
It was:
|
|
154
|
+
- emotional tension
|
|
155
|
+
- then explanation
|
|
156
|
+
- then proof
|
|
157
|
+
- then offer
|
|
158
|
+
|
|
159
|
+
Common emotional levers:
|
|
160
|
+
- fear of loss
|
|
161
|
+
- embarrassment
|
|
162
|
+
- guilt
|
|
163
|
+
- frustration
|
|
164
|
+
- relief
|
|
165
|
+
- envy
|
|
166
|
+
- permission
|
|
167
|
+
- identity recognition
|
|
168
|
+
|
|
169
|
+
Sources:
|
|
170
|
+
- https://x.com/gethookdai/status/2051451886356599033
|
|
171
|
+
- https://x.com/gethookdai/status/2052539189112062209
|
|
172
|
+
- https://x.com/ugcbykaytelynn/status/1993328735328899545
|
|
173
|
+
|
|
174
|
+
### 8. Layer hooks across modalities
|
|
175
|
+
|
|
176
|
+
One of the best insights from `@ugcbykaytelynn`:
|
|
177
|
+
|
|
178
|
+
Don’t think in only verbal hooks. Think in stacked hooks:
|
|
179
|
+
- visual hook
|
|
180
|
+
- verbal hook
|
|
181
|
+
- text-on-screen hook
|
|
182
|
+
- motion/editing hook
|
|
183
|
+
- emotional hook
|
|
184
|
+
|
|
185
|
+
The first seconds should give the viewer multiple reasons to stay.
|
|
186
|
+
|
|
187
|
+
Sources:
|
|
188
|
+
- https://x.com/ugcbykaytelynn/status/2063694642881667556
|
|
189
|
+
- https://x.com/ugcbykaytelynn/status/1935367468358197706
|
|
190
|
+
- https://x.com/ugcbykaytelynn/status/1983884167243817348
|
|
191
|
+
|
|
192
|
+
### 9. Test multiple hooks against the same body
|
|
193
|
+
|
|
194
|
+
A repeated high-signal lesson from the UGC side:
|
|
195
|
+
|
|
196
|
+
Do not judge a concept off one intro.
|
|
197
|
+
|
|
198
|
+
Better process:
|
|
199
|
+
- keep the body of the ad
|
|
200
|
+
- rewrite the first line
|
|
201
|
+
- test multiple openings
|
|
202
|
+
- let the hook do the heavy lifting
|
|
203
|
+
|
|
204
|
+
One product can support many hook angles:
|
|
205
|
+
- curiosity
|
|
206
|
+
- pain
|
|
207
|
+
- benefit
|
|
208
|
+
- transformation
|
|
209
|
+
- identity
|
|
210
|
+
- objection
|
|
211
|
+
|
|
212
|
+
Sources:
|
|
213
|
+
- https://x.com/ugcbykaytelynn/status/2023770391257452859
|
|
214
|
+
- https://x.com/ugcbykaytelynn/status/2032476433323294812
|
|
215
|
+
- https://x.com/ugcbykaytelynn/status/1992618741008318495
|
|
216
|
+
|
|
217
|
+
## Distilled Frameworks
|
|
218
|
+
|
|
219
|
+
### Nick Theriot Hook Framework
|
|
220
|
+
|
|
221
|
+
From the thread:
|
|
222
|
+
- hook’s only job is to stop the scroll
|
|
223
|
+
- the best hooks combine audience callout, implied benefit, and curiosity
|
|
224
|
+
- write from the prospect’s internal dialogue, not from your own cleverness
|
|
225
|
+
- pick your position: better version, new mechanism, or identity callout
|
|
226
|
+
- volume matters; write enough hooks to get past the obvious ones
|
|
227
|
+
|
|
228
|
+
Sources:
|
|
229
|
+
- https://x.com/nicktheriot_/status/1949826956377137469
|
|
230
|
+
- https://x.com/nicktheriot_/status/2036800583403811257
|
|
231
|
+
|
|
232
|
+
### Market Sophistication Ladder
|
|
233
|
+
|
|
234
|
+
Another useful Nick Theriot pattern:
|
|
235
|
+
- Stage 1: direct claim
|
|
236
|
+
- Stage 2: bigger promise
|
|
237
|
+
- Stage 3: introduce mechanism
|
|
238
|
+
- Stage 4: elaborate the mechanism with proof
|
|
239
|
+
- Stage 5: speak to the prospect’s identity and frustration
|
|
240
|
+
|
|
241
|
+
As markets mature, simple claims fatigue. Mechanism and identity matter more.
|
|
242
|
+
|
|
243
|
+
Source:
|
|
244
|
+
- https://x.com/nicktheriot_/status/2027071756041678948
|
|
245
|
+
|
|
246
|
+
### Advertorial / Long-Form Social Hook Pattern
|
|
247
|
+
|
|
248
|
+
`Story` -> `Enemy` -> `Mechanism` -> `Proof` -> `Offer`
|
|
249
|
+
|
|
250
|
+
This pattern showed up repeatedly in the `@gethookdai` breakdowns. It works especially well for VSLs and longer landing-page style creative because it preserves tension after the first line.
|
|
251
|
+
|
|
252
|
+
Sources:
|
|
253
|
+
- https://x.com/gethookdai/status/2047925879314022750
|
|
254
|
+
- https://x.com/gethookdai/status/2048559989040496932
|
|
255
|
+
|
|
256
|
+
## Swipeable Hook Types
|
|
257
|
+
|
|
258
|
+
Use these as categories, not templates to copy word-for-word.
|
|
259
|
+
|
|
260
|
+
### Outcome hook
|
|
261
|
+
- promise the result fast
|
|
262
|
+
- example logic: better skin, more energy, fewer alarms, more leads
|
|
263
|
+
|
|
264
|
+
### Contradiction hook
|
|
265
|
+
- set up an unexpected truth
|
|
266
|
+
- example logic: "I stopped doing X and got Y"
|
|
267
|
+
|
|
268
|
+
### Identity hook
|
|
269
|
+
- name the exact person
|
|
270
|
+
- example logic: age, role, problem, stage of awareness
|
|
271
|
+
|
|
272
|
+
### Mechanism hook
|
|
273
|
+
- reveal why the old way fails
|
|
274
|
+
- example logic: "why your collagen isn’t working"
|
|
275
|
+
|
|
276
|
+
### Enemy hook
|
|
277
|
+
- name what the buyer already distrusts
|
|
278
|
+
- example logic: industry, fake solution, outdated advice
|
|
279
|
+
|
|
280
|
+
### Symptom-stack hook
|
|
281
|
+
- list multiple felt pains in one breath
|
|
282
|
+
- useful when one symptom alone is too weak
|
|
283
|
+
|
|
284
|
+
### Simplicity hook
|
|
285
|
+
- reduce perceived effort
|
|
286
|
+
- example logic: 2 steps, one scoop, 60 seconds, one mistake
|
|
287
|
+
|
|
288
|
+
### Emotional confession hook
|
|
289
|
+
- sounds native and personal
|
|
290
|
+
- example logic: embarrassment, guilt, "I hate admitting this but..."
|
|
291
|
+
|
|
292
|
+
### Proof-first hook
|
|
293
|
+
- number, review count, timeframe, or result leads the line
|
|
294
|
+
|
|
295
|
+
### Pattern-interrupt visual hook
|
|
296
|
+
- ugly ad
|
|
297
|
+
- sudden motion
|
|
298
|
+
- product reveal
|
|
299
|
+
- zoom
|
|
300
|
+
- direct camera sit-down
|
|
301
|
+
- unexpected setting
|
|
302
|
+
|
|
303
|
+
## VSL / Ad Adaptation Notes
|
|
304
|
+
|
|
305
|
+
For VSLs, the hook should usually open one of these doors:
|
|
306
|
+
- a painful truth the prospect already suspects
|
|
307
|
+
- a more desirable future they want badly
|
|
308
|
+
- a new mechanism they have not heard before
|
|
309
|
+
- a false belief they want corrected
|
|
310
|
+
- an identity statement that feels uncomfortably accurate
|
|
311
|
+
|
|
312
|
+
A good VSL hook often has this rhythm:
|
|
313
|
+
|
|
314
|
+
`pain or desire` -> `specific claim` -> `why the old way fails` -> `tease the new explanation`
|
|
315
|
+
|
|
316
|
+
## Hook Writing Checklist
|
|
317
|
+
|
|
318
|
+
Before shipping a hook, ask:
|
|
319
|
+
- Does it call out a real person or real pain?
|
|
320
|
+
- Is the payoff clear enough to matter?
|
|
321
|
+
- Is there enough curiosity to earn the next line?
|
|
322
|
+
- Is it specific enough to feel true?
|
|
323
|
+
- Could it be shorter?
|
|
324
|
+
- Does it sound like the market’s inner dialogue?
|
|
325
|
+
- If the market is sophisticated, is there a mechanism?
|
|
326
|
+
- If this were silent autoplay, is there still a visual/text hook?
|
|
327
|
+
|
|
328
|
+
## Prompting Template
|
|
329
|
+
|
|
330
|
+
Use this when generating hooks for future campaigns:
|
|
331
|
+
|
|
332
|
+
```text
|
|
333
|
+
Write 30 hook options for [product / offer].
|
|
334
|
+
|
|
335
|
+
Audience:
|
|
336
|
+
[who they are]
|
|
337
|
+
|
|
338
|
+
Main desire:
|
|
339
|
+
[what they want]
|
|
340
|
+
|
|
341
|
+
Main pain:
|
|
342
|
+
[what they are sick of]
|
|
343
|
+
|
|
344
|
+
What they already tried:
|
|
345
|
+
[failed solutions]
|
|
346
|
+
|
|
347
|
+
Awareness stage:
|
|
348
|
+
[unaware / problem aware / solution aware / product aware / most aware]
|
|
349
|
+
|
|
350
|
+
Constraints:
|
|
351
|
+
- social-first, not corporate
|
|
352
|
+
- specific over vague
|
|
353
|
+
- outcome first
|
|
354
|
+
- include curiosity, contrast, mechanism, identity, and proof-based angles
|
|
355
|
+
- avoid generic hype language
|
|
356
|
+
- each hook should be 6-18 words
|
|
357
|
+
- write 10 safe hooks, 10 bold hooks, 10 mechanism hooks
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
## Final Distillation
|
|
361
|
+
|
|
362
|
+
The highest-signal lessons across the research were:
|
|
363
|
+
- specificity beats cleverness
|
|
364
|
+
- outcome beats process
|
|
365
|
+
- curiosity beats explanation
|
|
366
|
+
- relevance beats broadness
|
|
367
|
+
- mechanism beats generic claims in mature markets
|
|
368
|
+
- emotional tension beats sterile information
|
|
369
|
+
- layered hooks beat single-line hooks
|
|
370
|
+
- one creative should carry many hook variations
|
|
371
|
+
|
|
372
|
+
If a hook does not make the right person think one of these thoughts, it is probably weak:
|
|
373
|
+
- "that’s me"
|
|
374
|
+
- "wait, what?"
|
|
375
|
+
- "why?"
|
|
376
|
+
- "I need to know if this is true"
|
|
377
|
+
- "finally, someone said it"
|