@sellable/mcp 0.1.202 → 0.1.204

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.
Files changed (33) hide show
  1. package/README.md +7 -7
  2. package/dist/engage-memory.js +0 -5
  3. package/dist/identity-memory.js +0 -4
  4. package/dist/index-dev.js +0 -0
  5. package/dist/index.js +0 -0
  6. package/dist/tools/engage-memory.js +2 -2
  7. package/dist/tools/leads.js +7 -3
  8. package/package.json +1 -1
  9. package/skills/create-campaign/context/learnings.md +1 -1
  10. package/skills/create-campaign/references/brief-template.md +2 -2
  11. package/skills/create-campaign-brief/references/brief-template.md +2 -2
  12. package/skills/create-campaign-brief/references/draft-lifecycle.md +1 -1
  13. package/skills/create-campaign-brief/references/examples/briefs/gelee.md +2 -2
  14. package/skills/create-campaign-brief/references/examples/briefs/superpower.md +41 -28
  15. package/skills/create-campaign-brief/references/phase75-active-runtime-message-pack.md +12 -9
  16. package/skills/create-campaign-v2/references/approval-gate-framing.md +1 -1
  17. package/skills/create-campaign-v2/references/gold-standard-message-examples.md +30 -16
  18. package/skills/create-campaign-v2/references/gold-standard-message-patterns.md +1 -1
  19. package/skills/create-campaign-v2/references/gold-standard-runtime-message-pack.md +252 -0
  20. package/skills/create-campaign-v2/references/thomas-revision-filters.md +6 -1
  21. package/skills/create-campaign-v2/references/validation-criteria.md +8 -5
  22. package/skills/create-campaign-v2-validation/SKILL.md +1 -1
  23. package/skills/create-post/SKILL.md +27 -27
  24. package/skills/engage/SKILL.md +12 -12
  25. package/skills/engage/core/README.md +14 -14
  26. package/skills/find-leads/SKILL.md +1 -1
  27. package/skills/generate-messages/SKILL.md +99 -49
  28. package/skills/interview/SKILL.md +24 -24
  29. package/skills/interview/references/legacy-linkedin-interview.md +12 -12
  30. package/skills/interview/references/reference-curation.md +4 -4
  31. package/skills/interview/references/voice-capture-method.md +1 -1
  32. package/skills/load-voice/SKILL.md +21 -25
  33. package/skills/research/SKILL.md +1 -1
@@ -135,13 +135,13 @@ Dry mode validates message quality before campaign mint.
135
135
 
136
136
  Read:
137
137
 
138
- - `.sellable/configs/core/about-me.md`
139
- - `.sellable/configs/core/my-company.md`
140
- - `.sellable/configs/core/context-modes.md`
141
- - `.sellable/configs/core/proof-ledger.md`
142
- - `.sellable/configs/core/wins-ledger.md`
143
- - `.sellable/configs/core/anti-ai-writing-style.md`
144
- - `.sellable/configs/writing/outbound.md` and legacy `styleguide-core.md` as fallback/source material when present
138
+ - `~/.sellable/configs/core/about-me.md`
139
+ - `~/.sellable/configs/core/my-company.md`
140
+ - `~/.sellable/configs/core/context-modes.md`
141
+ - `~/.sellable/configs/core/proof-ledger.md`
142
+ - `~/.sellable/configs/core/wins-ledger.md`
143
+ - `~/.sellable/configs/core/anti-ai-writing-style.md`
144
+ - `~/.sellable/configs/writing/outbound.md` and legacy `styleguide-core.md` as fallback/source material when present
145
145
  - `brief.md`
146
146
  - `lead-sample.json` from the find-leads step; this is the only allowed sample
147
147
  source for dry-mode message generation
@@ -150,7 +150,7 @@ Read:
150
150
  reconcile before final `message-validation.md`.
151
151
  - `mcp/sellable/skills/create-campaign/references/ai-native-tokens.md`
152
152
  - `mcp/sellable/skills/create-campaign/references/token-fill-examples.md`
153
- - `mcp/sellable/skills/create-campaign-brief/references/phase75-active-runtime-message-pack.md`
153
+ - `mcp/sellable/skills/create-campaign-v2/references/gold-standard-runtime-message-pack.md`
154
154
  - `mcp/sellable/skills/create-campaign-v2/references/validation-criteria.md`
155
155
  - `mcp/sellable/skills/create-campaign-v2/references/thomas-revision-filters.md`
156
156
  - `mcp/sellable/skills/create-campaign-v2/references/gold-standard-message-patterns.md`
@@ -198,7 +198,7 @@ winner gate**.
198
198
 
199
199
  ### Retrieval & motion
200
200
 
201
- - treat `phase75-active-runtime-message-pack.md` as the **real line-level
201
+ - treat `gold-standard-runtime-message-pack.md` as the **real line-level
202
202
  gold pack** for active clients and proven live message shapes
