@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
|
|
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
|
|
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
|
package/agents/registry.json
CHANGED
|
@@ -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
|
-
"
|
|
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
|
@@ -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
|
|
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
|
|
431
|
-
|
|
432
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
779
|
-
|
|
780
|
-
|
|
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
|
|
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.
|