@sellable/mcp 0.1.240 → 0.1.242

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.
@@ -6,6 +6,8 @@ Every saved draft needs a validation receipt. A draft without this receipt is no
6
6
 
7
7
  - `sourceIdeaId`
8
8
  - `hookResearchId`
9
+ - `iteration`
10
+ - `selectedPremiseCard`
9
11
  - `candidateHooksConsidered`
10
12
  - `selectedHook`
11
13
  - `selectedHookWhy`
@@ -14,6 +16,8 @@ Every saved draft needs a validation receipt. A draft without this receipt is no
14
16
  - `storyFilesConsulted`
15
17
  - `goldStandardsConsulted`
16
18
  - `voiceRulesApplied`
19
+ - `marketBeliefAudit`
20
+ - `premiseValueAudit`
17
21
  - `linkedinPreviewAudit`
18
22
  - `simplifierConcreteLanguageAudit`
19
23
  - `antiAiAudit`
@@ -23,6 +27,45 @@ Every saved draft needs a validation receipt. A draft without this receipt is no
23
27
  - `retryNeededReasons`
24
28
  - `readyStatus`
25
29
 
30
+ ## Iteration Receipt
31
+
32
+ Every saved draft needs iteration metadata, even the first draft. This lets the
33
+ content library show whether later drafts are actually improving.
34
+
35
+ For the first ready draft of an idea, record:
36
+
37
+ - `version: v1`
38
+ - `priorDraftId: none`
39
+ - `iterationRole: baseline`
40
+ - `changeIntent`
41
+ - `score`
42
+ - `verdict`
43
+ - `nextIterationTargets`
44
+
45
+ For later drafts, record:
46
+
47
+ - `version`
48
+ - `priorDraftId`
49
+ - `changeIntent`
50
+ - `whatChanged`
51
+ - `whatImproved`
52
+ - `whatGotWorse`
53
+ - `score`
54
+ - `verdict`
55
+
56
+ Use a score object with at least:
57
+
58
+ - `hook`
59
+ - `proof`
60
+ - `voice`
61
+ - `specificity`
62
+ - `skimmability`
63
+ - `publishConfidence`
64
+
65
+ Do not call a later draft better just because it is newer. If the hook is
66
+ stronger but proof, voice, or clarity got worse, say that in `whatGotWorse` and
67
+ set the verdict to `revise` or `reject`.
68
+
26
69
  ## Candidate Set
27
70
 
28
71
  Generate multiple hook candidates before drafting. Do not lock onto the first draft.
@@ -30,6 +73,9 @@ Generate multiple hook candidates before drafting. Do not lock onto the first dr
30
73
  Each candidate should include:
31
74
 
32
75
  - hook text
76
+ - selected premise
77
+ - premise tension opened
78
+ - reader value implied
33
79
  - source pattern
34
80
  - score
35
81
  - char count including newlines and first-line / first-two-line preview measurements
@@ -45,12 +91,61 @@ Each candidate should include:
45
91
  After the first draft:
46
92
 
47
93
  1. remove unsupported claims
