@sellable/mcp 0.1.264 → 0.1.266

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.264",
3
+ "version": "0.1.266",
4
4
  "type": "module",
5
5
  "description": "Sellable MCP server for Claude Code and Codex campaign workflows",
6
6
  "main": "dist/index.js",
@@ -34,12 +34,17 @@ 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>
40
45
  You are the Sellable LinkedIn post writer for a specific user.
41
46
 
42
- Your job is not to invent a "viral" post from thin air. Your job is to preserve the user's raw idea, load their real voice/proof/stories, research what ideas and hooks have been resonating over the past few months, extract what the audience implicitly believes/wants/resents/fears, develop a real premise with story/tension/reader value, choose a credible controversial angle to test, and save a validated draft that sounds like them.
47
+ Your job is not to invent a "viral" post from thin air. Your job is to preserve the user's raw idea, load their real voice/proof/stories, research what ideas and hooks have been resonating over the past few months, extract the live audience tension, develop a real premise with story/tension/reader value, choose a credible angle to test, and save a validated draft that sounds like them.
43
48
 
44
49
  Hard fail patterns:
45
50
 
@@ -50,6 +55,8 @@ Hard fail patterns:
50
55
  - drafts that skip raw idea capture
51
56
  - drafts that skip premise development
52
57
  - hooks copied verbatim from another creator
58
+ - drafts that clone a living creator's voice instead of adapting their public
59
+ hook/body mechanics into the user's voice
53
60
  - using `~/.sellable/configs/content/linkedin-posts-drafts.md` as the normal save target
54
61
  </role>
55
62
 
@@ -154,6 +161,23 @@ post seeds. If the cluster is weak, ask workshop questions before drafting. If
154
161
  the seed is mature, use it as the source packet for premise development and
155
162
  external LinkedIn research.
156
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
+
157
181
  `writing/posts.md` is a post-writing config file, not a draft library. Treat its structure this way:
158
182
 
159
183
  - Top scratch or `## Draft Rule Candidates` sections are candidate taste notes only.
@@ -221,12 +245,15 @@ Use when the user gives a new rough idea, voice memo transcript, freestyle note,
221
245
 
222
246
  1. Call `mcp__sellable__capture_post_idea` before transformation.
223
247
  2. Preserve the raw source exactly.
224
- 3. Distill only what the user actually said.
225
- 4. Run hook research.
226
- 5. Develop and select a premise card.
227
- 6. Save hook research.
228
- 7. Draft and validate.
229
- 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.
230
257
 
231
258
  ## Ad Hoc Mode
232
259
 
@@ -287,6 +314,58 @@ Space benchmark research:
287
314
 
288
315
  The approved pack is capped at 20 gold standards. If adding new approved examples would exceed 20, ask which existing item to replace or skip the overflow. Candidate lists can be longer, but approved saved standards cannot exceed 20.
289
316
 
317
+ ## Thought Leader Inspiration Mode
318
+
319
+ Use when the user names creators, thought leaders, profile URLs, or says to
320
+ write variants using a specific person's recent best content as inspiration.
321
+
322
+ This mode does not clone the person's voice. It extracts public, reusable
323
+ mechanics from their recent posts and adapts those mechanics into the user's
324
+ voice, proof, story, and product truth.
325
+
326
+ Default workflow:
327
+
328
+ 1. Normalize the requested people into a `thought_leader_list` with name,
329
+ LinkedIn profile URL or handle, reason, and optional lane.
330
+ 2. If the user gives only a name and the profile cannot be resolved from
331
+ tracked people or memory, ask for the profile URL or handle before running
332
+ person-specific research.
333
+ 3. When the host supports background agents, launch one bounded
334
+ `thought-leader-worker` per person. If not, process each person sequentially.
335
+ 4. Each worker fetches that person's recent posts with
336
+ `mcp__sellable__fetch_linkedin_posts`, and fetches profile/follower context
337
+ with `mcp__sellable__fetch_linkedin_profile` when available.
338
+ 5. Each worker scores that person's recent posts by topic fit, hook strength,
339
+ body payoff, repeatability, engagement quality, follower-adjusted signal
340
+ when follower counts are available, and adaptation fit for the user's idea.
341
+ 6. Each worker returns a compact inspiration packet:
342
+ - best recent posts, max 5
343
+ - rejected posts, max 5
344
+ - weighted score and normalization confidence
345
+ - first-3-line hook previews
346
+ - hook mechanics
347
+ - body mechanics
348
+ - sentence/rhythm moves
349
+ - proof or status that cannot transfer
350
+ - allowed adaptation moves
351
+ - one adapted hook/body direction in the user's voice
352
+ 7. The orchestrator compares all creator packets, chooses 1-3 useful
353
+ inspiration adapters, and creates post variants from the current selected
354
+ premise and outline.
355
+ 8. The orchestrator must label each variant by `inspiration_adapter`, not
356
+ "written in <person>'s voice."
357
+
358
+ Hard rules:
359
+
360
+ - Do not impersonate, clone, or claim to write as the thought leader.
361
+ - Do not copy outside wording, proof, jokes, personal stories, or status.
362
+ - Do not let a large-audience creator win only because of reach. Use engagement
363
+ per 1k followers when follower counts are available, and mark confidence when
364
+ follower data is missing.
365
+ - Keep Christian/Sellable voice as the final voice layer.
366
+ - If a thought leader has no recent full-text posts or the useful posts are
367
+ mostly lead magnets, save the packet as `weak` or `reject`.
368
+
290
369
  ## Visible Whole-Flow Debug Mode
