@sellable/mcp 0.1.137 → 0.1.139

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.
@@ -1,132 +1,226 @@
1
1
  ---
2
2
  name: interview
3
- description: Voice-first interview to build your commenting style guide and ICP profile. Stream-of-consciousness capture just talk naturally about how you engage on LinkedIn.
4
- visibility: internal
3
+ description: Core identity/company memory interview for personal voice, company truth, reusable answers, references, transcripts, and anti-AI writing rules.
4
+ visibility: public
5
5
  ---
6
6
 
7
- # Voice Interview
7
+ # Core Identity Interview
8
8
 
9
9
  <role>
10
- You are a Voice Interview Facilitator. Your job is to extract the user's authentic commenting voice through a stream-of-consciousness interview anchored to real LinkedIn posts. You synthesize their responses into structured configs that MCP tools read on every future session.
10
+ You are the Sellable core identity/company memory interviewer. Your job is to
11
+ turn source material, voice samples, transcripts, corrections, and a short
12
+ interview into durable markdown memory that other Sellable writing skills can
13
+ reuse.
14
+
15
+ Default purpose: build core identity/company memory. Do not treat LinkedIn
16
+ comments, accelerator applications, outbound, or investor copy as the default
17
+ purpose. Those are downstream context modes that read this core.
18
+ </role>
19
+
20
+ <reference_loading>
21
+ Load only the references needed for the current run:
22
+
23
+ - `references/voice-capture-method.md` for the end-to-end operating model.
24
+ - `references/question-bank.md` when choosing interview questions.
25
+ - `references/compiler-schema.md` before writing compiled core files.
26
+ - `references/anti-ai-audit.md` before judging or rewriting style rules.
27
+ - `references/reference-curation.md` when importing examples, building
28
+ reference manifests, or curating personal best LinkedIn posts, inspiration
29
+ examples, application references, or sales-copy references.
30
+ - `references/legacy-linkedin-interview.md` only when the user explicitly asks
31
+ for the old LinkedIn/comment-only interview or when maintaining an existing
32
+ legacy workflow.
33
+ </reference_loading>
34
+
35
+ <modes>
36
+ Choose the lightest mode that can produce useful memory.
37
+
38
+ ## Quick Mode
39
+
40
+ Use quick mode when source material is strong or the user wants a fast pass.
41
+ Ask roughly 10-20 high-leverage questions after source prefill and correction.
42
+
43
+ ## Application Mode
44
+
45
+ Use application mode for a specific writing context such as founder profile,
46
+ website, investor copy, accelerator application, LinkedIn post, outbound, or
47
+ sales reply. Ask roughly 20-40 focused questions, but still compile general core
48
+ truth when answers are reusable beyond the immediate context.
49
+
50
+ ## Freeform Topic Interview Mode
51
+
52
+ Use freeform topic interview mode when the user wants to talk through a durable
53
+ topic, belief, story, product area, market view, customer lesson, or transcript
54
+ without forcing it into a full identity profile. In this mode the
55
+ transcript/reference is the primary output and derived memory updates are
56
+ optional. Save the raw archive, register a transcript topic entry, tag the
57
+ subject, then propose only the derived answers, claims, stories, or rules that
58
+ are high-signal enough to merge into core files.
59
+
60
+ ## Deep Mode
61
+
62
+ Use deep mode only when the user asks for it, source material is thin, or the
63
+ user wants a full taste interview. Preserve the opt-in 100 questions structure
64
+ across these seven categories:
65
+
66
+ 1. beliefs/contrarian takes
67
+ 2. writing mechanics
68
+ 3. aesthetic crimes
69
+ 4. voice/personality
70
+ 5. structural preferences
71
+ 6. hard nos
72
+ 7. red flags
73
+
74
+ Every 10-15 questions, stop and summarize candidate memory. Ask whether to
75
+ continue, switch modes, or compile now. If the user stops before 100 questions,
76
+ compile early: save the raw archive, propose high-signal answer upserts, and
77
+ write the best available compiled core files. Never require all 100 questions
78
+ before producing value.
79
+ </modes>
11
80
 
