@sellable/mcp 0.1.205 → 0.1.206

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 (50) hide show
  1. package/README.md +11 -10
  2. package/agents/post-find-leads-filter-scout.md +2 -2
  3. package/agents/post-find-leads-message-scout.md +18 -23
  4. package/agents/registry.json +17 -17
  5. package/agents/source-scout-linkedin-engagement.md +2 -2
  6. package/agents/source-scout-prospeo-contact.md +3 -3
  7. package/agents/source-scout-sales-nav.md +3 -3
  8. package/dist/engage-memory.js +5 -0
  9. package/dist/identity-memory.js +4 -0
  10. package/dist/index-dev.js +0 -0
  11. package/dist/index.js +0 -0
  12. package/dist/tools/engage-memory.js +2 -2
  13. package/dist/tools/leads.js +7 -11
  14. package/dist/tools/prompts.js +6 -7
  15. package/package.json +1 -1
  16. package/skills/create-campaign/SKILL.md +24 -11
  17. package/skills/create-campaign/context/learnings.md +1 -1
  18. package/skills/create-campaign/references/brief-template.md +2 -2
  19. package/skills/create-campaign-brief/references/brief-template.md +2 -2
  20. package/skills/create-campaign-brief/references/draft-lifecycle.md +1 -1
  21. package/skills/create-campaign-brief/references/examples/briefs/gelee.md +2 -2
  22. package/skills/create-campaign-brief/references/examples/briefs/superpower.md +28 -41
  23. package/skills/create-campaign-brief/references/phase75-active-runtime-message-pack.md +9 -12
  24. package/skills/create-campaign-v2/SKILL.md +27 -21
  25. package/skills/create-campaign-v2/SOUL.md +12 -9
  26. package/skills/create-campaign-v2/core/flow.v2.json +1 -1
  27. package/skills/create-campaign-v2/references/ai-tells.md +10 -35
  28. package/skills/create-campaign-v2/references/approval-gate-framing.md +3 -3
  29. package/skills/create-campaign-v2/references/gold-standard-message-examples.md +16 -30
  30. package/skills/create-campaign-v2/references/gold-standard-message-patterns.md +1 -1
  31. package/skills/create-campaign-v2/references/step-13-import-leads.md +2 -2
  32. package/skills/create-campaign-v2/references/thomas-revision-filters.md +3 -12
  33. package/skills/create-campaign-v2/references/validation-criteria.md +5 -8
  34. package/skills/create-campaign-v2/references/watch-guide-narration.md +2 -2
  35. package/skills/create-campaign-v2-tail/SKILL.md +9 -9
  36. package/skills/create-campaign-v2-validation/SKILL.md +1 -1
  37. package/skills/create-post/SKILL.md +27 -27
  38. package/skills/engage/SKILL.md +12 -12
  39. package/skills/engage/core/README.md +14 -14
  40. package/skills/find-leads/SKILL.md +1 -1
  41. package/skills/generate-messages/SKILL.md +75 -175
  42. package/skills/interview/SKILL.md +24 -24
  43. package/skills/interview/references/legacy-linkedin-interview.md +12 -12
  44. package/skills/interview/references/reference-curation.md +4 -4
  45. package/skills/interview/references/voice-capture-method.md +1 -1
  46. package/skills/load-voice/SKILL.md +25 -21
  47. package/skills/providers/signal-discovery.md +2 -2
  48. package/skills/research/SKILL.md +1 -1
  49. package/skills/create-campaign-v2/references/gold-standard-runtime-message-pack.md +0 -252
  50. package/skills/research/config.json +0 -9
@@ -7,13 +7,13 @@ sensitive, external, or only useful for provenance. Every folder uses INDEX.md m
7
7
 
8
8
  ## Folders
9
9
 
10
- - `~/.sellable/configs/core/references/linkedin-posts/` - personal best posts,
10
+ - `.sellable/configs/core/references/linkedin-posts/` - personal best posts,
11
11
  comments, hooks, and thread patterns.
