@sellable/mcp 0.1.265 → 0.1.267

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/mcp",
3
- "version": "0.1.265",
3
+ "version": "0.1.267",
4
4
  "type": "module",
5
5
  "description": "Sellable MCP server for Claude Code and Codex campaign workflows",
6
6
  "main": "dist/index.js",
@@ -34,6 +34,11 @@ If foundation memory is missing or too thin, ask the user to run
34
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
+
38
+ Captured ideas must be matched against transcript-derived content memory before
39
+ premise development. The goal is to find the user's existing worldview, repeated
40
+ phrases, proof, stories, objections, and hot-take ingredients that make the idea
41
+ sound earned instead of newly invented.
37
42
  </command_model>
38
43
 
39
44
  <role>
@@ -156,6 +161,23 @@ post seeds. If the cluster is weak, ask workshop questions before drafting. If
156
161
  the seed is mature, use it as the source packet for premise development and
157
162
  external LinkedIn research.
158
163
 
164
+ For every new captured idea, create a `Transcript Worldview Packet` before hook
165
+ research:
166
+
167
+ - relevant transcript index rows or content-memory clusters
168
+ - matched story cards, proof cards, question cards, and post seeds
169
+ - repeated user phrasing worth preserving
170
+ - worldview ingredients: what the user seems to believe from lived experience
171
+ - hot-take ingredients: where the user disagrees with common advice
172
+ - proof/story available
173
+ - proof/story missing
174
+ - private or sensitive material to avoid
175
+
176
+ If no relevant transcript/content-memory material exists, say
177
+ `transcript_memory_match: weak` and continue only from the raw source and core
178
+ memory. Do not fabricate worldview. Ask one or two focused questions when the
179
+ draft would otherwise depend on missing lived proof.
180
+
159
181
  `writing/posts.md` is a post-writing config file, not a draft library. Treat its structure this way:
160
182
 
161
183
  - Top scratch or `## Draft Rule Candidates` sections are candidate taste notes only.
@@ -223,12 +245,15 @@ Use when the user gives a new rough idea, voice memo transcript, freestyle note,
223
245
 
224
246
  1. Call `mcp__sellable__capture_post_idea` before transformation.
225
247
  2. Preserve the raw source exactly.
226
- 3. Distill only what the user actually said.
227
- 4. Run hook research.
228
- 5. Develop and select a premise card.
229
- 6. Save hook research.
230
- 7. Draft and validate.
231
- 8. Save the draft.
248
+ 3. Run the `Transcript Worldview Packet` match against transcript/content-memory
249
+ clusters before research or hook generation.
250
+ 4. Distill only what the user actually said plus source-backed transcript
251
+ worldview/proof ingredients. Label anything inferred from transcripts.
252
+ 5. Run hook research.
253
+ 6. Develop and select a premise card.
254
+ 7. Save hook research.
255
+ 8. Draft and validate.
256
+ 9. Save the draft.
232
257
 
233
258
  ## Ad Hoc Mode
234
259
 
@@ -293,6 +318,8 @@ The approved pack is capped at 20 gold standards. If adding new approved example
293
318
 
294
319
  Use when the user names creators, thought leaders, profile URLs, or says to
295
320
  write variants using a specific person's recent best content as inspiration.
321
+ Also use this mode when the user says "use my configured thought leaders",
322
+ "use my influencers", "use the tracked people list", or similar.
296
323
 
297
324
  This mode does not clone the person's voice. It extracts public, reusable
298
325
  mechanics from their recent posts and adapts those mechanics into the user's
@@ -301,12 +328,18 @@ voice, proof, story, and product truth.
301
328
  Default workflow:
302
329
 
303
330
  1. Normalize the requested people into a `thought_leader_list` with name,
304
- LinkedIn profile URL or handle, reason, and optional lane.
331
+ LinkedIn profile URL or handle, reason, and optional lane. If the user asks
332
+ for the configured list, load it from memory-backed
333
+ `discovery/influencers.md` and include only rows where
334
+ `Include in Discovery` is not `false`. Treat the `Reason` column as the
335
+ person's lane/adaptation brief.
305
336
  2. If the user gives only a name and the profile cannot be resolved from
306
337
  tracked people or memory, ask for the profile URL or handle before running
307
338
  person-specific research.
308
339
  3. When the host supports background agents, launch one bounded
309
340
  `thought-leader-worker` per person. If not, process each person sequentially.
341
+ Each configured person must receive full person-specific research; do not
342
+ collapse the configured list into generic space research.
310
343
  4. Each worker fetches that person's recent posts with
311
344
  `mcp__sellable__fetch_linkedin_posts`, and fetches profile/follower context
