@sellable/mcp 0.1.19 → 0.1.20
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/README.md
CHANGED
|
@@ -83,14 +83,14 @@ The token is provided when you generate it. Use `list_workspaces` +
|
|
|
83
83
|
For customer/package installs, use the public installer:
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
|
-
npx -y @sellable/install@0.1.
|
|
86
|
+
npx -y @sellable/install@0.1.20 --host codex --token skt_live_your_token_here --workspace-id your_workspace_id
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
If you already have `~/.sellable/config.json`, rerun/verify without rewriting
|
|
90
90
|
auth:
|
|
91
91
|
|
|
92
92
|
```bash
|
|
93
|
-
npx -y @sellable/install@0.1.
|
|
93
|
+
npx -y @sellable/install@0.1.20 --host codex
|
|
94
94
|
sellable --verify-only --host codex
|
|
95
95
|
```
|
|
96
96
|
|
package/package.json
CHANGED
|
@@ -120,6 +120,12 @@ Validated draft directory:
|
|
|
120
120
|
or safe launch. Do not say "persist", "local draft folder", "artifact",
|
|
121
121
|
"mkdir", "campaign thesis", or "same approved campaign thesis" in
|
|
122
122
|
customer-facing progress copy.
|
|
123
|
+
- Every approval gate must include artifact access after the readable inline
|
|
124
|
+
content. Show a short `Open artifacts:` line with clickable markdown links
|
|
125
|
+
using absolute paths when the host supports them, plus the plain path for CLI
|
|
126
|
+
users. Do this for brief approval, lead-source approval/review, message review,
|
|
127
|
+
and final approval packet. Do not use the links as a substitute for rendering
|
|
128
|
+
the content inline; links are for deeper inspection.
|
|
123
129
|
- Do not treat the active Sellable workspace as the campaign subject. The
|
|
124
130
|
workspace only tells you where the campaign will be saved. Before buyer, CTA,
|
|
125
131
|
proof, or source questions, identify two things:
|
|
@@ -318,7 +324,9 @@ me`, `I’ll paste a different sender profile`, and `Other / custom`.
|
|
|
318
324
|
strategic choice or the user has not already made the direction obvious. The
|
|
319
325
|
user-facing choice should be approve/revise language, not "looks good".
|
|
320
326
|
Approval options should refer to what the user just read, e.g. `Approve this
|
|
321
|
-
brief`, `Revise target`, `Revise offer/proof`, and `Other / custom`.
|
|
327
|
+
brief`, `Revise target`, `Revise offer/proof`, and `Other / custom`.
|
|
328
|
+
Include `Open artifacts:` links to `brief-v1.md` and `brief.md` before the
|
|
329
|
+
approval question.
|
|
322
330
|
|
|
323
331
|
- After the brief is approved or auto-confirmed, show the next progress line:
|
|
324
332
|
`Cool. Now I'm going to find people who are both a good fit and likely to
|
|
@@ -522,8 +530,8 @@ Required behavior:
|
|
|
522
530
|
such as `73% match` without the numerator, denominator, and sample basis, e.g.
|
|
523
531
|
`8 of 11 sampled engagers fit the ICP (73%)`. If the sample is small, say it is
|
|
524
532
|
directional. If an estimate depends on assumptions, show the math: `5 selected
|
|
525
|
-
|
|
526
|
-
|
|
533
|
+
posts x ~40-80 reachable engagers/post x 25-40% expected fit = ~50-160 likely
|
|
534
|
+
usable leads`.
|
|
527
535
|
- source progress updates should expose the confidence-building numbers as soon
|
|
528
536
|
as they exist: keyword lanes searched, timeframe used, post results by lane,
|
|
529
537
|
finalist posts reviewed, engagers fetched, sampled engagers, sampled fits,
|
|
@@ -578,7 +586,7 @@ Required behavior:
|
|
|
578
586
|
posts reviewed, number of selected posts, total engagers fetched, deduped
|
|
579
587
|
sampled people count, sampled fit count, and the estimated likely usable people
|
|
580
588
|
range. Explicitly distinguish `posts found`, `engagers sampled`, and `usable
|
|
581
|
-
|
|
589
|
+
people estimated`.
|
|
582
590
|
- source decision: best path, why it won, pros, cons/tradeoffs, and discarded
|
|
583
591
|
source paths with the reason each lost
|
|
584
592
|
- repeated false-positive patterns
|
|
@@ -637,6 +645,8 @@ visible response must include `## Source Decision`, `## Evidence Snapshot`,
|
|
|
637
645
|
`## Expected LinkedIn Funnel`, `## Pros`, `## Tradeoffs`, and `## Discarded
|
|
638
646
|
Paths`. For Signals-first campaigns it must also include `## Selected Signal
|
|
639
647
|
Posts` and `## Sample Leads`.
|
|
648
|
+
Include `Open artifacts:` links to `lead-review.md` and `lead-sample.json`
|
|
649
|
+
before moving to filter/message drafting or asking for any source revision.
|
|
640
650
|
|
|
641
651
|
For supplied profile CSVs and existing lead lists, `lead-review.md` must not
|
|
642
652
|
describe a generic TAM estimate or pretend the rows came from Sales Nav/Prospeo
|
|
@@ -860,6 +870,16 @@ Orchestration requirements:
|
|
|
860
870
|
`My take: ...`, `Suggested adjustment: ...`,
|
|
861
871
|
`Question: approve-message or revise-messaging?`, `Recommendation:
|
|
862
872
|
approve-message|revise-messaging`.
|
|
873
|
+
- Never ask the message approval question until the full message review is
|
|
874
|
+
visible in the chat. A summary like `Message review is ready` or `the draft
|
|
875
|
+
avoids a generic pitch` is not enough. The user must see the actual subject,
|
|
876
|
+
the actual tokenized message template, at least one good filled example, one
|
|
877
|
+
good omit example, token notes, your take, and the suggested adjustment before
|
|
878
|
+
any `approve-message` / `revise-messaging` question appears. If you catch
|
|
879
|
+
yourself wanting to offer `show me message` as a choice, stop: render the
|
|
880
|
+
message review first, then ask only `approve-message` or `revise-messaging`.
|
|
881
|
+
Include `Open artifacts:` links to `message-review.md` and
|
|
882
|
+
`message-validation.md` before the approval question.
|
|
863
883
|
- `My take:` and `Suggested adjustment:` are mandatory customer-facing decision
|
|
864
884
|
fields, not optional summary text. They must appear after `Token notes:` and
|
|
865
885
|
before the question in every rendered message review. They must each be
|
|
@@ -981,6 +1001,9 @@ proof:`, `p.s. useful proof:`, `p.s. proof:`, or `p.s. social proof:`.
|
|
|
981
1001
|
summarize the customer checkpoint from `message-review.md` and preserve the
|
|
982
1002
|
same literal `My take:`, `Suggested adjustment:`, and `Recommendation:`
|
|
983
1003
|
labels.
|
|
1004
|
+
Include `Open artifacts:` links to `approval-packet.md`,
|
|
1005
|
+
`message-review.md`, `lead-review.md`, and `brief.md` before the commit-gate
|
|
1006
|
+
question.
|
|
984
1007
|
- if `message-validation.md` contains an extractable `Selected Winner`, use
|
|
985
1008
|
that exact winner as the `## Approved Message Template` in
|
|
986
1009
|
`approval-packet.md` and in the campaign brief passed to `create_campaign`.
|
|
@@ -59,6 +59,15 @@ Approvals only feel safe when the user can see what they are approving. Before
|
|
|
59
59
|
any approve/revise question, show the relevant decision in plain language. For a
|
|
60
60
|
brief approval, render the brief itself, not just a direction summary.
|
|
61
61
|
|
|
62
|
+
Every approval should also give the user a way to inspect the source artifact.
|
|
63
|
+
After the readable inline content, include an `Open artifacts:` line with links
|
|
64
|
+
or plain paths to the files behind the decision. The artifact links are a backup
|
|
65
|
+
for inspection, not a replacement for showing the content in chat.
|
|
66
|
+
|
|
67
|
+
This applies especially to message approvals. Never ask someone to approve a
|
|
68
|
+
message they cannot see. Show the subject, message body/template, filled example,
|
|
69
|
+
omit example, token notes, your take, and suggested adjustment first.
|
|
70
|
+
|
|
62
71
|
## Progress Updates
|
|
63
72
|
|
|
64
73
|
Every customer-facing update should answer one of these:
|
|
@@ -227,6 +227,8 @@
|
|
|
227
227
|
"then I will find good-fit leads"
|
|
228
228
|
],
|
|
229
229
|
"minimumVisibleBriefDetail": "full_readable_brief_before_question",
|
|
230
|
+
"requiredArtifactLinks": ["brief-v1.md", "brief.md"],
|
|
231
|
+
"artifactLinkTiming": "before_approval_question",
|
|
230
232
|
"avoidQuestionWhenOnlyUsefulAnswerIs": "looks good"
|
|
231
233
|
},
|
|
232
234
|
{
|
|
@@ -397,6 +399,8 @@
|
|
|
397
399
|
"confidence note"
|
|
398
400
|
],
|
|
399
401
|
"forbidPercentOnlyFitRates": true,
|
|
402
|
+
"requiredArtifactLinks": ["lead-review.md", "lead-sample.json"],
|
|
403
|
+
"artifactLinkTiming": "before_next_step_or_revision_question",
|
|
400
404
|
"doNotCompressToSummaryOnly": true,
|
|
401
405
|
"doNotRenderArtifactLinksOnly": true
|
|
402
406
|
},
|
|
@@ -607,6 +611,13 @@
|
|
|
607
611
|
"question",
|
|
608
612
|
"recommendation"
|
|
609
613
|
],
|
|
614
|
+
"mustRenderInlineBeforeQuestion": true,
|
|
615
|
+
"minimumVisibleMessageDetail": "full_message_review_before_question",
|
|
616
|
+
"requiredArtifactLinks": [
|
|
617
|
+
"message-review.md",
|
|
618
|
+
"message-validation.md"
|
|
619
|
+
],
|
|
620
|
+
"artifactLinkTiming": "before_approval_question",
|
|
610
621
|
"requiredLabels": [
|
|
611
622
|
"Subject:",
|
|
612
623
|
"Message:",
|
|
@@ -644,6 +655,20 @@
|
|
|
644
655
|
{
|
|
645
656
|
"action": "ask_message_review_choice",
|
|
646
657
|
"choices": ["approve-message", "revise-messaging"],
|
|
658
|
+
"questionPrerequisiteVisibleLabels": [
|
|
659
|
+
"Status: message-review",
|
|
660
|
+
"Subject:",
|
|
661
|
+
"Message:",
|
|
662
|
+
"Rendered examples:",
|
|
663
|
+
"Good token fill:",
|
|
664
|
+
"Good omit:",
|
|
665
|
+
"Token notes:",
|
|
666
|
+
"My take:",
|
|
667
|
+
"Suggested adjustment:",
|
|
668
|
+
"Recommendation:"
|
|
669
|
+
],
|
|
670
|
+
"forbiddenWhenMissingVisibleMessage": true,
|
|
671
|
+
"doNotOfferShowMessageChoice": true,
|
|
647
672
|
"stopAfterQuestion": true
|
|
648
673
|
},
|
|
649
674
|
{
|
|
@@ -726,6 +751,13 @@
|
|
|
726
751
|
"messages",
|
|
727
752
|
"risks and next action"
|
|
728
753
|
],
|
|
754
|
+
"requiredArtifactLinks": [
|
|
755
|
+
"approval-packet.md",
|
|
756
|
+
"message-review.md",
|
|
757
|
+
"lead-review.md",
|
|
758
|
+
"brief.md"
|
|
759
|
+
],
|
|
760
|
+
"artifactLinkTiming": "before_commit_gate_question",
|
|
729
761
|
"userFacing": true,
|
|
730
762
|
"doNotUseWords": ["anchor", "validation anchor", "lane"]
|
|
731
763
|
},
|
|
@@ -821,7 +853,14 @@
|
|
|
821
853
|
"lead sample",
|
|
822
854
|
"lead filter",
|
|
823
855
|
"message validation"
|
|
824
|
-
]
|
|
856
|
+
],
|
|
857
|
+
"requiredArtifactLinks": [
|
|
858
|
+
"approval-packet.md",
|
|
859
|
+
"message-review.md",
|
|
860
|
+
"lead-review.md",
|
|
861
|
+
"brief.md"
|
|
862
|
+
],
|
|
863
|
+
"artifactLinkTiming": "same_turn_before_commit_question"
|
|
825
864
|
},
|
|
826
865
|
{
|
|
827
866
|
"action": "ask_commit_choice",
|