@sellable/mcp 0.1.151 → 0.1.153

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 (37) hide show
  1. package/README.md +4 -3
  2. package/agents/post-find-leads-filter-scout.md +5 -4
  3. package/agents/post-find-leads-message-scout.md +15 -14
  4. package/agents/source-scout-linkedin-engagement.md +6 -5
  5. package/agents/source-scout-prospeo-contact.md +4 -4
  6. package/agents/source-scout-sales-nav.md +4 -4
  7. package/dist/index-dev.js +0 -0
  8. package/dist/index.js +0 -0
  9. package/dist/tools/cells.js +1 -1
  10. package/dist/tools/leads.d.ts +37 -3
  11. package/dist/tools/leads.js +85 -77
  12. package/dist/tools/prompts.js +9 -9
  13. package/dist/tools/readiness.d.ts +7 -1
  14. package/dist/tools/readiness.js +10 -17
  15. package/dist/tools/registry.d.ts +17 -0
  16. package/dist/tools/rubrics.js +23 -20
  17. package/package.json +1 -1
  18. package/skills/create-campaign/SKILL.md +59 -56
  19. package/skills/create-campaign-v2/SKILL.md +44 -42
  20. package/skills/create-campaign-v2/SOUL.md +16 -13
  21. package/skills/create-campaign-v2/core/auto-execute.README.md +16 -17
  22. package/skills/create-campaign-v2/core/auto-execute.yaml +8 -7
  23. package/skills/create-campaign-v2/core/flow.v2.json +81 -149
  24. package/skills/create-campaign-v2/core/policy.md +13 -12
  25. package/skills/create-campaign-v2/references/approval-gate-framing.md +4 -3
  26. package/skills/create-campaign-v2/references/filter-leads.md +5 -4
  27. package/skills/create-campaign-v2/references/lead-validation-preview.md +2 -2
  28. package/skills/create-campaign-v2/references/sample-validation-loop.md +32 -27
  29. package/skills/create-campaign-v2/references/step-13-import-leads.md +44 -33
  30. package/skills/create-campaign-v2/references/watch-guide-narration.md +27 -28
  31. package/skills/create-campaign-v2-tail/SKILL.md +44 -44
  32. package/skills/create-rubric/SKILL.md +5 -5
  33. package/skills/find-leads/SKILL.md +2 -2
  34. package/skills/generate-messages/SKILL.md +2 -1
  35. package/skills/providers/prospeo.md +3 -3
  36. package/skills/providers/sales-nav.md +7 -7
  37. package/skills/providers/signal-discovery.md +47 -23
@@ -51,9 +51,11 @@ turn anchored to that:
51
51
  3. Turn that into a campaign brief and create the watchable campaign shell.
52
52
  4. Ask for brief approval before any lead import or sending-adjacent work.
53
53
  5. Find likely responders and approve the source.
54
- 6. Import only the bounded review batch.
54
+ 6. Copy the confirmed source list into the campaign and use the first 15 rows as
55
+ the review/process sample.
55
56
  7. Filter for fit and draft the reusable message template from the same sample.
56
- 8. Ask for message approval before queueing the review-batch cascade.
57
+ 8. Queue the bounded fit cascade from saved rubrics/run conditions only after the
58
+ message template is approved.
57
59
  9. Use Settings for sender selection, sequence attach, and final launch handoff.
58
60
 
59
61
  Approvals only feel safe when the user can see what they are approving. Before
@@ -81,12 +83,13 @@ example, like `omit the noticed... line` or `use "operators"`. Missing data
81
83
  should never produce robotic or creepy copy.
82
84
 
83
85
  Approved token guidance is part of the campaign, not just the review. After the
84
- bounded review batch exists and message generation has a selected template, the
85
- campaign brief should carry forward the token fill rules and examples before any
86
+ first review/process sample exists and message generation has a selected
87
+ template, the campaign brief should carry forward the token fill rules and examples before any
86
88
  workflow-table cascade is queued: good fills, good omits, bad fills, fallback
