@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.
- package/README.md +4 -3
- package/agents/post-find-leads-filter-scout.md +5 -4
- package/agents/post-find-leads-message-scout.md +15 -14
- package/agents/source-scout-linkedin-engagement.md +6 -5
- package/agents/source-scout-prospeo-contact.md +4 -4
- package/agents/source-scout-sales-nav.md +4 -4
- package/dist/index-dev.js +0 -0
- package/dist/index.js +0 -0
- package/dist/tools/cells.js +1 -1
- package/dist/tools/leads.d.ts +37 -3
- package/dist/tools/leads.js +85 -77
- package/dist/tools/prompts.js +9 -9
- package/dist/tools/readiness.d.ts +7 -1
- package/dist/tools/readiness.js +10 -17
- package/dist/tools/registry.d.ts +17 -0
- package/dist/tools/rubrics.js +23 -20
- package/package.json +1 -1
- package/skills/create-campaign/SKILL.md +59 -56
- package/skills/create-campaign-v2/SKILL.md +44 -42
- package/skills/create-campaign-v2/SOUL.md +16 -13
- package/skills/create-campaign-v2/core/auto-execute.README.md +16 -17
- package/skills/create-campaign-v2/core/auto-execute.yaml +8 -7
- package/skills/create-campaign-v2/core/flow.v2.json +81 -149
- package/skills/create-campaign-v2/core/policy.md +13 -12
- package/skills/create-campaign-v2/references/approval-gate-framing.md +4 -3
- package/skills/create-campaign-v2/references/filter-leads.md +5 -4
- package/skills/create-campaign-v2/references/lead-validation-preview.md +2 -2
- package/skills/create-campaign-v2/references/sample-validation-loop.md +32 -27
- package/skills/create-campaign-v2/references/step-13-import-leads.md +44 -33
- package/skills/create-campaign-v2/references/watch-guide-narration.md +27 -28
- package/skills/create-campaign-v2-tail/SKILL.md +44 -44
- package/skills/create-rubric/SKILL.md +5 -5
- package/skills/find-leads/SKILL.md +2 -2
- package/skills/generate-messages/SKILL.md +2 -1
- package/skills/providers/prospeo.md +3 -3
- package/skills/providers/sales-nav.md +7 -7
- 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.
|
|
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.
|
|
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
|
-
|
|
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,
|
|
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`
|
|
279
|
-
|
|
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
|
|
284
|
-
recommendation is reviewed. If the user
|
|
285
|
-
Messages/message review. The join gate is
|
|
286
|
-
or a resolved skip-filter choice, plus a message
|
|
287
|
-
same campaign/table basis. Enrichment, filtering,
|
|
288
|
-
cells
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
the
|
|
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
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
|
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=
|
|
45
|
-
|
|
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
|
|
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
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|