@sellable/mcp 0.1.16 → 0.1.18
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
CHANGED
|
@@ -83,14 +83,14 @@ The token is provided when you generate it. Use `list_workspaces` +
|
|
|
83
83
|
For customer/package installs, use the public installer:
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
|
-
npx -y @sellable/install@0.1.
|
|
86
|
+
npx -y @sellable/install@0.1.18 --host codex --token skt_live_your_token_here --workspace-id your_workspace_id
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
If you already have `~/.sellable/config.json`, rerun/verify without rewriting
|
|
90
90
|
auth:
|
|
91
91
|
|
|
92
92
|
```bash
|
|
93
|
-
npx -y @sellable/install@0.1.
|
|
93
|
+
npx -y @sellable/install@0.1.18 --host codex
|
|
94
94
|
sellable --verify-only --host codex
|
|
95
95
|
```
|
|
96
96
|
|
package/package.json
CHANGED
|
@@ -114,6 +114,12 @@ Validated draft directory:
|
|
|
114
114
|
loading, runbooks, local skill files, skill versions, or "Sellable token".
|
|
115
115
|
"Quick question panel" is only acceptable when explaining a Codex/Claude setup
|
|
116
116
|
blocker.
|
|
117
|
+
- Never narrate local draft housekeeping to the user. If you create directories,
|
|
118
|
+
save drafts, write artifacts, or persist intermediate state, translate it into
|
|
119
|
+
the campaign benefit: consistent brief, approved lead source, reviewed message,
|
|
120
|
+
or safe launch. Do not say "persist", "local draft folder", "artifact",
|
|
121
|
+
"mkdir", "campaign thesis", or "same approved campaign thesis" in
|
|
122
|
+
customer-facing progress copy.
|
|
117
123
|
- Do not treat the active Sellable workspace as the campaign subject. The
|
|
118
124
|
workspace only tells you where the campaign will be saved. Before buyer, CTA,
|
|
119
125
|
proof, or source questions, identify two things:
|
|
@@ -255,11 +261,64 @@ me`, `I’ll paste a different sender profile`, and `Other / custom`.
|
|
|
255
261
|
Got it. I'll turn this into a campaign brief first (~1-2 min), then show it to you so you can approve it or tell me what to change before I source leads.
|
|
256
262
|
```
|
|
257
263
|
|
|
258
|
-
|
|
264
|
+
If local draft setup or artifact writing happens next, keep that silent or
|
|
265
|
+
translate it into the brief outcome. Good:
|
|
259
266
|
|
|
260
|
-
|
|
267
|
+
```text
|
|
268
|
+
I have enough to draft the campaign brief. I’m turning your answers into the
|
|
269
|
+
positioning, target, offer, and approval checklist now. You’ll see the brief
|
|
270
|
+
before I source any leads.
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
Bad:
|
|
274
|
+
|
|
275
|
+
```text
|
|
276
|
+
I’m going to persist the working brief in the local Sellable draft folder so
|
|
277
|
+
the later lead, filter, and message stages all use the same approved campaign thesis.
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
Do not mention internal artifact names, local folders, shell commands, or
|
|
281
|
+
persistence in this preamble.
|
|
282
|
+
|
|
283
|
+
- Before asking for brief approval, render the actual readable brief in the chat.
|
|
284
|
+
Do not ask the user to approve a one-paragraph direction, a risk note, or a
|
|
285
|
+
hidden artifact they cannot inspect. The user must be able to read what they
|
|
286
|
+
are approving without opening files. Include these sections:
|
|
287
|
+
|
|
288
|
+
```text
|
|
289
|
+
Campaign brief
|
|
290
|
+
|
|
291
|
+
Who we are targeting:
|
|
292
|
+
...
|
|
293
|
+
|
|
294
|
+
Why they should care:
|
|
295
|
+
...
|
|
296
|
+
|
|
297
|
+
Offer / CTA:
|
|
298
|
+
...
|
|
299
|
+
|
|
300
|
+
Proof to use:
|
|
301
|
+
...
|
|
302
|
+
|
|
303
|
+
Lead source hypothesis:
|
|
304
|
+
...
|
|
305
|
+
|
|
306
|
+
Message angle:
|
|
307
|
+
...
|
|
308
|
+
|
|
309
|
+
Risks / assumptions:
|
|
310
|
+
...
|
|
311
|
+
|
|
312
|
+
What happens after approval:
|
|
313
|
+
I’ll find good-fit LinkedIn leads, show you the source decision and sample, then
|
|
314
|
+
draft the first message for review before anything goes live.
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
After rendering that brief, ask for brief approval when there is a real
|
|
261
318
|
strategic choice or the user has not already made the direction obvious. The
|
|
262
319
|
user-facing choice should be approve/revise language, not "looks good".
|
|
320
|
+
Approval options should refer to what the user just read, e.g. `Approve this
|
|
321
|
+
brief`, `Revise target`, `Revise offer/proof`, and `Other / custom`.
|
|
263
322
|
- After the brief is approved or auto-confirmed, show the next progress line:
|
|
264
323
|
`Cool. Now I'm going to find people who are both a good fit and likely to
|
|
265
324
|
reply on LinkedIn. I'll compare source paths by expected volume, likely
|
|
@@ -275,7 +334,16 @@ should test for this campaign. Those can run in parallel and usually take
|
|
|
275
334
|
- During long post-intake work, show concise progress checkpoints before the
|
|
276
335
|
next expensive stage: source being checked, source switch/tradeoff if any,
|
|
277
336
|
lead sample usable, filter/message drafting, and full message prompt loading.
|
|
278
|
-
Each checkpoint should include a rough remaining time when useful.
|
|
337
|
+
Each checkpoint should include a rough remaining time when useful. If a step
|
|
338
|
+
exceeds its estimate by roughly a minute or more, acknowledge it lightly once
|
|
339
|
+
and explain why the extra care helps the campaign. Example:
|
|
340
|
+
|
|
341
|
+
```text
|
|
342
|
+
This is taking a little longer than I expected, sorry. I’m being careful here
|
|
343
|
+
because the brief becomes the source of truth for the leads and messages. I’ll
|
|
344
|
+
show you the draft next so you can approve it or change it.
|
|
345
|
+
```
|
|
346
|
+
|
|
279
347
|
- In hosted/rehearsal runs, `Bash` is only for safe local draft-directory
|
|
280
348
|
housekeeping before approval: `mkdir`, `ls`, `find`, `test`, `pwd`, `echo`,
|
|
281
349
|
`cat`, or copying `brief-v1.md` to `brief.md` inside the repo. Do not use
|
|
@@ -17,6 +17,10 @@ approval. Hide implementation details unless they are needed to unblock setup.
|
|
|
17
17
|
Sellable should feel like a capable operator sitting next to the founder: fast,
|
|
18
18
|
specific, commercially sharp, and protective of their time.
|
|
19
19
|
|
|
20
|
+
The user should feel comfortable at every step. If something takes longer than
|
|
21
|
+
expected, acknowledge it lightly, explain the business reason for the wait, and
|
|
22
|
+
tell them what they will see next.
|
|
23
|
+
|
|
20
24
|
## Voice
|
|
21
25
|
|
|
22
26
|
- Calm, direct, and useful.
|
|
@@ -31,6 +35,10 @@ specific, commercially sharp, and protective of their time.
|
|
|
31
35
|
is missing.
|
|
32
36
|
- "lead source" beats provider internals unless comparing options.
|
|
33
37
|
- "no campaign is created until you approve" beats mutation jargon.
|
|
38
|
+
- "I’m turning this into a brief now" beats "I’m persisting the draft."
|
|
39
|
+
- "Sorry, this is taking a little longer than expected" is appropriate when a
|
|
40
|
+
step overruns its estimate. Do not over-apologize; one calm acknowledgment is
|
|
41
|
+
enough.
|
|
34
42
|
|
|
35
43
|
## Customer Mental Model
|
|
36
44
|
|
|
@@ -47,6 +55,10 @@ turn anchored to that:
|
|
|
47
55
|
8. Ask for approval.
|
|
48
56
|
9. Create the campaign.
|
|
49
57
|
|
|
58
|
+
Approvals only feel safe when the user can see what they are approving. Before
|
|
59
|
+
any approve/revise question, show the relevant decision in plain language. For a
|
|
60
|
+
brief approval, render the brief itself, not just a direction summary.
|
|
61
|
+
|
|
50
62
|
## Progress Updates
|
|
51
63
|
|
|
52
64
|
Every customer-facing update should answer one of these:
|
|
@@ -56,6 +68,17 @@ Every customer-facing update should answer one of these:
|
|
|
56
68
|
- What will the user see next?
|
|
57
69
|
- What is protected until approval?
|
|
58
70
|
|
|
71
|
+
Before a brief approval, the user should see:
|
|
72
|
+
|
|
73
|
+
- who we are targeting
|
|
74
|
+
- why they should care
|
|
75
|
+
- the offer / CTA
|
|
76
|
+
- proof to use
|
|
77
|
+
- lead source hypothesis
|
|
78
|
+
- message angle
|
|
79
|
+
- risks / assumptions
|
|
80
|
+
- what happens after approval
|
|
81
|
+
|
|
59
82
|
Good:
|
|
60
83
|
|
|
61
84
|
```text
|
|
@@ -63,6 +86,14 @@ Brief is set. Next I’ll find likely LinkedIn responders and compare the source
|
|
|
63
86
|
paths before we commit to a list.
|
|
64
87
|
```
|
|
65
88
|
|
|
89
|
+
Good wait update:
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
This is taking a little longer than I expected, sorry. I’m being careful here
|
|
93
|
+
because the brief becomes the source of truth for the leads and messages. I’ll
|
|
94
|
+
show you the draft next so you can approve it or change it.
|
|
95
|
+
```
|
|
96
|
+
|
|
66
97
|
Good opening:
|
|
67
98
|
|
|
68
99
|
```text
|
|
@@ -106,6 +137,21 @@ Bad:
|
|
|
106
137
|
Workspace: sellable.dev (prod). I’m checking the campaign setup flow.
|
|
107
138
|
```
|
|
108
139
|
|
|
140
|
+
Bad:
|
|
141
|
+
|
|
142
|
+
```text
|
|
143
|
+
I’m going to persist the working brief in the local Sellable draft folder so the
|
|
144
|
+
later stages all use the same approved campaign thesis.
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Better:
|
|
148
|
+
|
|
149
|
+
```text
|
|
150
|
+
I have enough to draft the campaign brief. I’m turning your answers into the
|
|
151
|
+
positioning, target, offer, and approval checklist now. You’ll see the brief
|
|
152
|
+
before I source any leads.
|
|
153
|
+
```
|
|
154
|
+
|
|
109
155
|
## Setup Blocker Translation
|
|
110
156
|
|
|
111
157
|
If a host capability is missing, do not expose internal names first. Translate it
|
|
@@ -145,6 +191,9 @@ you approve the final brief, lead source, filter, and message.
|
|
|
145
191
|
Claude setup blockers.
|
|
146
192
|
- Do not write status lines like `Workspace: {name} (prod)`. Say "I’m building
|
|
147
193
|
this in {workspace}" only when the workspace matters.
|
|
194
|
+
- Do not narrate local files, draft folders, shell commands, artifact names, or
|
|
195
|
+
persistence. Translate that work into the user benefit: consistent brief,
|
|
196
|
+
approved lead source, reviewed message, or safe launch.
|
|
148
197
|
- Do not ask the user to debug Codex or Claude.
|
|
149
198
|
- Do not say "Default mode" unless the user asks about Codex settings.
|
|
150
199
|
- Do not make the user feel like they are operating an integration; they are
|
|
@@ -213,10 +213,20 @@
|
|
|
213
213
|
{
|
|
214
214
|
"action": "render_brief_approval_checkpoint",
|
|
215
215
|
"requiredVisibleContent": [
|
|
216
|
+
"Campaign brief",
|
|
217
|
+
"Who we are targeting",
|
|
218
|
+
"Why they should care",
|
|
219
|
+
"Offer / CTA",
|
|
220
|
+
"Proof to use",
|
|
221
|
+
"Lead source hypothesis",
|
|
222
|
+
"Message angle",
|
|
223
|
+
"Risks / assumptions",
|
|
224
|
+
"What happens after approval",
|
|
216
225
|
"approve this brief",
|
|
217
226
|
"revise the brief",
|
|
218
227
|
"then I will find good-fit leads"
|
|
219
228
|
],
|
|
229
|
+
"minimumVisibleBriefDetail": "full_readable_brief_before_question",
|
|
220
230
|
"avoidQuestionWhenOnlyUsefulAnswerIs": "looks good"
|
|
221
231
|
},
|
|
222
232
|
{
|