87
89
  rules, and why the bad fills are blocked.
88
90
  The campaign brief must carry forward the token fill rules from review into the
89
- live campaign state before enrichment, filtering, or Generate Message cells run.
91
+ live campaign state before enrichment, filtering, Generate Message cells, sender
92
+ setup, sequence attach, or launch.
90
93
 
91
94
  ## Progress Updates
92
95
 
@@ -275,17 +278,17 @@ surface install status to the customer.
275
278
 
276
279
  For post-lead work, call `get_post_find_leads_scout_registry` after
277
280
  the user chooses filters, not before the filter-choice question. After
278
- `confirm_lead_list` imports a non-empty bounded review batch and
279
- `get_rows_minimal` proves rows exist, ask add-filters vs skip-filters
281
+ `confirm_lead_list` copies source rows and `get_rows_minimal` proves the first
282
+ review/process sample exists, ask add-filters vs skip-filters
280
283
  immediately. Once the user answers, start `post-find-leads-message-scout` /
281
284
  message generation from the same campaign/table basis. If the user chooses
282
285
  filters, also start `post-find-leads-filter-scout`, move the browser to Filter
283
- Rules, save rubrics, then keep the browser on Filter Leads while the message
284
- recommendation is reviewed. If the user skips filters, move the browser to
285
- Messages/message review. The join gate is live branch readiness: saved rubrics
286
- or a resolved skip-filter choice, plus a message recommendation grounded in the
287
- same campaign/table basis. Enrichment, filtering, and product Generate Message
288
- cells still wait for template approval.
286
+ Rules, save rubrics, then ask for filter approval. After approval, keep the
287
+ browser on Filter Leads while the message recommendation is reviewed. If the user
288
+ skips filters, move the browser to Messages/message review. The join gate is
289
+ saved-filter approval or a resolved skip-filter choice, plus a message
290
+ recommendation grounded in the same campaign/table basis. Enrichment, filtering,
291
+ and Generate Message cells wait for template approval on the Use Template path.
289
292
 
290
293
  Only promise parallel post-lead work when parallel work actually started. If the
291
294
  host cannot or should not launch background branches, say the real sequence:
@@ -11,19 +11,19 @@ autonomous tail (Step 13, `auto-execute-leads`). All subsequent steps (14
11
11
  validate-sample, 15 auto-execute-messaging, 16 awaiting-user-greenlight)
12
12
  read the already-parsed config; they do not re-load the YAML mid-run.
13
13
 
14
- Config values are NOT written to DB. They live on the skill side and
15
- influence tool arguments (e.g. `importLimit` flows into `import_leads`
16
- `targetLeadCount` arg, `sampleSize` flows into the first N rows pulled from
17
- the imported review batch for validation).
14
+ Config values are NOT written to DB. They live on the skill side and influence
15
+ tool arguments (e.g. `importLimit` / `sampleSize` controls the first N
16
+ review/process rows after `confirm_lead_list` copies the confirmed source rows
17
+ into the campaign).
18
18
 
19
19
  ## Sections
20
20
 
21
21
  ### `import`
22
22
 
23
- - **`importLimit`** — Review-batch size imported in Step 13. The tail MUST
24
- NOT exceed this cap before the user reviews the first batch and explicitly
25
- approves expansion. If the user wants 250 leads, run a later expansion step;
26
- do not spend credits on all 250 during the default approval tail.
23
+ - **`importLimit`** — Review/process sample size used after Step 13 copies the
24
+ confirmed source rows into the campaign. The tail MUST NOT exceed this cap
25
+ before the message template is approved and at least one generated passing
26
+ message is reviewed.
27
27
  - **`provider`** — Inherited from the Phase 84 commit decision (saved in
28
28
  the committed brief / campaign metadata). Present here so the tail can
29
29
  narrate which provider it's running against; it does NOT override the
@@ -31,19 +31,18 @@ the imported review batch for validation).
31
31
 