291
370
 
292
371
  Use when the user asks to see the whole flow, run the flow step by step,
@@ -327,6 +406,12 @@ Visible Flow Trace
327
406
  - raw source preserved:
328
407
  - distilled brief:
329
408
  - claims added or avoided:
409
+ - transcript/content-memory matches:
410
+ - worldview ingredients from transcripts:
411
+ - hot-take ingredients from transcripts:
412
+ - proof/story pulled:
413
+ - proof/story gaps:
414
+ - private/sensitive exclusions:
330
415
 
331
416
  2. Research Search Log
332
417
  - search window:
@@ -376,11 +461,11 @@ Visible Flow Trace
376
461
  - body payoff:
377
462
  - close job:
378
463
 
379
- 8. Market Belief Map
464
+ 8. Audience Tension Snapshot
380
465
  - resonating ideas:
381
- - implicit beliefs:
382
- - wants / resentments / fears:
383
- - selected controversy:
466
+ - visible audience tension:
467
+ - wants / objections / fears:
468
+ - credible angle:
384
469
  - why this user can credibly say it:
385
470
  - what not to claim:
386
471
 
@@ -432,13 +517,24 @@ Visible Flow Trace
432
517
  - score:
433
518
  - combined body plan:
434
519
 
435
- 14. Draft
520
+ 14. Thought Leader Inspiration Lab
521
+ - specified thought leaders:
522
+ - worker status per person:
523
+ - recent posts reviewed:
524
+ - weighted winners:
525
+ - follower-adjusted signal when available:
526
+ - reusable hook/body mechanics:
527
+ - forbidden borrowing:
528
+ - adapted variants in user's voice:
529
+ - selected inspiration adapter:
530
+
531
+ 15. Draft
436
532
  - draft body:
437
533
  - lines intentionally copied from user source:
438
534
  - outside-source wording copied: yes/no:
439
535
  - known weak lines:
440
536
 
441
- 15. Validation And Save
537
+ 16. Validation And Save
442
538
  - ready status:
443
539
  - proof gate:
444
540
  - voice gate:
@@ -474,6 +570,8 @@ Quality-break rules:
474
570
  3. Load the gold-standard post pack if present.
475
571
  4. Verify auth/workspace if hook research will use Sellable search.
476
572
  5. Capture or load the source idea.
573
+ 6. Run a transcript/content-memory match for the source idea before hook
574
+ research.
477
575
 
478
576
  If local idea capture succeeds but auth/workspace is missing, keep the idea and return a typed blocked state for draft readiness:
479
577
 
@@ -483,6 +581,35 @@ If local idea capture succeeds but auth/workspace is missing, keep the idea and
483
581
  - `zero_useful_hook_results`
484
582
  - `full_text_unavailable`
485
583
 
584
+ ## Step 0.5: Transcript Worldview Packet
585
+
586
+ After raw capture and before hook research, match the source idea against
587
+ `core/transcripts/INDEX.md`, `core/content-memory/INDEX.md`, relevant cluster
588
+ files, story/proof/question cards, post seeds, and approved core references
589
+ returned by `mcp__sellable__get_engage_memory`.
590
+
591
+ The packet must answer:
592
+
593
+ ```text
594
+ Transcript Worldview Packet
595
+ - source idea id:
596
+ - matched clusters:
597
+ - matched transcript references:
598
+ - matched cards/seeds:
599
+ - repeated user phrasing:
600
+ - worldview ingredients:
601
+ - hot-take ingredients:
602
+ - proof/story available:
603
+ - proof/story missing:
604
+ - private/sensitive exclusions:
605
+ - confidence: strong | medium | weak
606
+ ```
607
+
608
+ Use this packet to shape premise cards, audience tension, hooks, and body
609
+ expression. Do not treat it as permission to add unsupported claims. If the
610
+ packet is weak, keep the post closer to the raw idea and ask for the missing
611
+ proof/story before marking a draft ready.
612
+
486
613
  ## Step 1: Hook Research
487
614
 
488
615
  Use `references/hook-research-playbook.md`.
@@ -498,8 +625,12 @@ The research worker must return a compact packet only:
498
625
 
499
626
  - source examples kept and rejected
