@sellable/mcp 0.1.42 → 0.1.44
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/package.json
CHANGED
|
@@ -70,9 +70,8 @@ instruction loading, file lookup, plugin cache versions, missing linked files,
|
|
|
70
70
|
or tool discovery. Start in product language:
|
|
71
71
|
|
|
72
72
|
```text
|
|
73
|
-
I’ll help you launch this as a Sellable campaign. First I’ll confirm
|
|
74
|
-
|
|
75
|
-
brief before anything is created.
|
|
73
|
+
I’ll help you launch this as a Sellable campaign. First I’ll confirm the sender
|
|
74
|
+
and company, then draft the campaign brief for your approval.
|
|
76
75
|
```
|
|
77
76
|
|
|
78
77
|
If a linked/local skill file is stale or missing, silently use the installed
|
|
@@ -134,11 +133,17 @@ approval:
|
|
|
134
133
|
installer enables this in Default mode with
|
|
135
134
|
`[features].default_mode_request_user_input = true`.
|
|
136
135
|
|
|
137
|
-
Use the structured question gate
|
|
138
|
-
approval gates. Never use it to collect open text
|
|
139
|
-
company domains, notes,
|
|
140
|
-
offer/CTA, proof, lead source,
|
|
141
|
-
|
|
136
|
+
Use the structured question gate for crisp identity confirmations, compact setup
|
|
137
|
+
intake, and approval gates. Never use it to collect raw open text like LinkedIn
|
|
138
|
+
URLs, company domains, pasted notes, long campaign ideas, or detailed feedback.
|
|
139
|
+
For buyer strategy, offer/CTA, proof, and lead source, use the structured gate
|
|
140
|
+
when it is exposed, but treat the visible choices as shortcuts, not a rigid
|
|
141
|
+
multiple-choice survey. Every setup question must allow a custom typed answer.
|
|
142
|
+
In Codex, `request_user_input` adds a freeform Other path; in Claude, include an
|
|
143
|
+
`Other / custom` option. Keep setup intake to two panels because Codex supports
|
|
144
|
+
at most three questions per panel: target/offer/proof first, lead source second.
|
|
145
|
+
Do not use checkbox/radio multi-select language like "pick one",
|
|
146
|
+
"multi-select", or "choose all that apply" for these setup questions.
|
|
142
147
|
|
|
143
148
|
Use "quick question panel" only when explaining a missing Codex/Claude setup
|
|
144
149
|
capability for approvals. Do not tell customers about `request_user_input`,
|
|
@@ -181,7 +186,9 @@ senders. If there is any likely connected sender, use
|
|
|
181
186
|
recent company, then ask a structured confirmation question:
|
|
182
187
|
|
|
183
188
|
```text
|
|
184
|
-
|
|
189
|
+
Workspace: {workspace}
|
|
190
|
+
|
|
191
|
+
I found {matched sender} connected here.
|
|
185
192
|
|
|
186
193
|
Is that you, and is this campaign for {company}?
|
|
187
194
|
```
|
|
@@ -212,11 +219,11 @@ with the structured question tool. Ask in normal chat for the user's LinkedIn
|
|
|
212
219
|
URL or the company they want to send on behalf of so you can research context:
|
|
213
220
|
|
|
214
221
|
```text
|
|
215
|
-
|
|
222
|
+
Workspace: {workspace}
|
|
216
223
|
|
|
217
|
-
First, paste your LinkedIn URL or the company website
|
|
218
|
-
|
|
219
|
-
|
|
224
|
+
First, paste your LinkedIn URL or the company website. I’ll use it to confirm
|
|
225
|
+
the sender and company, then we’ll choose the target, offer, proof, and lead
|
|
226
|
+
source.
|
|
220
227
|
```
|
|
221
228
|
|
|
222
229
|
If there is no strong sender match, do not show a structured choice that says
|
|
@@ -226,7 +233,7 @@ current or most recent company, and then confirm who we are sending from. The
|
|
|
226
233
|
customer-facing shape should be:
|
|
227
234
|
|
|
228
235
|
```text
|
|
229
|
-
|
|
236
|
+
Workspace: {workspace}
|
|
230
237
|
|
|
231
238
|
First, what’s your LinkedIn URL? If you’d rather start from the company, paste
|
|
232
239
|
the company website instead.
|
|
@@ -236,6 +243,8 @@ After the user pastes a URL/domain, do the lightweight lookup. For a LinkedIn pr
|
|
|
236
243
|
`mcp__sellable__fetch_linkedin_profile` and infer the user's current or most
|
|
237
244
|
recent company from the profile. For a company website, call
|
|
238
245
|
`mcp__sellable__fetch_company` when possible, otherwise one web lookup.
|
|
246
|
+
Before the lookup, use concise progress copy:
|
|
247
|
+
`Got it — I’ll look it up and confirm the sender + company.`
|
|
239
248
|
|
|
240
249
|
If `mcp__sellable__list_senders` did not already run, call it once after the
|
|
241
250
|
lookup to see whether the fetched user appears to match a connected sender. If
|
|
@@ -270,20 +279,18 @@ second context read so the four setup questions feel specific.
|
|
|
270
279
|
Before the identity gate, use this customer-facing shape:
|
|
271
280
|
|
|
272
281
|
```text
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
First I’ll check whether you already have a connected LinkedIn account here. If
|
|
276
|
-
I can’t confirm it, I’ll ask for your LinkedIn URL or company website and use
|
|
277
|
-
that to understand the company before we choose the target, offer, proof, and
|
|
278
|
-
lead source.
|
|
282
|
+
Workspace: {workspace}
|
|
279
283
|
|
|
280
|
-
|
|
284
|
+
First I’ll check for a connected LinkedIn sender. If I can’t confirm one, I’ll
|
|
285
|
+
ask for your LinkedIn URL or company website before we choose the target, offer,
|
|
286
|
+
proof, and lead source.
|
|
281
287
|
```
|
|
282
288
|
|
|
283
289
|
Do not silently ask approval questions as plain chat when `request_user_input` is
|
|
284
|
-
unavailable in an interactive session.
|
|
285
|
-
|
|
286
|
-
gate needs the
|
|
290
|
+
unavailable in an interactive session. Setup strategy questions should use the
|
|
291
|
+
quick question panel when available, but may fall back to normal chat if the host
|
|
292
|
+
does not expose structured setup input. Stop only when an approval gate needs the
|
|
293
|
+
quick question panel:
|
|
287
294
|
|
|
288
295
|
```text
|
|
289
296
|
I need Codex’s quick question panel for campaign approvals.
|
|
@@ -79,12 +79,19 @@ Validated draft directory:
|
|
|
79
79
|
`request_user_input` (enabled in Default mode by
|
|
80
80
|
`[features].default_mode_request_user_input = true`, not available in
|
|
81
81
|
`codex exec`). Treat them as equivalent approval gates and persist the same
|
|
82
|
-
draft artifacts after the user answers. Use this structured gate
|
|
83
|
-
|
|
84
|
-
text
|
|
85
|
-
campaign ideas, buyer strategy, offer/CTA,
|
|
86
|
-
|
|
87
|
-
|
|
82
|
+
draft artifacts after the user answers. Use this structured gate for crisp
|
|
83
|
+
identity confirmations, compact setup intake, and approval gates. Never use it
|
|
84
|
+
to collect raw open text like LinkedIn URLs, company domains, pasted notes,
|
|
85
|
+
long campaign ideas, or detailed feedback. For buyer strategy, offer/CTA,
|
|
86
|
+
proof, and lead source, use the structured gate when it is exposed, but treat
|
|
87
|
+
the visible choices as shortcuts, not a rigid multiple-choice survey. Every
|
|
88
|
+
setup question must allow a custom typed answer. In Codex,
|
|
89
|
+
`request_user_input` adds a freeform Other path; in Claude, include an
|
|
90
|
+
`Other / custom` option. Keep setup intake to two panels because Codex
|
|
91
|
+
supports at most three questions per panel: target/offer/proof first, lead
|
|
92
|
+
source second. Do not use checkbox/radio multi-select language like "pick
|
|
93
|
+
one", "multi-select", or "choose all that apply" for these setup questions.
|
|
94
|
+
If an interactive
|
|
88
95
|
Codex session does not expose `request_user_input`, do not silently degrade to
|
|
89
96
|
a plain chat question; stop and tell the user:
|
|
90
97
|
|
|
@@ -154,7 +161,9 @@ Validated draft directory:
|
|
|
154
161
|
or most recent company, then ask a structured confirmation question:
|
|
155
162
|
|
|
156
163
|
```text
|
|
157
|
-
|
|
164
|
+
Workspace: {workspace}
|
|
165
|
+
|
|
166
|
+
I found {matched sender} connected here.
|
|
158
167
|
|
|
159
168
|
Is that you, and is this campaign for {company}?
|
|
160
169
|
```
|
|
@@ -185,11 +194,11 @@ Validated draft directory:
|
|
|
185
194
|
company they want to send on behalf of so you can research context:
|
|
186
195
|
|
|
187
196
|
```text
|
|
188
|
-
|
|
197
|
+
Workspace: {workspace}
|
|
189
198
|
|
|
190
|
-
First, paste your LinkedIn URL or the company website
|
|
191
|
-
|
|
192
|
-
|
|
199
|
+
First, paste your LinkedIn URL or the company website. I’ll use it to confirm
|
|
200
|
+
the sender and company, then we’ll choose the target, offer, proof, and lead
|
|
201
|
+
source.
|
|
193
202
|
```
|
|
194
203
|
|
|
195
204
|
If there is no strong sender match, do not show a structured choice that says
|
|
@@ -199,7 +208,7 @@ Validated draft directory:
|
|
|
199
208
|
customer-facing shape should be:
|
|
200
209
|
|
|
201
210
|
```text
|
|
202
|
-
|
|
211
|
+
Workspace: {workspace}
|
|
203
212
|
|
|
204
213
|
First, what’s your LinkedIn URL? If you’d rather start from the company, paste
|
|
205
214
|
the company website instead.
|
|
@@ -209,6 +218,8 @@ Validated draft directory:
|
|
|
209
218
|
`fetch_linkedin_profile` and infer the user's current or most recent company
|
|
210
219
|
from the profile. For a company website, call `fetch_company` when possible,
|
|
211
220
|
otherwise one web lookup.
|
|
221
|
+
Before the lookup, use concise progress copy:
|
|
222
|
+
`Got it — I’ll look it up and confirm the sender + company.`
|
|
212
223
|
|
|
213
224
|
If `list_senders` did not already run, call it once after the lookup to see
|
|
214
225
|
whether the fetched user appears to match a connected sender. If there is a
|
|
@@ -245,14 +256,11 @@ me`, `I’ll paste a different sender profile`, and `Other / custom`.
|
|
|
245
256
|
- Before the identity gate, use this customer-facing shape:
|
|
246
257
|
|
|
247
258
|
```text
|
|
248
|
-
|
|
259
|
+
Workspace: {workspace}
|
|
249
260
|
|
|
250
|
-
First I’ll check
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
and lead source.
|
|
254
|
-
|
|
255
|
-
Then I’ll turn that into a campaign brief for you to approve before anything is created.
|
|
261
|
+
First I’ll check for a connected LinkedIn sender. If I can’t confirm one, I’ll
|
|
262
|
+
ask for your LinkedIn URL or company website before we choose the target,
|
|
263
|
+
offer, proof, and lead source.
|
|
256
264
|
```
|
|
257
265
|
|
|
258
266
|
- Fast Intake Mode is mandatory for hosted/rehearsal net-new runs. Ask the
|
|
@@ -276,10 +284,12 @@ me`, `I’ll paste a different sender profile`, and `Other / custom`.
|
|
|
276
284
|
first identity gate as a quiet token/sender inference shortcut, and once means
|
|
277
285
|
once: do not call it again after a LinkedIn lookup if it already ran. Do
|
|
278
286
|
draft-directory setup only after the founder answers. After launch identity is
|
|
279
|
-
confirmed, ask buyer, offer/CTA, proof, and lead source
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
287
|
+
confirmed, ask buyer, offer/CTA, proof, and lead source through the structured
|
|
288
|
+
question gate when available. Split the setup intake into two panels:
|
|
289
|
+
target/offer/proof first, then lead source. Do not present these as
|
|
290
|
+
checkbox/radio multi-select gates. Use 2-3 context-specific suggested answers
|
|
291
|
+
per question as fast-start shortcuts, and rely on the freeform custom path for
|
|
292
|
+
nuanced answers.
|
|
283
293
|
- After the founder answers the first strategy/source packet, explain the next
|
|
284
294
|
stage only: campaign brief creation and brief approval. Use this shape:
|
|
285
295
|
|
|
@@ -476,21 +486,22 @@ Ask the user only when one of these is true:
|
|
|
476
486
|
packet so the founder can approve or revise the message deliberately.
|
|
477
487
|
|
|
478
488
|
When asking subjective strategy questions (buyer scope, first ask, proof
|
|
479
|
-
emphasis, tone, lead-source preference),
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
to the final six-choice
|
|
489
|
+
emphasis, tone, lead-source preference), use the structured quick question panel
|
|
490
|
+
when available. Do not make it feel like a rigid multiple-choice survey:
|
|
491
|
+
suggested directions are shortcuts, and the user must be able to type a custom
|
|
492
|
+
answer in their own words. Ask target, offer, and proof in the first panel; ask
|
|
493
|
+
lead source in a second panel. Do not add custom options to the final six-choice
|
|
494
|
+
commit gate.
|
|
484
495
|
Use customer-facing question wording:
|
|
485
496
|
|
|
486
|
-
- target prospects: `Who should
|
|
487
|
-
- main CTA / offer: `What should
|
|
488
|
-
- proof emphasis: `
|
|
489
|
-
- lead source: `How should we get the people for this campaign
|
|
497
|
+
- target prospects: `Who should this campaign target?`
|
|
498
|
+
- main CTA / offer: `What should {{sender_or_company}} offer them?`
|
|
499
|
+
- proof emphasis: `What proof should we lean on?`
|
|
500
|
+
- lead source: `How should we get the people for this campaign?`
|
|
490
501
|
|
|
491
502
|
Ask the lead-source question as the last question in the first strategy batch,
|
|
492
503
|
after buyer, offer/ask, and proof/safety are understood. Frame supplied lists as
|
|
493
|
-
optional, not required.
|
|
504
|
+
optional, not required. Suggested lead-source shortcuts should include:
|
|
494
505
|
`I can find people for you, use a CSV of LinkedIn profiles, use a CSV of company
|
|
495
506
|
domains, use an existing Sellable lead list, or follow another source idea.`
|
|
496
507
|
If the user pastes up to 100 LinkedIn profile URLs or company domains, normalize
|