312
345
  with `mcp__sellable__fetch_linkedin_profile` when available.
@@ -381,6 +414,12 @@ Visible Flow Trace
381
414
  - raw source preserved:
382
415
  - distilled brief:
383
416
  - claims added or avoided:
417
+ - transcript/content-memory matches:
418
+ - worldview ingredients from transcripts:
419
+ - hot-take ingredients from transcripts:
420
+ - proof/story pulled:
421
+ - proof/story gaps:
422
+ - private/sensitive exclusions:
384
423
 
385
424
  2. Research Search Log
386
425
  - search window:
@@ -539,6 +578,8 @@ Quality-break rules:
539
578
  3. Load the gold-standard post pack if present.
540
579
  4. Verify auth/workspace if hook research will use Sellable search.
541
580
  5. Capture or load the source idea.
581
+ 6. Run a transcript/content-memory match for the source idea before hook
582
+ research.
542
583
 
543
584
  If local idea capture succeeds but auth/workspace is missing, keep the idea and return a typed blocked state for draft readiness:
544
585
 
@@ -548,6 +589,35 @@ If local idea capture succeeds but auth/workspace is missing, keep the idea and
548
589
  - `zero_useful_hook_results`
549
590
  - `full_text_unavailable`
550
591
 
592
+ ## Step 0.5: Transcript Worldview Packet
593
+
594
+ After raw capture and before hook research, match the source idea against
595
+ `core/transcripts/INDEX.md`, `core/content-memory/INDEX.md`, relevant cluster
596
+ files, story/proof/question cards, post seeds, and approved core references
597
+ returned by `mcp__sellable__get_engage_memory`.
598
+
599
+ The packet must answer:
600
+
601
+ ```text
602
+ Transcript Worldview Packet
603
+ - source idea id:
604
+ - matched clusters:
605
+ - matched transcript references:
606
+ - matched cards/seeds:
607
+ - repeated user phrasing:
608
+ - worldview ingredients:
609
+ - hot-take ingredients:
610
+ - proof/story available:
611
+ - proof/story missing:
612
+ - private/sensitive exclusions:
613
+ - confidence: strong | medium | weak
614
+ ```
615
+
616
+ Use this packet to shape premise cards, audience tension, hooks, and body
617
+ expression. Do not treat it as permission to add unsupported claims. If the
618
+ packet is weak, keep the post closer to the raw idea and ask for the missing
619
+ proof/story before marking a draft ready.
620
+
551
621
  ## Step 1: Hook Research
552
622
 
553
623
  Use `references/hook-research-playbook.md`.
@@ -566,6 +636,9 @@ The research worker must return a compact packet only:
566
636
  - audience tension snapshot: resonating ideas, visible tensions, audience wants,
567
637
  objections, fears, and credible angles
568
638
  - premise inputs: real scenes, observed tensions, reader value openings, and proof gaps
639
+ - transcript worldview packet: matched clusters, transcript references,
640
+ repeated phrasing, worldview ingredients, hot-take ingredients, proof/story
641
+ available, proof/story missing
569
642
  - exact phrase patterns and sentence shapes
570
643
  - post positioning breakdowns that label each meaningful line or phrase by
571
644
  narrative job and category
@@ -619,6 +692,7 @@ Record provenance:
619
692
  - lead-magnet or engagement-bait penalties
620
693
  - story mechanism when relevant
621
694
  - full-text match status
695
+ - transcript/content-memory match status and worldview packet
622
696
  - source hook preview measurements and whether they came from full text or a search preview
623
697
  - selected hook patterns
624
698
  - audience tension snapshot and selected angle
