@sellable/mcp 0.1.56 → 0.1.58

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/mcp",
3
- "version": "0.1.56",
3
+ "version": "0.1.58",
4
4
  "type": "module",
5
5
  "description": "Sellable MCP server for Claude Code and Codex campaign workflows",
6
6
  "main": "dist/index.js",
@@ -588,6 +588,11 @@ Required behavior:
588
588
  should be plausible. If Sales Nav returns a giant unfiltered pool, drops the
589
589
  filters, or errors after one clean retry, call it out as a provider/tool
590
590
  issue and do not recommend Sales Nav.
591
+ - when the brief or user names target roles, Sales Nav must preserve those role
592
+ names through `CURRENT_TITLE` lookups. Do not use broad seniority as a
593
+ substitute for role intent. VP Sales, VP Revenue, CRO, Head of Growth, and
594
+ similar targets should stay visible in the filter recipe and the source
595
+ explanation.
591
596
  - for Signals-first campaigns, raw post search volume is only inventory, not
592
597
  lead volume. `492 post results` means matching LinkedIn posts found across
593
598
  keyword lanes; it does not mean 492 prospects. The source decision must name
@@ -141,6 +141,19 @@ summary.
141
141
  4. **message validation** — the `Selected Winner` from `message-validation.md`,
142
142
  rendered as it will appear in the outbound, plus the `Findings` + `Recommendation`
143
143
 
144
+ The inline approval packet must include exactly one concrete sample message
145
+ rendered as the recipient would see it. Do not make the user mentally expand
146
+ tokens at the final approval moment. If the selected winner contains supported
147
+ prospect-row `{{tokens}}`, show the template in `## Approved Message Template`
148
+ and also include a short `## Sample Message` section with one realistic filled
149
+ example from the lead sample. Keep the full token rules in the artifact, not in
150
+ the top chat summary.
151
+
152
+ Do not include sequence, cadence, sending-window, mailbox, or campaign settings
153
+ review in the pre-mint approval packet. Those are configured and reviewed after
154
+ the campaign is created in the autonomous tail. The pre-mint packet approves
155
+ only the brief, lead source, lead filter/rubric, and first message direction.
156
+
144
157
  The packet must include a dedicated `## Message Review` section immediately
145
158
  before `## Approved Message Template`. This is the customer-facing messaging
146
159
  gate. It should not be a raw validation dump; it should answer:
@@ -275,6 +275,10 @@ Use first when LinkedIn activity plus tighter role / company filters matter.
275
275
 
276
276
  - Always call `lookup_sales_nav_filter` before dynamic filters.
277
277
  - Start with a broad-but-reasonable baseline: company size + core roles + core industries.
278
+ - If the campaign gives specific target role names, preserve them with
279
+ `CURRENT_TITLE` lookups. Seniority filters are supporting constraints, not a
280
+ substitute for target roles. Example: VP Sales / VP Revenue / Head of Growth
281
+ should use title filters, not only `SENIORITY_LEVEL: Vice President`.
278
282
  - For reply-likelihood-first outbound, Sales Nav is the second choice after Signals: use it when the TAM is not active enough on LinkedIn, when Signals cannot sustain enough good fits, or when the targeting thesis depends on tighter role/company control than Signals can provide.
279
283
  - For InMail or LinkedIn-send motions, establish the baseline TAM first, then test a `POSTED_ON_LINKEDIN` slice when the pool can still sustain a campaign.
280
284
  - Treat recent posters as a preferred first-send slice, not just a nice-to-have proxy. When the recently-posted slice still yields enough projected good fits, prefer it because reply / acceptance performance is usually materially better than the cold full-TAM pool.
@@ -50,6 +50,13 @@ Example search name: "Active CXOs at 201-500 companies"
50
50
  2. LOOKUP DYNAMIC FILTERS - Get IDs for geography, industry, titles, etc.
51
51
  Before using ANY dynamic filter, you MUST call lookup_sales_nav_filter.
52
52
 
53
+ When the campaign names target roles, use CURRENT_TITLE lookups for those
54
+ role names. Seniority alone is not enough. For example, "VP Sales / VP
55
+ Revenue / Head of Growth" should become title filters plus seniority, not
56
+ only `SENIORITY_LEVEL: Vice President`, because generic VP seniority pulls
57
+ business development, partnerships, marketing, operations, and other noisy
58
+ roles.
59
+
53
60
  Dynamic filters (REQUIRE lookup):
54
61
 
55
62
  - REGION: "United States", "California", "London"