@sellable/install 0.1.148 → 0.1.150
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.
|
@@ -37,13 +37,13 @@ the branch input.
|
|
|
37
37
|
|
|
38
38
|
## Required First Steps
|
|
39
39
|
|
|
40
|
-
1. Load the full
|
|
40
|
+
1. Load the full normal-path message prompt:
|
|
41
41
|
|
|
42
|
-
`get_subskill_prompt({ subskillName: "generate-messages"
|
|
43
|
-
until `hasMore` is false.
|
|
42
|
+
`get_subskill_prompt({ subskillName: "generate-messages" })`
|
|
44
43
|
|
|
45
|
-
2. Use that prompt as the drafting contract. Do not use
|
|
46
|
-
safety/checklist instructions as a
|
|
44
|
+
2. Use that prompt as the drafting contract. Do not use any alternate prompt,
|
|
45
|
+
examples-only shortcut, or create-campaign safety/checklist instructions as a
|
|
46
|
+
substitute for the full message prompt.
|
|
47
47
|
3. Draft only from the campaign brief, selected source context, and initial
|
|
48
48
|
campaign-table execution slice rows supplied by the parent.
|
|
49
49
|
4. Keep the work provisional until the user chooses `Use Template` in Messages.
|
|
@@ -57,7 +57,7 @@ Return the following to the parent thread:
|
|
|
57
57
|
- one rendered good-fill sample for a plausible passing campaign-table row
|
|
58
58
|
- one omit/fallback sample when the row signal is not safe
|
|
59
59
|
- pass/fail notes against the generate-messages quality gates
|
|
60
|
-
-
|
|
60
|
+
- message-draft runtime status: `ready`, `blocked`, `retry-needed`, or `stale`
|
|
61
61
|
- basis token containing campaign revision/updatedAt, brief hash,
|
|
62
62
|
`selectedLeadListId`, `workflowTableId`, execution-slice row ids/hash, filter
|
|
63
63
|
choice, and rubric/filter basis when present
|
|
@@ -77,7 +77,7 @@ When reporting branch runtime proof, use this shape under
|
|
|
77
77
|
- `runId` or `fallbackId`
|
|
78
78
|
- `startedAt` and `updatedAt`
|
|
79
79
|
- `basisToken` and `basis`
|
|
80
|
-
- optional `
|
|
80
|
+
- optional `messageDraftOutputRef`, `messageDraftOutput`, and `error`
|
|
81
81
|
|
|
82
82
|
Do not tell the UI to show Message Draft Builder as running unless this proof
|
|
83
83
|
exists and points at the current non-empty campaign-table execution slice.
|
package/agents/registry.json
CHANGED
|
@@ -197,7 +197,7 @@
|
|
|
197
197
|
"kind": "post-find-leads-scout",
|
|
198
198
|
"promptFile": "post-find-leads-message-scout.md",
|
|
199
199
|
"displayName": "Message Draft Builder",
|
|
200
|
-
"target": "generate-messages",
|
|
200
|
+
"target": "generate-messages-compact",
|
|
201
201
|
"inputs": [
|
|
202
202
|
"campaignId",
|
|
203
203
|
"campaignBrief",
|
|
@@ -225,7 +225,7 @@
|
|
|
225
225
|
]
|
|
226
226
|
},
|
|
227
227
|
"claude": {
|
|
228
|
-
"description": "Use proactively as Message Draft Builder after confirm_lead_list imports a non-empty bounded review batch; load
|
|
228
|
+
"description": "Use proactively as Message Draft Builder after confirm_lead_list imports a non-empty bounded review batch; load generate-messages-compact and draft only from scoped campaign/tool state.",
|
|
229
229
|
"model": "inherit",
|
|
230
230
|
"background": true,
|
|
231
231
|
"maxTurns": 10,
|
|
@@ -43,7 +43,7 @@ sales Claude`; do not treat broad anchor-only lanes like `Claude Code`, `MCP`,
|
|
|
43
43
|
5. Promote the first narrow sample set when campaign-attached. If a
|
|
44
44
|
`campaignOfferId` was supplied, call `select_promising_posts({
|
|
45
45
|
campaignOfferId, selectionMode: "replace", selections, headlineICPCriteria,
|
|
46
|
-
currentStep: "signal-discovery" })` before sampling so the watched Signal
|
|
46
|
+
scrapePlanMode: "all-selected", currentStep: "signal-discovery" })` before sampling so the watched Signal
|
|
47
47
|
Discovery table shows the promoted posts and the exact posts being tested.
|
|
48
48
|
Do not move the campaign to `confirm-lead-list`; `import_leads` owns that
|
|
49
49
|
visible transition after source approval.
|
package/bin/sellable-install.mjs
CHANGED
|
@@ -592,7 +592,11 @@ const CREATE_CAMPAIGN_ALLOWED_TOOLS = [
|
|
|
592
592
|
"mcp__sellable__check_rubric",
|
|
593
593
|
"mcp__sellable__create_campaign",
|
|
594
594
|
"mcp__sellable__save_rubrics",
|
|
595
|
-
"
|
|
595
|
+
"mcp__sellable__get_campaign_table_schema",
|
|
596
|
+
"mcp__sellable__select_campaign_cells",
|
|
597
|
+
"mcp__sellable__queue_campaign_cells",
|
|
598
|
+
"mcp__sellable__wait_for_campaign_processing",
|
|
599
|
+
"mcp__sellable__revise_message_template_and_rerun",
|
|
596
600
|
"mcp__sellable__update_campaign_brief",
|
|
597
601
|
"mcp__sellable__update_campaign",
|
|
598
602
|
"mcp__sellable__get_campaign",
|
|
@@ -608,7 +612,6 @@ const CREATE_CAMPAIGN_ALLOWED_TOOLS = [
|
|
|
608
612
|
"mcp__sellable__get_table_rows",
|
|
609
613
|
"mcp__sellable__load_csv_linkedin_leads",
|
|
610
614
|
"mcp__sellable__load_csv_domains",
|
|
611
|
-
"mcp__sellable__queue_cells",
|
|
612
615
|
"mcp__sellable__get_campaign_messages_preview",
|
|
613
616
|
"mcp__sellable__attach_sequence",
|
|
614
617
|
"mcp__sellable__attach_recommended_sequence",
|
|
@@ -1106,10 +1109,9 @@ updates.
|
|
|
1106
1109
|
asset loader so they share the same config.
|
|
1107
1110
|
3. Follow that prompt and workflow config exactly.
|
|
1108
1111
|
4. For message generation, use the \`post-find-leads-message-scout\` agent when
|
|
1109
|
-
available. The worker and parent-thread fallback must load
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
until \`hasMore=false\`. Message review requires Message Draft Builder output:
|
|
1112
|
+
available. The worker and parent-thread fallback must load
|
|
1113
|
+
\`mcp__sellable__get_subskill_prompt({ subskillName: "generate-messages" })\`.
|
|
1114
|
+
Do not use any alternate or examples-only message prompt. Message review requires Message Draft Builder output:
|
|
1113
1115
|
do not draft from a checklist, local markdown artifact, or parent-thread
|
|
1114
1116
|
intuition. Use campaign state, campaign brief content, selected source state,
|
|
1115
1117
|
and initial campaign-table execution slice rows as the source of truth; do not read stale
|
package/package.json
CHANGED
|
@@ -36,7 +36,11 @@ allowed-tools:
|
|
|
36
36
|
- mcp__sellable__check_rubric
|
|
37
37
|
- mcp__sellable__create_campaign
|
|
38
38
|
- mcp__sellable__save_rubrics
|
|
39
|
-
-
|
|
39
|
+
- mcp__sellable__get_campaign_table_schema
|
|
40
|
+
- mcp__sellable__select_campaign_cells
|
|
41
|
+
- mcp__sellable__queue_campaign_cells
|
|
42
|
+
- mcp__sellable__wait_for_campaign_processing
|
|
43
|
+
- mcp__sellable__revise_message_template_and_rerun
|
|
40
44
|
- mcp__sellable__update_campaign_brief
|
|
41
45
|
- mcp__sellable__update_campaign
|
|
42
46
|
- mcp__sellable__get_campaign
|
|
@@ -52,7 +56,6 @@ allowed-tools:
|
|
|
52
56
|
- mcp__sellable__get_table_rows
|
|
53
57
|
- mcp__sellable__load_csv_linkedin_leads
|
|
54
58
|
- mcp__sellable__load_csv_domains
|
|
55
|
-
- mcp__sellable__queue_cells
|
|
56
59
|
- mcp__sellable__get_campaign_messages_preview
|
|
57
60
|
- mcp__sellable__attach_sequence
|
|
58
61
|
- mcp__sellable__attach_recommended_sequence
|
|
@@ -267,8 +270,13 @@ only an internal approval proof.
|
|
|
267
270
|
|
|
268
271
|
For campaign-attached Signal Discovery sampling, promote/select the exact posts
|
|
269
272
|
with `select_promising_posts` before `fetch_post_engagers` so the user can see
|
|
270
|
-
which posts are being sampled in the watched app.
|
|
271
|
-
|
|
273
|
+
which posts are being sampled in the watched app. Use
|
|
274
|
+
`selectionMode: "replace"` for a fresh absolute promoted set and
|
|
275
|
+
`selectionMode: "add"` only when intentionally expanding existing promoted
|
|
276
|
+
posts. Use `scrapePlanMode: "all-selected"` when the approval/import should use
|
|
277
|
+
every promoted post; use `scrapePlanMode: "capacity-target"` only when source
|
|
278
|
+
math should import the smallest set that covers a target. The watch guide should
|
|
279
|
+
say that we are checking people from these posts to confirm the right people are
|
|
272
280
|
actually engaging and the source is viable.
|
|
273
281
|
|
|
274
282
|
After confirmed source rows exist in the campaign table, use the same registry pattern for
|
|
@@ -751,10 +759,9 @@ updates.
|
|
|
751
759
|
asset loader so they share the same config.
|
|
752
760
|
3. Follow that prompt and workflow config exactly.
|
|
753
761
|
4. For message generation, use the `post-find-leads-message-scout` agent when
|
|
754
|
-
available. The worker and parent-thread fallback must load
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
until `hasMore=false`. Message review requires Message Draft Builder output:
|
|
762
|
+
available. The worker and parent-thread fallback must load
|
|
763
|
+
`mcp__sellable__get_subskill_prompt({ subskillName: "generate-messages" })`.
|
|
764
|
+
Do not use any alternate or examples-only message prompt. Message review requires Message Draft Builder output:
|
|
758
765
|
do not draft from a checklist, local markdown artifact, or parent-thread
|
|
759
766
|
intuition. Use campaign state, campaign brief content, selected source state, and
|
|
760
767
|
initial campaign-table execution slice rows as the source of truth; do not read stale local
|