@sellable/mcp 0.1.249 → 0.1.250
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 +23 -14
- package/dist/tools/prompts.d.ts +3 -3
- package/dist/tools/prompts.js +1 -0
- package/dist/tools/registry.d.ts +2 -2
- package/package.json +1 -1
- package/skills/content/SKILL.md +1 -1
- package/skills/create-post/SKILL.md +3 -3
- package/skills/foundation/SKILL.md +50 -0
- package/skills/interview/SKILL.md +1 -1
- package/skills/load-voice/SKILL.md +2 -2
package/README.md
CHANGED
|
@@ -19,8 +19,8 @@ Each message gets 5+ minutes of Claude attention with deep research - no other t
|
|
|
19
19
|
There are four public Sellable entrypoints shared across hosts:
|
|
20
20
|
|
|
21
21
|
- `sellable:create-campaign`
|
|
22
|
+
- `sellable:foundation`
|
|
22
23
|
- `sellable:content`
|
|
23
|
-
- `sellable:interview`
|
|
24
24
|
- `sellable:create-post`
|
|
25
25
|
|
|
26
26
|
The create-campaign public wrapper at
|
|
@@ -29,9 +29,13 @@ the approval-gated workflow from:
|
|
|
29
29
|
|
|
30
30
|
- `mcp/sellable/skills/create-campaign-v2/SKILL.md`
|
|
31
31
|
|
|
32
|
-
The
|
|
32
|
+
The foundation public wrapper loads the core identity/company memory workflow
|
|
33
33
|
from:
|
|
34
34
|
|
|
35
|
+
- `mcp/sellable/skills/foundation/SKILL.md`
|
|
36
|
+
|
|
37
|
+
The tested internal/backward-compatible memory engine remains:
|
|
38
|
+
|
|
35
39
|
- `mcp/sellable/skills/interview/SKILL.md`
|
|
36
40
|
|
|
37
41
|
The content public wrapper captures transcripts and rough notes, clusters
|
|
@@ -144,9 +148,9 @@ The installer does the full local setup:
|
|
|
144
148
|
`mcp__sellable__*` tools into skill sessions
|
|
145
149
|
|
|
146
150
|
After the installer passes, fully quit and reopen Codex Desktop. Start a new
|
|
147
|
-
thread and select `Sellable Create Campaign`, `Sellable
|
|
148
|
-
`Sellable
|
|
149
|
-
`$sellable:
|
|
151
|
+
thread and select `Sellable Create Campaign`, `Sellable Foundation`,
|
|
152
|
+
`Sellable Content`, or `Sellable Create Post`; or invoke `$sellable:create-campaign`,
|
|
153
|
+
`$sellable:foundation`, `$sellable:content`, or `$sellable:create-post`. If the app still says
|
|
150
154
|
`mcp__sellable__*` tools are missing after the installer passes, check that
|
|
151
155
|
`~/.codex/config.toml` contains both `[marketplaces.sellable]` and
|
|
152
156
|
`[plugins."sellable@sellable"]`.
|
|
@@ -158,33 +162,35 @@ the Sellable MCP tools for Codex Desktop.
|
|
|
158
162
|
Use these names consistently:
|
|
159
163
|
|
|
160
164
|
- Claude Code command: `/sellable:create-campaign`
|
|
165
|
+
- Claude Code command: `/sellable:foundation`
|
|
161
166
|
- Claude Code command: `/sellable:content`
|
|
162
|
-
- Claude Code command: `/sellable:interview`
|
|
163
167
|
- Claude Code command: `/sellable:create-post`
|
|
164
168
|
- Codex command: `$sellable:create-campaign`
|
|
169
|
+
- Codex command: `$sellable:foundation`
|
|
165
170
|
- Codex command: `$sellable:content`
|
|
166
|
-
- Codex command: `$sellable:interview`
|
|
167
171
|
- Codex command: `$sellable:create-post`
|
|
168
172
|
- Codex Desktop plugin: `sellable@sellable`
|
|
169
173
|
- Codex visible skill: `Sellable Create Campaign`
|
|
174
|
+
- Codex visible skill: `Sellable Foundation`
|
|
170
175
|
- Codex visible skill: `Sellable Content`
|
|
171
|
-
- Codex visible skill: `Sellable Identity Interview`
|
|
172
176
|
- Codex visible skill: `Sellable Create Post`
|
|
173
177
|
- Codex skill frontmatter name: `create-campaign`
|
|
178
|
+
- Codex skill frontmatter name: `foundation`
|
|
174
179
|
- Codex skill frontmatter name: `content`
|
|
175
|
-
- Codex skill frontmatter name: `interview`
|
|
176
180
|
- Codex skill frontmatter name: `create-post`
|
|
177
181
|
- MCP server name: `sellable`
|
|
178
182
|
- Internal workflow prompt: `create-campaign-v2`
|
|
183
|
+
- Internal/backward-compatible memory prompt: `interview`
|
|
179
184
|
|
|
180
185
|
Never tell users to run `/sellable:create-campaign-v2`,
|
|
181
186
|
`$sellable:create-campaign-v2`, `$sellable:load-voice`, or
|
|
182
187
|
`$sellable:sellable:create-campaign`. `create-campaign-v2` is an internal MCP
|
|
183
188
|
subskill loaded by `get_subskill_prompt({ subskillName: "create-campaign-v2" })`.
|
|
184
189
|
`load-voice` is an internal direct MCP utility. `content` is the preferred
|
|
185
|
-
entrypoint for adding transcripts, recurring ideas, and post seeds
|
|
186
|
-
|
|
187
|
-
drafting
|
|
190
|
+
entrypoint for adding transcripts, recurring ideas, and post seeds.
|
|
191
|
+
`foundation` is the preferred entrypoint for durable founder/company memory.
|
|
192
|
+
`create-post` remains a supported direct drafting shortcut and loads voice
|
|
193
|
+
silently for post drafting.
|
|
188
194
|
|
|
189
195
|
## Structured Question Parity
|
|
190
196
|
|
|
@@ -368,13 +374,16 @@ Files under `mcp/sellable/skills/**/core/*` are **package repo files**, not the
|
|
|
368
374
|
|
|
369
375
|
Primary public entrypoint for the approval-gated campaign creation flow.
|
|
370
376
|
|
|
371
|
-
###
|
|
377
|
+
### /sellable:foundation
|
|
372
378
|
|
|
373
|
-
Public
|
|
379
|
+
Public founder/company memory command. Builds durable core files under
|
|
374
380
|
`~/.sellable/configs/core/**`, raw archives under `~/.sellable/interviews/**`,
|
|
375
381
|
and reusable answer/proof/story/transcript/reference memory for downstream
|
|
376
382
|
Sellable writing workflows.
|
|
377
383
|
|
|
384
|
+
The internal prompt name `interview` remains available for backward
|
|
385
|
+
compatibility and as the tested foundation-memory engine.
|
|
386
|
+
|
|
378
387
|
## Available Tools
|
|
379
388
|
|
|
380
389
|
### Workspace Tools (Free)
|
package/dist/tools/prompts.d.ts
CHANGED
|
@@ -135,7 +135,7 @@ export interface PostFindLeadsScoutRegistryResponse {
|
|
|
135
135
|
}
|
|
136
136
|
export declare const DEFAULT_SUBSKILL_PROMPT_CHUNK_CHARS = 48000;
|
|
137
137
|
export declare const MAX_SUBSKILL_PROMPT_CHUNK_CHARS = 48000;
|
|
138
|
-
export declare const ALLOWED_SUBSKILL_PROMPT_NAMES: readonly ["building-gtm-tables", "content", "create-campaign", "create-campaign-brief", "create-campaign-v2", "create-campaign-v2-tail", "create-campaign-v2-validation", "create-post", "create-rubric", "engage", "enrich-prospects", "find-leads", "generate-messages", "interview", "load-voice", "research", "research-prospect", "research-sender", "workflow-sequences"];
|
|
138
|
+
export declare const ALLOWED_SUBSKILL_PROMPT_NAMES: readonly ["building-gtm-tables", "content", "create-campaign", "create-campaign-brief", "create-campaign-v2", "create-campaign-v2-tail", "create-campaign-v2-validation", "create-post", "create-rubric", "engage", "enrich-prospects", "find-leads", "foundation", "generate-messages", "interview", "load-voice", "research", "research-prospect", "research-sender", "workflow-sequences"];
|
|
139
139
|
export declare const promptToolDefinitions: ({
|
|
140
140
|
name: string;
|
|
141
141
|
description: string;
|
|
@@ -179,7 +179,7 @@ export declare const promptToolDefinitions: ({
|
|
|
179
179
|
properties: {
|
|
180
180
|
subskillName: {
|
|
181
181
|
type: string;
|
|
182
|
-
enum: readonly ["building-gtm-tables", "content", "create-campaign", "create-campaign-brief", "create-campaign-v2", "create-campaign-v2-tail", "create-campaign-v2-validation", "create-post", "create-rubric", "engage", "enrich-prospects", "find-leads", "generate-messages", "interview", "load-voice", "research", "research-prospect", "research-sender", "workflow-sequences"];
|
|
182
|
+
enum: readonly ["building-gtm-tables", "content", "create-campaign", "create-campaign-brief", "create-campaign-v2", "create-campaign-v2-tail", "create-campaign-v2-validation", "create-post", "create-rubric", "engage", "enrich-prospects", "find-leads", "foundation", "generate-messages", "interview", "load-voice", "research", "research-prospect", "research-sender", "workflow-sequences"];
|
|
183
183
|
description: string;
|
|
184
184
|
};
|
|
185
185
|
offset: {
|
|
@@ -214,7 +214,7 @@ export declare const promptToolDefinitions: ({
|
|
|
214
214
|
properties: {
|
|
215
215
|
subskillName: {
|
|
216
216
|
type: string;
|
|
217
|
-
enum: readonly ["building-gtm-tables", "content", "create-campaign", "create-campaign-brief", "create-campaign-v2", "create-campaign-v2-tail", "create-campaign-v2-validation", "create-post", "create-rubric", "engage", "enrich-prospects", "find-leads", "generate-messages", "interview", "load-voice", "research", "research-prospect", "research-sender", "workflow-sequences"];
|
|
217
|
+
enum: readonly ["building-gtm-tables", "content", "create-campaign", "create-campaign-brief", "create-campaign-v2", "create-campaign-v2-tail", "create-campaign-v2-validation", "create-post", "create-rubric", "engage", "enrich-prospects", "find-leads", "foundation", "generate-messages", "interview", "load-voice", "research", "research-prospect", "research-sender", "workflow-sequences"];
|
|
218
218
|
description: string;
|
|
219
219
|
};
|
|
220
220
|
assetPath: {
|
package/dist/tools/prompts.js
CHANGED
package/dist/tools/registry.d.ts
CHANGED
|
@@ -225,7 +225,7 @@ export declare const allTools: ({
|
|
|
225
225
|
properties: {
|
|
226
226
|
subskillName: {
|
|
227
227
|
type: string;
|
|
228
|
-
enum: readonly ["building-gtm-tables", "content", "create-campaign", "create-campaign-brief", "create-campaign-v2", "create-campaign-v2-tail", "create-campaign-v2-validation", "create-post", "create-rubric", "engage", "enrich-prospects", "find-leads", "generate-messages", "interview", "load-voice", "research", "research-prospect", "research-sender", "workflow-sequences"];
|
|
228
|
+
enum: readonly ["building-gtm-tables", "content", "create-campaign", "create-campaign-brief", "create-campaign-v2", "create-campaign-v2-tail", "create-campaign-v2-validation", "create-post", "create-rubric", "engage", "enrich-prospects", "find-leads", "foundation", "generate-messages", "interview", "load-voice", "research", "research-prospect", "research-sender", "workflow-sequences"];
|
|
229
229
|
description: string;
|
|
230
230
|
};
|
|
231
231
|
offset: {
|
|
@@ -260,7 +260,7 @@ export declare const allTools: ({
|
|
|
260
260
|
properties: {
|
|
261
261
|
subskillName: {
|
|
262
262
|
type: string;
|
|
263
|
-
enum: readonly ["building-gtm-tables", "content", "create-campaign", "create-campaign-brief", "create-campaign-v2", "create-campaign-v2-tail", "create-campaign-v2-validation", "create-post", "create-rubric", "engage", "enrich-prospects", "find-leads", "generate-messages", "interview", "load-voice", "research", "research-prospect", "research-sender", "workflow-sequences"];
|
|
263
|
+
enum: readonly ["building-gtm-tables", "content", "create-campaign", "create-campaign-brief", "create-campaign-v2", "create-campaign-v2-tail", "create-campaign-v2-validation", "create-post", "create-rubric", "engage", "enrich-prospects", "find-leads", "foundation", "generate-messages", "interview", "load-voice", "research", "research-prospect", "research-sender", "workflow-sequences"];
|
|
264
264
|
description: string;
|
|
265
265
|
};
|
|
266
266
|
assetPath: {
|
package/package.json
CHANGED
package/skills/content/SKILL.md
CHANGED
|
@@ -22,7 +22,7 @@ LinkedIn post draft, load and follow `create-post` exactly:
|
|
|
22
22
|
drafting, validation receipts, draft iterations, publishing records, and final
|
|
23
23
|
save behavior.
|
|
24
24
|
|
|
25
|
-
`$sellable:
|
|
25
|
+
`$sellable:foundation` is the foundation-memory command for core values, company
|
|
26
26
|
truth, proof hygiene, durable stories, reusable answers, and anti-AI writing
|
|
27
27
|
rules. `content` reads that foundation through
|
|
28
28
|
`mcp__sellable__get_engage_memory`; it does not duplicate it.
|
|
@@ -17,7 +17,7 @@ It owns the content workflow:
|
|
|
17
17
|
- run external LinkedIn research
|
|
18
18
|
- draft, validate, save, and publish-track posts
|
|
19
19
|
|
|
20
|
-
It does not own foundational identity setup. Use `$sellable:
|
|
20
|
+
It does not own foundational identity setup. Use `$sellable:foundation` for the
|
|
21
21
|
foundation layer: core values, founder identity, company truth, durable stories,
|
|
22
22
|
proof ledgers, answer bank, context modes, anti-AI rules, and transcript indexes.
|
|
23
23
|
|
|
@@ -31,7 +31,7 @@ user-facing command. `create-post` must call it and use both:
|
|
|
31
31
|
- content memory: `core/content-memory/**` clusters, cards, questions, and seeds
|
|
32
32
|
|
|
33
33
|
If foundation memory is missing or too thin, ask the user to run
|
|
34
|
-
`$sellable:
|
|
34
|
+
`$sellable:foundation` or answer the missing foundation questions before
|
|
35
35
|
drafting. If content-memory is missing, continue from the raw source and propose
|
|
36
36
|
the smallest content-memory write-back.
|
|
37
37
|
</command_model>
|
|
@@ -159,7 +159,7 @@ external LinkedIn research.
|
|
|
159
159
|
- Use draft candidates only when they do not conflict with canonical rules or when the user explicitly asks to test one.
|
|
160
160
|
- Do not save post bodies, hook research, or published records into `writing/posts.md`.
|
|
161
161
|
|
|
162
|
-
New users may have blank or missing core files until they run `$sellable:
|
|
162
|
+
New users may have blank or missing core files until they run `$sellable:foundation`. If story, proof, identity, or company memory is missing, ask for the missing material or ask the user to run `$sellable:foundation`. Never fabricate what should have come from `story-bank.md`, `proof-ledger.md`, or `answer-bank.md`.
|
|
163
163
|
|
|
164
164
|
The interview/core memory files remain the durable source for stories and proof. This skill may read them, but it must not move them into `~/.sellable/content/**`.
|
|
165
165
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: foundation
|
|
3
|
+
description: Build or update durable founder/company memory: voice, values, proof, stories, positioning, and writing rules.
|
|
4
|
+
visibility: public
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Foundation
|
|
8
|
+
|
|
9
|
+
<command_model>
|
|
10
|
+
`foundation` is the public command for core Sellable memory.
|
|
11
|
+
|
|
12
|
+
Use it when the user wants to set up or update who they are, what the company
|
|
13
|
+
is, what proof exists, what stories are reusable, what voice/taste rules matter,
|
|
14
|
+
or what writing context should guide downstream content and campaigns.
|
|
15
|
+
|
|
16
|
+
This is a wrapper over the tested `interview` engine. Do not create a separate
|
|
17
|
+
foundation compiler or memory layout. Load and follow:
|
|
18
|
+
|
|
19
|
+
`mcp__sellable__get_subskill_prompt({ subskillName: "interview" })`
|
|
20
|
+
|
|
21
|
+
`interview` remains the internal/backward-compatible prompt that writes:
|
|
22
|
+
|
|
23
|
+
- `~/.sellable/configs/core/**`
|
|
24
|
+
- `~/.sellable/interviews/**`
|
|
25
|
+
|
|
26
|
+
Downstream commands such as `content`, `create-post`, and `create-campaign`
|
|
27
|
+
load this foundation through `mcp__sellable__get_engage_memory` where relevant.
|
|
28
|
+
</command_model>
|
|
29
|
+
|
|
30
|
+
<workflow>
|
|
31
|
+
1. Load the canonical memory workflow with
|
|
32
|
+
`mcp__sellable__get_subskill_prompt({ subskillName: "interview" })`.
|
|
33
|
+
2. Continue chunked prompt loads until `hasMore=false`.
|
|
34
|
+
3. Load any `interview` reference files the canonical prompt asks for with
|
|
35
|
+
`mcp__sellable__get_subskill_asset({ subskillName: "interview", assetPath: "references/<file>.md" })`.
|
|
36
|
+
4. Follow `interview` exactly for source capture, questions, compilation,
|
|
37
|
+
privacy handling, proof/story/answer memory, and write-back locations.
|
|
38
|
+
5. If a source note is really a post idea rather than foundation memory, route
|
|
39
|
+
it to `$sellable:content`.
|
|
40
|
+
</workflow>
|
|
41
|
+
|
|
42
|
+
<boundaries>
|
|
43
|
+
Do not draft posts here. Use `$sellable:content` for raw content material and
|
|
44
|
+
`$sellable:create-post` for direct post drafting.
|
|
45
|
+
|
|
46
|
+
Do not create campaigns here. Use `$sellable:create-campaign`.
|
|
47
|
+
|
|
48
|
+
Do not move identity, proof, stories, answer-bank entries, transcript archives,
|
|
49
|
+
or anti-AI rules into `~/.sellable/content/**`.
|
|
50
|
+
</boundaries>
|
|
@@ -17,7 +17,7 @@ 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
19
|
memory files, and do not update `~/.sellable/**` unless the user explicitly
|
|
20
|
-
asks to switch into `$sellable:
|
|
20
|
+
asks to switch into `$sellable:foundation`.
|
|
21
21
|
|
|
22
22
|
This is no longer a normal public command. Use `$sellable:create-post` for
|
|
23
23
|
LinkedIn posts; that workflow loads voice internally. Use
|
|
@@ -104,7 +104,7 @@ file points to one and the current task needs that source detail.
|
|
|
104
104
|
metrics, customer facts, or beliefs.
|
|
105
105
|
- If the user says the output is wrong, ask what feels off and accept messy
|
|
106
106
|
dictated notes. Use that correction in the current thread. If they want the
|
|
107
|
-
correction saved durably, route them to `$sellable:
|
|
107
|
+
correction saved durably, route them to `$sellable:foundation`.
|
|
108
108
|
</operating_rules>
|
|
109
109
|
|
|
110
110
|
<response_shape>
|