@sellable/mcp 0.1.388 → 0.1.390
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
|
@@ -418,7 +418,7 @@ Tokenized shape:
|
|
|
418
418
|
|
|
419
419
|
Hey there
|
|
420
420
|
|
|
421
|
-
|
|
421
|
+
Thanks for the support on my post about {{post_topic_line}}
|
|
422
422
|
|
|
423
423
|
Curious, is this something you're dealing with right now?
|
|
424
424
|
```
|
|
@@ -429,6 +429,10 @@ Transfer rules:
|
|
|
429
429
|
selected sender-authored post or use a safer source-specific phrase.
|
|
430
430
|
- Do not use "showing some love"; it reads too casual for executive/VP/director
|
|
431
431
|
contacts.
|
|
432
|
+
- Keep the thank-you line. The point of this motion is acknowledging real
|
|
433
|
+
sender-owned support before asking a light relevance question. Do not flatten
|
|
434
|
+
it back to "saw you pop up" unless the sender specifically asks for that
|
|
435
|
+
wording.
|
|
432
436
|
- Do not copy this shape into shared lanes, third-party thread sources, or cold
|
|
433
437
|
fallback campaigns.
|
|
434
438
|
- Keep the question closed and problem-oriented; do not pitch, ask for a
|
|
@@ -775,7 +775,7 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
|
|
|
775
775
|
|
|
776
776
|
Hey there
|
|
777
777
|
|
|
778
|
-
|
|
778
|
+
Thanks for the support on my post about {{post_topic_line}}
|
|
779
779
|
```
|
|
780
780
|
|
|
781
781
|
- **Shared Signal Discovery** first-message style: short, casual, references
|
|
@@ -797,9 +797,18 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
|
|
|
797
797
|
generic greeting. It should open with a light role/company/problem
|
|
798
798
|
observation, avoid awkward phrases like "looks like a team where", avoid
|
|
799
799
|
founder-only first person unless every attached sender can credibly say it,
|
|
800
|
-
and ask one clear problem question.
|
|
801
|
-
|
|
802
|
-
|
|
800
|
+
and ask one clear problem question. It must not pass just because the
|
|
801
|
+
receipt says `generate-messages` loaded; the reviewed samples must sound
|
|
802
|
+
like final cold output from the create-campaign/generate-messages workflow.
|
|
803
|
+
Use no self-intro such as "We're building", no opt-out shrug such as "If
|
|
804
|
+
this isn't relevant, ignore me", and no product-stack dump that repeats
|
|
805
|
+
Sellable/Codex/Claude-Code feature summary
|
|
806
|
+
across prospects. This is a single-message cold path unless the approved
|
|
807
|
+
create-campaign message workflow proves a better delivery format.
|
|
808
|
+
Short form: Shared Cold Fallback must not pass just because the receipt says `generate-messages` loaded.
|
|
809
|
+
Short form: Shared Cold Fallback uses no self-intro such as "We're building".
|
|
810
|
+
Short form: Shared Cold Fallback uses no opt-out shrug such as "If this isn't relevant, ignore me".
|
|
811
|
+
Short form: Shared Cold Fallback uses no product-stack dump.
|
|
803
812
|
- Every customer-visible lane must run Message Drafting from the current
|
|
804
813
|
campaign/table basis after source rows exist. The worker must load the full
|
|
805
814
|
packaged `generate-messages` prompt, every required asset, and
|
|
@@ -854,10 +863,14 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
|
|
|
854
863
|
`validationResult:"passed"`, a passed quality review, and at least 3
|
|
855
864
|
reviewed sample messages. For Shared Cold Fallback, reject samples that
|
|
856
865
|
open with a standalone name followed by "Hey there" or a similarly generic
|
|
857
|
-
greeting. For
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
866
|
+
greeting. For Shared Cold Fallback, also reject samples with a self-intro
|
|
867
|
+
such as "We're building", an opt-out shrug such as "If this isn't
|
|
868
|
+
relevant, ignore me", or a product-stack dump that repeats the same
|
|
869
|
+
Sellable/Codex/Claude-Code feature summary across prospects. For all
|
|
870
|
+
shared lanes, reject generic product-summary samples, repeated
|
|
871
|
+
near-identical samples, and any preserved Post Engagers opener; revise or
|
|
872
|
+
rerun the packaged create-campaign/generate-messages path before reporting
|
|
873
|
+
completion.
|
|
861
874
|
- The first review batch exists and at least 3 review rows have generated
|
|
862
875
|
messages from the approved brief. If fewer than 3 usable rows exist, report
|
|
863
876
|
the actual count and why.
|
|
@@ -931,7 +944,8 @@ Parent-thread handwritten copy or setting `currentStep` is not proof.
|
|
|
931
944
|
**Also confirm the delivery format and keep config in sync.** Ask the user whether DM lanes should send multiline (paragraph-per-message) or as a single message. Record the answer as the brief's `Delivery format:` line, and when multiline is chosen, set `actionConfig.sendEachParagraphAsMessage: true` on that campaign's `send_dm` column via `update_column` (config edits run no cells and nothing sends from unlaunched campaigns). Never set the paragraph-split flag on InMail columns — the option does not apply to InMail.
|
|
932
945
|
6. **Interactive polish mode only: prove the template on one real row.** For ONE campaign that has at least one lead row (add one via `add_on_demand_leads` if every lane is empty and the user provides/approves a test lead), generate a message for exactly one row (`queue_campaign_cells` with `columnRole: "generateMessage"`, `rowSelector: { type: "reviewBatch", limit: 1 }` or the single row's ID), wait for it, then show the user the generated message next to the template — AND show how it would split if paragraph-per-message sending is enabled (list each paragraph as `msg 1:`, `msg 2:`, …) so the user confirms each one reads like a real typed message. Check alignment: tone, structure, no internal vocabulary, correct token substitution, no letter punctuation. Do NOT approve the row or generate for more rows — one sample only.
|
|
933
946
|
7. **Automation mode template/config audit**: inspect existing send-lane briefs for a `Delivery format:` line and chat-native warm template. If a send lane is missing the line and the prompt allows cleanup, update only the campaign brief metadata with the safest default for that lane (`Delivery format: single message (LinkedIn DM; line breaks remain inside one generated message; no follow-up until reply)`). If cleanup is not allowed, flag it. Do not generate a sample row in automation mode unless the invocation explicitly asks for sample proof. In structure-only automation, do not generate a sample row unless the invocation explicitly asks for sample proof. In customer-visible completion, follow the Customer-Visible Completion Contract instead.
|
|
934
|
-
8. **
|
|
947
|
+
8. **Final customer-facing completion must include sample messaging**: after customer-visible verify and the idempotency rerun pass, add a `Sample Messaging Review` section to the final answer. For every completed lane, show at least one full generated first message for every completed lane with campaign name, campaign id, row id, and verdict. Prefer the approved route-proof row when it is quality-valid; otherwise use the best reviewed generated row from the verified receipt. Do not summarize the sample into a copy theme. Show the actual message text so the user can inspect tone and specificity. If any sample is not quite right, tell the user they can ask the AI to update the campaign brief/message template and rerun Generate Message before launch. Never suggest launching, scheduling, or sending as the next step from this command.
|
|
948
|
+
9. **Report the reconcile plan and result** — every slot tagged `reused`, `created`, `repaired`, `flagged`, or `blocked`, plus template/sample details only when that mode ran:
|
|
935
949
|
|
|
936
950
|
```
|
|
937
951
|
Evergreen Reconcile — {date}
|
|
@@ -940,6 +954,17 @@ Evergreen Reconcile — {date}
|
|
|
940
954
|
• Sellable.dev - Shared Signal Discovery: repaired (send review ready; 50 rows, 3 generated, 1 approved gate row, sequence attached, paused)
|
|
941
955
|
• Sellable.dev - Shared Cold Fallback: created (send review ready; 50 rows, 3 generated, 1 approved gate row, sequence attached, paused)
|
|
942
956
|
All campaigns remain unlaunched. Next: enrich/approve more rows when you want more items ready to schedule.
|
|
957
|
+
|
|
958
|
+
Sample Messaging Review
|
|
959
|
+
• Christian Reyes - Post Engagers (`cmp_...`, row `row_...`, verdict: passed)
|
|
960
|
+
```
|
|
961
|
+
{{full generated first message}}
|
|
962
|
+
```
|
|
963
|
+
• Sellable.dev - Shared Cold Fallback (`cmp_...`, row `row_...`, verdict: passed)
|
|
964
|
+
```
|
|
965
|
+
{{full generated first message}}
|
|
966
|
+
```
|
|
967
|
+
If any sample is not quite right, ask the AI to update the campaign brief/message template and rerun Generate Message before launch.
|
|
943
968
|
```
|
|
944
969
|
</objective>
|
|
945
970
|
|
|
@@ -227,9 +227,31 @@ when those shared lanes were sourced from engagement-like signals. Shared lanes
|
|
|
227
227
|
must choose a signal-led, event-led, job-post-led, or proof-led motion from the
|
|
228
228
|
current brief and row evidence instead of inheriting a preset first-message
|
|
229
229
|
template.
|
|
230
|
+
Post-engager first messages should thank the prospect for the support on the
|
|
231
|
+
sender-owned post before asking the light relevance question. Prefer the gold
|
|
232
|
+
shape `Thanks for the support on my post about {{post_topic_line}}` over
|
|
233
|
+
surveillance-flavored wording like `saw you pop up`, unless the sender explicitly
|
|
234
|
+
asks for that older wording.
|
|
230
235
|
Short form: use the CXConnect Post-Engager Warm Reply-Rate Pattern only when the source is sender-owned Post Engagers.
|
|
231
236
|
Short form: Never use that warm post-engager pattern for Shared Signal Discovery or Shared Cold Fallback.
|
|
232
237
|
|
|
238
|
+
### Shared Cold Fallback quality bar
|
|
239
|
+
|
|
240
|
+
Shared Cold Fallback is a true cold lane. It must not pass just because a receipt
|
|
241
|
+
says `generate-messages` loaded or because generated cells exist. The samples
|
|
242
|
+
must read like final create-campaign/generate-messages output.
|
|
243
|
+
|
|
244
|
+
- Start from a concrete row-supported role/company/problem observation.
|
|
245
|
+
- Ask one clear buyer problem question.
|
|
246
|
+
- Keep the product line minimal and buyer-readable; do not turn the note into a
|
|
247
|
+
product-stack dump.
|
|
248
|
+
- Use no self-intro such as "We're building" or "We're working on a way" in the
|
|
249
|
+
reviewed samples.
|
|
250
|
+
- Use no opt-out shrug such as "If this isn't relevant, ignore me."
|
|
251
|
+
- Do not repeat the same Sellable/Codex/Claude-Code product summary across
|
|
252
|
+
samples. If two samples would still read the same after replacing names and
|
|
253
|
+
companies, revise or rerun.
|
|
254
|
+
|
|
233
255
|
### Rich Personalization Contract
|
|
234
256
|
|
|
235
257
|
The `create-campaign` asset `references/ai-native-tokens.md` is the canonical
|