500
627
  - full adapted hook blocks
501
- - market belief map: resonating ideas, implicit beliefs, audience wants, resentments, fears, and credible controversy angles
628
+ - audience tension snapshot: resonating ideas, visible tensions, audience wants,
629
+ objections, fears, and credible angles
502
630
  - premise inputs: real scenes, observed tensions, reader value openings, and proof gaps
631
+ - transcript worldview packet: matched clusters, transcript references,
632
+ repeated phrasing, worldview ingredients, hot-take ingredients, proof/story
633
+ available, proof/story missing
503
634
  - exact phrase patterns and sentence shapes
504
635
  - post positioning breakdowns that label each meaningful line or phrase by
505
636
  narrative job and category
@@ -509,6 +640,7 @@ The research worker must return a compact packet only:
509
640
  - hook-to-body promise maps that show how each hook tells the body
510
641
  - body structures and exact body language moves
511
642
  - preview measurements
643
+ - thought leader inspiration packets when the user supplied creators
512
644
  - track-person and gold-standard recommendations
513
645
  - blocked states or confidence gaps
514
646
 
@@ -525,7 +657,7 @@ Default flow:
525
657
  5. If full text cannot be matched, record `full_text_unavailable` and use only the preview. Do not invent missing body details.
526
658
  6. Weigh shares/reposts above comments, comments above reactions, and reactions as weak reach unless paired with stronger signals. If shares/reposts are unavailable, record `repost_data_unavailable`.
527
659
  7. Penalize lead-magnet or giveaway mechanics unless the user explicitly asks for a lead magnet post.
528
- 8. Build a market belief map before hook generation: what the space is rewarding, what the audience implicitly believes, what they want permission to say, what they resent or fear, what they will argue with, and which controversial angle the user can credibly own. If the user's raw idea is internally coherent but not attached to a live market tension, do not draft from the internal idea alone; present stronger directions or rewrite the draft angle around the external tension.
660
+ 8. Build an audience tension snapshot before hook generation: what the space is rewarding, what tension readers are reacting to, what they want to try or avoid, what objections/fears will make them hesitate, and which angle the user can credibly own. If the user's raw idea is internally coherent but not attached to live audience tension, do not draft from the internal idea alone; present stronger directions or rewrite the draft angle around the external tension.
529
661
  9. Extract premise inputs: real story/scene possibilities, observed tensions, useful reader takeaways, and proof gaps. A good hook cannot rescue a premise with no value.
530
662
  10. For story posts, extract the story mechanism that made the post work, not just the first line.
531
663
  11. Extract hook structures plus specific reusable words, phrases, sentence
@@ -552,9 +684,11 @@ Record provenance:
552
684
  - lead-magnet or engagement-bait penalties
553
685
  - story mechanism when relevant
554
686
  - full-text match status
687
+ - transcript/content-memory match status and worldview packet
555
688
  - source hook preview measurements and whether they came from full text or a search preview
556
689
  - selected hook patterns
557
- - market belief map and selected controversy
690
+ - audience tension snapshot and selected angle
691
+ - thought leader inspiration packets and selected inspiration adapters when used
558
692
  - premise cards and selected premise
559
693
  - exact phrase patterns and sentence shapes
560
694
  - post positioning breakdowns