203
203
  - retrieve against the full archived gold-standard library and pick the closest 2-4 examples for consideration
204
204
  - use the runtime pack first for concrete formatting cues that the
@@ -644,18 +644,17 @@ help...` or `built for [buyer] to...`. Do not overuse generic solved-state
644
644
  solved, or fail to connect to the specific sample row. Prefer a concrete
645
645
  row-fit line, a useful artifact, or a buyer-owned current-state observation
646
646
  that the recipient can understand without reading the brief.
647
- - if 3 adjacent mechanics, objection removers, proof points, or CTA
648
- options are genuinely parallel and easier to understand as a short
649
- `-` bullet stack, use the bullet stack in the winner. Do not reserve
650
- this for cleanup. Use bullets when they make the buyer picture the offer
651
- faster on mobile. If the product has 3+ plain mechanics such as pricing
652
- control, take-rate/economics, malpractice, credentialing, billing, async
653
- chat/photo care, or setup speed, prefer a compact bullet stack over
654
- separate prose lines unless bullets would make the note feel like a
655
- landing page. For data / intelligence products, if the buyer receives 3+
656
- concrete output types (e.g. accounts, infrastructure, signals, alerts,
657
- records, reports), prefer a short bullet stack over a dense mechanism
658
- paragraph.
647
+ - run the parallel action formatting check when the winner has 3 adjacent
648
+ product actions, outputs, mechanics, or objection removers. If the lines
649
+ repeat the same subject pattern (`It drafts...` / `It adapts...` /
650
+ `It helps...`) and each line is a discrete function with no narrative proof
651
+ clause, prefer a compact `-` bullet stack because it is easier to scan on
652
+ mobile. Example:
653
+ `It helps your team:` followed by `- Draft posts...`, `- Adapt them...`,
654
+ `- Keep showing up...`. Do not force bullets when there are only 1-2
655
+ actions, one line needs narrative context, the bullets feel like a landing
656
+ page, or the paragraph version is clearly more human and still scans cleanly.
657
+ This is a formatting preference, not a message-strategy gate.
659
658
  - if one finalist already holds the best of every piece, the winner may
660
659
  equal it — name which one and on which axis it won (relevance,
661
660
  distinctiveness, proof, coherence, readability)
@@ -724,8 +723,12 @@ Finalizer preference when multiple candidates are otherwise comparable:
724
723
  peer-call, compare-notes, or similar identity-call framing. Those CTAs
725
724
  are usually weaker than naming the useful thing the buyer gets. Use them
726
725
  only when the user explicitly chose that route or the brief makes that
727
- peer-call motion the approved offer. Even then, the CTA must name the
728
- useful return artifact, preview, teardown, or working session.
726
+ peer-call motion the approved offer. Even then, preserve the intent, not the
727
+ phrase. Translate `compare notes` into a concrete CTA that names the topic,
728
+ workflow, artifact, preview, teardown, or working session. Prefer shapes like
729
+ `Open to a quick call on how {{company_or_team}} might turn LinkedIn content
730
+ into pipeline?`. Do not use `Open to compare notes?` or `Open to comparing
731
+ notes on...`.
729
732
  - when the message is selling or introducing a product, make the product
730
733
  plain before asking for time, but do not make the opener sound like a
731
734
  homepage definition. The reader should be able to answer "what is this?"
@@ -935,7 +938,10 @@ Before drafting, answer these five questions explicitly:
935
938
  4. **What proof makes it believable?** Pick the one proof beat that
936
939
  answers the buyer's biggest skepticism.
937
940
  5. **What is the lowest-friction true next step?** Use only a next step
938
- supported by the inputs.
941
+ supported by the inputs. If the campaign brief explicitly names a CTA
942
+ motion, preserve it unless it fails truth, clarity, pressure, or safety
943
+ gates. Improve the CTA by making the object concrete before replacing the
944
+ motion.
939
945
 
940
946
  Then choose the exact element pool that angle drafts are allowed to use:
941
947
 
@@ -986,6 +992,23 @@ both choices are genuinely useful and supported:
986
992
  Do not add option B just to mimic a gold standard. If the second option
987
993
  is weak, use one CTA.
988
994
 
995
+ CTA precedence:
996
+
997
+ 1. If the campaign brief explicitly names a CTA motion, preserve the intent of
998
+ that motion unless it is unsupported, too high-pressure, unsafe, or too vague
999
+ to make concrete.
1000
+ 2. If preserving it, make the object specific in the same line so the buyer
1001
+ knows what they are agreeing to discuss, see, or get.
1002
+ 3. Replace it only when the brief CTA cannot pass truth, clarity, pressure, or
1003
+ safety gates.
1004
+
1005
+ Treat `compare notes` as shorthand for a peer conversation, not as buyer-facing
1006
+ copy. The phrase itself is blocked in selected winners, including `Open to
1007
+ compare notes?`, `Founder-to-founder compare notes?`, and `Open to comparing
1008
+ notes on...`. If the brief selected that intent, translate it into a concrete
1009
+ quick-call or working-session CTA, e.g. `Open to a quick call on how
1010
+ {{company_or_team}} might turn LinkedIn content into pipeline?`.
1011
+
989
1012
  For artifact/sample offers, the CTA should usually be one self-contained
990
1013
  yes/no question that names the concrete thing the buyer gets. Do not split
991
1014
  the ask into a setup sentence plus a vague question.
@@ -1564,6 +1587,13 @@ teardown`, `record a video`, or similar assets are BLOCKED unless the
1564
1587
  input says that exact next step exists. When unsure, ask for the