@@ -651,6 +725,7 @@ The `Research Learning Report` must include:
651
725
  ```text
652
726
  Research status:
653
727
  - idea/topic:
728
+ - transcript worldview packet:
654
729
  - research artifact:
655
730
  - search window:
656
731
  - keywords:
@@ -993,6 +1068,7 @@ mechanics as inspiration, in Christian/Sellable voice."
993
1068
  Draft from:
994
1069
 
995
1070
  - exact raw idea
1071
+ - transcript worldview packet
996
1072
  - selected premise card
997
1073
  - selected hook
998
1074
  - approved or latest `Pre-Draft Narrative Outline`
@@ -1019,6 +1095,7 @@ Every saved draft needs a validation receipt with:
1019
1095
 
1020
1096
  - source idea ID
1021
1097
  - hook research ID
1098
+ - transcript worldview packet
1022
1099
  - iteration metadata: version, priorDraftId, changeIntent, what changed,
1023
1100
  what improved, what got worse, score, and verdict
1024
1101
  - selected premise card
@@ -232,6 +232,8 @@ Record:
232
232
 
233
233
  - real story or scene candidates from the raw idea, memory, transcript, or
234
234
  current-session context
235
+ - transcript worldview packet matches: clusters, transcript references, cards,
236
+ repeated phrasing, worldview ingredients, and hot-take ingredients
235
237
  - observed pattern candidates when no first-person story is available
236
238
  - visible tension: the uncomfortable gap, cost, contradiction, or tradeoff
237
239
  - common belief: what the audience probably believes right now
@@ -239,6 +241,7 @@ Record:
239
241
  - reader value: what the reader learns, sees differently, or can do
240
242
  - proof available: what can be safely used
241
243
  - proof missing: what cannot be claimed without user confirmation
244
+ - private/sensitive transcript material to exclude
242
245
 
243
246
  If this section is weak, say so. Do not let the hook lab proceed as if a clever
244
247
  opening can create value that the premise does not have.
@@ -696,8 +699,12 @@ best source" tension. Do not borrow the source's dinner/community proof.
696
699
  ## Thought Leader Inspiration Workers
697
700
 
698
701
  When the user supplies a list of thought leaders, creators, profile URLs, or
699
- handles, run a separate inspiration analysis per person. This is different from
700
- general search: the source set is the person's own recent content.
702
+ handles, run a separate inspiration analysis per person. Also do this when the
703
+ user asks for configured thought leaders, influencers, or tracked people. The
704
+ configured source is memory-backed `discovery/influencers.md`; include only
705
+ rows where `Include in Discovery` is not `false`, and treat each row's `Reason`
706
+ as that person's lane/adaptation brief. This is different from general search:
707
+ the source set is the person's own recent content.
701
708
 
702
709
  Use one bounded background worker per person when the host supports background
703
710
  agents. If not, process the list sequentially. Each worker must keep its output
@@ -706,7 +713,8 @@ compact and must not return a full corpus dump.
706
713
  Worker steps:
707
714
 
708
715
  1. Resolve the person's profile URL or handle from the user input, tracked
709
- people, or memory. If unresolved, ask for the URL/handle.
716
+ people, or memory. If the user asked for the configured list, resolve from
717
+ `discovery/influencers.md` first. If unresolved, ask for the URL/handle.
710
718
  2. Fetch recent posts with `mcp__sellable__fetch_linkedin_posts`.
711
719
  3. Fetch profile/follower context with `mcp__sellable__fetch_linkedin_profile`
712
720
  when available.
@@ -728,6 +736,12 @@ Worker steps:
728
736
  8. Create one adapted direction for the user's selected premise in
729
737
  Christian/Sellable voice.
730
738
 
739
+ Each configured person must receive a full person-specific packet. Do not
740
+ summarize the group as a single "GTM influencers" research pass. The later
741
+ drafting stage should be able to compare how Alex, Zayd, Tas, Anthony, or any
742
+ other configured person would structurally pressure-test the same Christian
743
+ idea without copying their voice, proof, jokes, or persona.
744
+
731
745
  Worker output:
732
746
 
733
747
  ```text
@@ -50,10 +50,13 @@ Idea files must preserve:
50
50
  - `updatedAt`
51
51
  - exact raw source between raw-source markers
52
52
  - optional distilled brief that does not add new claims
53
+ - transcript worldview packet when create-post has mined relevant
54
+ transcript/content-memory material for this idea
53
55
 
54
56
  Hook research files must preserve:
55
57
 
56
58
  - source idea ID
59
+ - transcript/content-memory match status and transcript worldview packet
57
60
  - keywords searched
58
61
  - filters used
59
62
  - source post URLs
@@ -86,6 +89,8 @@ Draft files must preserve:
86
89
 
87
90
  - source idea ID
88
91
  - hook research ID
92
+ - transcript worldview packet used to build the premise, worldview, and hot
93
+ take
89
94
  - versioned draft ID, normally ending in `_v1`, `_v2`, `_v3`, etc.
90
95
  - iteration metadata when there is a prior or baseline draft:
91
96
  - `version`
@@ -6,6 +6,7 @@ Every saved draft needs a validation receipt. A draft without this receipt is no
6
6
 
7
7
  - `sourceIdeaId`
8
8
  - `hookResearchId`
9
+ - `transcriptWorldviewPacket`
9
10
  - `iteration`
10
11
  - `selectedPremiseCard`
11
12
  - `candidateHooksConsidered`
@@ -25,6 +26,8 @@ Every saved draft needs a validation receipt. A draft without this receipt is no
25
26
  step-by-step mode
