@sellable/install 0.1.119 → 0.1.121

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.
@@ -51,14 +51,15 @@ currentStep: "signal-discovery" })` before sampling so the watched Signal
51
51
  visible headline/display-name cues only. Do not enrich people during
52
52
  viability estimation.
53
53
  7. Compute capacity before recommending the source: source target good-fit
54
- leads (default 150 for Signal Discovery unless the parent supplies a target),
55
- reachable engagers,
56
- sampled ICP-fit rate as `n/N` plus an easy percentage/range, expected usable
57
- leads per 100 engagers before and after a conservative dedupe/cleanup
58
- factor, required engagers to scrape (`source target / fit rate`), average
59
- reachable engagers per right-content post, expected usable leads per
60
- right-content post after dedupe/cleanup, posts needed to hit the target, and
61
- whether sampled/projected fit clears the 10% planning floor.
54
+ leads (default 300 for Signal Discovery unless the parent supplies a target),
55
+ reachable engagers, sampled headline-fit rate as `n/N` plus an easy
56
+ percentage/range, expected headline-fit prospects per 100 engagers, required
57
+ engagers to scrape (`source target / sampled headline-fit rate`), average
58
+ reachable engagers per right-content post, expected headline-fit prospects
59
+ per right-content post, posts needed to hit the target, and whether
60
+ sampled/projected headline-fit rate clears the 10% planning floor. Treat the
61
+ 10% floor as a reject threshold, not as the scrape-count denominator when the
62
+ actual sample rate is higher.
62
63
  8. Select/promote enough right-content posts to plausibly hit the target. If the
63
64
  warm Signals pool is useful but too small, return the expected warm range and
64
65
  recommend Sales Nav/Prospeo for scale instead of padding with noisy posts.
@@ -72,12 +73,12 @@ Return a concise structured result with:
72
73
  - `selected_posts` with URL/title, author/topic, age, engager count, sampled engagers, good fits as n/N, estimated usable prospects per post, use/discard
73
74
  - `sample_leads`, if any
74
75
  - `approval_math` with eligible posts, source target good-fit leads, sampled
75
- engagers, ICP-fit rate as `n/N` plus percentage/range, good-fit prospects per
76
- 100 engagers, required engagers to scrape, average reachable engagers per
77
- post, expected usable prospects per post after cleanup, posts needed for
78
- target, whether the 10% planning floor clears after cleanup, selected post
79
- count, internal campaign-table execution-slice size, expected usable lead range, and scale
80
- fallback
76
+ engagers, headline-fit rate as `n/N` plus percentage/range, headline-fit
77
+ prospects per 100 engagers, required engagers to scrape, average reachable
78
+ engagers per post, expected headline-fit prospects per post, posts needed for
79
+ target, whether the 10% planning floor clears, selected post count, internal
80
+ campaign-table execution-slice size, expected headline-fit lead range, and
81
+ scale fallback
81
82
  - `estimated_good_fit_range`
82
83
  - `message_context_strength`, directional and source-specific
83
84
  - `false_positive_patterns`
@@ -93,14 +94,18 @@ Evidence standards:
93
94
  GTM/outbound/buyer pain, workflow, or role context that makes the campaign
94
95
  relevant.
95
96
  - Do not make the user infer capacity. Say, plainly, how many eligible posts
96
- exist, how many sampled engagers looked in-ICP, how many good-fit prospects
97
- that implies per 100 engagers, how many usable prospects one right-content
98
- post should yield after cleanup, how many engagers must be scraped for the
99
- 300-good-fit source target at the 20% working assumption, how many posts are
100
- needed for that source target, and which posts you would use. Also say the
101
- source list is copied into the campaign and only the first campaign-table
102
- execution slice is processed internally for filter and message setup.
97
+ exist, how many sampled engagers passed the headline ICP rubric, what
98
+ headline-fit rate that implies per 100 engagers, how many headline-fit
99
+ prospects one right-content post should yield, how many engagers must be
100
+ scraped for the 300 headline-fit source target using the sampled pass rate
101
+ (or the 20% working assumption only when there is no stronger sample), how
102
+ many posts are needed for that source target, and which posts you would use.
103
+ Also say the source list is copied into the campaign and only the first
104
+ campaign-table execution slice is processed internally for filter and message
105
+ setup.
103
106
  - If `fetch_post_engagers` is unavailable or fails, report that explicitly and mark the estimate lower-confidence.
104
- - Keep LinkedIn Engagement viable when selected posts can produce roughly 300+ ICP-fit warm prospects before final filtering, even if Sales Nav is more scalable.
105
- - If sampled/projected fit after cleanup is below 10%, reject the Signals scrape
106
- path and recommend Sales Nav recent activity as the next source.
107
+ - Keep LinkedIn Engagement viable when selected posts can produce roughly 300+
108
+ headline-fit warm prospects before final filtering, even if Sales Nav is more
109
+ scalable.
110
+ - If sampled/projected headline-fit rate is below 10%, reject the Signals
111
+ scrape path and recommend Sales Nav recent activity as the next source.
@@ -655,10 +655,12 @@ should say:
655
655
  - that approval authorizes scouting/search only, not lead import or sending
656
656
 
657
657
  Do not surface blanket source heuristics as product copy. Make the
658
- recommendation specific to the campaign. If Signal Discovery is recommended,
659
- name the exact post themes you will search. If relevant public conversations
660
- look unlikely, recommend the specific Sales Nav or Prospeo lane instead and say
661
- why. Do not call \`search_signals\`, \`search_sales_nav\`, \`search_prospeo\`,
658
+ recommendation specific to the campaign. If LinkedIn engagement is recommended,
659
+ name the exact post themes you will search and avoid using "Signal Discovery" in
660
+ customer-facing chat; that is the internal provider/app label. If relevant
661
+ public conversations look unlikely, recommend the specific Sales Nav or Prospeo
662
+ lane instead and say why. Do not call \`search_signals\`, \`search_sales_nav\`,
663
+ \`search_prospeo\`,
662
664
  \`fetch_post_engagers\`, or provider-scoped subagents until the user approves this
663
665
  source plan or explicitly chooses a different source.
664
666
 
@@ -677,9 +679,10 @@ precision, and referral paths, but it does not provide hiring-by-role filters;
677
679
  say that distinction plainly in the source-plan gate.
678
680
 
679
681
  After scouting, ask for a second approval on the concrete source action. For
680
- Signal Discovery, name how many selected posts will be scraped, the target
681
- engager/source-candidate volume, and the internal campaign-table execution-slice
682
- size. For Sales Nav or Prospeo, name the specific approved import lane and source lead count.
682
+ LinkedIn engagement (\`signal-discovery\` internally), name how many selected
683
+ posts will be scraped, the target engager/source-candidate volume, and the
684
+ internal campaign-table execution-slice size. For Sales Nav or Prospeo, name the
685
+ specific approved import lane and source lead count.
683
686
  Do not call \`import_leads\` or \`confirm_lead_list\` until this second approval is
684
687
  granted.
685
688
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/install",
3
- "version": "0.1.119",
3
+ "version": "0.1.121",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -139,10 +139,12 @@ should say:
139
139
  - what approval covers in one concise line
140
140
 
141
141
  Do not surface blanket source heuristics as product copy. Make the
142
- recommendation specific to the campaign. If Signal Discovery is recommended,
143
- name the exact post themes you will search. If relevant public conversations
144
- look unlikely, recommend the specific Sales Nav or Prospeo lane instead and say
145
- why. Do not call `search_signals`, `search_sales_nav`, `search_prospeo`,
142
+ recommendation specific to the campaign. If LinkedIn engagement is recommended,
143
+ name the exact post themes you will search and avoid using "Signal Discovery" in
144
+ customer-facing chat; that is the internal provider/app label. If relevant
145
+ public conversations look unlikely, recommend the specific Sales Nav or Prospeo
146
+ lane instead and say why. Do not call `search_signals`, `search_sales_nav`,
147
+ `search_prospeo`,
146
148
  `fetch_post_engagers`, or provider-scoped subagents until the user approves this
147
149
  source plan or explicitly chooses a different source.
148
150
 
@@ -161,10 +163,11 @@ precision, and referral paths, but it does not provide hiring-by-role filters;
161
163
  say that distinction plainly in the source-plan gate.
162
164
 
163
165
  After scouting, ask for a second approval on the concrete source action. For
164
- Signal Discovery, name how many selected posts will be scraped and the
165
- target engager/source-candidate volume. For Sales Nav or Prospeo, name the
166
- specific approved import lane and source lead count. Keep the internal
167
- 15-row campaign-table execution slice separate from source sampling.
166
+ LinkedIn engagement (`signal-discovery` internally), name how many selected
167
+ posts will be scraped and the target engager/source-candidate volume. For
168
+ Sales Nav or Prospeo, name the specific approved import lane and source lead
169
+ count. Keep the internal 15-row campaign-table execution slice separate from
170
+ source sampling.
168
171
 
169
172
  Do not call `import_leads` or `confirm_lead_list` until this second approval is
170
173
  granted.
@@ -181,26 +184,29 @@ granted.
181
184
  should `confirm_lead_list({ reviewBatchLimit: 15 })` copy confirmed rows into
182
185
  the campaign table and return the initial campaign-table execution slice rows.
183
186
 
184
- For Signal Discovery, the customer-facing approval card must use the exact
185
- action shape "Approve scraping N Signal Discovery posts?" and the chat summary
187
+ For LinkedIn engagement, the customer-facing approval card must use the exact
188
+ action shape "Approve scraping N selected LinkedIn posts?" and the chat summary
186
189
  should be a compact `## Source Recommendation` block with:
187
190
 
188
- - goal: about 300 good-fit prospects after cleanup, enrichment, and filters
189
- - source-candidate plan: about 1,500 raw engagers using a 20% working fit-rate
190
- assumption unless sampled data supports a different number
191
- - planning floor: continue with Signal Discovery only when sampled/projected
192
- fit is at least 10% after cleanup; below that, move to Sales Nav recent
193
- activity instead of scraping noisy engagers
191
+ - goal: about 300 headline-fit prospects from relevant LinkedIn engagement
192
+ - source-candidate plan: use sample math first: target headline-fit prospects
193
+ divided by sampled headline-pass rate. If there is no stronger sample, use
194
+ about 1,500 raw engagers from the 20% working headline-pass assumption.
195
+ - planning floor: continue with LinkedIn engagement only when sampled/projected
196
+ headline-fit rate is at least 10%; below that, move to Sales Nav recent
197
+ activity instead of scraping noisy engagers. Do not use the 10% floor as the
198
+ scrape-count denominator when the actual sample rate is higher.
194
199
  - campaign setup checkpoint: after the source list exists, copy confirmed source rows
195
200
  into the campaign and internally process the first execution slice for fit and message setup
196
201
  - a selected-post table with post author/topic, why it fits, and visible
197
202
  engagement
198
- - total visible pool and estimated good-fit pool
203
+ - total visible pool and estimated headline-fit pool
199
204
  - first pass: build the source list and copy all confirmed source rows into the
200
205
  campaign; the campaign table then internally processes its first execution
201
206
  slice before scaling
202
- - fallback: switch to Sales Nav recent activity if sampled/projected fit falls
203
- below 10%, or if the source sample is vendor-heavy, agency-heavy, or off-ICP
207
+ - fallback: switch to Sales Nav recent activity if sampled/projected
208
+ headline-fit rate falls below 10%, or if the source sample is vendor-heavy,
209
+ agency-heavy, or off-ICP
204
210
 
205
211
  When the user has not supplied a source and multiple source angles are viable,
206
212
  scout those angles as independent branches when the host can actually do it: