@sellable/install 0.1.154 → 0.1.155

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.
@@ -12,17 +12,22 @@ Required inputs:
12
12
 
13
13
  - `campaignId`
14
14
  - campaign revision or `campaignUpdatedAt`
15
- - campaign brief content
15
+ - campaign brief summary from the parent, then the current campaign brief loaded
16
+ through Sellable tools
16
17
  - selected source decision and provider/list state
17
18
  - `selectedLeadListId`
18
19
  - `workflowTableId`
19
- - initial campaign-table execution slice rows, including row ids/hash when available
20
+ - compact initial campaign-table execution-slice basis: copied source row count,
21
+ review-batch row count, and review-batch basis/hash. Do not require the
22
+ parent to paste every row id when scoped row tools are available.
20
23
  - filter choice
21
24
 
22
25
  Required first steps:
23
26
 
24
27
  1. Verify the campaign/source/table ids from the parent thread match the live
25
- campaign context.
28
+ campaign context. Read current campaign/table state and the review batch
29
+ through scoped Sellable tools such as `get_campaign`, `get_campaign_context`,
30
+ and `get_rows_minimal({ tableId: workflowTableId })`.
26
31
  2. Load the filter-leads reference before designing rubrics:
27
32
  `get_subskill_asset({ subskillName: "create-campaign-v2", assetPath: "references/filter-leads.md" })`.
28
33
  3. Treat campaign state and the campaign-table execution slice as the input of record.
@@ -33,6 +38,9 @@ Owned outputs:
33
38
  - Durable campaign rubrics via `save_rubrics({ campaignOfferId, leadScoringRubrics })`
34
39
  when the filter is confirmed and production-shaped rubrics are safe to write.
35
40
  `save_rubrics` is the durable writer.
41
+ - If `save_rubrics` is unavailable in the branch, return production-shaped
42
+ `leadScoringRubrics` and mark `save_rubrics` as not yet persisted so the
43
+ parent can save them before filter approval.
36
44
  - concise filter/rubric summary returned to the parent thread
37
45
 
38
46
  Do not write or modify local markdown/json artifacts. Durable output is only
@@ -159,10 +159,10 @@
159
159
  "target": "filter-leads",
160
160
  "inputs": [
161
161
  "campaignId",
162
- "campaignBrief",
162
+ "campaignBrief summary plus branch-loaded current campaignBrief",
163
163
  "source decision and selectedLeadList/source state",
164
164
  "workflowTableId",
165
- "imported review-batch rows"
165
+ "compact review-batch count/hash or branch-loaded review rows"
166
166
  ],
167
167
  "producesArtifacts": [],
168
168
  "optionalProducesArtifacts": [],
@@ -187,6 +187,9 @@
187
187
  "tools": [
188
188
  "mcp__sellable__get_subskill_prompt",
189
189
  "mcp__sellable__get_subskill_asset",
190
+ "mcp__sellable__get_campaign",
191
+ "mcp__sellable__get_campaign_context",
192
+ "mcp__sellable__get_rows_minimal",
190
193
  "mcp__sellable__save_rubrics"
191
194
  ]
192
195
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellable/install",
3
- "version": "0.1.154",
3
+ "version": "0.1.155",
4
4
  "type": "module",
5
5
  "description": "One-command installer for Sellable MCP in Claude Code and Codex",
6
6
  "bin": {
@@ -421,15 +421,19 @@ Treat host capabilities as concrete functions, not prose conventions:
421
421
  not call it in the normal create-campaign source path.
422
422
  - `load_post_find_leads_scout_registry`: call
423
423
  `mcp__sellable__get_post_find_leads_scout_registry({})` after source
424
- import and before dispatching Message Drafting only.
424
+ import and before dispatching Prospect Filters / Message Drafting.
425
+ - `launch_prospect_filters`: Claude Code uses `Task` with `subagent_type`
426
+ `post-find-leads-filter-scout` when filters are chosen; Codex uses the
427
+ returned compatibility agent. Prospect Filters must save or return production
428
+ rubrics before message review can proceed.
425
429
  - `launch_message_drafting`: Claude Code uses `Task` with `subagent_type`
426
430
  `post-find-leads-message-scout` when listed; Codex uses the returned
427
431
  compatibility agent or a generic `gpt-5.5` / `xhigh` Message Drafting agent.
428
432
 
429
433
  If a required interactive question function or MCP loader is missing, stop and
430
- explain the Sellable install/reload problem. Source and filter work use
431
- product-native MCP orchestration in the parent; the only normal background
432
- branch is Message Drafting.
434
+ explain the Sellable install/reload problem. Source work uses product-native MCP
435
+ orchestration in the parent; the only normal post-import background branches are
436
+ Prospect Filters and Message Drafting.
433
437
 
434
438
  Never narrate local draft housekeeping to the user. If you create directories,
435
439
  save drafts, write artifacts, or persist intermediate state, translate it into
@@ -745,7 +749,14 @@ updates.
745
749
  copies of this file; packaged Claude Code and Codex runs must use the MCP
746
750
  asset loader so they share the same config.
747
751
  3. Follow that prompt and workflow config exactly.
748
- 4. For message generation, keep the parent thread as a lean orchestrator and
752
+ 4. For filter and message setup, keep the parent thread as a lean orchestrator.
753
+ When filters are chosen, use `post-find-leads-filter-scout` for Prospect
754
+ Filters and `post-find-leads-message-scout` for Message Drafting. The parent
755
+ waits for Prospect Filters first, verifies `save_rubrics` succeeded or saves
756
+ returned production rubrics itself, asks filter approval, and only then joins
757
+ Message Drafting for template review. When filters are skipped, launch only
758
+ Message Drafting.
759
+ 5. For message generation, keep the parent thread as a lean orchestrator and
749
760
  use the `post-find-leads-message-scout` compatibility agent for Message
750
761
  Drafting whenever the host exposes it
751
762
  and the current host policy allows agent launch. The worker must load
@@ -770,18 +781,19 @@ updates.
770
781
  synthesize local validation artifacts from general knowledge. The handoff to
771
782
  Message Drafting should pass compact basis only, not a long row-id list; the
772
783
  branch loads current brief/table rows and validation assets itself.
773
- 5. Create the campaign shell early with the v1 brief so the user can open the
784
+ 6. Create the campaign shell early with the v1 brief so the user can open the
774
785
  watch link and see useful setup state immediately. Materialize the approved
775
786
  source list, copy confirmed rows into the campaign, and internally process the
776
787
  first campaign-table execution slice after the source is attached to the
777
788
  campaign; do not load prospect-setup registries/prompts before asking add
778
- filters vs skip filters. Once the user answers, launch only Message Drafting
779
- from the same campaign/table basis. If filters are approved, do filter/rubric
780
- work inline in the parent thread. Do not queue workflow cells, attach a
789
+ filters vs skip filters. Once the user answers, launch Prospect Filters plus
790
+ Message Drafting when filters are chosen, or only Message Drafting when
791
+ filters are skipped. Do not queue workflow cells, attach a
781
792
  sequence, or start until saved filters and the
782
793
  message template/token rules are approved. When filters are chosen, immediately
783
794
  call `mcp__sellable__update_campaign({ campaignId, enableICPFilters: true, currentStep: "create-icp-rubric", watchNarration })`
784
- so the watched app moves to Filter Rules while rubrics are drafted/saved.
795
+ so the watched app moves to Filter Rules while Prospect Filters drafts/saves
796
+ rubrics.
785
797
  After rubrics save, keep Filter Rules visible for approval; after approval,
786
798
  move to Filter Leads and show `Filters saved + waiting for message approval`
787
799
  until the template is approved.