@sellable/mcp 0.1.212 → 0.1.213
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 +7 -7
- package/agents/post-find-leads-message-scout.md +33 -13
- package/dist/engage-memory.js +0 -5
- package/dist/identity-memory.js +0 -4
- package/dist/tools/engage-memory.js +2 -2
- package/dist/tools/leads.js +7 -3
- package/dist/tools/prompts.js +3 -2
- package/package.json +1 -1
- package/skills/create-campaign/context/learnings.md +1 -1
- package/skills/create-campaign/references/brief-template.md +2 -2
- package/skills/create-campaign-brief/references/brief-template.md +2 -2
- package/skills/create-campaign-brief/references/draft-lifecycle.md +1 -1
- package/skills/create-campaign-brief/references/examples/briefs/gelee.md +2 -2
- package/skills/create-campaign-brief/references/examples/briefs/superpower.md +41 -28
- package/skills/create-campaign-brief/references/phase75-active-runtime-message-pack.md +12 -9
- package/skills/create-campaign-v2/SKILL.md +4 -0
- package/skills/create-campaign-v2/references/ai-tells.md +51 -16
- package/skills/create-campaign-v2/references/approval-gate-framing.md +1 -1
- package/skills/create-campaign-v2/references/gold-standard-message-examples.md +30 -16
- package/skills/create-campaign-v2/references/gold-standard-message-patterns.md +36 -1
- package/skills/create-campaign-v2/references/gold-standard-runtime-message-pack.md +252 -0
- package/skills/create-campaign-v2/references/thomas-revision-filters.md +17 -7
- package/skills/create-campaign-v2/references/validation-criteria.md +8 -5
- package/skills/create-campaign-v2-validation/SKILL.md +17 -1
- package/skills/create-post/SKILL.md +27 -27
- package/skills/engage/SKILL.md +12 -12
- package/skills/engage/core/README.md +14 -14
- package/skills/find-leads/SKILL.md +1 -1
- package/skills/generate-messages/SKILL.md +215 -90
- package/skills/interview/SKILL.md +24 -24
- package/skills/interview/references/legacy-linkedin-interview.md +12 -12
- package/skills/interview/references/reference-curation.md +4 -4
- package/skills/interview/references/voice-capture-method.md +1 -1
- package/skills/load-voice/SKILL.md +21 -25
- package/skills/research/SKILL.md +1 -1
|
@@ -22,6 +22,13 @@ Do not put active validation fixtures in this file as exact company-specific
|
|
|
22
22
|
examples. The library should teach transferable winning motions, not leak the
|
|
23
23
|
fixture answer into Phase 84.
|
|
24
24
|
|
|
25
|
+
For line-level runtime inspiration, prefer
|
|
26
|
+
`mcp/sellable/skills/create-campaign-v2/references/gold-standard-runtime-message-pack.md`.
|
|
27
|
+
That file contains the real sellable.dev, Hey Digital, Persona, Galley, and
|
|
28
|
+
Clover examples. Use this file for strategy skeletons and guardrails. If an old
|
|
29
|
+
archive line conflicts with the runtime pack, the runtime pack wins; do not let
|
|
30
|
+
synthetic or retired opener phrasing outrank the real examples.
|
|
31
|
+
|
|
25
32
|
## Example 1: Revvix / Spektion Event-Led Security
|
|
26
33
|
|
|
27
34
|
Use when the brief has:
|
|
@@ -227,21 +234,23 @@ Use when the brief has:
|
|
|
227
234
|
- signal-led topic engagement
|
|
228
235
|
- benefits / rewards / wellness buyers
|
|
229
236
|
- proof-heavy preventive-health positioning
|
|
237
|
+
- a weak engagement signal that should be framed as a low-certainty relevance
|
|
238
|
+
bridge, not buyer intent
|
|
230
239
|
|
|
231
240
|
Template shape:
|
|
232
241
|
|
|
233
242
|
```text
|
|
234
243
|
hey {{first name}},
|
|
235
244
|
|
|
236
|
-
saw you
|
|
245
|
+
saw you in a few conversations around {{topic}}, so hope this is relevant.
|
|
237
246
|
|
|
238
|
-
|
|
247
|
+
if preventive health is anywhere near the benefits plan at {{company}}, Superpower may be worth a look.
|
|
239
248
|
|
|
240
|
-
|
|
249
|
+
it screens for 1,000+ conditions from a single blood draw and surfaces risks before they become claims.
|
|
241
250
|
|
|
242
|
-
basically your team gets to see what's coming instead of
|
|
251
|
+
basically your team gets to see what's coming instead of only reacting to it.
|
|
243
252
|
|
|
244
|
-
|
|
253
|
+
should i send over the short version?
|
|
245
254
|
```
|
|
246
255
|
|
|
247
256
|
Alternative proof-led variant:
|
|
@@ -249,24 +258,25 @@ Alternative proof-led variant:
|
|
|
249
258
|
```text
|
|
250
259
|
hey {{first name}},
|
|
251
260
|
|
|
252
|
-
saw you
|
|
261
|
+
saw you in a few conversations around {{topic}}, so hope this is relevant.
|
|
253
262
|
|
|
254
263
|
most annual physicals test 15 biomarkers max.
|
|
255
264
|
|
|
256
|
-
|
|
265
|
+
Superpower looks at 100+ biomarkers and screens for 1,000+ conditions from one draw.
|
|
257
266
|
|
|
258
|
-
teams like Lyft and Notion are already exploring this
|
|
267
|
+
teams like Lyft and Notion are already exploring this at $199 a person.
|
|
259
268
|
|
|
260
|
-
if
|
|
269
|
+
if preventive health is nowhere near your lane, ignore me.
|
|
261
270
|
|
|
262
|
-
|
|
271
|
+
should i send over the short version?
|
|
263
272
|
```
|
|
264
273
|
|
|
265
274
|
Why it works:
|
|
266
275
|
|
|
267
|
-
- signal
|
|
276
|
+
- the topic signal is low-certainty and does not imply intent
|
|
277
|
+
- `hope this is relevant` is safer than `figured this might actually be relevant`
|
|
268
278
|
- all lowercase matters
|
|
269
|
-
- the CTA stays tiny
|
|
279
|
+
- the CTA stays tiny but specific enough to picture
|
|
270
280
|
- this should not get polished into generic benefits copy
|
|
271
281
|
- the proof sentence does real work; it is not optional filler
|
|
272
282
|
|
|
@@ -286,9 +296,7 @@ Template shape:
|
|
|
286
296
|
```text
|
|
287
297
|
hey {{first_name}},
|
|
288
298
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
figured this might actually be relevant.
|
|
299
|
+
saw you in a few conversations around {{signal_topic}}, so hopefully relevant.
|
|
292
300
|
|
|
293
301
|
[product] does [simple one-line mechanism].
|
|
294
302
|
|
|
@@ -304,7 +312,7 @@ p.s. [short proof line]
|
|
|
304
312
|
Why it works:
|
|
305
313
|
|
|
306
314
|
- the signal is first and easy to understand
|
|
307
|
-
- the "
|
|
315
|
+
- the "hopefully relevant" line feels honest without
|
|
308
316
|
over-explaining
|
|
309
317
|
- the product is framed simply
|
|
310
318
|
- "two options" makes the CTA easy to scan
|
|
@@ -339,12 +347,18 @@ Use these patterns to avoid generic asks like:
|
|
|
339
347
|
- worth a conversation?
|
|
340
348
|
- open to a call?
|
|
341
349
|
- worth a look?
|
|
350
|
+
- open to compare notes?
|
|
342
351
|
|
|
343
352
|
Prefer a binary or useful CTA when the brief supports it.
|
|
344
353
|
|
|
345
354
|
CTA decision rule:
|
|
346
355
|
|
|
347
356
|
- generate single-ask and A/B options before deciding
|
|
357
|
+
- preserve a brief-approved CTA intent when it can be made concrete, but avoid
|
|
358
|
+
the phrase `compare notes` in buyer-facing copy. If the brief uses that
|
|
359
|
+
shorthand, translate it into a concrete quick-call or working-session CTA,
|
|
360
|
+
e.g. `Open to a quick call on how your team might turn LinkedIn content into
|
|
361
|
+
pipeline?`
|
|
348
362
|
- use A/B only when both choices are genuinely useful and supported
|
|
349
363
|
- for unfamiliar categories, the CTA should name the buyer-specific preview in
|
|
350
364
|
one short phrase, not list every screen or workflow
|
|
@@ -147,6 +147,41 @@ Shape:
|
|
|
147
147
|
- bring the strongest proof
|
|
148
148
|
- give a low-friction next step
|
|
149
149
|
|
|
150
|
+
### Pattern 2B: Sender-Owned Post Acknowledgment
|
|
151
|
+
|
|
152
|
+
Use when the sender/client authored the source post and row data proves the
|
|
153
|
+
recipient reacted or commented.
|
|
154
|
+
|
|
155
|
+
Shape:
|
|
156
|
+
|
|
157
|
+
- light first-person acknowledgment of the post support
|
|
158
|
+
- soft relevance bridge from the post topic into the buyer context
|
|
159
|
+
- simple product framing or problem line
|
|
160
|
+
- low-friction next step
|
|
161
|
+
- every line must create the need for the next line; the message should read as
|
|
162
|
+
post support -> why the topic may matter now -> what the product/problem does
|
|
163
|
+
about that topic -> next step
|
|
164
|
+
|
|
165
|
+
Preferred bridge:
|
|
166
|
+
|
|
167
|
+
```text
|
|
168
|
+
Appreciate you showing some love on my post about {{signal_topic}}.
|
|
169
|
+
|
|
170
|
+
Figured this might be relevant if {{channel_context}} is becoming more of a {{workflow_context}} for {{company_context}}.
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Why it works:
|
|
174
|
+
|
|
175
|
+
- acknowledges the real sender-owned source without sounding like an activity log
|
|
176
|
+
- avoids overclaiming that a reaction means buying intent
|
|
177
|
+
- gives the body a reason to move from the post topic into the product/problem
|
|
178
|
+
- prevents orphan product lines that sound pasted underneath a source opener
|
|
179
|
+
|
|
180
|
+
Avoid jumping directly from the acknowledgment into generic category pain like
|
|
181
|
+
`a lot of B2B teams...` or `most teams...`; that transition sounds assembled.
|
|
182
|
+
If the next line would still make sense after deleting the acknowledgment and
|
|
183
|
+
bridge, the source opener is not doing real work and should be rewritten or cut.
|
|
184
|
+
|
|
150
185
|
### Pattern 2A: Signal-Led Honest Operator
|
|
151
186
|
|
|
152
187
|
Use this subpattern when the signal is real, the sender can sound direct and
|
|
@@ -164,7 +199,7 @@ Shape:
|
|
|
164
199
|
Prefer:
|
|
165
200
|
|
|
166
201
|
- lowercase or casual casing when the motion supports it
|
|
167
|
-
- an honest line like "
|
|
202
|
+
- an honest line like "hope this is relevant" or "so hopefully relevant"
|
|
168
203
|
- two clean options instead of a long CTA paragraph
|
|
169
204
|
- direct wording over polished marketing language
|
|
170
205
|
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# Gold-Standard Runtime Message Pack
|
|
2
|
+
|
|
3
|
+
This is the canonical narrow message inspiration pack for `generate-messages`
|
|
4
|
+
and create-campaign-v2 message drafting.
|
|
5
|
+
|
|
6
|
+
Use this pack at runtime.
|
|
7
|
+
Use the raw archive only for curation and strategy skeletons.
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
|
|
11
|
+
Included as primary gold examples:
|
|
12
|
+
|
|
13
|
+
- `sellable.dev`
|
|
14
|
+
- `Hey Digital` — only `Predictable Paid Growth for B2B SaaS Leaders`
|
|
15
|
+
- `Galley`
|
|
16
|
+
- `Clover`
|
|
17
|
+
- `Persona`
|
|
18
|
+
- `Superpower` — domain-language reference only; use the cleaned low-certainty
|
|
19
|
+
opener, not retired engagement-source phrasing
|
|
20
|
+
|
|
21
|
+
Not included in runtime inspiration:
|
|
22
|
+
|
|
23
|
+
- `Amplify Security` — acceptance fixture only
|
|
24
|
+
- `Gelee` — useful proof stack, but the visible example lacks a strong CTA and
|
|
25
|
+
can teach landing-page proof without a reply path
|
|
26
|
+
- `Revvix` — useful event fixture, but the CTA is too soft for broad runtime
|
|
27
|
+
generation; use only when the campaign is explicitly event/logistics-led
|
|
28
|
+
- `superposition` — excellent exact-template lock for its own hiring motion, but
|
|
29
|
+
dangerous as broad inspiration because it teaches too much sender-first "I"
|
|
30
|
+
proof stacking; retrieve only for a job-post / founder-hiring motion
|
|
31
|
+
- `westpark villas`
|
|
32
|
+
- any archived old-client examples outside the active set
|
|
33
|
+
|
|
34
|
+
## Runtime Rules
|
|
35
|
+
|
|
36
|
+
- Feed only endorsed examples into generation.
|
|
37
|
+
- Keep bad lines only if they are explicitly labeled `BAD` and paired with a `BETTER` version.
|
|
38
|
+
- Treat sellable.dev, Hey Digital, Persona, Galley, and Clover as the primary
|
|
39
|
+
line-level quality anchors. Superpower is useful for benefits/healthcare
|
|
40
|
+
mechanism language, but it must not outrank those examples on opener style.
|
|
41
|
+
- Default to one approved message in the generated brief unless the ICP is genuinely broad.
|
|
42
|
+
- A/B CTA is optional. Use it only when the second option is truly strong.
|
|
43
|
+
- If there is a great low-friction proof asset or case study, that is often the best Option B.
|
|
44
|
+
- Never shorten, summarize, or omit the CTA block from a gold example. If an
|
|
45
|
+
example is included at runtime, preserve the complete ask, option text, proof
|
|
46
|
+
asset, and URL lines because those are part of the motion.
|
|
47
|
+
- Use the runtime set as a quality bar, not a template fill. The best examples
|
|
48
|
+
win because they make the buyer care quickly: clear signal or current-state
|
|
49
|
+
observation, one concrete mechanism, one strongest true proof/asset, and a CTA
|
|
50
|
+
that offers a useful next step.
|
|
51
|
+
- Before copying any surface trait from a gold example, pass the buyer-role
|
|
52
|
+
test: as this exact buyer, is the first line relevant, is the product clear,
|
|
53
|
+
is the sender context useful rather than repetitive, is the proof the
|
|
54
|
+
strongest safe proof available, and is the CTA the lowest-friction true next
|
|
55
|
+
step? If not, choose a different shape.
|
|
56
|
+
- Do not copy weak surface traits from an example. Lowercase, ellipses,
|
|
57
|
+
parentheses, or a PS only matter when they serve the motion. The first
|
|
58
|
+
selection question is always: "what is the strongest true thing we can say to
|
|
59
|
+
this buyer?"
|
|
60
|
+
- Extract the job each gold line does before copying any shape. For each
|
|
61
|
+
candidate example, identify: buyer situation interrupted, why the buyer
|
|
62
|
+
replies, sender relevance, offer clarity move, mechanism clarity move, proof
|
|
63
|
+
role, CTA job, and surface traits not to copy blindly.
|
|
64
|
+
- Treat proof, CTA, and PS as elements to test. Customer/result proof belongs
|
|
65
|
+
in the body, CTA, PS, or nowhere depending on whether it improves clarity,
|
|
66
|
+
believability, or reply likelihood. Supported proof is not automatically good
|
|
67
|
+
copy.
|
|
68
|
+
- Metrics and time-window traction must pass the "so what?" test. Use them
|
|
69
|
+
when the buyer can immediately tell why the number matters. Otherwise
|
|
70
|
+
translate the number into the human claim it supports, test another
|
|
71
|
+
placement, or keep it internal.
|
|
72
|
+
- Every selected line needs a prospect-side "so what?" answer. If a line is
|
|
73
|
+
true but the buyer would not immediately care, it is not gold-standard copy
|
|
74
|
+
yet.
|
|
75
|
+
- A PS is rare. Use it only when it acts like a natural final aside: lowering
|
|
76
|
+
commitment, making a new-category preview easier to picture, verifying the
|
|
77
|
+
core claim with a wink, or carrying one short customer/result proof that
|
|
78
|
+
would bloat the body. Delete any PS that explains the pitch, patches
|
|
79
|
+
credibility, or says internal strategy out loud.
|
|
80
|
+
|
|
81
|
+
## Included Message Examples
|
|
82
|
+
|
|
83
|
+
### sellable.dev
|
|
84
|
+
|
|
85
|
+
Why included:
|
|
86
|
+
|
|
87
|
+
- strongest meta-demo CTA
|
|
88
|
+
- strong product line
|
|
89
|
+
- strong formatting control
|
|
90
|
+
- why it works: the signal is real, the self-aware parenthetical lowers the
|
|
91
|
+
"creepy signal" risk, the product line is short and bold, and the A/B CTA
|
|
92
|
+
offers either a direct working session or a proof asset
|
|
93
|
+
|
|
94
|
+
```md
|
|
95
|
+
hey [name],
|
|
96
|
+
|
|
97
|
+
saw you raise your hand for claude + gtm (creepy to reach out based on that, i know) - but this felt too on the nose to ignore.
|
|
98
|
+
|
|
99
|
+
i'm building sellable, the only gtm platform that runs natively on claude code.
|
|
100
|
+
|
|
101
|
+
we're looking for design partners - and [PERSONALIZED REASON - their team size, role, or why they're a perfect fit].
|
|
102
|
+
|
|
103
|
+
two options:
|
|
104
|
+
|
|
105
|
+
a) 15-min call - i'll show you how you could book more meetings with [THEIR ICP - who they want to reach], and if you like it we launch a pilot right there
|
|
106
|
+
|
|
107
|
+
b) i send you the video of me using sellable to write and send this exact message to you (yes, it's that meta)
|
|
108
|
+
|
|
109
|
+
p.s. yes, this message was entirely written and sent via claude code 😊
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Hey Digital
|
|
113
|
+
|
|
114
|
+
Why included:
|
|
115
|
+
|
|
116
|
+
- strongest scenario-based structure
|
|
117
|
+
- good example of a strong case-study asset as Option B
|
|
118
|
+
- why it works: it starts from a business moment the buyer already understands,
|
|
119
|
+
uses one peer case study as proof, explains the operating lesson in plain
|
|
120
|
+
language, and makes the second CTA valuable even without a meeting
|
|
121
|
+
|
|
122
|
+
```md
|
|
123
|
+
Hey Sarah,
|
|
124
|
+
|
|
125
|
+
Saw Acme just closed their Series B... usually that's when the board starts asking about paid channels.
|
|
126
|
+
|
|
127
|
+
We helped PostHog through that exact moment — they had a huge free user base but needed to figure out if paid could actually drive cloud conversions without burning budget. Ended up increasing cloud conversions 18.5%.
|
|
128
|
+
|
|
129
|
+
The thing that made it work was having a clear system from day one... not just launching ads and hoping.
|
|
130
|
+
|
|
131
|
+
two options:
|
|
132
|
+
|
|
133
|
+
a) 15-min call — I walk through how PostHog set it up and what would apply to Acme
|
|
134
|
+
|
|
135
|
+
b) I send you our B2B Ads Arsenal — ad templates, playbooks, and case studies from 200+ SaaS companies so you can dig in yourself
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Galley
|
|
139
|
+
|
|
140
|
+
Why included:
|
|
141
|
+
|
|
142
|
+
- strongest concrete operational offer
|
|
143
|
+
- easy to picture the output
|
|
144
|
+
- why it works: the pain is tactile, the mechanism is easy to visualize, and the
|
|
145
|
+
CTA lets the buyer test the product with their own real input instead of
|
|
146
|
+
committing to a generic call
|
|
147
|
+
|
|
148
|
+
```md
|
|
149
|
+
hey {{first_name}},
|
|
150
|
+
|
|
151
|
+
this might not apply but if you're still rebuilding menu plans by hand every time a rotation changes, there's a way to skip that whole step.
|
|
152
|
+
|
|
153
|
+
we built a tool that takes a menu from whatever format it's in and just... builds the whole plan. recipes, purchasing, stations, all connected. no more starting from scratch every cycle.
|
|
154
|
+
|
|
155
|
+
works best for {{company_team_type}} running rotations across a bunch of locations where every menu change turns into hours of work nobody has time for.
|
|
156
|
+
|
|
157
|
+
easiest way to see if it's worth a look is to try it with one of your actual menus. happy to set that up or I can send a 2-min video instead.
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Clover
|
|
161
|
+
|
|
162
|
+
Why included:
|
|
163
|
+
|
|
164
|
+
- strongest asset-led report offer
|
|
165
|
+
- strongest reply-handling handoff
|
|
166
|
+
- why it works: the message leads with work already done for the buyer, makes
|
|
167
|
+
the missed opportunity concrete, and asks only for permission to send a useful
|
|
168
|
+
report
|
|
169
|
+
|
|
170
|
+
```md
|
|
171
|
+
hey {{firstName}},
|
|
172
|
+
|
|
173
|
+
we tracked every reddit discussion around {{category/keyword}} and found {{X}} conversations and {{Y}} responses where people are actively comparing tools or asking for recommendations.
|
|
174
|
+
|
|
175
|
+
{{companyName}} isn't showing up in any of them yet so we put the threads into a short report for you.
|
|
176
|
+
|
|
177
|
+
thought it could help to see where you can convert more customers from the few million viewers already searching for that on reddit.
|
|
178
|
+
|
|
179
|
+
can I send it over?
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Persona
|
|
183
|
+
|
|
184
|
+
Why included:
|
|
185
|
+
|
|
186
|
+
- strongest proof framing
|
|
187
|
+
- strongest bad-vs-better token discipline
|
|
188
|
+
- why it works: the proof is not just "big number"; it explains why the number
|
|
189
|
+
matters by tying engagement to ICP alignment, then gives the buyer a choice
|
|
190
|
+
between a working session and a proof asset
|
|
191
|
+
|
|
192
|
+
```md
|
|
193
|
+
hey {{first_name}},
|
|
194
|
+
|
|
195
|
+
not sure if this is relevant but i saw you engaging with some posts about {{founder_led_topic}} on linkedin and thought i'd send you a note.
|
|
196
|
+
|
|
197
|
+
for context, {{role_group}} i ghostwrite for generated over 350 million impressions in the past 12 months.
|
|
198
|
+
|
|
199
|
+
but what actually matters is that 85%+ of the engagement is ICP aligned. if there isn't ICP alignment, none of the virality or engagement matters.
|
|
200
|
+
|
|
201
|
+
two options:
|
|
202
|
+
|
|
203
|
+
a) in a 15 min call, i can show you a content roadmap and what i'd do for {{company}}
|
|
204
|
+
|
|
205
|
+
b) i can share a page showing how one founder hit 30 million impressions in a year and another went from 0 to 60k followers in 12 months
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Required token example from the same brief:
|
|
209
|
+
|
|
210
|
+
```md
|
|
211
|
+
BAD: "founders in the generative ai space i ghostwrite for generated over 350 million impressions"
|
|
212
|
+
BETTER: "founders in tech i ghostwrite for generated over 350 million impressions"
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Superpower
|
|
216
|
+
|
|
217
|
+
Why included:
|
|
218
|
+
|
|
219
|
+
- simple language in a hard domain
|
|
220
|
+
- useful plain-language healthcare constraint example
|
|
221
|
+
- why it works: it uses a low-certainty signal bridge, explains the mechanism
|
|
222
|
+
in plain language, and keeps the ask tiny instead of forcing a call
|
|
223
|
+
|
|
224
|
+
```md
|
|
225
|
+
Hey {{first_name}},
|
|
226
|
+
|
|
227
|
+
saw you in a few conversations around {{topic}}, so hope this is relevant.
|
|
228
|
+
|
|
229
|
+
if preventive health is anywhere near the benefits plan at {{company}}, Superpower may be worth a look.
|
|
230
|
+
|
|
231
|
+
it screens for 1,000+ conditions from a single blood draw and surfaces risks before they become claims.
|
|
232
|
+
|
|
233
|
+
basically your team gets to see what's coming instead of only reacting to it.
|
|
234
|
+
|
|
235
|
+
should i send over the short version?
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Locked production variant from the same Superpower campaign:
|
|
239
|
+
|
|
240
|
+
```md
|
|
241
|
+
subject: {{company}} + 1,000 biomarkers + 24/7 care team
|
|
242
|
+
|
|
243
|
+
hey {{first_name}},
|
|
244
|
+
|
|
245
|
+
curious how you're thinking about preventative health + benefits innovation given your work at {{company}}.
|
|
246
|
+
|
|
247
|
+
we provide companies direct access to 100+ biomarker lab testing and screen 1,000+ conditions for every employee.
|
|
248
|
+
|
|
249
|
+
then we drive behaviour change with a 24/7 care team.
|
|
250
|
+
|
|
251
|
+
open to a 15 min call to learn more, or should i send over a short overview first?
|
|
252
|
+
```
|
|
@@ -74,12 +74,18 @@ Revise or reject the sample when any of these happen.
|
|
|
74
74
|
- **actions are implied, not stated** — e.g. "runs that chain as AI agents" when a clearer version would name the specific actions (verb + object, one per line)
|
|
75
75
|
- **category-level opener used when a per-lead signal exists** — if `lead-sample.json` carries any per-lead signal (post, hire, visible tool, topic engagement), the opener must reference it. Category-level openers of shape `"Most [category] teams still do X by hand"` are only acceptable when zero per-lead signal is in the sample. When a category-level opener is used as fallback, Findings must flag it explicitly
|
|
76
76
|
- **mind-reading from engagement signals** — a topic engagement, post, public activity, role, company, or hiring trigger does not prove buyer intent. Reject phrases like `"AI-GTM stack is clearly on your mind"`, `"you're clearly focused on..."`, `"obviously relevant"`, or `"already thinking about..."` unless that exact priority is explicitly present in `lead-sample.json`. Translate to low-certainty buyer context or omit the signal from copy.
|
|
77
|
-
- **source-y signal narration** — reject `"saw you on..."`, `"saw you engaging with..."`, `"you commented on..."`, `"your LinkedIn activity..."`, `"you might not remember the thread..."`, `"found you through [source] and your role looked close..."`, or any line that makes the recipient feel watched unless the chosen archived motion is intentionally self-aware about the signal. For LinkedIn-post-sourced campaigns, a topic-level bridge is allowed when it explains why the note exists and stays apologetically uncertain: `"saw you in a few conversations about [topic], so may be off, but this seemed relevant."
|
|
78
|
-
- **
|
|
77
|
+
- **source-y signal narration** — reject `"saw you on..."`, `"saw you engaging with..."`, `"you commented on..."`, `"your LinkedIn activity..."`, `"you might not remember the thread..."`, `"found you through [source] and your role looked close..."`, or any line that makes the recipient feel watched unless the chosen archived motion is intentionally self-aware about the signal. For sender-owned LinkedIn post sources, a light first-person acknowledgment is allowed when row data proves a reaction/comment: `"appreciate you showing some love on my post about [topic]"` or `"thanks for showing support on my [topic] post"`. Do not name a comment unless comment text is present. Follow the acknowledgment with a soft relevance bridge before broad pain/product copy, e.g. `"figured this might be relevant if LinkedIn is becoming more of a GTM channel for [company]"`. For third-party LinkedIn-post-sourced campaigns, a topic-level bridge is allowed when it explains why the note exists and stays apologetically uncertain: `"saw you in a few conversations about [topic], so may be off, but this seemed relevant."`, `"saw you in a few conversations around [topic], so hope this is relevant."`, or `"found you in a thread about [topic], so may be off, but this seemed relevant."` Reserve `"raise your hand"` language for explicit lead-magnet comments, replies, or opt-ins. Translate the signal into natural buyer context or omit it.
|
|
78
|
+
- **fake line-to-line continuity** — reject line stacks where the source acknowledgment, relevance bridge, product line, and CTA do not actually build on each other. Each line must make the next line feel earned. If two adjacent lines could be swapped, deleted, or joined with `"anyway"` without changing the meaning, the transition is fake. In sender-owned post campaigns, the chain should be: support on my post -> why this topic may matter for the company -> what the product/problem does about that same topic -> low-friction next step.
|
|
79
|
+
- **assumptive title-fit opener** — reject `"Your [role] role at [company] looked close to this problem"` or `"looked close to this outbound campaign problem"`. This asserts fit from title/company. Keep the apologetic uncertainty instead: `"may be off, but if [workflow] is relevant to what you're working on..."`.
|
|
79
80
|
- **internal-metric flex** — reject compute time, token/cache details, model names, agent-counts, orchestration internals, or similar process metrics unless the brief proves the buyer cares about that exact detail. `~5 min of compute per message` is not buyer value by itself.
|
|
80
|
-
- **action lines are parallel
|
|
81
|
+
- **action lines are parallel and harder to scan as paragraphs** — when 3
|
|
82
|
+
adjacent product actions repeat the same subject pattern (e.g. `It drafts...`
|
|
83
|
+
/ `It adapts...` / `It helps...`) and none carries narrative proof context,
|
|
84
|
+
prefer a short bullet stack for mobile readability. Keep one-line paragraphs
|
|
85
|
+
when there are only 1-2 actions, one line needs narrative context, bullets
|
|
86
|
+
feel like a landing page, or the paragraph version is clearly more human.
|
|
81
87
|
- **PS carries a second proof beat that doesn't answer a different objection** — the second beat must open a dimension beat #1 didn't address (e.g. technical reliability when beat #1 was operator empathy; named backing when beat #1 was founder track record). Default PS is ONE beat
|
|
82
|
-
- **apologetic source-thread PS** — reject `p.s. if the source thread was just casual reading, ignore me`, `only reaching out where the role and topic looked close`, or any PS that defends why the recipient was sourced. If the source is too weak, omit the personalization line. A relevance-risk PS such as `p.s. if this is
|
|
88
|
+
- **apologetic source-thread PS** — reject `p.s. if the source thread was just casual reading, ignore me`, `only reaching out where the role and topic looked close`, or any PS that defends why the recipient was sourced. If the source is too weak, omit the personalization line. A relevance-risk PS such as `p.s. if this is not relevant to your outbound workflow, ignore me` is allowed because it lowers pressure without narrating the source.
|
|
83
89
|
- **subject line uses the same banned glue jargon as the body** — any B2B compound noun the buyer wouldn't say naturally in conversation. Subject follows the same jargon rules as the body
|
|
84
90
|
- **jargon that a 5th-grade reader could not parse** — any B2B compound noun the buyer wouldn't say naturally in conversation. Common examples across motions: "handoff", "rip-and-replace", "pane of glass", "single source of truth", "alert fatigue", "top of funnel", "time to hire". Keep product and tool names that the buyer recognizes; cut the glue language around them
|
|
85
91
|
- em dashes in copy that is otherwise plainspoken
|
|
@@ -364,16 +370,20 @@ who scraped me."
|
|
|
364
370
|
sentence].`
|
|
365
371
|
- `Hey {{first_name}}, hope this is relevant if [buyer context] is
|
|
366
372
|
still on your plate.`
|
|
367
|
-
- `Hey {{first_name}}, may be off, but if [workflow] is
|
|
368
|
-
|
|
373
|
+
- `Hey {{first_name}}, may be off, but if [workflow] is relevant to what
|
|
374
|
+
you're working on, this might be useful.`
|
|
369
375
|
- `Hey {{first_name}}, saw you might be interested in [topic], so hope
|
|
370
376
|
this is relevant.`
|
|
371
377
|
- `Hey {{first_name}}, saw you in a few conversations around [topic],
|
|
372
378
|
so hope this is relevant.`
|
|
379
|
+
- `Hey {{first_name}}, found you in a thread about [topic], so may be
|
|
380
|
+
off, but this seemed relevant.`
|
|
373
381
|
- `Hey {{first_name}}, saw you raise your hand for [topic], so figured
|
|
374
|
-
this was (hopefully) worth sending.`
|
|
382
|
+
this was (hopefully) worth sending.` Only for explicit lead-magnet
|
|
383
|
+
comments, replies, or opt-ins.
|
|
375
384
|
- `Hey {{first_name}}, saw you raise your hand for [topic] (creepy to
|
|
376
385
|
reach out based on that, i know) - but this felt too on the nose to ignore.`
|
|
386
|
+
Only for explicit lead-magnet comments, replies, or opt-ins.
|
|
377
387
|
- `Hey {{first_name}}, quick one. My co-founder and I left [prior
|
|
378
388
|
role] to build [X].`
|
|
379
389
|
- `Hey {{first_name}}, reaching out because [one-line sender
|
|
@@ -294,20 +294,23 @@ The sample set must:
|
|
|
294
294
|
multi-sentence paragraphs. Target 5-8 one-line paragraphs total
|
|
295
295
|
- split sentences that are above ~15 words or carry more than one comma
|
|
296
296
|
- do not stack three workflows into one mechanism line or one comma list.
|
|
297
|
-
Give each workflow its own
|
|
298
|
-
|
|
297
|
+
Give each workflow its own line, use a short bullet stack when the three
|
|
298
|
+
actions repeat the same subject pattern, or pick the most painful one and
|
|
299
|
+
drop the others
|
|
299
300
|
- **product clarity is non-negotiable**: a cold reader must be able to state
|
|
300
301
|
in one sentence what the product does. Require a crisp `Product is an X
|
|
301
302
|
that does Y` anchor sentence before any action breakdown, then one action
|
|
302
|
-
per
|
|
303
|
-
|
|
303
|
+
per line. Do not gesture at "that chain" / "the stack" / "that work" in
|
|
304
|
+
place of naming specific actions
|
|
304
305
|
- body flow must follow: opener → pain → what the product IS (one sentence)
|
|
305
306
|
→ what it DOES (one action per line, up to three) → deployment ease →
|
|
306
307
|
CTA → optional PS
|
|
307
308
|
- the "what it DOES" action list may render as one-line paragraphs or as a
|
|
308
309
|
bullet list — whichever reads cleaner. Bullets are acceptable here (the
|
|
309
310
|
rule against bullet points applies to feature/benefit marketing lists,
|
|
310
|
-
not to enumerable product actions).
|
|
311
|
+
not to enumerable product actions). Prefer bullets for 3 repeated-subject
|
|
312
|
+
product actions; keep paragraphs when one line needs narrative context or the
|
|
313
|
+
paragraph version is clearly more human. Never comma-stack three actions into
|
|
311
314
|
one glued sentence
|
|
312
315
|
- **opener must use per-lead signal when any is present in `lead-sample.json`**
|
|
313
316
|
(post, hire, visible tool, topic engagement). Category-level openers are
|
|
@@ -28,7 +28,7 @@ Each step writes its own artifact into the draft directory. The original
|
|
|
28
28
|
Validated draft directory:
|
|
29
29
|
|
|
30
30
|
```text
|
|
31
|
-
|
|
31
|
+
~/.sellable/create-campaign-v2/drafts/{workspace-slug}/{campaign-slug}/
|
|
32
32
|
brief.md
|
|
33
33
|
lead-review.md
|
|
34
34
|
lead-sample.json
|
|
@@ -223,6 +223,20 @@ Orchestration requirements:
|
|
|
223
223
|
- draft 3 internal candidates and run a Finalizer Pass that combines the
|
|
224
224
|
best opener, proof sentence, bridge, and CTA across them into one winner
|
|
225
225
|
- pass the Thomas revision filters before writing findings
|
|
226
|
+
- pass the source-transition gate before writing findings. For sender-owned
|
|
227
|
+
LinkedIn post sources where the sample proves a reaction/comment, a light
|
|
228
|
+
first-person acknowledgment is allowed (`appreciate you showing some love on
|
|
229
|
+
my post about [topic]`), but it must be followed by a soft relevance bridge
|
|
230
|
+
before broad problem or product copy (`figured this might be relevant if
|
|
231
|
+
LinkedIn is becoming more of a GTM channel for [company/team]`). Block drafts
|
|
232
|
+
that jump straight from the acknowledgment into generic `a lot of teams...` or
|
|
233
|
+
`most teams...` pain. For third-party post sources, keep source references
|
|
234
|
+
topic-level and low-certainty.
|
|
235
|
+
- pass the line-continuity gate before writing findings. Each message line must
|
|
236
|
+
make the next line feel earned: source/post signal -> relevance bridge ->
|
|
237
|
+
product/problem -> next step. If two adjacent lines could be swapped, deleted,
|
|
238
|
+
or connected with `anyway` without changing the meaning, the transition is
|
|
239
|
+
fake and the draft must be revised.
|
|
226
240
|
|
|
227
241
|
Do not:
|
|
228
242
|
|
|
@@ -257,6 +271,8 @@ Do not:
|
|
|
257
271
|
- `Finalizer Pass`
|
|
258
272
|
- `Gold-Standard Quality Gate`
|
|
259
273
|
- `Skeptical Prospect Review`
|
|
274
|
+
- `Source Transition Gate`
|
|
275
|
+
- `Line Continuity Gate`
|
|
260
276
|
- `Winner Gate`
|
|
261
277
|
- `Selected Winner`
|
|
262
278
|
- `Findings`
|