@sellable/mcp 0.1.9 → 0.1.11
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.11 --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.11 --host codex
|
|
94
94
|
sellable --verify-only --host codex
|
|
95
95
|
```
|
|
96
96
|
|
|
@@ -146,6 +146,10 @@ panel" for structured questions, and keep implementation details out of normal
|
|
|
146
146
|
customer-facing updates.
|
|
147
147
|
Use `quick question panel` in customer-facing setup blockers.
|
|
148
148
|
|
|
149
|
+
The Codex installer also writes compatibility cache aliases for recent plugin
|
|
150
|
+
versions so stale Desktop skill links resolve to the current wrapper instead of
|
|
151
|
+
showing file/version debugging to the user.
|
|
152
|
+
|
|
149
153
|
## Usage
|
|
150
154
|
|
|
151
155
|
### From Sellable UI
|
package/package.json
CHANGED
|
@@ -99,7 +99,8 @@ Validated draft directory:
|
|
|
99
99
|
|
|
100
100
|
$sellable:create-campaign
|
|
101
101
|
|
|
102
|
-
After that, I’ll
|
|
102
|
+
After that, I’ll confirm who we’re launching for, then ask the setup questions
|
|
103
|
+
and start the campaign brief.
|
|
103
104
|
```
|
|
104
105
|
|
|
105
106
|
If they decline, tell them to switch to Plan/collaboration mode and rerun
|
|
@@ -111,16 +112,37 @@ Validated draft directory:
|
|
|
111
112
|
question panel", "campaign brief", "lead sourcing", and "approval" instead of
|
|
112
113
|
`request_user_input`, Default mode, MCP namespaces, plugin caches, prompt
|
|
113
114
|
loading, runbooks, local skill files, or skill versions.
|
|
114
|
-
-
|
|
115
|
+
- Do not treat the active Sellable workspace as the campaign subject. The
|
|
116
|
+
workspace only tells you where the campaign will be saved. Before buyer, CTA,
|
|
117
|
+
proof, or source questions, identify and confirm who the campaign is launching
|
|
118
|
+
for.
|
|
119
|
+
- If the user supplied a LinkedIn profile, website, domain, company name, or
|
|
120
|
+
sender name in the invocation, do one lightweight lookup first:
|
|
121
|
+
- LinkedIn profile: call `fetch_linkedin_profile`.
|
|
122
|
+
- Website/domain/company: call `fetch_company` when possible, otherwise one
|
|
123
|
+
web lookup.
|
|
124
|
+
- Workspace sender id or known sender: call `get_sender` or `enrich_sender`.
|
|
125
|
+
Then summarize what you found in one or two lines and ask the user to confirm
|
|
126
|
+
the launch identity before continuing.
|
|
127
|
+
- If the user did not provide the launch identity, make the first quick question
|
|
128
|
+
panel an identity gate. Ask who we are launching for, with options like:
|
|
129
|
+
1. `Use one of my connected Sellable senders`
|
|
130
|
+
2. `I’ll paste a LinkedIn profile`
|
|
131
|
+
3. `I’ll paste a company website/domain`
|
|
132
|
+
4. `Other / custom`
|
|
133
|
+
After that answer, do the lightweight lookup, confirm the company/sender
|
|
134
|
+
context, then ask the campaign setup questions. The setup questions should use
|
|
135
|
+
the confirmed company context so they do not feel generic. If identity is
|
|
136
|
+
still unavailable, use neutral/custom intake options instead of guessed
|
|
137
|
+
vertical-specific options.
|
|
138
|
+
- Before the identity gate, use this customer-facing shape:
|
|
115
139
|
|
|
116
140
|
```text
|
|
117
141
|
I’m ready to build the campaign in {workspace}.
|
|
118
142
|
|
|
119
|
-
First I’
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
3. what proof or offer we should use
|
|
123
|
-
4. where we should source leads
|
|
143
|
+
First I need to confirm who we’re launching for. If you give me a LinkedIn
|
|
144
|
+
profile or company website, I’ll use that to understand the company, then I’ll
|
|
145
|
+
confirm it with you before we pick the target, offer, proof, and lead source.
|
|
124
146
|
|
|
125
147
|
Then I’ll turn that into a campaign brief for you to approve before anything is created.
|
|
126
148
|
```
|
|
@@ -133,16 +155,17 @@ Validated draft directory:
|
|
|
133
155
|
one lightweight identity lookup, then use the structured question gate. If the user
|
|
134
156
|
supplied a company website/domain, call exactly one of `fetch_company`,
|
|
135
157
|
`WebFetch`, or `WebSearch` to identify what the company actually does before
|
|
136
|
-
generating
|
|
137
|
-
`fetch_linkedin_profile` before generating
|
|
138
|
-
product category from the company name alone. If no domain, website,
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
do not run
|
|
158
|
+
generating setup options. If the user supplied a LinkedIn profile URL, call
|
|
159
|
+
`fetch_linkedin_profile` before generating setup options. Do not infer the
|
|
160
|
+
product category from the company name alone. If no domain, website, LinkedIn
|
|
161
|
+
profile, or sender identity is supplied, the first structured question gate
|
|
162
|
+
must ask for the launch identity before buyer/offer/source. Before that first
|
|
163
|
+
structured question gate, do not run source discovery, Sales Nav, Prospeo,
|
|
142
164
|
Signals, Bash, Read, Write, Edit, Glob, Grep, full company research, or
|
|
143
165
|
draft-directory inspection/creation. Do draft-directory setup only after the
|
|
144
|
-
founder answers.
|
|
145
|
-
lead source, and all four questions must include
|
|
166
|
+
founder answers. After launch identity is confirmed, the setup packet must ask
|
|
167
|
+
buyer, offer/CTA, proof, and lead source, and all four questions must include
|
|
168
|
+
an `Other / custom` option.
|
|
146
169
|
- After the founder answers the first strategy/source packet, explain the next
|
|
147
170
|
stage only: campaign brief creation and brief approval. Use this shape:
|
|
148
171
|
|
|
@@ -28,13 +28,14 @@ approval. Hide implementation details unless they are needed to unblock setup.
|
|
|
28
28
|
The customer believes Sellable is helping them launch a campaign. Keep every
|
|
29
29
|
turn anchored to that:
|
|
30
30
|
|
|
31
|
-
1.
|
|
32
|
-
2.
|
|
33
|
-
3.
|
|
34
|
-
4.
|
|
35
|
-
5.
|
|
36
|
-
6.
|
|
37
|
-
7.
|
|
31
|
+
1. Confirm who the campaign is launching for.
|
|
32
|
+
2. Understand the company and offer.
|
|
33
|
+
3. Turn that into a campaign brief.
|
|
34
|
+
4. Find likely responders.
|
|
35
|
+
5. Filter for fit.
|
|
36
|
+
6. Draft messages.
|
|
37
|
+
7. Ask for approval.
|
|
38
|
+
8. Create the campaign.
|
|
38
39
|
|
|
39
40
|
## Progress Updates
|
|
40
41
|
|
|
@@ -97,8 +97,8 @@
|
|
|
97
97
|
"onEnter": [
|
|
98
98
|
{
|
|
99
99
|
"action": "resolve_company_identity_before_strategy_packet",
|
|
100
|
-
"optional":
|
|
101
|
-
"when": "
|
|
100
|
+
"optional": false,
|
|
101
|
+
"when": "before_founder_strategy_source_packet",
|
|
102
102
|
"allowedTools": [
|
|
103
103
|
"fetch_company",
|
|
104
104
|
"fetch_linkedin_profile",
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
],
|
|
108
108
|
"maxCalls": 1,
|
|
109
109
|
"mustNotInferFromNameOnly": true,
|
|
110
|
-
"fallback": "use neutral/custom intake options when identity
|
|
110
|
+
"fallback": "ask identity gate first; use neutral/custom intake options only when identity remains unavailable"
|
|
111
111
|
},
|
|
112
112
|
{
|
|
113
113
|
"action": "render_post_intake_progress_preamble",
|
|
@@ -161,6 +161,8 @@
|
|
|
161
161
|
"get_subskill_prompt",
|
|
162
162
|
"get_auth_status",
|
|
163
163
|
"get_active_workspace",
|
|
164
|
+
"list_senders",
|
|
165
|
+
"get_sender",
|
|
164
166
|
"enrich_sender",
|
|
165
167
|
"complete_sender_research",
|
|
166
168
|
"fetch_company",
|