@sellable/install 0.1.94 → 0.1.96
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.
|
@@ -80,6 +80,9 @@ Quality bar:
|
|
|
80
80
|
|
|
81
81
|
- Do not synthesize a lightweight message from general knowledge. The artifact
|
|
82
82
|
must prove the embedded message-review safety-gate workflow ran.
|
|
83
|
+
- There is no generate-message fast mode in this path. The embedded gate is the
|
|
84
|
+
same campaign-launch quality contract used by the parent-thread compatibility
|
|
85
|
+
path, not a lower-quality shortcut.
|
|
83
86
|
- Message generation can start before `lead-filter.md`, but message review
|
|
84
87
|
cannot start until the parent verifies the selected basis rows still pass the
|
|
85
88
|
final filter.
|
|
@@ -128,6 +131,13 @@ Quality gates:
|
|
|
128
131
|
`[insert]`, or `[generated]`.
|
|
129
132
|
- Optional row-specific personalization must be grounded in a row field or
|
|
130
133
|
omitted entirely.
|
|
134
|
+
- Engagement-source personalization is a special case, not the default opener.
|
|
135
|
+
Do not write `saw you {{engagement_context}} on {{post_context}}`, `saw you
|
|
136
|
+
reacted to`, `saw you engaging with`, or equivalent source-citation copy as a
|
|
137
|
+
default hook. Only refer to the prospect's engagement when the line is
|
|
138
|
+
self-aware and low-certainty, for example `not sure if this is too specific,
|
|
139
|
+
but the [topic] thread felt close enough to send`. Otherwise omit the
|
|
140
|
+
engagement signal and use role/company/problem context.
|
|
131
141
|
- Subjects should be short, buyer-relevant, and specific. Avoid `quick
|
|
132
142
|
question`, `demo`, `founder call`, sender names, and generic `outbound`.
|
|
133
143
|
- If the message is plausible but not ready to send, set `Recommendation:
|
package/bin/sellable-install.mjs
CHANGED
|
@@ -687,7 +687,7 @@ After every \`update_campaign({ campaignId, currentStep })\`, use
|
|
|
687
687
|
\`get_campaign_navigation_state\` when available as a compact orientation check:
|
|
688
688
|
match the saved campaign state to the expected watch-link step, explain the
|
|
689
689
|
current state in one sentence, and only then continue. Sender selection belongs
|
|
690
|
-
at Settings after message approval and
|
|
690
|
+
at Settings after message approval and 15-row validation. After message
|
|
691
691
|
validation, use Settings to help the user connect or select a LinkedIn sender.
|
|
692
692
|
Explain Slack reply review before launch. After sender selection, attach the
|
|
693
693
|
recommended sequence and move the watched UI to Send. Do not start the campaign
|
|
@@ -929,18 +929,28 @@ updates.
|
|
|
929
929
|
Do not load the full long-form \`generate-messages\` subskill in this
|
|
930
930
|
create-campaign path; if the safety gate cannot safely approve the draft, route
|
|
931
931
|
to revise messaging with the concrete failure.
|
|
932
|
+
This compatibility path is not a generate-message fast mode.
|
|
932
933
|
Do not synthesize \`message-validation.md\` from the brief, lead review, or
|
|
933
934
|
general knowledge.
|
|
934
935
|
5. Create the campaign shell early with the v1 brief so the user can open the
|
|
935
936
|
watch link and see useful setup state immediately. Import only the first
|
|
936
937
|
bounded review batch after the source is attached to the campaign; do not
|
|
937
|
-
queue workflow cells, attach a sequence, or start until
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
approved message set is synced into the campaign
|
|
941
|
-
|
|
938
|
+
queue workflow cells, attach a sequence, or start until filter choice is
|
|
939
|
+
resolved, Messages has shown Use Template / AI Generated, template/token
|
|
940
|
+
rules are approved when Use Template is chosen, rubrics are saved when
|
|
941
|
+
filters are enabled, and the approved message set is synced into the campaign
|
|
942
|
+
brief. Product Generate Message cells must not run from the background
|
|
943
|
+
template path before that template/token approval. AI Generated uses the
|
|
944
|
+
product's AI-generated path and cancels or ignores the background template
|
|
945
|
+
draft.
|
|
946
|
+
6. The main thread owns watch navigation: use \`filter-choice\` after the 15-row
|
|
947
|
+
review batch, \`messages\` for the Use Template / AI Generated mode choice,
|
|
948
|
+
\`auto-execute-messaging\` for approved message work or the product's
|
|
949
|
+
AI-generated path, and \`awaiting-user-greenlight\` for the final handoff.
|
|
950
|
+
\`validate-sample\` is recovery/legacy only if reached.
|
|
951
|
+
7. Keep \`selectedLeadListId\` as the source list and \`workflowTableId\` as the
|
|
942
952
|
campaign table. Do not use disk files as the post-mint source of truth.
|
|
943
|
-
|
|
953
|
+
8. Do not ask the user to run another command.
|
|
944
954
|
|
|
945
955
|
## Fallback
|
|
946
956
|
|
package/package.json
CHANGED
|
@@ -71,8 +71,10 @@ Disk artifacts are optional debug/UAT diagnostics; normal customer runs should
|
|
|
71
71
|
not create, link, or surface local draft files unless the user explicitly asks
|
|
72
72
|
for them. Resume, gating, and handoff read campaign state first. The
|
|
73
73
|
watchable campaign exists after the short brief; lead import is bounded to the
|
|
74
|
-
first review batch,
|
|
75
|
-
|
|
74
|
+
first review batch. After that, the user chooses whether to use filters or skip,
|
|
75
|
+
then Messages first shows Use Template and AI Generated. The Message Draft
|
|
76
|
+
Builder may work in the background, but template review waits for the filter
|
|
77
|
+
path and an explicit Use Template choice.
|
|
76
78
|
|
|
77
79
|
## Opening Turn Contract
|
|
78
80
|
|
|
@@ -145,9 +147,13 @@ registry pattern for the two post-lead branches. The create-campaign-v2 subskill
|
|
|
145
147
|
calls `get_post_find_leads_scout_registry`, then launches the returned
|
|
146
148
|
filter-leads scout and message-generation scout together when real subagents are
|
|
147
149
|
available and the current session exposes the returned names. Message
|
|
148
|
-
generation
|
|
149
|
-
|
|
150
|
-
|
|
150
|
+
generation is the provisional Message Draft Builder: it may start after the
|
|
151
|
+
review batch exists, including while the user is on filter choice, but template
|
|
152
|
+
review cannot start until the user answers filter choice and chooses Use
|
|
153
|
+
Template in Messages. AI Generated is an explicit opt-out that cancels or
|
|
154
|
+
ignores the background template draft. If the post-lead agents are absent, the
|
|
155
|
+
main thread still orchestrates the same branches from the compact context with
|
|
156
|
+
MCP tools/assets.
|
|
151
157
|
|
|
152
158
|
Use rendered Markdown for user review surfaces, not fenced code blocks. Keep
|
|
153
159
|
lines short, use indexed section labels and bullets, and translate internal
|
|
@@ -200,7 +206,7 @@ After every `update_campaign({ campaignId, currentStep })`, use
|
|
|
200
206
|
`get_campaign_navigation_state` when available as a compact orientation check:
|
|
201
207
|
match the saved campaign state to the expected watch-link step, explain the
|
|
202
208
|
current state in one sentence, and only then continue. Sender selection belongs
|
|
203
|
-
at Settings after message approval and
|
|
209
|
+
at Settings after message approval and 15-row validation. After message
|
|
204
210
|
validation, use Settings to help the user connect or select a LinkedIn sender.
|
|
205
211
|
Explain Slack reply review before launch. After sender selection, attach the
|
|
206
212
|
recommended sequence and move the watched UI to Send. Do not start the campaign
|
|
@@ -561,26 +567,31 @@ updates.
|
|
|
561
567
|
Do not load the full long-form `generate-messages` subskill in this
|
|
562
568
|
create-campaign path; if the safety gate cannot safely approve the draft,
|
|
563
569
|
route to revise messaging with the concrete failure.
|
|
570
|
+
This compatibility path is not a generate-message fast mode.
|
|
564
571
|
Do not synthesize `message-validation.md` from the brief, lead review, or
|
|
565
572
|
general knowledge.
|
|
566
573
|
5. Create the campaign shell early with the v1 brief so the user can open the
|
|
567
574
|
watch link and see useful setup state immediately. Import only the first
|
|
568
575
|
bounded review batch after the source is attached to the campaign; do not
|
|
569
|
-
queue workflow cells, attach a sequence, or start until
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
approved message set is synced into the campaign
|
|
576
|
+
queue workflow cells, attach a sequence, or start until the filter choice is
|
|
577
|
+
resolved, Messages has shown Use Template / AI Generated, template/token
|
|
578
|
+
rules are approved when Use Template is chosen, rubrics are saved when
|
|
579
|
+
filters are enabled, and the approved message set is synced into the campaign
|
|
580
|
+
brief. Product Generate Message cells must not run from the background
|
|
581
|
+
template path before that template/token approval.
|
|
573
582
|
Do not ask the user to approve the brief before shell creation unless they
|
|
574
583
|
explicitly requested a no-write draft; the shell itself is the review surface.
|
|
575
584
|
6. The main thread owns watch navigation. Call
|
|
576
585
|
`mcp__sellable__update_campaign({ campaignId, currentStep })` before major
|
|
577
586
|
visible work so the user can watch progress in the app: `create-offer` for
|
|
578
587
|
the brief, `pick-provider` or the selected provider step while sourcing,
|
|
579
|
-
`filter-choice` after the
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
588
|
+
`filter-choice` after the 15-row review batch, `messages` for the Use
|
|
589
|
+
Template / AI Generated mode choice, `auto-execute-messaging` for approved
|
|
590
|
+
message work or the product's AI-generated path, `awaiting-user-greenlight`
|
|
591
|
+
for the final handoff, `settings` for sender selection, `sequence` after
|
|
592
|
+
sender attach, and `send` once the recommended sequence is attached.
|
|
593
|
+
`validate-sample` is recovery/legacy only if reached. Do not advance the
|
|
594
|
+
step backward.
|
|
584
595
|
7. Keep `selectedLeadListId` as the source list and `workflowTableId` as the
|
|
585
596
|
campaign table. Do not use disk files as the post-mint source of truth.
|
|
586
597
|
8. Do not ask the user to run another command.
|