32
32
  ### `sample`
33
33
 
34
- - **`sampleSize`** — How many rows the validation loop pulls from the
35
- imported review batch. In v2 this matches the review-batch cap
36
- (default 25), so the user sees enough real rows to judge the campaign
37
- without spending credits on hundreds more.
34
+ - **`sampleSize`** — How many rows the validation loop pulls from the first
35
+ review/process sample. In v2 this matches the process cap (default 15), so the
36
+ user sees enough real rows to judge the campaign without spending credits on
37
+ hundreds more.
38
38
  - **`minProjectedPass`** — Passing-message floor required before handoff.
39
- The default requires 5 passing examples from the 25-row review batch.
39
+ The default requires one passing example from the 15-row review sample.
40
40
  Math:
41
41
  ```text
42
42
  projectedPass = round(passInSample / sampleSize * importLimit)
43
43
  ```
44
- With defaults (sampleSize=25, importLimit=25), `projectedPass` equals
45
- the actual review-batch pass count. 5 passing rows is exactly at the
46
- floor.
44
+ With defaults (sampleSize=15, importLimit=15), `projectedPass` equals the
45
+ actual review sample pass count. One passing row is exactly at the floor.
47
46
  - **`maxRevisionRounds`** — Hard cap before escalating to the user. A
48
47
  revision round is one full sample pass that triggered brief revision
49
48
  and retried. On stale resume the counter does NOT reset.
@@ -128,7 +127,7 @@ logs and adjust:
128
127
 
129
128
  - `importLimit` higher only if users consistently ask for larger review
130
129
  batches and credit spend is acceptable.
131
- - `sampleSize` higher if a 25-row review batch is not enough to judge
130
+ - `sampleSize` higher if a 15-row review sample is not enough to judge
132
131
  quality for a specific market.
133
132
  - `minProjectedPass` lower only if fewer than 3 passing examples is still
134
133
  enough for a confident user decision.
@@ -14,10 +14,11 @@
14
14
  version: 1
15
15
 
16
16
  import:
17
- # Initial review batch imported in Step 13 before the sample validation
18
- # loop. Import + enrichment must never exceed this cap before the user
19
- # reviews the sample and explicitly asks to expand.
20
- importLimit: 25
17
+ # Initial review/process sample used after the confirmed source list is copied
18
+ # into the campaign. Enrichment must never exceed this cap before the message
19
+ # template is approved and the sample proves at least one passing generated
20
+ # message.
21
+ importLimit: 15
21
22
  # Provider is inherited from the campaign-attached source association created
22
23
  # during find-leads. Step 13 may re-run provider preflight in memory, but it
23
24
  # does not choose a new source.
@@ -27,11 +28,11 @@ sample:
27
28
  # Rows pulled from the imported cohort for the validation loop. In v2 this
28
29
  # equals the review-batch cap so the user sees a focused first test batch
29
30
  # without spending credits on hundreds of rows.
30
- sampleSize: 25
31
+ sampleSize: 15
31
32
  # Projected first-batch passing count required to proceed to sample
32
33
  # messaging. This is not approval to scale the full source list.
33
34
  # projectedPass = round(passInSample / sampleSize * importLimit).
34
- minProjectedPass: 5
35
+ minProjectedPass: 1
35
36
  # Hard cap on revision loops before escalating to the user. On a stale
36
37
  # resume the counter does NOT reset — the 3-round cap holds across
37
38
  # sessions.
@@ -106,7 +107,7 @@ handoff:
106
107
  # Orientation surfaced in Step 16 ("awaiting-user-greenlight") along with
107
108
  # the watch link. Keep this short and user-facing.
108
109
  orientation: >-
109
- Review the first 25 enriched leads and messages. If they look good,
110
+ Review the first generated passing message. If it looks good,
110
111
  attach a sender in Settings, accept the recommended sequence, and start
111
112
  the campaign without spending credits on more leads first.
112
113