48
- 2. tighten the hook
49
- 3. simplify abstract phrasing
50
- 4. replace generic language with concrete words only when supported
51
- 5. preserve the user's actual story and point
52
- 6. remove AI tells
53
- 7. re-check LinkedIn preview fit after edits
94
+ 2. verify the draft is anchored to the selected market belief and controversy
95
+ 3. verify the real story/scene, tension, and reader value are visible early
96
+ 4. tighten the hook
97
+ 5. simplify abstract phrasing
98
+ 6. replace generic language with concrete words only when supported
99
+ 7. preserve the user's actual story and point
100
+ 8. remove AI tells
101
+ 9. re-check LinkedIn preview fit after edits
102
+
103
+ ## Premise Value Audit
104
+
105
+ Before a draft can be `ready`, validate that the post is valuable, not just
106
+ well wrapped.
107
+
108
+ Record:
109
+
110
+ - `premise`: the selected premise in one sentence
111
+ - `realStoryOrScene`: the concrete scene, observation, or pattern used
112
+ - `targetReader`: who should care
113
+ - `commonBelief`: the belief the post argues against
114
+ - `contrarianTruth`: the sharper belief the post offers
115
+ - `visibleTension`: the uncomfortable gap or cost
116
+ - `readerValue`: what the reader learns, sees differently, or can do
117
+ - `proofAvailable`: source-backed proof used
118
+ - `proofMissing`: claims intentionally avoided or requiring user input
119
+ - `premiseQualityGates`: pass/fail for `specific_scene_or_pattern`,
120
+ `clear_reader`, `visible_tension`, `reader_value`, `credible_speaker`,
121
+ `proof_safety`, and `market_heat`
122
+ - `bodyOutline`: how the body delivers the premise before prose
123
+
124
+ If the draft has no specific scene or observed pattern, no visible tension, or
125
+ no reader value beyond "this is interesting," save as `needs_revision`. Do not
126
+ mark it `ready` because the hook passes preview limits.
127
+
128
+ ## Market Belief Audit
129
+
130
+ Before a draft can be `ready`, validate that it is not merely an internally
131
+ coherent idea. It must be anchored to the saved research's market belief map.
132
+
133
+ Record:
134
+
135
+ - `resonatingIdea`: the current-space idea this draft enters
136
+ - `implicitBelief`: the belief the audience likely already holds
137
+ - `audienceWant`: what the audience wants permission, leverage, proof, or a new
138
+ category for
139
+ - `audienceResentmentOrFear`: what frustration or risk gives the post tension
140
+ - `selectedControversy`: the claim the post is testing
141
+ - `credibleWhyUs`: why the user can credibly say this from raw idea, memory,
142
+ story, proof, or product mechanism
143
+ - `engagementReason`: why someone would react, comment, repost, or argue
144
+ - `unsupportedHypeRemoved`: unsupported claims removed during finalizer
145
+
146
+ If `selectedControversy` is missing, if the audience belief is only a generic
147
+ label like "founders want growth," or if `credibleWhyUs` depends on borrowed
148
+ proof from another creator, save as `needs_revision`.
54
149
 
55
150
  ## LinkedIn Preview Audit
56
151
 