12
- - `~/.sellable/configs/core/references/inspiration/` - admired outside examples,
12
+ - `.sellable/configs/core/references/inspiration/` - admired outside examples,
13
13
  anti-examples, voice-capture sources, and pattern notes.
14
- - `~/.sellable/configs/core/references/applications/` - accelerator, investor,
14
+ - `.sellable/configs/core/references/applications/` - accelerator, investor,
15
15
  founder-profile, and answer-pack references.
16
- - `~/.sellable/configs/core/references/sales-copy/` - outbound, reply, website,
16
+ - `.sellable/configs/core/references/sales-copy/` - outbound, reply, website,
17
17
  deck, objection, proof, and customer-language examples.
18
18
 
19
19
  Each folder should have an `INDEX.md`. A copied/distilled example should live
@@ -5,7 +5,7 @@ materials are provenance; do not expose them as separate user-facing workflows.
5
5
 
6
6
  ## Operating Loop
7
7
 
8
- 1. Prefill from existing `~/.sellable/configs`, docs, posts, transcripts, emails,
8
+ 1. Prefill from existing `.sellable/configs`, docs, posts, transcripts, emails,
9
9
  call notes, and user-provided samples.
10
10
  2. Do evidence collection: collect source path/URL, date, author/speaker,
11
11
  context, audience, privacy, and whether the sample is natural speech, edited
@@ -16,8 +16,8 @@ Sellable voice/company memory into the current thread before drafting,
16
16
  answering, rewriting, reviewing, or calibrating copy in the user's voice.
17
17
 
18
18
  This is a read-only usage workflow. Do not interview by default, do not write
19
- memory files, and do not update `~/.sellable/**` unless the user explicitly
20
- asks to switch into `$sellable:interview`.
19
+ memory files, and do not update `.sellable/**` unless the user explicitly asks
20
+ to switch into `$sellable:interview`.
21
21
  </role>
22
22
 
23
23
  <default_use_cases>
@@ -32,52 +32,56 @@ Use this workflow when the user asks to:
32
32
  </default_use_cases>
33
33
 
34
34
  <load_order>
35
- Read only relevant files. Start with the active home-level
36
- `~/.sellable/configs` memory layer, not random repo docs or repo-local
37
- `~/.sellable` folders.
35
+ Read only relevant files. Start with the active `.sellable/configs` memory
36
+ layer, not random repo docs.
37
+
38
+ If `.sellable/configs` is not visible from the current working directory, use
39
+ `Glob` to find `**/.sellable/configs/core/my-company.md`, excluding
40
+ `node_modules`, `.next`, `dist`, and `.git`, then use the nearest parent as the
41
+ Sellable memory root.
38
42
 
39
43
  ## Core Voice And Judgment
40
44
 
41
45
  Read these when present:
42
46
 
43
- - `~/.sellable/configs/core/about-me.md`
44
- - `~/.sellable/configs/core/anti-ai-writing-style.md`
45
- - `~/.sellable/configs/core/decision-rules.md`
46
- - `~/.sellable/configs/core/context-modes.md`
47
+ - `.sellable/configs/core/about-me.md`
48
+ - `.sellable/configs/core/anti-ai-writing-style.md`
49
+ - `.sellable/configs/core/decision-rules.md`
50
+ - `.sellable/configs/core/context-modes.md`
47
51
 
48
52
  ## Company Truth And Proof
49
53
 
50
54
  Read these when present:
51
55
 
52
- - `~/.sellable/configs/core/my-company.md`
53
- - `~/.sellable/configs/core/answer-bank.md`
54
- - `~/.sellable/configs/core/proof-ledger.md`
55
- - `~/.sellable/configs/core/story-bank.md`
56
- - `~/.sellable/configs/core/wins-ledger.md`
56
+ - `.sellable/configs/core/my-company.md`
57
+ - `.sellable/configs/core/answer-bank.md`
58
+ - `.sellable/configs/core/proof-ledger.md`
59
+ - `.sellable/configs/core/story-bank.md`
60
+ - `.sellable/configs/core/wins-ledger.md`
57
61
 