26
27
  - `proofClaimsUsed`
27
28
  - `proofClaimSources`
29
+ - `worldviewSource`
30
+ - `hotTakeSource`
28
31
  - `storyFilesConsulted`
29
32
  - `goldStandardsConsulted`
30
33
  - `voiceRulesApplied`
@@ -172,6 +175,12 @@ Record:
172
175
  - `readerValue`: what the reader learns, sees differently, or can do
173
176
  - `proofAvailable`: source-backed proof used
174
177
  - `proofMissing`: claims intentionally avoided or requiring user input
178
+ - `transcriptWorldviewPacket`: clusters, transcript references, cards, repeated
179
+ phrasing, worldview ingredients, hot-take ingredients, proof/story available,
180
+ proof/story missing, private exclusions, and confidence
181
+ - `worldviewSource`: the source-backed belief that makes the post feel earned
182
+ - `hotTakeSource`: the source-backed disagreement or operating lesson behind
183
+ the hook/premise
175
184
  - `sourceMessageOutline`: source post decomposition in original order, with
176
185
  paragraph/line/phrase branches, high-level goal of each branch, reader effect,
177
186
  reusable move, and adaptation guard
@@ -192,6 +201,10 @@ If the draft has no specific scene or observed pattern, no visible tension, or
192
201
  no reader value beyond "this is interesting," save as `needs_revision`. Do not
193
202
  mark it `ready` because the hook passes preview limits.
194
203
 
204
+ Save as `needs_revision` when the post claims a worldview or hot take but the
205
+ receipt cannot trace it to raw source, transcript/content-memory, core memory,
206
+ or a current user answer.
207
+
195
208
  ## Pre-Draft Narrative Outline Audit
196
209
 
197
210
  Before a draft can be `ready`, validate that the narrative outline was locked
@@ -61,10 +61,14 @@ Before writing premise cards, search the available source material:
61
61
 
62
62
  - raw idea text
63
63
  - voice memo or transcript if provided
64
+ - `Transcript Worldview Packet` from create-post capture
64
65
  - `core/story-bank.md`
65
66
  - `core/answer-bank.md`
66
67
  - `core/proof-ledger.md`
67
68
  - `core/wins-ledger.md`
69
+ - `core/transcripts/INDEX.md`
70
+ - `core/content-memory/INDEX.md`, relevant clusters, cards, questions, and
71
+ post seeds
68
72
  - approved references and gold standards
69
73
  - current-session user corrections or rejections
70
74
 
@@ -76,11 +80,37 @@ Look for:
76
80
  - a before/after: what changed in the user's belief
77
81
  - a specific object: Slack note, customer call, campaign table, reply, list,
78
82
  demo, failed draft, stale idea, messy workflow
83
+ - repeated worldview: the user's recurring operating belief behind the idea
84
+ - hot-take ingredient: the specific advice, default behavior, or market cliche
85
+ the user is pushing against
79
86
 
80
87
  If no real story is present, use an observed pattern only if it is traceable to
81
88
  the raw source or memory. Mark the gap in the premise card. Do not fabricate a
82
89
  customer, call, outcome, date, metric, or private scene.
83
90
 
91
+ ## Worldview And Hot-Take Extraction
92
+
93
+ Before scoring premise cards, extract the user's source-backed worldview from
94
+ the transcript packet:
95
+
96
+ ```text
97
+ Worldview extraction:
98
+ - worldview claim:
99
+ - source transcript/cluster/card:
100
+ - repeated phrase or language pattern:
101
+ - lived proof behind it:
102
+ - common advice it challenges:
103
+ - hot take version:
104
+ - public-safe version:
105
+ - private/sensitive material to avoid:
106
+ - confidence: strong | medium | weak
107
+ ```
108
+
109
+ A good hot take is not just a contrarian sentence. It must trace to something
110
+ the user has said, seen, shipped, sold, or learned repeatedly. If the hot take
111
+ only exists because an outside creator framed it well, mark it as borrowed and
112
+ do not use it as the user's premise.
113
+
84
114
  ## Premise Cards
85
115
 
86
116
  Generate 3-5 premise cards before hooks. Each card must use this shape:
@@ -121,6 +151,12 @@ proof available:
121
151
  proof missing:
122
152
  <claims that cannot be made yet>
123
153
 
154
+ worldview source:
155
+ <transcript/cluster/card/source-backed belief used>
156
+
157
+ hot take:
158
+ <public-safe sharp version of the user's source-backed disagreement>
159
+
124
160
  best frame:
125
161
  story | contrarian take | teardown | founder confession | future thesis | lesson
126
162