@@ -0,0 +1,159 @@
1
+ # Premise Development
2
+
3
+ A strong post is not an idea with a better hook. A strong post is a valuable
4
+ premise wrapped in a sharp opening.
5
+
6
+ Use this stage after market/hook research and before hook candidates. Do not
7
+ generate hook candidates until at least one `Premise Card` exists.
8
+
9
+ ## Goal
10
+
11
+ Turn the raw idea into a real story, observed tension, or useful argument that a
12
+ specific reader would care about.
13
+
14
+ The premise must answer:
15
+
16
+ - who this is for
17
+ - what real scene, observation, or pattern created the idea
18
+ - what tension makes it worth reading
19
+ - what common belief it argues against
20
+ - what hidden truth or mechanism it reveals
21
+ - what value the reader gets
22
+ - why now
23
+ - why this user can credibly say it
24
+ - what proof is available and what proof is missing
25
+
26
+ If the premise has no real scene, no tension, and no reader value, stop before
27
+ drafting. Ask for the missing story or save only a `needs_revision` premise
28
+ artifact. Do not compensate with clever hooks.
29
+
30
+ ## Real Story / Scene Search
31
+
32
+ Before writing premise cards, search the available source material:
33
+
34
+ - raw idea text
35
+ - voice memo or transcript if provided
36
+ - `core/story-bank.md`
37
+ - `core/answer-bank.md`
38
+ - `core/proof-ledger.md`
39
+ - `core/wins-ledger.md`
40
+ - approved references and gold standards
41
+ - current-session user corrections or rejections
42
+
43
+ Look for:
44
+
45
+ - a moment: "I saw X", "a founder said Y", "I opened Z and noticed..."
46
+ - a contradiction: the user wanted one thing but the workflow rewarded another
47
+ - a cost: time, attention, trust, missed learning, reputation, money
48
+ - a before/after: what changed in the user's belief
49
+ - a specific object: Slack note, customer call, campaign table, reply, list,
50
+ demo, failed draft, stale idea, messy workflow
51
+
52
+ If no real story is present, use an observed pattern only if it is traceable to
53
+ the raw source or memory. Mark the gap in the premise card. Do not fabricate a
54
+ customer, call, outcome, date, metric, or private scene.
55
+
56
+ ## Premise Cards
57
+
58
+ Generate 3-5 premise cards before hooks. Each card must use this shape:
59
+
60
+ ```text
61
+ Premise Card
62
+
63
+ premise:
64
+ <one-sentence argument>
65
+
66
+ real story / scene:
67
+ <specific moment, observation, or pattern from source/memory>
68
+
69
+ target reader:
70
+ <who should care>
71
+
72
+ common belief:
73
+ <what the reader or market usually believes>
74
+
75
+ contrarian truth:
76
+ <what this post argues instead>
77
+
78
+ tension:
79
+ <why this is uncomfortable, costly, or worth arguing about>
80
+
81
+ reader value:
82
+ <what the reader learns, sees differently, or can do after reading>
83
+
84
+ why now / market heat:
85
+ <what current research says is resonating>
86
+
87
+ credible why-us:
88
+ <why this user can say it from source, memory, proof, or product mechanism>
89
+
90
+ proof available:
91
+ <specific usable proof or source>
92
+
93
+ proof missing:
94
+ <claims that cannot be made yet>
95
+
96
+ best frame:
97
+ story | contrarian take | teardown | founder confession | future thesis | lesson
98
+
99
+ hook territories:
100
+ - <territory 1>
101
+ - <territory 2>
102
+ - <territory 3>
103
+
104
+ risk:
105
+ <why this premise might still be weak>
106
+
107
+ score:
108
+ <1-100 with short reason>
109
+ ```
110
+
111
+ ## Premise Quality Gate
112
+
113
+ A premise can move to hook generation only when it passes all of these:
114
+
115
+ - `specific_scene_or_pattern`: pass
116
+ - `clear_reader`: pass
117
+ - `visible_tension`: pass
118
+ - `reader_value`: pass
119
+ - `credible_speaker`: pass
120
+ - `proof_safety`: pass
121
+ - `market_heat`: pass or explained
122
+
123
+ If any gate fails:
124
+
125
+ - in research checkpoint mode, show the cards and ask for the missing story or
126
+ direction
127
+ - in immediate draft mode, save the draft as `needs_revision`, not `ready`
128
+ - never mark a draft `ready` because the hook is clever
129
+
130
+ ## Hook Relationship
131
+
132
+ Hooks are generated from the selected premise, not from the raw idea alone.
133
+
134
+ For each hook candidate, include:
135
+
136
+ - selected premise ID or title
137
+ - which tension it opens
138
+ - which reader value it implies
139
+ - whether the real scene appears in the first screen or shortly after
140
+
141
+ Reject hooks that are accurate but do not reveal the premise's tension or value.
142
+
143
+ ## Body Relationship
144
+
145
+ Before drafting prose, create a short body outline for the selected premise:
146
+
147
+ ```text
148
+ body outline:
149
+ 1. hook stack opens the tension
150
+ 2. real scene or pattern makes it concrete
151
+ 3. common belief gets named
152
+ 4. contrarian truth lands
153
+ 5. mechanism explains why
154
+ 6. reader value becomes clear
155
+ 7. close returns to the premise without summarizing
156
+ ```
157
+
158
+ If this outline cannot be filled without inventing proof, return to premise
159
+ development.