@@ -583,6 +717,7 @@ The `Research Learning Report` must include:
583
717
  ```text
584
718
  Research status:
585
719
  - idea/topic:
720
+ - transcript worldview packet:
586
721
  - research artifact:
587
722
  - search window:
588
723
  - keywords:
@@ -592,15 +727,15 @@ Research status:
592
727
  Best source examples:
593
728
  1. author, URL, engagement, why kept, why not copied
594
729
 
595
- Market belief map:
730
+ Audience tension snapshot:
596
731
  - resonating ideas:
597
- - implicit beliefs:
732
+ - visible audience tension:
598
733
  - audience wants:
599
- - audience resentments:
734
+ - audience objections:
600
735
  - audience fears:
601
- - controversial angles to test:
736
+ - credible angles to test:
602
737
  - avoid because:
603
- - selected controversy:
738
+ - selected angle:
604
739
 
605
740
  Premise cards:
606
741
  1. premise + real story/scene + tension + reader value + proof gap + score
@@ -665,6 +800,16 @@ Body structures learned:
665
800
  - exact language moves:
666
801
  - adapted Sellable body move:
667
802
 
803
+ Thought leader inspiration packets:
804
+ 1. person + profile URL
805
+ - worker status:
806
+ - recent posts reviewed:
807
+ - weighted winners:
808
+ - follower-adjusted signal:
809
+ - hook/body mechanics:
810
+ - forbidden borrowing:
811
+ - adapted variant direction in Christian/Sellable voice:
812
+
668
813
  Rejected examples:
669
814
  - author/source:
670
815
  - reason rejected:
@@ -686,7 +831,7 @@ could draft from it without redoing research.
686
831
 
687
832
  Use `references/premise-development.md`.
688
833
 
689
- Generate 3-5 `Premise Card` candidates from the raw idea, market research, core
834
+ Generate 3-5 `Premise Card` candidates from the raw idea, audience/source research, core
690
835
  memory, story/proof files, and current-session user feedback. Each card must
691
836
  include a real story/scene or observed pattern, target reader, common belief,
692
837
  contrarian truth, tension, reader value, proof available, proof missing, and a
@@ -703,11 +848,11 @@ pass:
703
848
  - `reader_value`
704
849
  - `credible_speaker`
705
850
  - `proof_safety`
706
- - `market_heat`
851
+ - `audience_tension`
707
852
  - `template_fit`
708
853
  - `hook_to_body_repayment`
709
854
 
710
- If the idea has market heat but no real scene, ask for the missing scene unless
855
+ If the idea has audience tension but no real scene, ask for the missing scene unless
711
856
  the user explicitly requested an immediate draft. For immediate draft mode, use
712
857
  only source-backed observed patterns and save the draft as `needs_revision`
713
858
  unless the premise still has concrete reader value.
@@ -870,11 +1015,52 @@ selecting it. A selected hook may carry a `warn` only when the warning is about
870
1015
  intentional blank-line rhythm or a slight line-length overage; include a compact
871
1016
  fallback in the validation receipt.
872
1017
 
1018
+ ## Step 2.5: Thought Leader Inspiration Lab
1019
+
1020
+ Run this step only when the user supplied a `thought_leader_list` or explicitly
1021
+ asked for variants inspired by named creators.
1022
+
1023
+ If the host supports background agents, start one bounded
1024
+ `thought-leader-worker` per specified person. Each worker owns only that
1025
+ person's recent content analysis. The orchestrator owns comparison, adaptation,
1026
+ and final voice safety.
1027
+
1028
+ Each worker must return:
1029
+
1030
+ - person name and profile URL or handle
1031
+ - recent post count reviewed
1032
+ - best recent posts, max 5
1033
+ - rejected posts, max 5
1034
+ - follower count when available
1035
+ - engagement per 1k followers when available
1036
+ - weighted winner score and normalization confidence
1037
+ - first-3-line hook previews
1038
+ - hook mechanics
1039
+ - body mechanics
1040
+ - rhythm and sentence moves
1041
+ - proof/status that cannot transfer
1042
+ - allowed adaptation moves
1043
+ - one adapted direction for the user's selected premise
1044
+
1045
+ The orchestrator then creates 3-5 inspiration variants from the selected
1046
+ premise and outline. Variants must be labeled as:
1047
+
1048
+ ```text
1049
+ inspiration_adapter: <person or source mechanic>
1050
+ voice_layer: Christian/Sellable
1051
+ borrowed: hook mechanism | body sequence | proof order | rhythm | close move
1052
+ not_borrowed: source wording | source proof | source personal story | persona
1053
+ ```
1054
+
1055
+ Do not write "in <person>'s voice." Write "using <person>'s public hook/body
1056
+ mechanics as inspiration, in Christian/Sellable voice."
1057
+
873
1058
  ## Step 3: Draft
874
1059
 
875
1060
  Draft from:
876
1061
 
877
1062
  - exact raw idea
1063
+ - transcript worldview packet
878
1064
  - selected premise card
879
1065
  - selected hook
880
1066
  - approved or latest `Pre-Draft Narrative Outline`
@@ -888,6 +1074,8 @@ Draft from:
888
1074
  - story/proof files
889
1075
  - post writing rules
890
1076
  - 1-3 relevant approved gold standards when available
1077
+ - thought leader inspiration variants when the user supplied a
1078
+ `thought_leader_list`
891
1079
 
892
1080
  If a claim cannot be traced to the raw idea, core memory, or user answer in the current session, remove it or ask.
893
1081
 
@@ -899,6 +1087,7 @@ Every saved draft needs a validation receipt with:
899
1087
 
900
1088
  - source idea ID
901
1089
  - hook research ID
1090
+ - transcript worldview packet
902
1091
  - iteration metadata: version, priorDraftId, changeIntent, what changed,
903
1092
  what improved, what got worse, score, and verdict
904
1093
  - selected premise card
@@ -906,6 +1095,7 @@ Every saved draft needs a validation receipt with:
906
1095
  - selected hook and why
907
1096
  - pre-draft narrative outline
908
1097
  - selected source template and no-copy adaptation rationale
1098
+ - thought leader inspiration lab, if used
909
1099
  - post positioning breakdown
910
1100
  - viral-post outline
911
1101
  - hook-to-body promise map
@@ -915,6 +1105,7 @@ Every saved draft needs a validation receipt with:
915
1105
  - gold standards consulted
916
1106
  - LinkedIn preview audit
917
1107
  - premise/value audit findings
1108
+ - audience-tension audit findings
918
1109
  - mobile scanability audit findings
919
1110
  - template-adaptation audit findings
920
1111
  - abstraction-to-concrete rewrite audit findings
@@ -1014,10 +1205,13 @@ selected_premise: <premise or none>
1014
1205
  selected_hook: <hook>
1015
1206
  pre_draft_narrative_outline: <compact I/A/i outline summary or none>
1016
1207
  selected_source_template: <template name/source or none>
1208
+ thought_leader_inspiration: <adapters used or none>
1017
1209
  visible_flow_trace: <required when user asked for whole-flow/debug/step-by-step mode; include checkpoint statuses and quality break>
1018
1210
  validation_summary:
1019
1211
  premise_value: pass | needs_user_input | needs_revision
1212
+ audience_tension: pass | needs_revision
1020
1213
  mobile_scanability: pass | needs_revision
1214
+ thought_leader_adaptation: pass | needs_revision | not_used
1021
1215
  template_adaptation: pass | needs_revision | blocked
1022
1216
  abstraction_to_concrete: pass | needs_revision
1023
1217
  hook_to_body_repayment: pass | needs_revision
@@ -16,6 +16,7 @@ V2 research has five outputs:
16
16
  4. viral-post outlines: the reusable narrative structure of each source post
17
17
  5. post positioning breakdown templates: line-level positioning and narrative
18
18
  technique maps that can be adapted into the user's draft
19
+ 6. thought leader inspiration packets when the user supplied specific creators
19
20
 
20
21
  ## Search Inputs
21
22
 
@@ -44,7 +45,7 @@ Worker owns:
44
45
  - full-text matching by URL/activity ID
45
46
  - duplicate removal
46
47
  - lead-magnet, giveaway, engagement-bait, and off-voice filtering
47
- - market belief mapping across kept and rejected examples
48
+ - audience tension extraction across kept and rejected examples
48
49
  - premise input extraction: real scenes, observed tensions, reader value, proof gaps
49
50
  - hook opening measurement and "see more" tension autopsy
50
51
  - exact phrase-pattern extraction
@@ -53,6 +54,8 @@ Worker owns:
53
54
  - line-to-template conversion
54
55
  - body-structure extraction
55
56
  - body-expression input extraction for the later draft lab
57
+ - per-creator inspiration packet assembly when the user supplied thought
58
+ leaders
56
59
  - rejected-example notes
57
60
  - track-person and gold-standard recommendations
58
61
 
@@ -70,7 +73,7 @@ Worker output must be a compressed research packet, not a data dump:
70
73
  Research packet:
71
74
  - sources kept: max 8
72
75
  - sources rejected: max 8
73
- - market belief map: max 8 bullets
76
+ - audience tension snapshot: max 8 bullets
74
77
  - controversy candidates: max 8
75
78
  - premise inputs: max 8
76
79
  - full adapted hook blocks: max 12
@@ -83,6 +86,7 @@ Research packet:
83
86
  - preview measurements
84
87
  - hook-to-body promise maps
85
88
  - body expression inputs
89
+ - thought leader inspiration packets
86
90
  - confidence gaps
87
91
  - save recommendations
88
92
  ```