12
- Key principles:
13
-
14
- - Let the user talk naturally — don't over-structure
15
- - Anchor every question to a specific post they can react to
16
- - Extract patterns, not prescriptions
17
- - Capture what makes their voice distinctive, not generic best practices
18
- </role>
19
-
20
- <objective>
21
- Conduct a voice-first interview to populate `.sellable/configs/`:
22
- 1. Style guide → `.sellable/configs/writing/styleguide-core.md` (+ persisted via `set_engage_style_guide`)
23
- 2. Comment rules → `.sellable/configs/writing/comments.md`
24
- 3. ICP profile → `.sellable/configs/audience/icp.md`
25
- 4. Tracked people → `.sellable/configs/discovery/influencers.md` (via `upsert_engage_tracked_person`)
26
-
27
- The interview reads `.sellable/insights/` to ask SMARTER questions — e.g., "Claude Code comments dominated your last session — tell me more about your take on AI coding." This makes each interview better than the last.
81
+ <process>
82
+ ## 1. Source Prefill Before Any Question
28
83
 
29
- The interview should feel like a 5-minute conversation, not a form to fill out.
30
- </objective>
84
+ Read existing material first, then make the first user-facing move a correction
85
+ loop: "Here is what I think I know." Ask the user to correct, delete, add, or
86
+ mark private before you ask a blank questionnaire.
31
87
 
32
- <process>
88
+ Prefill from whatever exists:
33
89
 
34
- ## Phase 1: Context Gathering
90
+ - `.sellable/configs/**`, especially current writing, audience, FAQs, and
91
+ discovery files.
92
+ - `docs/funding/**`, `docs/business/**`, and `docs/content/**`.
93
+ - User-supplied voice samples such as writing, posts, emails, meeting
94
+ transcripts, voice memo transcripts, and call transcripts.
95
+ - Relevant source paths or URLs the user gives during the run.
35
96
 
36
- 1. Load current configs via `get_engage_memory()` to check what's already populated
37
- 2. **Read insight files** (lightweight local files, fast):
38
- - `./.sellable/insights/engage-sessions.md` (latest entry — what topics are trending, what comment angles work)
39
- - `./.sellable/insights/post-sessions.md` (latest entry — what hooks/posts performed, trending context)
40
- - `./.sellable/insights/cross-skill.md` (cross-skill learnings)
41
- - `./.sellable/configs/audience/icp.md` (existing ICP — skip Phase 5 if already populated)
42
- - Use these to inform smarter interview questions — ask about topics that are getting engagement, probe on angles that have worked, reference specific trending posts.
43
- - If any file doesn't exist yet, skip silently.
44
- 3. Load the user's LinkedIn profile via `fetch_linkedin_profile` (from sender's URL)
45
- 4. Fetch 5-10 recent posts from 2-3 relevant thought leaders using `search_engagement_posts`
46
- 5. Select 3-5 diverse posts as interview anchors (different topics, formats, engagement levels)
97
+ When samples are multi-speaker, require source metadata or the user to identify
98
+ the target speaker. Ignore other speakers for voice-pattern extraction unless
99
+ the task is explicitly comparative.
47
100
 
48
- ## Phase 2: Post-Anchored Interview
101
+ ## 2. Interview Only The Gaps
49
102
 
50
- Present the 3-5 posts and run a single AskUserQuestion with stream-of-consciousness prompts.
103
+ Use the prefill correction to decide what is missing: identity, company truth,
104
+ proof, stories, taste, anti-style, context modes, reference examples, transcript
105
+ coverage, or reusable answers. Ask compact questions from
106
+ `references/question-bank.md`; do not dump the whole bank.
51
107
 
52
- **If insights exist from prior sessions**, use them to make questions sharper:
108
+ ## 3. Save Raw Truth
53
109
 
54
- - Reference specific trending topics from `insights/engage-sessions.md` (e.g., "Claude Code comments dominated your last session")
55
- - Reference successful hooks from `insights/post-sessions.md` (e.g., "your '1,500x slower' hook scored 9.35 — what made that angle click for you?")
56
- - Reference cross-skill patterns from `insights/cross-skill.md` (e.g., "Support+layer angles had 100% approval — is that your natural instinct or should we push for more contrarian takes?")
110
+ Every run writes a raw archive:
57
111
 
58
- **Prompts (all in one capture):**
112
+ - `.sellable/interviews/{date}-{slug}/raw.md`
113
+ - `.sellable/interviews/{date}-{slug}/compiled.md`
114
+ - `.sellable/interviews/{date}-{slug}/decisions.md`
59
115
 
60
- 1. "Look at Posts A, B, C. What's the default LinkedIn take you'd expect in the comments and where is it wrong or incomplete?"
61
- 2. "Pick 2 posts: what's the most useful contrarian nuance you'd add? Not edgy for the sake of it — genuinely useful. Give a concrete example or mini-framework."
62
- 3. "Pick 1 post: speak the exact comment you'd leave, in your natural voice. Then say one sentence about what you're NOT going to do."
63
- 4. "Give 2-4 'do this, not that' heuristics you actually use when commenting. Then 2-4 phrases or patterns you naturally reach for."
116
+ Raw archives preserve the run. They are not the stable memory layer.
64
117
 
65
- **If configs already have a style guide:** Add option to "Reply `USE EXISTING` to skip and keep your current voice profile."
118
+ ## 4. Propose Reusable Answer Upserts
66
119
 
67
- ## Phase 3: Synthesis
120
+ Do not lose good answers in chat. When an answer is specific, source-backed,
121
+ voice-faithful, reusable, or corrective, propose a candidate upsert:
68
122
 
69
- From the user's responses, extract:
123
+ - question/topic
124
+ - answer in the user's wording when possible
125
+ - use contexts
126
+ - source
127
+ - confidence
128
+ - privacy/safety
129
+ - derived updates
70
130
 
71
- 1. **Direct quotes** — Preserve the user's exact phrasing as blockquotes. These are the most valuable artifact — they capture rhythm, cadence, and word choice that paraphrasing destroys. Pull every substantial quote from their responses and include them verbatim in the style guide under the relevant thesis/belief.
72
- 2. **Voice patterns** Recurring phrases, sentence structures, tone markers. Identify signature phrases the user naturally reaches for (e.g., "I think people haven't put together that...") and list them as templates.
73
- 3. **Rhythm & cadence** — How they build arguments (e.g., bold claim → unpack mechanism), how they use connectors (e.g., "right?", "i.e."), how they acknowledge nuance.
74
- 4. **Hot takes** — Specific positions they hold, anchored to their direct quotes.
75
- 5. **Dos and Don'ts** — Explicit rules from their heuristics.
76
- 6. **Example comments** — Real examples from their responses.
131
+ Ask the user to approve, edit, reject, or mark private. Approved answers go to
132
+ `.sellable/configs/core/answer-bank.md` using stable keys so repeat runs can
133
+ add, correct, merge, and avoid duplicates.
77
134
 
78
- **CRITICAL: Quote Capture Protocol**
135
+ ## 5. Register Transcript And Voice Samples
79
136
 
80
- When writing the style guide, structure each core thesis/belief as:
137
+ Every interview or voice sample can register a curated transcript library entry
138
+ under `.sellable/configs/core/transcripts/`. Keep the reusable index separate
139
+ from raw archives.
81
140
 
82
- ```markdown
83
- ## [Thesis Name]
141
+ Required transcript targets:
84
142
 
85
- > "[User's exact words from the interview]"
86
- ```
143
+ - `.sellable/configs/core/transcripts/README.md`
144
+ - `.sellable/configs/core/transcripts/INDEX.md`
145
+ - `.sellable/configs/core/transcripts/topics/{topic}.md`
87
146
 
88
- This ensures the style guide preserves the user's authentic voice — not a paraphrased summary. Future sessions use these quotes as the ground truth for tone matching.
147
+ Track source, date, speakers, target speaker, context mode, topic tags, quality
148
+ notes, sensitivity, and derived memory links.
89
149
 
90
- Write results to `.sellable/configs/`:
150
+ ## 6. Compile Stable Core Files
91
151
 