58
62
  ## Writing-Specific Guidance
59
63
 
60
64
  Read these when present and relevant to the task:
61
65
 
62
- - `~/.sellable/configs/writing/styleguide-core.md`
63
- - `~/.sellable/configs/writing/comments.md`
66
+ - `.sellable/configs/writing/styleguide-core.md`
67
+ - `.sellable/configs/writing/comments.md`
64
68
 
65
69
  ## Transcript Or Topic Context
66
70
 
67
71
  Do not bulk-read raw transcripts. If the user asks about a specific topic,
68
72
  story, sales call, customer, market view, or correction, first read:
69
73
 
70
- - `~/.sellable/configs/core/transcripts/INDEX.md`
71
- - the most relevant file under `~/.sellable/configs/core/transcripts/topics/`
74
+ - `.sellable/configs/core/transcripts/INDEX.md`
75
+ - the most relevant file under `.sellable/configs/core/transcripts/topics/`
72
76
 
73
- Only read raw archives under `~/.sellable/interviews/**` when the index/topic
74
- file points to one and the current task needs that source detail.
77
+ Only read raw archives under `.sellable/interviews/**` when the index/topic file
78
+ points to one and the current task needs that source detail.
75
79
  </load_order>
76
80
 
77
81
  <operating_rules>
78
82
 
79
83
  - Keep the loader lightweight. The first pass should usually be 6-10 files, not
80
- every file under `~/.sellable`.
84
+ every file under `.sellable`.
81
85
  - Apply the loaded profile silently after a short confirmation. Do not paste a
82
86
  long summary of the memory unless the user asks for one.
83
87
  - If the user already gave a concrete writing task, load the memory and then do
@@ -422,7 +422,7 @@ sample set unless the user explicitly wants to add to existing promoted posts;
422
422
  set `scrapePlanMode` based on whether approval is all selected posts or a
423
423
  capacity-target subset.
424
424
 
425
- For `create-campaign-v2` source approval, do not treat the default
425
+ For `create-campaign-v2` Start Import approval, do not treat the default
426
426
  `selectionTarget` of 3 posts as enough by itself. Before the final source
427
427
  recommendation, estimate source capacity from real sample math:
428
428
 
@@ -653,7 +653,7 @@ select_promising_posts({
653
653
  2. (Optional) Search signals (Round 2) → More keywords, more posts
654
654
  3. Select `selectionTarget` promising posts with headlineICPCriteria
655
655
  4. Standalone flow: ask the user to confirm before importing leads.
656
- `create-campaign-v2` after source approval: continue without a second
656
+ `create-campaign-v2` after Start Import approval: continue without a second
657
657
  import confirmation gate.
658
658
  5. If confirmation exists, call `import_leads`
659
659
  </correct_flow>
@@ -219,7 +219,7 @@ After all agents return, combine into a short Research Notes block. **Strip DEBU
219
219
 
220
220
  **If researchMode="prospect":**
221
221
 
222
- If the caller passed cross-skill insights (from `~/.sellable/insights/cross-skill.md`), use them to prioritize hooks — e.g., if engage sessions show "AI compute time" angles get high engagement, rank those hooks higher.
222
+ If the caller passed cross-skill insights (from `.sellable/insights/cross-skill.md`), use them to prioritize hooks — e.g., if engage sessions show "AI compute time" angles get high engagement, rank those hooks higher.
223
223
 
224
224
  ```markdown
225
225
  ## {Name} - {Title} at {Company}
@@ -1,252 +0,0 @@
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
- ```
@@ -1,9 +0,0 @@
1
- {
2
- "parallelMode": "wide",
3
- "agentCount": 6,
4
- "maxToolCallsPerAgent": 2,
5
- "senderMaxAgents": 2,
6
- "senderMaxToolCallsPerAgent": 3,
7
- "progressMode": true,
8
- "debugMode": true
9
- }