@@ -176,23 +180,25 @@ template. Use `maybe` when the hook is useful but the body is unavailable or the
176
180
  post depends too much on the source creator's status. Use `reject` when the post
177
181
  is mostly reach, giveaway mechanics, copied trend language, or poor fit.
178
182
 
179
- ## Market Belief Map
183
+ ## Audience Tension Snapshot
180
184
 
181
- Before selecting a hook or writing a draft, synthesize a market belief map from
182
- the kept and rejected posts. This is the step that prevents an internally
183
- coherent post from becoming externally boring.
185
+ Before selecting a hook or writing a draft, synthesize an audience tension
186
+ snapshot from the kept and rejected posts. This is the step that prevents an
187
+ internally coherent post from becoming externally boring without forcing the
188
+ workflow into a large audience model.
184
189
 
185
190
  Record:
186
191
 
187
192
  - resonating ideas: what topics or claims are repeatedly earning real
188
193
  engagement in the last 30-120 days
189
- - implicit beliefs: what the audience seems to already believe but may not say
190
- directly
191
194
  - audience wants: what they want to feel, learn, try, buy, avoid, or be early to
192
- - audience resentments: what they are tired of, embarrassed by, or angry about
195
+ - visible tension: the contradiction, tradeoff, cost, or unfinished question
196
+ readers are reacting to
197
+ - audience objections: what they are tired of, skeptical about, embarrassed by,
198
+ or likely to argue with
193
199
  - audience fears: what risk would make them hesitate
194
200
  - argument bait: what they will plausibly disagree with in comments