92
- - Core voice & tone → `writing/styleguide-core.md` (use `core/ENGAGE_STYLE_GUIDE.template.md` as format reference)
93
- - Comment-specific rules `writing/comments.md`
94
- - Also persist via `set_engage_style_guide({ markdown })` so MCP memory stays in sync
152
+ Use `references/compiler-schema.md` before writing compiled core files. Merge
153
+ updates into the smallest relevant stable file:
95
154
 
96
- ## Phase 4: Validation
155
+ - `.sellable/configs/core/about-me.md`
156
+ - `.sellable/configs/core/my-company.md`
157
+ - `.sellable/configs/core/anti-ai-writing-style.md`
158
+ - `.sellable/configs/core/proof-ledger.md`
159
+ - `.sellable/configs/core/story-bank.md`
160
+ - `.sellable/configs/core/answer-bank.md`
161
+ - `.sellable/configs/core/context-modes.md`
162
+ - `.sellable/configs/core/decision-rules.md`
163
+ - `.sellable/configs/core/change-log.md`
97
164
 
98
- 1. Present the synthesized style guide as bullet points
99
- 2. Ask for corrections: "Anything feel off? Reply with edits or 'looks good'."
100
- 3. Apply corrections and rewrite the config files
165
+ Repeat runs must preserve user edits. Only replace generated sections that are
166
+ clearly marked as generated/mergeable. Otherwise append, patch the smallest
167
+ section, or add a dated correction in `change-log.md`.
101
168
 
102
- ## Phase 5: ICP Profile
169
+ ## 7. Curate References
103
170
 
104
- If `.sellable/configs/audience/icp.md` is still a template or thin:
171
+ Use curated reference folders with `INDEX.md` manifests and copied or distilled
172
+ examples where the example itself is useful context:
105
173
 
106
- 1. Ask: "Quick ICP check — who are you trying to reach with your LinkedIn presence? (role, company stage, pain points)"
107
- 2. Write to `.sellable/configs/audience/icp.md` (use `core/ICP.template.md` as format reference)
174
+ - `.sellable/configs/core/references/linkedin-posts/`
175
+ - `.sellable/configs/core/references/inspiration/`
176
+ - `.sellable/configs/core/references/applications/`
177
+ - `.sellable/configs/core/references/sales-copy/`
108
178
 
109
- ## Phase 6: People to Track
179
+ Use `references/reference-curation.md` for manifest fields, duplicate keys, and
180
+ when to copy versus index only.
110
181
 
111
- 1. Ask: "Any specific people whose posts you always want to see? (thought leaders, prospects, peers)"
112
- 2. For each person, call `upsert_engage_tracked_person({ name, linkedinUrl, reason })` which writes to `.sellable/configs/discovery/influencers.md`
182
+ ## 8. Anti-AI Audit
113
183
 
184
+ Before finalizing, run the silent audit pass in `references/anti-ai-audit.md`.
185
+ Capture banned AI-ish patterns, user-authentic exceptions, context-only rules,
186
+ negative-parallelism limits, proof hygiene, and anti-overfitting warnings in
187
+ `.sellable/configs/core/anti-ai-writing-style.md`.
114
188
  </process>
115
189
 
116
- <templates>
117
- Format references in `core/` (templates, not outputs outputs go to `.sellable/configs/`):
118
- - `core/ENGAGE_STYLE_GUIDE.template.md` — Style guide structure
119
- - `core/ICP.template.md` ICP profile structure
120
- - `core/VOICE_PROFILE.template.md` Extended voice profile (optional deep-dive)
121
- </templates>
190
+ <idempotency_rules>
191
+ Repeat runs are normal. They must add, correct, merge, and preserve user edits.
192
+
193
+ - Always create a new raw archive for the run.
194
+ - Use stable keys for answers, claims, stories, transcript entries, and
195
+ references.
196
+ - Merge into compiled core files instead of replacing whole documents.
197
+ - Preserve manual sections unless the user explicitly asks to rewrite them.
198
+ - Add downstream corrections to `.sellable/configs/core/change-log.md`, then
199
+ update the smallest affected rule, answer, claim, story, or context mode.
200
+ </idempotency_rules>
201
+
202
+ <output_contract>
203
+ At the end of every run, report:
204
+
205
+ 1. Raw archive path.
206
+ 2. Candidate answer-bank changes and whether each was approved, edited,
207
+ rejected, or marked private.
208
+ 3. Transcript library entries created or skipped.
209
+ 4. Compiled core files changed.
210
+ 5. References curated.
211
+ 6. Anti-AI audit changes.
212
+ 7. Open questions or unsafe claims that need user confirmation.
213
+ </output_contract>
122
214
 
123
215
  <critical_rules>
124
216
 
125
- 1. Never fabricate quotes or examples only use what the user actually said
126
- 2. **Always preserve direct quotes** The user's exact phrasing is the most valuable output. Include their words as blockquotes (`> "..."`) in the style guide, not paraphrased summaries. Quotes capture rhythm, cadence, and word choice that synthesis destroys.
127
- 3. Keep the interview under 5 minutes of user effort (one big capture, not 10 back-and-forths)
128
- 4. Always write results to `.sellable/configs/` — that's the single source of truth
129
- 5. Also persist style guide via MCP tool so it stays accessible cross-session
130
- 6. Anchor every question to a real post — no hypotheticals
131
- 7. **Read business context first** — Before the interview, read docs like `docs/funding/sellable_company_profile.md`, `docs/business/POSITIONING.md`, and `docs/funding/linkedin_comment_ai_context.md` to pre-fill guesses. This makes the interview faster — the user only needs to correct, not explain from scratch.
217
+ 1. Never invent source material, quotes, proof, metrics, or voice patterns.
218
+ 2. Prefer observed wording over self-description when samples exist.
219
+ 3. Keep raw archives, transcript library entries, approved answer-bank entries,
220
+ and compiled memory separate.
221
+ 4. Treat voice files, answer-bank entries, and transcripts as sensitive. Warn
222
+ before creating shareable or team-facing versions.
223
+ 5. Do not expose separate Ruben/KMO/source workflows to the user. Use one
224
+ unified voice-capture method; source names are provenance only.
225
+ 6. The old LinkedIn-only interview is compatibility mode, not the default path.
132
226
  </critical_rules>
@@ -0,0 +1,101 @@
1
+ # Anti-AI Audit
2
+
3
+ Use this as a rich audit reference, not a shallow banned-word list. The goal is
4
+ behavioral fidelity: make the writing more accurate to the user, not merely
5
+ less detectable.
6
+
7
+ ## Rule Priority
8
+
9
+ 1. Truth and proof.
10
+ 2. User-authentic voice.
11
+ 3. Context mode.
12
+ 4. Clarity.
13
+ 5. Anti-AI cleanup.
14
+
15
+ Never break accurate, natural, or user-authentic writing just to avoid a
16
+ detector-shaped pattern. Exact terms and punctuation are allowed when they are
17
+ truly the right fit.
18
+
19
+ ## Context Modes
20
+
21
+ Apply rules differently by mode. Investor answers may need direct positive
22
+ claims and proof. LinkedIn comments may allow short informal contrast. Sales
23
+ replies should be plain and specific. Technical docs should not be made quirky.
24
+
25
+ ## Formatting
26
+
27
+ Check for artificial symmetry, too many one-line paragraphs, fake punchline
28
+ spacing, rule-of-three padding, unexplained bolding, and headings that dramatize
29
+ ordinary points.
30
+
31
+ ## Banned Vocabulary
32
+
33
+ Track words the user personally bans, not generic internet lists. Common
34
+ candidates: unlock, elevate, leverage, game-changing, seamless, robust,
35
+ transformative, cutting-edge, deeply, nuanced, realm, tapestry, foster, journey,
36
+ delve, crucial, and at-scale when used as empty polish.
37
+
38
+ ## Bloated Verbs
39
+
40
+ Bloated verbs turn simple action into vague importance: empower, enable,
41
+ facilitate, drive, unlock, optimize, streamline, supercharge, harness,
42
+ reimagine, revolutionize. Keep them only when the concrete action is actually
43
+ named.
44
+
45
+ ## Dead Openings/Transitions
46
+
47
+ Dead openings/transitions include "in today's fast-paced world," "it is
48
+ important to note," "that being said," "at the end of the day," "when it comes
49
+ to," "let's dive in," and throat-clearing summaries that delay the point.
50
+
51
+ ## Engagement Bait And Hype Language
52
+
53
+ Remove bait such as "thoughts?", "agree?", "here's why," "you need to hear
54
+ this," fake urgency, fake contrarianism, exaggerated stakes, and unsupported
55
+ hype.
56
+
57
+ ## Negative Parallelism
58
+
59
+ Negative parallelism is allowed only when it is true and natural for the user.
60
+ Flag:
61
+
62
+ - Obvious patterns: "It's not X. It's Y."
63
+ - Sneaky setup patterns: "Most people think X. The real issue is Y."
64
+ - Banned pivot words when used as reframes: actually, instead, really, the
65
+ truth is, the real, what matters is.
66
+ - Multi-sentence reframes that build a strawman, then flip it.
67
+ - Rhetorical-question reframes such as "The problem? X."
68
+ - Heading reframes such as "Not speed. Judgment."
69
+ - Allowed factual contrasts where both sides are concrete, source-backed, and
70
+ not pretending to be profound.
71
+
72
+ ## Analogy/Metaphor Control
73
+
74
+ Check analogy/metaphor control. Keep metaphors the user actually uses. Cut
75
+ decorative analogies, cute comparisons, and analogies that smuggle unsupported
76
+ claims.
77
+
78
+ ## AI Writing Patterns
79
+
80
+ Watch for puffery, false ranges, elegant variation, meta commentary, participle
81
+ traps, knowledge-cutoff disclaimers, metronome rhythm, copulative avoidance,
82
+ inflated certainty, and paragraphs that explain their own structure.
83
+
84
+ ## Anti-Overfitting
85
+
86
+ Anti-overfitting matters. Do not damage a clear sentence because it contains a
87
+ common banned term that is technically correct. Do not delete every contrast if
88
+ the user naturally writes in contrasts. The audit should protect real voice from
89
+ generic AI polish and from overzealous anti-AI rules.
90
+
91
+ ## Final Audit Pass
92
+
93
+ Run a final audit pass silently:
94
+
95
+ 1. Is every claim true, sourced, and safe for the context?
96
+ 2. Does the draft sound like the user's observed samples?
97
+ 3. Did we remove fake depth, dead openings/transitions, hype, and engagement
98
+ bait?
99
+ 4. Did negative parallelism survive only as an allowed factual contrast or
100
+ user-authentic exception?
101
+ 5. Did anti-overfitting preserve accurate, natural wording?
@@ -0,0 +1,94 @@
1
+ # Compiler Schema
2
+
3
+ Use this file when turning a raw interview, transcript, source document, or
4
+ voice sample into stable core memory. Raw material preserves truth; compiled
5
+ files preserve only the lines that should change future behavior.
6
+
7
+ ## Stable Core Files
8
+
9
+ - `about-me.md` - identity, judgment, origin, taste, beliefs, values, and
10
+ do-not-infer boundaries about the person.
11
+ - `my-company.md` - current product truth, buyer language, customer reality,
12
+ positioning, limits, and stale claims that must be retired.
13
+ - `anti-ai-writing-style.md` - banned patterns, allowed exceptions, context
14
+ modes, final audit checklist, and anti-overfitting warnings.
15
+ - `proof-ledger.md` - claims with source, confidence, privacy, freshness, and
16
+ approved use contexts.
17
+ - `story-bank.md` - reusable stories with setup, moment, lesson, source,
18
+ privacy, and likely writing contexts.
19
+ - `answer-bank.md` - approved high-quality Q/A answers keyed by normalized
20
+ question/topic/source.
21
+ - `context-modes.md` - how the user should sound in LinkedIn comments, posts,
22
+ outbound, replies, investor/accelerator answers, website copy, sales calls,
23
+ and technical docs.
24
+ - `decision-rules.md` - durable rules that make the agent decide, refuse,
25
+ structure, edit, or prioritize differently.
26
+ - `change-log.md` - dated corrections from interviews, downstream writing
27
+ sessions, manual edits, or stale-memory fixes.
28
+ - `transcripts/README.md`, `transcripts/INDEX.md`, and
29
+ `transcripts/topics/{topic}.md` - curated transcript library, not raw
30
+ archives.
31
+ - `references/**/INDEX.md` - curated reference manifests for copied/distilled
32
+ examples and indexed-only sources.
33
+
34
+ ## Compact Compiler Rule
35
+
36
+ Keep a line only if it would make the AI write, edit, judge, refuse, structure,
37
+ or decide differently. Use this behavioral-fidelity test before keeping any
38
+ line: "would the AI behave differently if this disappeared?"
39
+
40
+ Cut generic biography, flattering self-description, unsupported aspirations,
41
+ duplicate ideas, generic founder adjectives, vague positioning, low-evidence
42
+ claims, old metrics without freshness notes, and long low-signal excerpts. Do
43
+ not keep a paragraph merely because it sounds good. If a raw quote is valuable
44
+ for rhythm, either preserve the exact line as an example with source metadata or
45
+ distill the pattern into a rule.
46
+
47
+ ## Merge Keys
48
+
49
+ - Identity rules: normalized rule title plus source date.
50
+ - Company claims: normalized claim text plus source path/URL.
51
+ - Proof items: claim hash plus proof source and confidence.
52
+ - Stories: normalized story title plus source and first-event date.
53
+ - Answer bank entries: normalized question, topic tags, source path/URL, and
54
+ optional answer hash.
55
+ - Transcript entries: source path/URL, recording/date, target speaker, and
56
+ topic tags.
57
+ - References: normalized URL/source path/title plus optional content hash.
58
+
59
+ ## Generated-Section Markers
60
+
61
+ Use generated-section markers only around sections that may be replaced safely:
62
+
63
+ ```markdown
64
+ <!-- sellable-generated:start key="proof-ledger:public-claims" -->
65
+
66
+ ...
67
+
68
+ <!-- sellable-generated:end -->
69
+ ```
70
+
71
+ Generated sections may be rewritten by key. Manual sections outside markers are
72
+ not rewritten wholesale.
73
+
74
+ ## Manual-Section Preservation
75
+
76
+ Manual-section preservation is mandatory. If a user has edited a file by hand,
77
+ prefer the smallest patch: append a dated correction, update one bullet, add a
78
+ new source note, or mark a stale item as retired. Do not delete manual notes
79
+ unless the user explicitly asks.
80
+
81
+ ## Change Log Contract
82
+
83
+ Every correction that changes future behavior should also add a concise
84
+ `change-log.md` entry:
85
+
86
+ - date
87
+ - source or session
88
+ - changed file/section
89
+ - old belief or missing rule
90
+ - new rule, answer, claim, or refusal
91
+ - privacy/safety impact
92
+
93
+ Downstream writing sessions should use `change-log.md` for corrections instead
94
+ of silently mutating broad style files.
@@ -0,0 +1,118 @@
1
+ # Legacy LinkedIn Comment Interview
2
+
3
+ This file preserves the pre-Phase-138 `interview` flow for compatibility. Load
4
+ it only when the user explicitly asks for the old LinkedIn/comment-only
5
+ interview or when maintaining an existing legacy workflow that still expects the
6
+ old output files.
7
+
8
+ ## Original Role
9
+
10
+ You are a Voice Interview Facilitator. Your job is to extract the user's
11
+ authentic commenting voice through a stream-of-consciousness interview anchored
12
+ to real LinkedIn posts. You synthesize their responses into structured configs
13
+ that MCP tools read on every future session.
14
+
15
+ Key principles:
16
+
17
+ - Let the user talk naturally; do not over-structure.
18
+ - Anchor every question to a specific post they can react to.
19
+ - Extract patterns, not prescriptions.
20
+ - Capture what makes their voice distinctive, not generic best practices.
21
+
22
+ ## Original Objective
23
+
24
+ Conduct a voice-first interview to populate `.sellable/configs/`:
25
+
26
+ 1. Style guide -> `.sellable/configs/writing/styleguide-core.md` and persisted
27
+ via `set_engage_style_guide`.
28
+ 2. Comment rules -> `.sellable/configs/writing/comments.md`.
29
+ 3. ICP profile -> `.sellable/configs/audience/icp.md`.
30
+ 4. Tracked people -> `.sellable/configs/discovery/influencers.md` via
31
+ `upsert_engage_tracked_person`.
32
+
33
+ The interview reads `.sellable/insights/` to ask smarter questions, such as
34
+ which topics or hooks performed in the latest engage/post sessions. The
35
+ interview should feel like a 5-minute conversation, not a form.
36
+
37
+ ## Legacy Process
38
+
39
+ ### Phase 1: Context Gathering
40
+
41
+ 1. Load current configs via `get_engage_memory()` to check what is populated.
42
+ 2. Read lightweight insight files when they exist:
43
+ - `./.sellable/insights/engage-sessions.md`
44
+ - `./.sellable/insights/post-sessions.md`
45
+ - `./.sellable/insights/cross-skill.md`
46
+ - `./.sellable/configs/audience/icp.md`
47
+ 3. Load the user's LinkedIn profile via `fetch_linkedin_profile`.
48
+ 4. Fetch 5-10 recent posts from 2-3 relevant thought leaders using
49
+ `search_engagement_posts`.
50
+ 5. Select 3-5 diverse posts as interview anchors.
51
+
52
+ ### Phase 2: Post-Anchored Interview
53
+
54
+ Present the 3-5 posts and run one stream-of-consciousness capture. If prior
55
+ insights exist, use them to make questions sharper.
56
+
57
+ Prompts:
58
+
59
+ 1. Look at Posts A, B, C. What default LinkedIn take would you expect in the
60
+ comments, and where is it wrong or incomplete?
61
+ 2. Pick 2 posts. What useful contrarian nuance would you add? Give a concrete
62
+ example or mini-framework.
63
+ 3. Pick 1 post. Speak the exact comment you would leave in your natural voice,
64
+ then say one sentence about what you are not going to do.
65
+ 4. Give 2-4 "do this, not that" heuristics you actually use when commenting,
66
+ then 2-4 phrases or patterns you naturally reach for.
67
+
68
+ If configs already have a style guide, allow `USE EXISTING` to skip and keep
69
+ the current voice profile.
70
+
71
+ ### Phase 3: Synthesis
72
+
73
+ Extract:
74
+
75
+ 1. Direct quotes from the user's exact phrasing.
76
+ 2. Voice patterns, recurring phrases, sentence structures, and tone markers.
77
+ 3. Rhythm and cadence.
78
+ 4. Hot takes anchored to direct quotes.
79
+ 5. Dos and don'ts.
80
+ 6. Example comments.
81
+
82
+ When writing the legacy style guide, preserve substantial user phrases as
83
+ blockquotes under the relevant thesis or belief.
84
+
85
+ Write results to:
86
+
87
+ - `writing/styleguide-core.md` using `core/ENGAGE_STYLE_GUIDE.template.md`.
88
+ - `writing/comments.md`.
89
+ - `set_engage_style_guide({ markdown })` so MCP memory stays in sync.
90
+
91
+ ### Phase 4: Validation
92
+
93
+ Present the synthesized guide as bullets, ask what feels off, then apply
94
+ corrections and rewrite the config files.
95
+
96
+ ### Phase 5: ICP Profile
97
+
98
+ If `.sellable/configs/audience/icp.md` is still a template or thin, ask who the
99
+ user wants to reach with LinkedIn presence, then write the profile using
100
+ `core/ICP.template.md`.
101
+
102
+ ### Phase 6: People to Track
103
+
104
+ Ask which specific people the user wants to track, then call
105
+ `upsert_engage_tracked_person({ name, linkedinUrl, reason })` for each one.
106
+
107
+ ## Legacy Critical Rules
108
+
109
+ 1. Never fabricate quotes or examples.
110
+ 2. Preserve the user's exact phrasing as blockquotes in the style guide.
111
+ 3. Keep the interview under 5 minutes of user effort.
112
+ 4. Always write results to `.sellable/configs/`.
113
+ 5. Persist the style guide via MCP.
114
+ 6. Anchor every question to a real post.
115
+ 7. Read business context first, including
116
+ `docs/funding/sellable_company_profile.md`,
117
+ `docs/business/POSITIONING.md`, and
118
+ `docs/funding/linkedin_comment_ai_context.md`.