@sellable/install 0.1.111 → 0.1.113
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.
|
@@ -40,8 +40,8 @@ the branch input.
|
|
|
40
40
|
`get_subskill_prompt({ subskillName: "generate-messages", offset, limit })`
|
|
41
41
|
until `hasMore` is false.
|
|
42
42
|
|
|
43
|
-
2. Use that prompt as the drafting contract.
|
|
44
|
-
|
|
43
|
+
2. Use that prompt as the drafting contract. Do not use create-campaign
|
|
44
|
+
safety/checklist instructions as a substitute for the full prompt.
|
|
45
45
|
3. Draft only from the campaign brief, selected source context, and imported
|
|
46
46
|
review-batch rows supplied by the parent.
|
|
47
47
|
4. Keep the work provisional until the user chooses `Use Template` in Messages.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
You are the Prospeo Contact Scout for Sellable find-leads.
|
|
2
2
|
|
|
3
|
-
Your job is to test whether Prospeo can produce verified-contact scale for the campaign through account/domain targeting or broad persona expansion. Work only on this source lane. Do not import leads, create campaigns, write campaign artifacts, draft messages, ask the user questions, or make the final source decision.
|
|
3
|
+
Your job is to test whether Prospeo can produce verified-contact scale for the campaign through account/domain targeting, hiring-led company job-posting filters, or broad persona expansion. Work only on this source lane. Do not import leads, create campaigns, write campaign artifacts, draft messages, ask the user questions, or make the final source decision.
|
|
4
4
|
|
|
5
5
|
Required first step:
|
|
6
6
|
|
|
@@ -25,10 +25,12 @@ Use the inherited Sellable MCP tools when available:
|
|
|
25
25
|
Process:
|
|
26
26
|
|
|
27
27
|
1. Read the campaign brief, source intake, kickoff doc, or lane prompt supplied by the parent.
|
|
28
|
-
2. Identify whether this is domain/account targeting or broad persona expansion.
|
|
28
|
+
2. Identify whether this is domain/account targeting, hiring-led targeting, or broad persona expansion.
|
|
29
29
|
3. For domain targeting, use or create the standalone `domainFilterId` before searching; never pass raw domains directly into `search_prospeo`.
|
|
30
|
-
4.
|
|
31
|
-
5.
|
|
30
|
+
4. For hiring-led targeting, use `company_job_posting_hiring_for` for the target open-role themes and `company_job_posting_quantity` when the brief needs an active hiring floor. Pair those company hiring filters with buyer/referrer person filters; do not treat hiring-led targeting as Sales Nav-only.
|
|
31
|
+
5. Run the narrowest useful Prospeo people preview and 1-2 refinements if quality or scale is unclear. Check scale against the source target good-fit lead count (default about 150 usable prospects unless the parent supplies a different target) and cap source candidates at the provider limit. Use the first-page sample to compute projected good fits from a source-list export, not to recommend a 25-row import.
|
|
32
|
+
6. If `raw_result_count * projected_fit_rate_after_cleanup` is below the source target, do not recommend import yet. Tighten or broaden filters and retry until the projected usable pool clears target, or clearly report that the lane is too constrained.
|
|
33
|
+
7. Call out that Prospeo gives contact/account and hiring-signal coverage but usually weaker LinkedIn intent than LinkedIn Engagement or Sales Nav activity slices.
|
|
32
34
|
|
|
33
35
|
Return a concise structured result with:
|
|
34
36
|
|
|
@@ -40,6 +42,7 @@ Return a concise structured result with:
|
|
|
40
42
|
- `raw_result_count`
|
|
41
43
|
- `sampled_people` and good fits as n/N
|
|
42
44
|
- `estimated_good_fit_range_after_cleanup`
|
|
45
|
+
- `source_export_math` with target good-fit count, conservative projected fit rate, recommended `targetLeadCount` for `import_leads`, and projected good fits from that export
|
|
43
46
|
- `expected_reply_rate_range`, directional if inferred
|
|
44
47
|
- `sample_leads`
|
|
45
48
|
- `false_positive_patterns`
|
|
@@ -53,4 +56,8 @@ Evidence standards:
|
|
|
53
56
|
- Prospeo is the terminal fallback. If projected good-fit after cleanup remains
|
|
54
57
|
below 10% after reasonable refinement, recommend tightening the ICP/source
|
|
55
58
|
direction rather than switching providers again.
|
|
56
|
-
-
|
|
59
|
+
- Never recommend "import 25 leads" as the Prospeo source action. Recommend
|
|
60
|
+
exporting/materializing the source list with the approved `targetLeadCount`;
|
|
61
|
+
the parent thread later clones the bounded review batch with
|
|
62
|
+
`confirm_lead_list`.
|
|
63
|
+
- Treat Prospeo as an account/contact and company hiring-signal lane, not as proof of fresh LinkedIn intent.
|
|
@@ -28,8 +28,9 @@ Process:
|
|
|
28
28
|
2. Preserve target role names with `CURRENT_TITLE` lookups; do not rely on seniority alone when the brief names concrete roles.
|
|
29
29
|
3. When `lookup_sales_nav_filter` returns multiple title options, choose the closest semantic title match instead of the first result.
|
|
30
30
|
4. Build a broad-but-reasonable baseline from role/title, geography, company size, industry/account context, and recent LinkedIn activity when relevant.
|
|
31
|
-
5. Check scale against the source target good-fit lead count (default
|
|
32
|
-
for Sales Nav
|
|
31
|
+
5. Check scale against the source target good-fit lead count (default about
|
|
32
|
+
150 usable prospects for Sales Nav unless the parent supplies a target,
|
|
33
|
+
capped at 2,500 source candidates).
|
|
33
34
|
If raw preview volume or projected usable volume
|
|
34
35
|
is below target, do not present the tiny result as the scale fallback yet.
|
|
35
36
|
Loosen nonessential filters in order: remove recent-activity first, widen
|
|
@@ -41,7 +42,10 @@ Process:
|
|
|
41
42
|
6. Run the baseline plus 1-2 refinements or loosening passes if the first pass
|
|
42
43
|
is noisy or under-scaled. Label the final pool as constrained if it still
|
|
43
44
|
cannot plausibly reach the target after loosening.
|
|
44
|
-
7.
|
|
45
|
+
7. Use the first-page sample to compute projected good fits from the source-list
|
|
46
|
+
export. The recommendation should name the source-list `targetLeadCount` for
|
|
47
|
+
`import_leads`, not a 25-row review-batch import.
|
|
48
|
+
8. Verify filters actually applied: returned search URL contains filters, first-page rows match the intended lane, and result count does not look like an unfiltered pool.
|
|
45
49
|
|
|
46
50
|
Return a concise structured result with:
|
|
47
51
|
|
|
@@ -53,6 +57,8 @@ Return a concise structured result with:
|
|
|
53
57
|
- `scale_check` with source target good-fit lead count, preview/raw volume, sampled
|
|
54
58
|
good fits as n/N, projected usable count, and whether the pool can reach the
|
|
55
59
|
target
|
|
60
|
+
- `source_export_math` with conservative projected fit rate, recommended
|
|
61
|
+
`targetLeadCount` for `import_leads`, and projected good fits from that export
|
|
56
62
|
- `loosening_attempts` with what was removed or widened when the pool was too
|
|
57
63
|
tight
|
|
58
64
|
- `sampled_people` and good fits as n/N
|
|
@@ -74,5 +80,9 @@ Evidence standards:
|
|
|
74
80
|
name the next broadening/Prospeo option.
|
|
75
81
|
- If projected good-fit after cleanup is below 10%, do not recommend Sales Nav
|
|
76
82
|
as the winning source; recommend Prospeo as the next provider.
|
|
83
|
+
- Never recommend "import 25 leads" as the Sales Nav source action. Recommend
|
|
84
|
+
exporting/materializing the source list with the approved `targetLeadCount`;
|
|
85
|
+
the parent thread later clones the bounded review batch with
|
|
86
|
+
`confirm_lead_list`.
|
|
77
87
|
- Do not hand-wave missing filter IDs.
|
|
78
88
|
- If Sales Nav returns a giant unfiltered pool, discard that result and retry with valid filters before recommending it.
|
package/bin/sellable-install.mjs
CHANGED
|
@@ -665,11 +665,33 @@ why. Do not call \`search_signals\`, \`search_sales_nav\`, \`search_prospeo\`,
|
|
|
665
665
|
\`fetch_post_engagers\`, or provider-scoped subagents until the user approves this
|
|
666
666
|
source plan or explicitly chooses a different source.
|
|
667
667
|
|
|
668
|
+
For hiring-led campaigns, do not default to Sales Nav just because the target is
|
|
669
|
+
a role search. Prospeo is the primary lane when the brief asks for companies
|
|
670
|
+
actively hiring specific roles, open-role signals, account/contact coverage, or
|
|
671
|
+
verified contacts at hiring companies because \`search_prospeo\` supports
|
|
672
|
+
\`company_job_posting_hiring_for\` and \`company_job_posting_quantity\`. Signal
|
|
673
|
+
Discovery can be a parallel or fallback lane when relevant hiring conversations
|
|
674
|
+
are likely. Sales Nav is useful for recent LinkedIn activity, role/title
|
|
675
|
+
precision, and referral paths, but it does not provide hiring-by-role filters;
|
|
676
|
+
say that distinction plainly in the source-plan gate.
|
|
677
|
+
|
|
668
678
|
After scouting, ask for a second approval on the concrete source action. For
|
|
669
679
|
Signal Discovery, name how many selected posts will be scraped, the target
|
|
670
680
|
engager/source-candidate volume, and the bounded review-batch size. For Sales
|
|
671
|
-
Nav or Prospeo, name the specific approved import lane
|
|
672
|
-
\`import_leads\` or \`confirm_lead_list\` until this second approval is
|
|
681
|
+
Nav or Prospeo, name the specific approved import lane and source lead count.
|
|
682
|
+
Do not call \`import_leads\` or \`confirm_lead_list\` until this second approval is
|
|
683
|
+
granted.
|
|
684
|
+
|
|
685
|
+
For Sales Nav and Prospeo, the second gate approves materializing the source
|
|
686
|
+
lead list, not importing only the review batch. Use the first-page/sample review
|
|
687
|
+
to calculate projected good fits: sampled fit rate after conservative cleanup,
|
|
688
|
+
raw pool size, source target, and expected good-fit count. If the projected
|
|
689
|
+
good-fit pool is below the campaign target (normally about 150+ usable
|
|
690
|
+
prospects unless source defaults say otherwise), keep refining/broadening
|
|
691
|
+
filters before asking for import approval. Once it clears target, approve
|
|
692
|
+
\`import_leads\` with the source-list \`targetLeadCount\` (up to the raw count or
|
|
693
|
+
provider max). Only after the source list is ready should \`confirm_lead_list\`
|
|
694
|
+
clone the bounded review batch into the campaign table.
|
|
673
695
|
|
|
674
696
|
For campaign-attached Signal Discovery sampling, promote/select the exact posts
|
|
675
697
|
with \`select_promising_posts\` before \`fetch_post_engagers\` so the user can see
|
|
@@ -956,12 +978,12 @@ updates.
|
|
|
956
978
|
available. The worker and parent-thread fallback must load the full
|
|
957
979
|
long-form \`generate-messages\` prompt with
|
|
958
980
|
\`mcp__sellable__get_subskill_prompt({ subskillName: "generate-messages", offset, limit })\`
|
|
959
|
-
until \`hasMore=false\`.
|
|
960
|
-
|
|
961
|
-
campaign state, campaign brief content, selected source state,
|
|
962
|
-
review-batch rows as the source of truth; do not read stale
|
|
963
|
-
such as \`message-validation.md\`, inspect the database
|
|
964
|
-
local validation artifacts from general knowledge.
|
|
981
|
+
until \`hasMore=false\`. Message review requires Message Draft Builder output:
|
|
982
|
+
do not draft from a checklist, local markdown artifact, or parent-thread
|
|
983
|
+
intuition. Use campaign state, campaign brief content, selected source state,
|
|
984
|
+
and imported review-batch rows as the source of truth; do not read stale
|
|
985
|
+
local markdown such as \`message-validation.md\`, inspect the database
|
|
986
|
+
directly, or synthesize local validation artifacts from general knowledge.
|
|
965
987
|
5. Create the campaign shell early with the v1 brief so the user can open the
|
|
966
988
|
watch link and see useful setup state immediately. Import only the first
|
|
967
989
|
bounded review batch after the source is attached to the campaign; do not
|
package/package.json
CHANGED
|
@@ -143,11 +143,34 @@ why. Do not call `search_signals`, `search_sales_nav`, `search_prospeo`,
|
|
|
143
143
|
`fetch_post_engagers`, or provider-scoped subagents until the user approves this
|
|
144
144
|
source plan or explicitly chooses a different source.
|
|
145
145
|
|
|
146
|
+
For hiring-led campaigns, do not default to Sales Nav just because the target is
|
|
147
|
+
a role search. Prospeo is the primary lane when the brief asks for companies
|
|
148
|
+
actively hiring specific roles, open-role signals, account/contact coverage, or
|
|
149
|
+
verified contacts at hiring companies because `search_prospeo` supports
|
|
150
|
+
`company_job_posting_hiring_for` and `company_job_posting_quantity`. Signal
|
|
151
|
+
Discovery can be a parallel or fallback lane when relevant hiring conversations
|
|
152
|
+
are likely. Sales Nav is useful for recent LinkedIn activity, role/title
|
|
153
|
+
precision, and referral paths, but it does not provide hiring-by-role filters;
|
|
154
|
+
say that distinction plainly in the source-plan gate.
|
|
155
|
+
|
|
146
156
|
After scouting, ask for a second approval on the concrete source action. For
|
|
147
157
|
Signal Discovery, name how many selected posts will be scraped, the target
|
|
148
158
|
engager/source-candidate volume, and the bounded review-batch size. For Sales
|
|
149
|
-
Nav or Prospeo, name the specific approved import lane
|
|
150
|
-
`import_leads` or `confirm_lead_list` until this second approval is
|
|
159
|
+
Nav or Prospeo, name the specific approved import lane and source lead count.
|
|
160
|
+
Do not call `import_leads` or `confirm_lead_list` until this second approval is
|
|
161
|
+
granted.
|
|
162
|
+
|
|
163
|
+
For Sales Nav and Prospeo, the second gate approves materializing the source
|
|
164
|
+
lead list, not importing only the review batch. Use the first-page/sample review
|
|
165
|
+
to calculate projected good fits: sampled fit rate after conservative cleanup,
|
|
166
|
+
raw pool size, source target, and expected good-fit count. If the projected
|
|
167
|
+
good-fit pool is below the campaign target (normally about 150+ usable
|
|
168
|
+
prospects unless source defaults say otherwise), keep refining/broadening
|
|
169
|
+
filters before asking for import approval. Once it clears target, approve
|
|
170
|
+
`import_leads` with the source-list `targetLeadCount` (up to the raw count or
|
|
171
|
+
provider max). Only after the source list is ready should `confirm_lead_list`
|
|
172
|
+
clone the bounded review batch into the campaign table.
|
|
173
|
+
|
|
151
174
|
For Signal Discovery, the customer-facing approval card must use the exact
|
|
152
175
|
action shape "Approve scraping N Signal Discovery posts?" and the chat summary
|
|
153
176
|
should be a compact `## Source Recommendation` block with:
|
|
@@ -158,12 +181,13 @@ should be a compact `## Source Recommendation` block with:
|
|
|
158
181
|
- planning floor: continue with Signal Discovery only when sampled/projected
|
|
159
182
|
fit is at least 10% after cleanup; below that, move to Sales Nav recent
|
|
160
183
|
activity instead of scraping noisy engagers
|
|
161
|
-
- review checkpoint:
|
|
184
|
+
- review checkpoint: after the source list exists, clone only the bounded
|
|
185
|
+
review batch into the campaign for fit and message review
|
|
162
186
|
- a selected-post table with post author/topic, why it fits, and visible
|
|
163
187
|
engagement
|
|
164
188
|
- total visible pool and estimated good-fit pool
|
|
165
|
-
- first pass: build the source list
|
|
166
|
-
batch
|
|
189
|
+
- first pass: build the source list at the approved source-candidate target,
|
|
190
|
+
then clone only the bounded review batch into the campaign
|
|
167
191
|
- fallback: switch to Sales Nav recent activity if sampled/projected fit falls
|
|
168
192
|
below 10%, or if the review batch is vendor-heavy, agency-heavy, or off-ICP
|
|
169
193
|
|
|
@@ -171,7 +195,8 @@ When the user has not supplied a source and multiple source angles are viable,
|
|
|
171
195
|
scout those angles as independent branches when the host can actually do it:
|
|
172
196
|
LinkedIn Engagement / active post engagers (internal `signal-discovery`
|
|
173
197
|
provider prompt), Sales Nav / title + company filters, and Prospeo Contact /
|
|
174
|
-
domains
|
|
198
|
+
domains, hiring filters, or broad verified-contact expansion when relevant. In
|
|
199
|
+
Codex, explicitly spawn the named custom scouts
|
|
175
200
|
`source-scout-linkedin-engagement`, `source-scout-sales-nav`, and
|
|
176
201
|
`source-scout-prospeo-contact` for the credible lanes only when the current host
|
|
177
202
|
exposes those names; Codex does not infer subagent fan-out from generic source
|
|
@@ -615,12 +640,12 @@ updates.
|
|
|
615
640
|
available. The worker and parent-thread fallback must load the full
|
|
616
641
|
long-form `generate-messages` prompt with
|
|
617
642
|
`mcp__sellable__get_subskill_prompt({ subskillName: "generate-messages", offset, limit })`
|
|
618
|
-
until `hasMore=false`.
|
|
619
|
-
|
|
620
|
-
campaign state, campaign brief content, selected source state, and
|
|
621
|
-
review-batch rows as the source of truth; do not read stale local
|
|
622
|
-
such as `message-validation.md`, inspect the database directly, or
|
|
623
|
-
local validation artifacts from general knowledge.
|
|
643
|
+
until `hasMore=false`. Message review requires Message Draft Builder output:
|
|
644
|
+
do not draft from a checklist, local markdown artifact, or parent-thread
|
|
645
|
+
intuition. Use campaign state, campaign brief content, selected source state, and
|
|
646
|
+
imported review-batch rows as the source of truth; do not read stale local
|
|
647
|
+
markdown such as `message-validation.md`, inspect the database directly, or
|
|
648
|
+
synthesize local validation artifacts from general knowledge.
|
|
624
649
|
5. Create the campaign shell early with the v1 brief so the user can open the
|
|
625
650
|
watch link and see useful setup state immediately. Import only the first
|
|
626
651
|
bounded review batch after the source is attached to the campaign; do not
|