1565
1588
  lowest-friction true next step from the brief, such as sending the
1566
1589
  setup link, next step, or a short walkthrough.
1590
+ - **Brief CTA obedience:** if the brief explicitly names a CTA motion, the
1591
+ selected winner must either preserve that motion's intent with concrete
1592
+ specificity or explain why truth, clarity, pressure, or safety gates forced a
1593
+ replacement.
1594
+ If the brief uses `compare notes`, do not put that phrase in buyer-facing copy.
1595
+ Translate it into a concrete quick-call or working-session CTA that names the
1596
+ topic or workflow.
1567
1597
  - **CTA clarity:** if the product category is unfamiliar, the CTA must
1568
1598
  make the preview easy to imagine in one short phrase. Avoid vague asks
1569
1599
  like `send the setup link` unless the message has already made that
@@ -1578,8 +1608,11 @@ teardown`, `record a video`, or similar assets are BLOCKED unless the
1578
1608
  artifact / preview] you can [use/check/compare]?`.
1579
1609
  - **CTA specificity:** generic CTAs like `compare notes`, `worth a chat`,
1580
1610
  `open to a call`, or `quick walkthrough` are BLOCKED unless the same
1581
- line names the specific thing the buyer will compare, see, or get. The
1582
- next step must be easy to picture.
1611
+ line names the specific thing the buyer will discuss, see, or get. The
1612
+ next step must be easy to picture. `Open to a quick call on how
1613
+ {{company_or_team}} might turn LinkedIn content into pipeline?` passes
1614
+ because the topic is concrete; `Open to compare notes?` fails because the
1615
+ object is missing and the phrase is stale.
1583
1616
  - **Preview CTA wording:** when the CTA is a preview, prefer `open to
1584
1617
  seeing...` over `worth seeing...` unless the chosen gold motion strongly