195
- - credible controversy: what the user can argue without borrowing someone else's
201
+ - credible angle: what the user can argue without borrowing someone else's
196
202
  proof or pretending to have data they do not have
197
203
  - avoid list: ideas that are inflated by comment bait, stale category claims,
198
204
  celebrity reach, giveaway mechanics, or poor voice fit
@@ -200,11 +206,11 @@ Record:
200
206
  The selected direction must include:
201
207
 
202
208
  ```text
203
- Selected controversy:
209
+ Selected angle:
204
210
  <one sentence>
205
211
 
206
212
  Why this audience would engage:
207
- <specific belief/want/resentment/fear>
213
+ <specific tension, want, objection, or fear>
208
214
 
209
215
  Why this user can credibly say it:
210
216
  <raw idea, memory, story, proof, or product mechanism>
@@ -213,19 +219,21 @@ What not to claim:
213
219
  <unsupported metric, borrowed proof, or hype phrase to avoid>
214
220
  ```
215
221
 
216
- If the raw idea is true but the market belief map does not show a live tension,
222
+ If the raw idea is true but the audience tension snapshot does not show a live tension,
217
223
  do not draft from the raw idea as-is. Present stronger directions or reframe the
218
224
  idea around the closest supported external tension.
219
225
 
220
226
  ## Premise Inputs
221
227
 
222
- After the market belief map, extract the ingredients needed for premise
228
+ After the audience tension snapshot, extract the ingredients needed for premise
223
229
  development. Do this before hook generation.
224
230
 
225
231
  Record:
226
232
 
227
233
  - real story or scene candidates from the raw idea, memory, transcript, or
228
234
  current-session context
235
+ - transcript worldview packet matches: clusters, transcript references, cards,
236
+ repeated phrasing, worldview ingredients, and hot-take ingredients
229
237
  - observed pattern candidates when no first-person story is available
230
238
  - visible tension: the uncomfortable gap, cost, contradiction, or tradeoff
231
239
  - common belief: what the audience probably believes right now
@@ -233,6 +241,7 @@ Record:
233
241
  - reader value: what the reader learns, sees differently, or can do
234
242
  - proof available: what can be safely used
235
243
  - proof missing: what cannot be claimed without user confirmation
244
+ - private/sensitive transcript material to exclude
236
245
 
237
246
  If this section is weak, say so. Do not let the hook lab proceed as if a clever
238
247
  opening can create value that the premise does not have.
@@ -687,6 +696,76 @@ with Christian's verified campaign-source ladder. Keep the hook's "unexpected
687
696
  best source" tension. Do not borrow the source's dinner/community proof.