1585
1618
  supports `worth`. `Open to seeing what this would look like for your own
@@ -1880,10 +1913,18 @@ Flow skeleton (apply even when motion varies):
1880
1913
  2. Pain — what's breaking now
1881
1914
  3. **What the product IS** — one crisp sentence naming the product and what category of work it takes on. Example shape: `[Product] is [a category-noun] that [takes a specific class of work off the buyer's plate]`. When the offer is for the buyer's exact role/credential, prefer `lets you...` or `[role]s like you...` over `lets a [role]...` so the buyer does not feel treated like an outsider. Archive-anchored illustrations: Galley's "AI that reads the messiest BEOs and turns them into production-ready plans"; Revvix's "shows what's actually exploitable on your endpoints based on runtime activity".
1882
1915
  4. **What the product DOES** — one action per line. Three actions maximum. Choose the rendering by a **concrete test**, not a feeling:
1883
- - **Use bullets when the action lines are maximally parallel**: each starts with the same subject (e.g. `It X` / `It Y` / `It Z`), each is a discrete product function, none carries narrative context. This is the default case.
1884
- - Example shape: `- [Verb] [concrete object from the buyer's workflow].`
1885
- - **Use one-line paragraphs only when at least one action carries a short narrative clause** that wouldn't fit cleanly in a bullet.
1886
- - "Conversational motion" is **not** a reason to prefer paragraphs. If the three actions all start with `It X`, they are parallel by definition and should render as bullets.
1916
+ - **Prefer bullets when 3 adjacent action lines are maximally parallel**:
1917
+ each starts with the same subject pattern (e.g. `It drafts...` /
1918
+ `It adapts...` / `It helps...`), each is a discrete product function,
1919
+ and none carries narrative context or proof. Use a setup line plus short
1920
+ `-` bullets, e.g. `It helps your team:` then `- Draft posts...`,
1921
+ `- Adapt them...`, `- Keep showing up...`.
1922
+ - **Use one-line paragraphs** when there are only 1-2 actions, at least one
1923
+ action carries a short narrative clause, bullets would feel like a landing
1924
+ page, or the paragraph version is clearly more human and still scans
1925
+ cleanly.
1926
+ - "Conversational motion" alone is **not** a reason to avoid bullets when
1927
+ all 3 action lines repeat the same `It X` structure.
1887
1928
  - Never stack the three actions into one glued comma-list sentence.
1888
1929
  5. Deployment ease — one short paragraph
1889
1930
  6. CTA — useful next step, binary when the brief supports it
@@ -1892,7 +1933,9 @@ Flow skeleton (apply even when motion varies):
1892
1933
  Rules within the flow:
1893
1934
 
1894
1935
  - **banned**: comma-stacking three actions into one glued sentence (e.g. `"order intake, inventory sync, and reorder timing"` glued together). Split into one action per line.
1895
- - **preferred**: one action per line — as one-line paragraphs or as a bullet list, whichever reads cleaner (see below)
1936
+ - **preferred**: one action per line — as one-line paragraphs or as a bullet
1937
+ list, whichever reads cleaner. Use bullets as a mobile readability preference
1938
+ for 3 repeated-subject product actions, not as a blanket hard gate.
1896
1939
  - the "what the product IS" sentence comes **before** the action breakdown — skipping it makes the actions feel disconnected
1897
1940
  - if the brief does not support three distinct actions, drop to two or one. Do not pad.
1898
1941
  - if a proof sentence gets long, split the metric and the explanation into separate one-line paragraphs rather than chaining them together
@@ -2368,7 +2411,7 @@ hiring for`
2368
2411
  - Best CTA: Candidate [A|B|C] — reason
2369
2412
  - Best PS / no-PS decision: Candidate [A|B|C] — reason
2370
2413
  - Element edits made by finalizer: ...
2371
- - Bullet-stack decision: used | rejected | not applicable — reason
2414
+ - Parallel action formatting: bullets used | paragraphs kept | not applicable — reason
2372
2415
  - Style consistency check: PASS | BLOCKED — reason
2373
2416
  - Assembly note: clean combination or one candidate swept
2374
2417
 
@@ -2377,7 +2420,7 @@ hiring for`
2377
2420
  - Original winner: ...
2378
2421
  - Simplified candidate: ...
2379
2422
  - Simplifier edits: combined lines | split dense line | preserved bullet stack | added bullet stack | none
2380
- - Bullet-stack decision: preserved | added | rejected | not applicable — reason
2423
+ - Parallel action formatting: preserved bullets | added bullets | paragraphs kept | not applicable — reason
2381
2424
  - Robustness check: PASS | BLOCKED — reason
2382
2425
  - Decision: applied | rejected
2383
2426
 
@@ -2400,6 +2443,7 @@ hiring for`
2400
2443
  - Jargon / acronym exactness: PASS | BLOCKED — reason
2401
2444
  - Style consistency: PASS | BLOCKED — reason
2402
2445
  - CTA truth: PASS | BLOCKED — reason
2446
+ - Brief CTA obedience: PASS | BLOCKED | NOT APPLICABLE — reason
2403
2447
  - CTA clarity: PASS | BLOCKED — reason
2404
2448
  - PS restraint: PASS | BLOCKED | OMITTED — reason
2405
2449
  - YC / backing PS: PASS | BLOCKED | OMITTED — reason
@@ -2520,22 +2564,28 @@ too generic, diagnose the gap precisely:
2520
2564
 
2521
2565
  Then tighten the brief or calibration notes before scaling.
2522
2566
 
2523
- Use the example bank as the primary strategy source even when the brief does
2524
- not already contain winning examples. Do not default to generic REPLY-style
2525
- copy when the motion clearly matches a tighter archived pattern. Strong
2526
- references include:
2567
+ Use the v2 runtime gold pack as the primary line-level source even when the
2568
+ brief does not already contain winning examples. Do not default to generic
2569
+ REPLY-style copy when the motion clearly matches a tighter approved pattern.
2570
+ Primary approved references are:
2527
2571
 
2528
- - Sellable.dev
2572
+ - sellable.dev
2573
+ - Hey Digital
2529
2574
  - Galley
2530
- - Gelee
2531
- - HeyDigital
2532
- - Revvix / Spektion
2533
- - Superposition
2534
- - Persona Digital
2575
+ - Clover
2576
+ - Persona
2577
+
2578
+ Use Superpower only for benefits/healthcare mechanism language and cleaned
2579
+ low-certainty relevance bridges. Use Revvix / Spektion and Superposition only
2580
+ for explicit event/logistics or job-post/founder-hiring motions. Do not use
2581
+ Gelee, westpark villas, Amplify Security, or raw old-client archive examples as
2582
+ runtime inspiration unless the caller explicitly provides them as campaign
2583
+ calibration.
2535
2584
 
2536
2585
  When the brief is sparse but the motion clearly matches an archived winner,
2537
- borrow the closest message shape from
2538
- `gold-standard-message-examples.md` before inventing a new structure.
2586
+ borrow the closest approved shape from `gold-standard-runtime-message-pack.md`
2587
+ first, then use `gold-standard-message-examples.md` only for strategy skeletons
2588
+ before inventing a new structure.
2539
2589
 
2540
2590
  ### Single Row
2541
2591
 
@@ -2619,12 +2669,12 @@ research → condense → 10 angle agents in parallel → finalizer combines bes
2619
2669
  - Background: {1-2 lines}
2620
2670
 
2621
2671
  ## Voice + Outbound Rules (condensed — full files available via Read tool)
2622
- - Use `.sellable/configs/core/context-modes.md` to choose the right context stance, then run an anti-AI audit against `.sellable/configs/core/anti-ai-writing-style.md` before returning copy.
2623
- - Flow skeleton: opener → pain → **what the product IS** → **what it DOES** (one action per line, up to three) → deployment ease → CTA → optional PS
2672
+ - Use `~/.sellable/configs/core/context-modes.md` to choose the right context stance, then run an anti-AI audit against `~/.sellable/configs/core/anti-ai-writing-style.md` before returning copy.
2673
+ - Flow skeleton: opener → pain → **what the product IS** → **what it DOES** (one action per line, up to three; prefer short bullets for 3 repeated-subject product actions) → deployment ease → CTA → optional PS
2624
2674
  - A cold reader must be able to state what the product does in one sentence after reading. Require a crisp `Product is an X that does Y` anchor before any action breakdown. Do not gesture at "that chain" / "the stack" / "that work"
2625
2675
  - Blank line between every sentence in the body. The body renders as a sequence of one-line paragraphs separated by blank lines, not as multi-sentence paragraphs. Target 6-10 one-line paragraphs
2626
2676
  - 5th-grade reading level by default. Cut glue language (handoff, order-to-cash, rip-and-replace). Keep brief-native product/tool names (Shopify, HubSpot)
2627
- - No bullet points, no "I noticed...", no compliment sandwiches, no em dashes unless the canonical example uses one
2677
+ - No feature/benefit marketing bullet lists, no "I noticed...", no compliment sandwiches, no em dashes unless the canonical example uses one. Exception: use a short bullet stack when 3 adjacent product actions repeat the same subject pattern and bullets improve mobile readability.
2628
2678
  - No synthesized framing ("at your stage", "in a setup like yours", "running X means...", "X means you're likely...")
2629
2679
  - 3 candidates then `Finalizer Pass` — pick best opener, proof sentence, bridge, CTA across them and assemble the winner
2630
2680
  - PS is optional; only include if it materially strengthens the fit case. When included, use `I` / `our CEO` / `our team` / `we` voice, never bare first names. At most two proof beats, tied to why the sender understands the buyer's pain. No three-credential resume lists
@@ -2686,7 +2736,7 @@ research → condense → 10 angle agents in parallel → finalizer combines bes
2686
2736
  8. Return: { success: true, message: "...", research: [...], anglesExplored: 10 }
2687
2737
  ```
2688
2738
 
2689
- **IMPORTANT:** Load `.sellable/configs/core/about-me.md`, `.sellable/configs/core/my-company.md`, `.sellable/configs/core/context-modes.md`, `.sellable/configs/core/proof-ledger.md`, `.sellable/configs/core/wins-ledger.md`, `.sellable/configs/core/anti-ai-writing-style.md`, `.sellable/configs/writing/outbound.md`, and `.sellable/insights/cross-skill.md` once in the lead agent. Use the legacy style guide fallback when present. Pass condensed versions to workers so context stays focused.
2739
+ **IMPORTANT:** Load `~/.sellable/configs/core/about-me.md`, `~/.sellable/configs/core/my-company.md`, `~/.sellable/configs/core/context-modes.md`, `~/.sellable/configs/core/proof-ledger.md`, `~/.sellable/configs/core/wins-ledger.md`, `~/.sellable/configs/core/anti-ai-writing-style.md`, `~/.sellable/configs/writing/outbound.md`, and `~/.sellable/insights/cross-skill.md` once in the lead agent. Use the legacy style guide fallback when present. Pass condensed versions to workers so context stays focused.
2690
2740
 
2691
2741
  ## Batch Approval
2692
2742
 
@@ -111,7 +111,7 @@ mark private before you ask a blank questionnaire.
111
111
 
112
112
  Prefill from whatever exists:
113
113
 
114
- - `.sellable/configs/**`, especially current writing, audience, FAQs, and
114
+ - `~/.sellable/configs/**`, especially current writing, audience, FAQs, and
115
115
  discovery files.
116
116
  - `docs/funding/**`, `docs/business/**`, and `docs/content/**`.
117
117
  - User-supplied voice samples such as writing, posts, emails, meeting
@@ -151,9 +151,9 @@ Audio-friendly workflow:
151
151
 
152
152
  Every run writes a raw archive:
153
153
 
154
- - `.sellable/interviews/{date}-{slug}/raw.md`
155
- - `.sellable/interviews/{date}-{slug}/compiled.md`
156
- - `.sellable/interviews/{date}-{slug}/decisions.md`
154
+ - `~/.sellable/interviews/{date}-{slug}/raw.md`
155
+ - `~/.sellable/interviews/{date}-{slug}/compiled.md`
156
+ - `~/.sellable/interviews/{date}-{slug}/decisions.md`
157
157
 
158
158
  Raw archives preserve the run. They are not the stable memory layer.
159
159
 
@@ -171,20 +171,20 @@ voice-faithful, reusable, or corrective, propose a candidate upsert:
171
171
  - derived updates
172
172
 
173
173
  Ask the user to approve, edit, reject, or mark private. Approved answers go to
174
- `.sellable/configs/core/answer-bank.md` using stable keys so repeat runs can
174
+ `~/.sellable/configs/core/answer-bank.md` using stable keys so repeat runs can
175
175
  add, correct, merge, and avoid duplicates.
176
176
 
177
177
  ## 5. Register Transcript And Voice Samples
178
178
 
179
179
  Every interview or voice sample can register a curated transcript library entry
180
- under `.sellable/configs/core/transcripts/`. Keep the reusable index separate
180
+ under `~/.sellable/configs/core/transcripts/`. Keep the reusable index separate
181
181
  from raw archives.
182
182
 
183
183
  Required transcript targets:
184
184
 
185
- - `.sellable/configs/core/transcripts/README.md`
186
- - `.sellable/configs/core/transcripts/INDEX.md`
187
- - `.sellable/configs/core/transcripts/topics/{topic}.md`
185
+ - `~/.sellable/configs/core/transcripts/README.md`
186
+ - `~/.sellable/configs/core/transcripts/INDEX.md`
187
+ - `~/.sellable/configs/core/transcripts/topics/{topic}.md`
188
188
 
189
189
  Track source, date, speakers, target speaker, context mode, topic tags, quality
190
190
  notes, sensitivity, and derived memory links.
@@ -194,15 +194,15 @@ notes, sensitivity, and derived memory links.
194
194
  Use `references/compiler-schema.md` before writing compiled core files. Merge
195
195
  updates into the smallest relevant stable file:
196
196
 
197
- - `.sellable/configs/core/about-me.md`
198
- - `.sellable/configs/core/my-company.md`
199
- - `.sellable/configs/core/anti-ai-writing-style.md`
200
- - `.sellable/configs/core/proof-ledger.md`
201
- - `.sellable/configs/core/story-bank.md`
202
- - `.sellable/configs/core/answer-bank.md`
203
- - `.sellable/configs/core/context-modes.md`
204
- - `.sellable/configs/core/decision-rules.md`
205
- - `.sellable/configs/core/change-log.md`
197
+ - `~/.sellable/configs/core/about-me.md`
198
+ - `~/.sellable/configs/core/my-company.md`
199
+ - `~/.sellable/configs/core/anti-ai-writing-style.md`
200
+ - `~/.sellable/configs/core/proof-ledger.md`
201
+ - `~/.sellable/configs/core/story-bank.md`
202
+ - `~/.sellable/configs/core/answer-bank.md`
203
+ - `~/.sellable/configs/core/context-modes.md`
204
+ - `~/.sellable/configs/core/decision-rules.md`
205
+ - `~/.sellable/configs/core/change-log.md`
206
206
 
207
207
  Repeat runs must preserve user edits. Only replace generated sections that are
208
208
  clearly marked as generated/mergeable. Otherwise append, patch the smallest
@@ -213,10 +213,10 @@ section, or add a dated correction in `change-log.md`.
213
213
  Use curated reference folders with `INDEX.md` manifests and copied or distilled
214
214
  examples where the example itself is useful context:
215
215
 
216
- - `.sellable/configs/core/references/linkedin-posts/`
217
- - `.sellable/configs/core/references/inspiration/`
218
- - `.sellable/configs/core/references/applications/`
219
- - `.sellable/configs/core/references/sales-copy/`
216
+ - `~/.sellable/configs/core/references/linkedin-posts/`
217
+ - `~/.sellable/configs/core/references/inspiration/`
218
+ - `~/.sellable/configs/core/references/applications/`
219
+ - `~/.sellable/configs/core/references/sales-copy/`
220
220
 
221
221
  Use `references/reference-curation.md` for manifest fields, duplicate keys, and
222
222
  when to copy versus index only.
@@ -226,7 +226,7 @@ when to copy versus index only.
226
226
  Before finalizing, run the silent audit pass in `references/anti-ai-audit.md`.
227
227
  Capture banned AI-ish patterns, user-authentic exceptions, context-only rules,
228
228
  negative-parallelism limits, proof hygiene, and anti-overfitting warnings in
229
- `.sellable/configs/core/anti-ai-writing-style.md`.
229
+ `~/.sellable/configs/core/anti-ai-writing-style.md`.
230
230
 
231
231
  ## 9. Continue After Saves
232
232
 
@@ -248,7 +248,7 @@ Repeat runs are normal. They must add, correct, merge, and preserve user edits.
248
248
  references.
249
249
  - Merge into compiled core files instead of replacing whole documents.
250
250
  - Preserve manual sections unless the user explicitly asks to rewrite them.
251
- - Add downstream corrections to `.sellable/configs/core/change-log.md`, then
251
+ - Add downstream corrections to `~/.sellable/configs/core/change-log.md`, then
252
252
  update the smallest affected rule, answer, claim, story, or context mode.
253
253
  </idempotency_rules>
254
254
 
@@ -21,16 +21,16 @@ Key principles:
21
21
 
22
22
  ## Original Objective
23
23
 
24
- Conduct a voice-first interview to populate `.sellable/configs/`:
24
+ Conduct a voice-first interview to populate `~/.sellable/configs/`:
25
25
 
26
- 1. Style guide -> `.sellable/configs/writing/styleguide-core.md` and persisted
26
+ 1. Style guide -> `~/.sellable/configs/writing/styleguide-core.md` and persisted
27
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
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
31
  `upsert_engage_tracked_person`.
32
32
 
33
- The interview reads `.sellable/insights/` to ask smarter questions, such as
33
+ The interview reads `~/.sellable/insights/` to ask smarter questions, such as
34
34
  which topics or hooks performed in the latest engage/post sessions. The
35
35
  interview should feel like a 5-minute conversation, not a form.
36
36
 
@@ -40,10 +40,10 @@ interview should feel like a 5-minute conversation, not a form.
40
40
 
41
41
  1. Load current configs via `get_engage_memory()` to check what is populated.
42
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`
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
47
  3. Load the user's LinkedIn profile via `fetch_linkedin_profile`.
48
48
  4. Fetch 5-10 recent posts from 2-3 relevant thought leaders using
49
49
  `search_engagement_posts`.
@@ -95,7 +95,7 @@ corrections and rewrite the config files.
95
95
 
96
96
  ### Phase 5: ICP Profile
97
97
 
98
- If `.sellable/configs/audience/icp.md` is still a template or thin, ask who the
98
+ If `~/.sellable/configs/audience/icp.md` is still a template or thin, ask who the
99
99
  user wants to reach with LinkedIn presence, then write the profile using
100
100
  `core/ICP.template.md`.
101
101
 
@@ -109,7 +109,7 @@ Ask which specific people the user wants to track, then call
109
109
  1. Never fabricate quotes or examples.
110
110
  2. Preserve the user's exact phrasing as blockquotes in the style guide.
111
111
  3. Keep the interview under 5 minutes of user effort.
112
- 4. Always write results to `.sellable/configs/`.
112
+ 4. Always write results to `~/.sellable/configs/`.
113
113
  5. Persist the style guide via MCP.
114
114
  6. Anchor every question to a real post.
115
115
  7. Read business context first, including
@@ -7,13 +7,13 @@ sensitive, external, or only useful for provenance. Every folder uses INDEX.md m
7
7
 
8
8
  ## Folders
9
9
 
10
- - `.sellable/configs/core/references/linkedin-posts/` - personal best posts,
10
+ - `~/.sellable/configs/core/references/linkedin-posts/` - personal best posts,
11
11
  comments, hooks, and thread patterns.
12
- - `.sellable/configs/core/references/inspiration/` - admired outside examples,
12
+ - `~/.sellable/configs/core/references/inspiration/` - admired outside examples,
13
13
  anti-examples, voice-capture sources, and pattern notes.
14
- - `.sellable/configs/core/references/applications/` - accelerator, investor,
14
+ - `~/.sellable/configs/core/references/applications/` - accelerator, investor,
15
15
  founder-profile, and answer-pack references.
16
- - `.sellable/configs/core/references/sales-copy/` - outbound, reply, website,
16
+ - `~/.sellable/configs/core/references/sales-copy/` - outbound, reply, website,
17
17
  deck, objection, proof, and customer-language examples.
18
18
 
19
19
  Each folder should have an `INDEX.md`. A copied/distilled example should live
@@ -5,7 +5,7 @@ materials are provenance; do not expose them as separate user-facing workflows.
5
5
 
6
6
  ## Operating Loop
7
7
 
8
- 1. Prefill from existing `.sellable/configs`, docs, posts, transcripts, emails,
8
+ 1. Prefill from existing `~/.sellable/configs`, docs, posts, transcripts, emails,
9
9
  call notes, and user-provided samples.
10
10
  2. Do evidence collection: collect source path/URL, date, author/speaker,
11
11
  context, audience, privacy, and whether the sample is natural speech, edited
@@ -16,8 +16,8 @@ Sellable voice/company memory into the current thread before drafting,
16
16
  answering, rewriting, reviewing, or calibrating copy in the user's voice.
17
17
 
18
18
  This is a read-only usage workflow. Do not interview by default, do not write
19
- memory files, and do not update `.sellable/**` unless the user explicitly asks
20
- to switch into `$sellable:interview`.
19
+ memory files, and do not update `~/.sellable/**` unless the user explicitly
20
+ asks to switch into `$sellable:interview`.
21
21
  </role>
22
22
 
23
23
  <default_use_cases>
@@ -32,56 +32,52 @@ Use this workflow when the user asks to:
32
32
  </default_use_cases>
33
33
 
34
34
  <load_order>
35
- Read only relevant files. Start with the active `.sellable/configs` memory
36
- layer, not random repo docs.
37
-
38
- If `.sellable/configs` is not visible from the current working directory, use
39
- `Glob` to find `**/.sellable/configs/core/my-company.md`, excluding
40
- `node_modules`, `.next`, `dist`, and `.git`, then use the nearest parent as the
41
- Sellable memory root.
35
+ Read only relevant files. Start with the active home-level
36
+ `~/.sellable/configs` memory layer, not random repo docs or repo-local
37
+ `~/.sellable` folders.
42
38
 
43
39
  ## Core Voice And Judgment
44
40
 
45
41
  Read these when present:
46
42
 
47
- - `.sellable/configs/core/about-me.md`
48
- - `.sellable/configs/core/anti-ai-writing-style.md`
49
- - `.sellable/configs/core/decision-rules.md`
50
- - `.sellable/configs/core/context-modes.md`
43
+ - `~/.sellable/configs/core/about-me.md`
44
+ - `~/.sellable/configs/core/anti-ai-writing-style.md`
45
+ - `~/.sellable/configs/core/decision-rules.md`
46
+ - `~/.sellable/configs/core/context-modes.md`
51
47
 
52
48
  ## Company Truth And Proof
53
49
 
54
50
  Read these when present:
55
51
 
56
- - `.sellable/configs/core/my-company.md`
57
- - `.sellable/configs/core/answer-bank.md`
58
- - `.sellable/configs/core/proof-ledger.md`
59
- - `.sellable/configs/core/story-bank.md`
60
- - `.sellable/configs/core/wins-ledger.md`
52
+ - `~/.sellable/configs/core/my-company.md`
53
+ - `~/.sellable/configs/core/answer-bank.md`
54
+ - `~/.sellable/configs/core/proof-ledger.md`
55
+ - `~/.sellable/configs/core/story-bank.md`
56
+ - `~/.sellable/configs/core/wins-ledger.md`
61
57
 
62
58
  ## Writing-Specific Guidance
63
59
 
64
60
  Read these when present and relevant to the task:
65
61
 
66
- - `.sellable/configs/writing/styleguide-core.md`
67
- - `.sellable/configs/writing/comments.md`
62
+ - `~/.sellable/configs/writing/styleguide-core.md`
63
+ - `~/.sellable/configs/writing/comments.md`
68
64
 
69
65
  ## Transcript Or Topic Context
70
66
 
71
67
  Do not bulk-read raw transcripts. If the user asks about a specific topic,
72
68
  story, sales call, customer, market view, or correction, first read:
73
69
 
74
- - `.sellable/configs/core/transcripts/INDEX.md`
75
- - the most relevant file under `.sellable/configs/core/transcripts/topics/`
70
+ - `~/.sellable/configs/core/transcripts/INDEX.md`
71
+ - the most relevant file under `~/.sellable/configs/core/transcripts/topics/`
76
72
 
77
- Only read raw archives under `.sellable/interviews/**` when the index/topic file
78
- points to one and the current task needs that source detail.
73
+ Only read raw archives under `~/.sellable/interviews/**` when the index/topic
74
+ file points to one and the current task needs that source detail.
79
75
  </load_order>
80
76
 
81
77
  <operating_rules>
82
78
 
83
79
  - Keep the loader lightweight. The first pass should usually be 6-10 files, not
84
- every file under `.sellable`.
80
+ every file under `~/.sellable`.
85
81
  - Apply the loaded profile silently after a short confirmation. Do not paste a
86
82
  long summary of the memory unless the user asks for one.
87
83
  - If the user already gave a concrete writing task, load the memory and then do
@@ -219,7 +219,7 @@ After all agents return, combine into a short Research Notes block. **Strip DEBU
219
219
 
220
220
  **If researchMode="prospect":**
221
221
 
222
- If the caller passed cross-skill insights (from `.sellable/insights/cross-skill.md`), use them to prioritize hooks — e.g., if engage sessions show "AI compute time" angles get high engagement, rank those hooks higher.
222
+ If the caller passed cross-skill insights (from `~/.sellable/insights/cross-skill.md`), use them to prioritize hooks — e.g., if engage sessions show "AI compute time" angles get high engagement, rank those hooks higher.
223
223
 
224
224
  ```markdown
225
225
  ## {Name} - {Title} at {Company}