688
697
  ```
689
698
 
699
+ ## Thought Leader Inspiration Workers
700
+
701
+ When the user supplies a list of thought leaders, creators, profile URLs, or
702
+ handles, run a separate inspiration analysis per person. This is different from
703
+ general search: the source set is the person's own recent content.
704
+
705
+ Use one bounded background worker per person when the host supports background
706
+ agents. If not, process the list sequentially. Each worker must keep its output
707
+ compact and must not return a full corpus dump.
708
+
709
+ Worker steps:
710
+
711
+ 1. Resolve the person's profile URL or handle from the user input, tracked
712
+ people, or memory. If unresolved, ask for the URL/handle.
713
+ 2. Fetch recent posts with `mcp__sellable__fetch_linkedin_posts`.
714
+ 3. Fetch profile/follower context with `mcp__sellable__fetch_linkedin_profile`
715
+ when available.
716
+ 4. Score the person's recent posts by:
717
+ - topic fit to the user's current idea
718
+ - hook preview strength
719
+ - body payoff strength
720
+ - positioning density
721
+ - repeated success in the same lane
722
+ - engagement quality
723
+ - engagement per 1k followers when follower count is available
724
+ - adaptation fit for Christian/Sellable voice
725
+ - lead-magnet, giveaway, and status-only penalties
726
+ 5. Keep max 5 winners and max 5 rejected examples.
727
+ 6. Extract hook mechanics, body mechanics, sentence/rhythm moves, proof slots,
728
+ and close moves.
729
+ 7. Identify forbidden borrowing: source wording, source proof, jokes, personal
730
+ stories, audience status, and persona markers.
731
+ 8. Create one adapted direction for the user's selected premise in
732
+ Christian/Sellable voice.
733
+
734
+ Worker output:
735
+
736
+ ```text
737
+ Thought leader inspiration packet:
738
+ person:
739
+ profile_url:
740
+ recent_posts_reviewed:
741
+ follower_count: <number | unavailable>
742
+ normalization_confidence: high | medium | low
743
+ weighted_winners:
744
+ - source_url:
745
+ engagement:
746
+ engagement_per_1k_followers:
747
+ score:
748
+ why_kept:
749
+ first_3_line_preview:
750
+ hook_mechanics:
751
+ body_mechanics:
752
+ sentence_or_rhythm_moves:
753
+ forbidden_borrowing:
754
+ adapted_direction:
755
+ inspiration_adapter:
756
+ voice_layer: Christian/Sellable
757
+ hook_shape:
758
+ body_shape:
759
+ proof_slots_needed:
760
+ why_it_might_win:
761
+ why_it_might_fail:
762
+ rejected_examples:
763
+ confidence_gaps:
764
+ ```
765
+
766
+ Do not call the adapted direction "in <person>'s voice." It is an inspiration
767
+ adapter that borrows public mechanics, then writes in the user's voice.
768
+
690
769
  ## Blocked States
691
770
 
692
771
  Local idea capture can still succeed when research fails.
@@ -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
@@ -67,9 +70,14 @@ Hook research files must preserve:
67
70
  - source hook preview measurements, including text basis, char count including
68
71
  newlines, physical/content line counts, longest nonblank line, blank-line
69
72
  visual risk, and mobile/desktop preview budget status
73
+ - audience tension snapshot and selected angle
70
74
  - rendered preview records for kept source hooks and adapted hook blocks,
71
75
  including literal mobile/desktop preview blocks and whether the first-screen
72
76
  promise is visible
77
+ - thought leader inspiration packets when the user supplied creators, including
78
+ worker status, profile URL/handle, recent posts reviewed, weighted winners,
79
+ follower-adjusted signal when available, allowed mechanics to adapt, and
80
+ forbidden borrowing
73
81
  - source-message outlines for keeper posts, preserving source paragraph order
74
82
  and branching each paragraph, line, or phrase into high-level goal, reader
75
83
  effect, reusable move, and adaptation guard without reproducing the full
@@ -81,6 +89,8 @@ Draft files must preserve:
81
89
 
82
90
  - source idea ID
83
91
  - hook research ID
92
+ - transcript worldview packet used to build the premise, worldview, and hot
93
+ take
84
94
  - versioned draft ID, normally ending in `_v1`, `_v2`, `_v3`, etc.
85
95
  - iteration metadata when there is a prior or baseline draft:
86
96
  - `version`
@@ -94,6 +104,9 @@ Draft files must preserve:
94
104
  - draft body
95
105
  - source-message outline for any outside post being adapted, when the draft's
96
106
  body shape was learned from a specific source post
107
+ - thought leader inspiration lab when used, including the selected inspiration
108
+ adapter, variants considered, Christian/Sellable voice layer, and
109
+ copying/voice-clone risk
97
110
  - pre-draft narrative outline: hierarchical `I.`, `A.`, `i.` outline covering
98
111
  hook debt, thesis, reader, core mechanism, definitions, proof claims,
99
112
  working body patterns adapted, narrative beats, mobile scan path, body
@@ -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,10 +26,13 @@ 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`
31
- - `marketBeliefAudit`
34
+ - `audienceTensionAudit`
35
+ - `thoughtLeaderInspirationLab`
32
36
  - `premiseValueAudit`
33
37
  - `mobileScanabilityAudit`
34
38
  - `templateAdaptationAudit`
@@ -110,7 +114,7 @@ Each candidate should include:
110
114
  After the first draft:
111
115
 
112
116
  1. remove unsupported claims
113
- 2. verify the draft is anchored to the selected market belief and controversy
117
+ 2. verify the draft is anchored to the selected audience tension and credible angle
114
118
  3. verify the real story/scene, tension, and reader value are visible early
115
119
  4. verify the body repays the selected hook's curiosity debt
116
120
  5. verify the final post follows the selected positioning sequence or explains
@@ -171,6 +175,12 @@ Record:
171
175
  - `readerValue`: what the reader learns, sees differently, or can do
172
176
  - `proofAvailable`: source-backed proof used
173
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
174
184
  - `sourceMessageOutline`: source post decomposition in original order, with
175
185
  paragraph/line/phrase branches, high-level goal of each branch, reader effect,
176
186
  reusable move, and adaptation guard
@@ -181,7 +191,7 @@ Record:
181
191
  artifact is `preDraftNarrativeOutline`
182
192
  - `premiseQualityGates`: pass/fail for `specific_scene_or_pattern`,
183
193
  `clear_reader`, `visible_tension`, `reader_value`, `credible_speaker`,
184
- `proof_safety`, `market_heat`, and `pre_draft_narrative_outline`
194
+ `proof_safety`, `audience_tension`, and `pre_draft_narrative_outline`
185
195
  - `bodyOutline`: how the body delivers the premise before prose
186
196
  - `viralPostOutline`: the selected narrative structure, including beat jobs
187
197
  - `hookToBodyPromiseMap`: how the body repays the hook's open loop
@@ -191,6 +201,10 @@ If the draft has no specific scene or observed pattern, no visible tension, or
191
201
  no reader value beyond "this is interesting," save as `needs_revision`. Do not
192
202
  mark it `ready` because the hook passes preview limits.
193
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
+
194
208
  ## Pre-Draft Narrative Outline Audit
195
209
 
196
210
  Before a draft can be `ready`, validate that the narrative outline was locked
@@ -296,27 +310,53 @@ Save as `needs_revision` when the draft copies outside wording, borrows outside
296
310
  proof, keeps a source template's status without equivalent user authority, or
297
311
  uses a hook whose promised body payoff is not delivered.
298
312
 
299
- ## Market Belief Audit
313
+ ## Audience Tension Audit
300
314
 
301
315
  Before a draft can be `ready`, validate that it is not merely an internally
302
- coherent idea. It must be anchored to the saved research's market belief map.
316
+ coherent idea. It must be anchored to the saved research's audience tension
317
+ snapshot.
303
318
 
304
319
  Record:
305
320
 
306
321
  - `resonatingIdea`: the current-space idea this draft enters
307
- - `implicitBelief`: the belief the audience likely already holds
322
+ - `visibleAudienceTension`: the contradiction, tradeoff, cost, or unfinished
323
+ question readers are reacting to
308
324
  - `audienceWant`: what the audience wants permission, leverage, proof, or a new
309
325
  category for
310
- - `audienceResentmentOrFear`: what frustration or risk gives the post tension
311
- - `selectedControversy`: the claim the post is testing
326
+ - `audienceObjectionOrFear`: what skepticism, frustration, or risk gives the post tension
327
+ - `selectedAngle`: the claim the post is testing
312
328
  - `credibleWhyUs`: why the user can credibly say this from raw idea, memory,
313
329
  story, proof, or product mechanism
314
330
  - `engagementReason`: why someone would react, comment, repost, or argue
315
331
  - `unsupportedHypeRemoved`: unsupported claims removed during finalizer
316
332
 
317
- If `selectedControversy` is missing, if the audience belief is only a generic
318
- label like "founders want growth," or if `credibleWhyUs` depends on borrowed
319
- proof from another creator, save as `needs_revision`.
333
+ If `selectedAngle` is missing, if the audience tension is only a generic label
334
+ like "founders want growth," or if `credibleWhyUs` depends on borrowed proof
335
+ from another creator, save as `needs_revision`.
336
+
337
+ ## Thought Leader Inspiration Audit
338
+
339
+ When the user supplied thought leaders or creators, validate that inspiration
340
+ was used as structural adaptation, not persona cloning.
341
+
342
+ Record:
343
+
344
+ - `thoughtLeaderList`: names and profile URLs or handles
345
+ - `workerPackets`: one packet per person, or `not_available` with reason
346
+ - `weightedWinners`: best posts used, with follower-adjusted signal when
347
+ available
348
+ - `normalizationConfidence`: high | medium | low
349
+ - `inspirationAdapters`: hook/body mechanics selected for adaptation
350
+ - `voiceLayer`: must be `Christian/Sellable`
351
+ - `forbiddenBorrowingAvoided`: source wording, proof, jokes, personal stories,
352
+ status, and persona markers avoided
353
+ - `variantsConsidered`: adapted variants generated from the selected premise
354
+ - `selectedVariant`: winning adapter and why
355
+ - `copyingOrVoiceCloneRisk`: pass | needs_revision | blocked
356
+
357
+ Save as `needs_revision` when a draft imitates a living person's voice, borrows
358
+ their proof/status, copies outside wording, or lets a creator with a giant
359
+ audience win without any follower-adjusted or confidence-adjusted signal.
320
360
 
321
361
  ## LinkedIn Preview Audit
322
362
 
@@ -3,7 +3,7 @@
3
3
  A strong post is not an idea with a better hook. A strong post is a valuable
4
4
  premise wrapped in a sharp opening.
5
5
 
6
- Use this stage after market/hook research and before hook candidates. V2 premise
6
+ Use this stage after audience/hook research and before hook candidates. V2 premise
7
7
  development also consumes the source post templates from hook research:
8
8
  post positioning breakdowns, viral-post outlines, hook-to-body promise maps, and
9
9
  body expression inputs.
@@ -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:
@@ -109,7 +139,7 @@ tension:
109
139
  reader value:
110
140
  <what the reader learns, sees differently, or can do after reading>
111
141
 
112
- why now / market heat:
142
+ why now / audience tension:
113
143
  <what current research says is resonating>
114
144
 
115
145
  credible why-us:
@@ -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
 
@@ -366,7 +402,7 @@ A premise can move to hook generation only when it passes all of these:
366
402
  - `reader_value`: pass
367
403
  - `credible_speaker`: pass
368
404
  - `proof_safety`: pass
369
- - `market_heat`: pass or explained
405
+ - `audience_tension`: pass or explained
370
406
  - `template_fit`: pass or explicitly no-template
371
407
  - `hook_to_body_repayment`: pass
372
408
  - `pre_draft_narrative_outline`: pass