@sellable/mcp 0.1.0
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/.claude-plugin/plugin.json +12 -0
- package/.mcp.json +9 -0
- package/README.md +355 -0
- package/dist/api.d.ts +21 -0
- package/dist/api.js +73 -0
- package/dist/auth.d.ts +60 -0
- package/dist/auth.js +246 -0
- package/dist/engage-memory.d.ts +63 -0
- package/dist/engage-memory.js +354 -0
- package/dist/index-dev.d.ts +2 -0
- package/dist/index-dev.js +17 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +8 -0
- package/dist/server.d.ts +1 -0
- package/dist/server.js +499 -0
- package/dist/skills.d.ts +11 -0
- package/dist/skills.js +97 -0
- package/dist/tools/auth.d.ts +30 -0
- package/dist/tools/auth.js +124 -0
- package/dist/tools/blueprint-commit.d.ts +174 -0
- package/dist/tools/blueprint-commit.js +286 -0
- package/dist/tools/bootstrap.d.ts +64 -0
- package/dist/tools/bootstrap.js +246 -0
- package/dist/tools/campaigns.d.ts +589 -0
- package/dist/tools/campaigns.js +892 -0
- package/dist/tools/cells.d.ts +58 -0
- package/dist/tools/cells.js +48 -0
- package/dist/tools/context.d.ts +88 -0
- package/dist/tools/context.js +271 -0
- package/dist/tools/csv-domains.d.ts +73 -0
- package/dist/tools/csv-domains.js +464 -0
- package/dist/tools/csv-linkedin.d.ts +102 -0
- package/dist/tools/csv-linkedin.js +712 -0
- package/dist/tools/direct-campaigns.d.ts +240 -0
- package/dist/tools/direct-campaigns.js +250 -0
- package/dist/tools/engage-bootstrap.d.ts +94 -0
- package/dist/tools/engage-bootstrap.js +205 -0
- package/dist/tools/engage-discovery.d.ts +78 -0
- package/dist/tools/engage-discovery.js +150 -0
- package/dist/tools/engage-memory.d.ts +181 -0
- package/dist/tools/engage-memory.js +143 -0
- package/dist/tools/engage-state.d.ts +72 -0
- package/dist/tools/engage-state.js +62 -0
- package/dist/tools/enrichment.d.ts +167 -0
- package/dist/tools/enrichment.js +174 -0
- package/dist/tools/flow-preflight.d.ts +68 -0
- package/dist/tools/flow-preflight.js +138 -0
- package/dist/tools/framework.d.ts +44 -0
- package/dist/tools/framework.js +153 -0
- package/dist/tools/interaction-mode.d.ts +27 -0
- package/dist/tools/interaction-mode.js +102 -0
- package/dist/tools/leads.d.ts +2417 -0
- package/dist/tools/leads.js +2307 -0
- package/dist/tools/linkedin.d.ts +210 -0
- package/dist/tools/linkedin.js +229 -0
- package/dist/tools/navigation.d.ts +91 -0
- package/dist/tools/navigation.js +381 -0
- package/dist/tools/one-off.d.ts +229 -0
- package/dist/tools/one-off.js +273 -0
- package/dist/tools/processing.d.ts +70 -0
- package/dist/tools/processing.js +56 -0
- package/dist/tools/prompts.d.ts +211 -0
- package/dist/tools/prompts.js +210 -0
- package/dist/tools/provider-preflight.d.ts +21 -0
- package/dist/tools/provider-preflight.js +59 -0
- package/dist/tools/readiness.d.ts +261 -0
- package/dist/tools/readiness.js +510 -0
- package/dist/tools/rows.d.ts +126 -0
- package/dist/tools/rows.js +105 -0
- package/dist/tools/rubrics.d.ts +497 -0
- package/dist/tools/rubrics.js +681 -0
- package/dist/tools/senders.d.ts +44 -0
- package/dist/tools/senders.js +69 -0
- package/dist/tools/sequencer.d.ts +127 -0
- package/dist/tools/sequencer.js +194 -0
- package/dist/tools/tables.d.ts +35 -0
- package/dist/tools/tables.js +36 -0
- package/dist/tools/verify-row.d.ts +36 -0
- package/dist/tools/verify-row.js +38 -0
- package/dist/tools/workspaces.d.ts +140 -0
- package/dist/tools/workspaces.js +139 -0
- package/dist/utils/workspace-root.d.ts +1 -0
- package/dist/utils/workspace-root.js +39 -0
- package/package.json +46 -0
- package/skills/building-gtm-tables/SKILL.md +216 -0
- package/skills/building-gtm-tables/core/auto-execute.yaml +19 -0
- package/skills/building-gtm-tables/core/blueprint-schema.json +72 -0
- package/skills/building-gtm-tables/references/brief-to-blueprint.md +334 -0
- package/skills/building-gtm-tables/references/column-type-catalog.md +318 -0
- package/skills/building-gtm-tables/references/common-blueprints.fixtures.ts +199 -0
- package/skills/building-gtm-tables/references/common-blueprints.md +44 -0
- package/skills/building-gtm-tables/references/failure-taxonomy.md +197 -0
- package/skills/building-gtm-tables/references/uat-seed-prompts.md +37 -0
- package/skills/building-gtm-tables/references/verify-loop.md +74 -0
- package/skills/campaign-messages/SKILL.md +173 -0
- package/skills/campaign-messages/flow.v1.json +75 -0
- package/skills/craft-message/SKILL.md +401 -0
- package/skills/create-campaign/ARCHITECTURE.md +232 -0
- package/skills/create-campaign/DISCUSS.md +296 -0
- package/skills/create-campaign/FLOW_ASCII.md +240 -0
- package/skills/create-campaign/HOST-PARITY-CHECKLIST.md +49 -0
- package/skills/create-campaign/README.md +142 -0
- package/skills/create-campaign/SKILL.md +286 -0
- package/skills/create-campaign/context/README.md +67 -0
- package/skills/create-campaign/context/_TEMPLATE.md +12 -0
- package/skills/create-campaign/context/context.md +35 -0
- package/skills/create-campaign/context/learnings.md +16 -0
- package/skills/create-campaign/context/registry.json +19 -0
- package/skills/create-campaign/core/flow.v1.json +217 -0
- package/skills/create-campaign/core/policy.md +191 -0
- package/skills/create-campaign/core/providers/apollo.json +35 -0
- package/skills/create-campaign/core/providers/prospeo.json +34 -0
- package/skills/create-campaign/core/providers/registry.json +31 -0
- package/skills/create-campaign/core/providers/sales-nav.json +37 -0
- package/skills/create-campaign/core/providers/signal-discovery.json +42 -0
- package/skills/create-campaign/references/brief-template.md +64 -0
- package/skills/create-campaign/references/campaign-quality.md +84 -0
- package/skills/create-campaign/references/copy-calibration-examples.md +120 -0
- package/skills/create-campaign/references/offer-patterns.md +108 -0
- package/skills/create-campaign/references/provider-selection-strategy.md +212 -0
- package/skills/create-campaign/references/question-examples.md +167 -0
- package/skills/create-campaign/references/token-fill-examples.md +81 -0
- package/skills/create-campaign-brief/ARCHITECTURE.md +72 -0
- package/skills/create-campaign-brief/DISCUSS.md +64 -0
- package/skills/create-campaign-brief/README.md +176 -0
- package/skills/create-campaign-brief/SKILL.md +537 -0
- package/skills/create-campaign-brief/references/brief-synthesis-rules.md +100 -0
- package/skills/create-campaign-brief/references/brief-template.md +220 -0
- package/skills/create-campaign-brief/references/campaign-idea-options.md +30 -0
- package/skills/create-campaign-brief/references/copy-appendix-template.md +62 -0
- package/skills/create-campaign-brief/references/draft-lifecycle.md +23 -0
- package/skills/create-campaign-brief/references/examples/MANIFEST.json +89 -0
- package/skills/create-campaign-brief/references/examples/briefs/clover.md +223 -0
- package/skills/create-campaign-brief/references/examples/briefs/galley.md +222 -0
- package/skills/create-campaign-brief/references/examples/briefs/gelee.md +220 -0
- package/skills/create-campaign-brief/references/examples/briefs/hey-digital.md +234 -0
- package/skills/create-campaign-brief/references/examples/briefs/persona.md +231 -0
- package/skills/create-campaign-brief/references/examples/briefs/revvix.md +220 -0
- package/skills/create-campaign-brief/references/examples/briefs/sellable-dev.md +220 -0
- package/skills/create-campaign-brief/references/examples/briefs/superposition.md +233 -0
- package/skills/create-campaign-brief/references/examples/briefs/superpower.md +219 -0
- package/skills/create-campaign-brief/references/examples/briefs/westpark-villas.md +220 -0
- package/skills/create-campaign-brief/references/icp-lock-question-bank.md +43 -0
- package/skills/create-campaign-brief/references/messaging-inputs.md +58 -0
- package/skills/create-campaign-brief/references/output-acceptance-rubric.md +62 -0
- package/skills/create-campaign-brief/references/phase75-active-runtime-message-pack.md +248 -0
- package/skills/create-campaign-brief/references/phase75-canonical-brief-template.md +319 -0
- package/skills/create-campaign-brief/references/phase75-good-brief-and-messaging-examples.md +445 -0
- package/skills/create-campaign-brief/references/quick-research-protocol.md +39 -0
- package/skills/create-campaign-brief/references/reference-sheet-protocol.md +60 -0
- package/skills/create-campaign-brief/references/zero-shot-iteration-rules.md +66 -0
- package/skills/create-campaign-v2/SKILL.md +1619 -0
- package/skills/create-campaign-v2/core/auto-execute.README.md +219 -0
- package/skills/create-campaign-v2/core/auto-execute.yaml +121 -0
- package/skills/create-campaign-v2/core/flow.v2.json +1643 -0
- package/skills/create-campaign-v2/core/policy.md +82 -0
- package/skills/create-campaign-v2/references/ai-tells.md +253 -0
- package/skills/create-campaign-v2/references/approval-gate-framing.md +346 -0
- package/skills/create-campaign-v2/references/draft-lifecycle.md +110 -0
- package/skills/create-campaign-v2/references/escalation-ladder.md +119 -0
- package/skills/create-campaign-v2/references/filter-leads.md +495 -0
- package/skills/create-campaign-v2/references/final-handoff-contract.md +176 -0
- package/skills/create-campaign-v2/references/gold-standard-message-examples.md +394 -0
- package/skills/create-campaign-v2/references/gold-standard-message-patterns.md +314 -0
- package/skills/create-campaign-v2/references/gold-standard-message-validation-example.md +212 -0
- package/skills/create-campaign-v2/references/lead-validation-preview.md +172 -0
- package/skills/create-campaign-v2/references/parallel-critique-protocol.md +368 -0
- package/skills/create-campaign-v2/references/sample-validation-loop.md +289 -0
- package/skills/create-campaign-v2/references/step-13-import-leads.md +151 -0
- package/skills/create-campaign-v2/references/step-15-re-cascade.md +90 -0
- package/skills/create-campaign-v2/references/thomas-revision-filters.md +521 -0
- package/skills/create-campaign-v2/references/thomas-variant-selection.md +202 -0
- package/skills/create-campaign-v2/references/tier-routing-matrix.md +66 -0
- package/skills/create-campaign-v2/references/validation-criteria.md +367 -0
- package/skills/create-campaign-v2/references/watch-link-handoff.md +106 -0
- package/skills/create-campaign-v2-validation/SKILL.md +296 -0
- package/skills/create-post/SKILL.md +1308 -0
- package/skills/create-rubric/SKILL.md +251 -0
- package/skills/engage/SKILL.md +549 -0
- package/skills/engage/core/README.md +23 -0
- package/skills/engage/core/proven-searches.json +11 -0
- package/skills/engage/core/style-guide.template.md +47 -0
- package/skills/engage/core/tracked-people.json +10 -0
- package/skills/enrich-prospects/SKILL.md +97 -0
- package/skills/find-leads/SKILL.md +467 -0
- package/skills/generate-messages/SKILL.md +2361 -0
- package/skills/interview/SKILL.md +132 -0
- package/skills/interview/core/ENGAGE_STYLE_GUIDE.template.md +54 -0
- package/skills/interview/core/ICP.template.md +54 -0
- package/skills/interview/core/VOICE_PROFILE.template.md +101 -0
- package/skills/providers/apollo.md +520 -0
- package/skills/providers/prospeo.md +398 -0
- package/skills/providers/sales-nav.md +372 -0
- package/skills/providers/signal-discovery.md +495 -0
- package/skills/research/SKILL.md +258 -0
- package/skills/research/config.json +9 -0
- package/skills/research/override.md +13 -0
- package/skills/research-prospect/SKILL.md +99 -0
- package/skills/research-sender/SKILL.md +158 -0
- package/skills/workflow-sequences/SKILL.md +85 -0
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
# Canonical Campaign Brief Template
|
|
2
|
+
|
|
3
|
+
Use this as the target output shape for `create-campaign-brief`.
|
|
4
|
+
|
|
5
|
+
This is not a kickoff agenda.
|
|
6
|
+
This is not only a strategy memo.
|
|
7
|
+
This is a client-ready campaign brief plus operator-ready message pack.
|
|
8
|
+
|
|
9
|
+
## Output Standard
|
|
10
|
+
|
|
11
|
+
The brief should feel like the best parts of:
|
|
12
|
+
|
|
13
|
+
- `sellable.dev` for A/B CTA structure and bold positioning
|
|
14
|
+
- `Hey Digital` for angle libraries and message-decision logic
|
|
15
|
+
- `Galley` for concrete offers and operator notes
|
|
16
|
+
- `Gelee` for personalization ladders
|
|
17
|
+
- `Persona` for bad vs better token guidance
|
|
18
|
+
- `Revvix` for event simplicity
|
|
19
|
+
- `Superpower` for readable pain-first copy
|
|
20
|
+
- `Superposition` for voice lock and anti-drift controls
|
|
21
|
+
|
|
22
|
+
## Required Sections
|
|
23
|
+
|
|
24
|
+
```md
|
|
25
|
+
# [Campaign Name]
|
|
26
|
+
|
|
27
|
+
## Campaign Objective
|
|
28
|
+
|
|
29
|
+
[1 short paragraph on who we are targeting, what they care about, and the specific offer we are bringing them.]
|
|
30
|
+
|
|
31
|
+
## Sender
|
|
32
|
+
|
|
33
|
+
[Who the sender is, why they are believable, and what perspective they are speaking from.]
|
|
34
|
+
|
|
35
|
+
## Ideal Customer Profile (ICP)
|
|
36
|
+
|
|
37
|
+
- Titles:
|
|
38
|
+
- Company type:
|
|
39
|
+
- Company size / maturity:
|
|
40
|
+
- Geography:
|
|
41
|
+
- Trigger or signal:
|
|
42
|
+
- Exclusions:
|
|
43
|
+
|
|
44
|
+
## Core Pain / Buyer Context
|
|
45
|
+
|
|
46
|
+
- Operational pain:
|
|
47
|
+
- Emotional context:
|
|
48
|
+
- Why this buyer ignores most outreach:
|
|
49
|
+
|
|
50
|
+
## Meeting Value (Offer)
|
|
51
|
+
|
|
52
|
+
[State the actual deliverable or reason to reply.]
|
|
53
|
+
|
|
54
|
+
### Option A
|
|
55
|
+
|
|
56
|
+
[Higher-commitment path.]
|
|
57
|
+
|
|
58
|
+
### Option B
|
|
59
|
+
|
|
60
|
+
[Lower-friction path: video, audit, one-pager, resource vault, case study, etc.]
|
|
61
|
+
|
|
62
|
+
Use Option B only when it is genuinely strong.
|
|
63
|
+
If the client has an easy, relevant case-study link or proof asset worth sharing, that is often the best Option B.
|
|
64
|
+
If they do not, do not force a weak “send info” path just to preserve A/B symmetry.
|
|
65
|
+
|
|
66
|
+
## Social Proof
|
|
67
|
+
|
|
68
|
+
- Safe named proof:
|
|
69
|
+
- Safe anonymous proof:
|
|
70
|
+
- Safe quantified proof:
|
|
71
|
+
- Proof that must NOT be used:
|
|
72
|
+
|
|
73
|
+
## Differentiators
|
|
74
|
+
|
|
75
|
+
- [Differentiator 1]
|
|
76
|
+
- [Differentiator 2]
|
|
77
|
+
- [Differentiator 3]
|
|
78
|
+
|
|
79
|
+
## Messaging Strategy
|
|
80
|
+
|
|
81
|
+
- Hook logic:
|
|
82
|
+
- Bridge logic:
|
|
83
|
+
- Offer logic:
|
|
84
|
+
- CTA logic:
|
|
85
|
+
- Voice:
|
|
86
|
+
- Readability level:
|
|
87
|
+
|
|
88
|
+
## Personalization Rules
|
|
89
|
+
|
|
90
|
+
- What to personalize:
|
|
91
|
+
- What to keep broad:
|
|
92
|
+
- What to never mention:
|
|
93
|
+
|
|
94
|
+
## Approved Message Template
|
|
95
|
+
|
|
96
|
+
When to use:
|
|
97
|
+
Why it works:
|
|
98
|
+
|
|
99
|
+
**Subject:** [subject]
|
|
100
|
+
|
|
101
|
+
[full message]
|
|
102
|
+
|
|
103
|
+
## Token Fill / Interpolation Guidelines
|
|
104
|
+
|
|
105
|
+
- `{{first_name}}`:
|
|
106
|
+
- `{{company}}`:
|
|
107
|
+
- `{{signal_topic}}`:
|
|
108
|
+
- `{{team_type}}`:
|
|
109
|
+
- `{{role_group}}`:
|
|
110
|
+
|
|
111
|
+
## Good vs Bad Examples
|
|
112
|
+
|
|
113
|
+
- BAD:
|
|
114
|
+
- BETTER:
|
|
115
|
+
- WHY:
|
|
116
|
+
|
|
117
|
+
Rules:
|
|
118
|
+
|
|
119
|
+
- Include only endorsed inspiration examples in the runtime generation set.
|
|
120
|
+
- Label bad examples explicitly as bad.
|
|
121
|
+
- Pair bad examples with a better replacement when they are kept for teaching.
|
|
122
|
+
- Do not leave weak or speculative lines mixed into the gold example bank.
|
|
123
|
+
|
|
124
|
+
## Template DOs
|
|
125
|
+
|
|
126
|
+
- [do]
|
|
127
|
+
- [do]
|
|
128
|
+
|
|
129
|
+
## Template DON'Ts
|
|
130
|
+
|
|
131
|
+
- [don't]
|
|
132
|
+
- [don't]
|
|
133
|
+
|
|
134
|
+
## Do Not Target
|
|
135
|
+
|
|
136
|
+
- [anti-ICP]
|
|
137
|
+
- [anti-ICP]
|
|
138
|
+
|
|
139
|
+
## Campaign Notes
|
|
140
|
+
|
|
141
|
+
- Why this offer should work:
|
|
142
|
+
- Which proof should be used lightly:
|
|
143
|
+
- What to test first:
|
|
144
|
+
- What should never drift:
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Optional Sections
|
|
148
|
+
|
|
149
|
+
Add only when the campaign truly needs them:
|
|
150
|
+
|
|
151
|
+
- `Approved Message Variants`
|
|
152
|
+
|
|
153
|
+
- Use only when the ICP is broad, the sender mix is materially different, or the campaign genuinely needs multiple message paths.
|
|
154
|
+
|
|
155
|
+
- `Scenario-Based Angles`
|
|
156
|
+
- Use for campaigns like `Hey Digital` where the same offer must adapt across multiple buyer situations.
|
|
157
|
+
- `Exact Template Lock`
|
|
158
|
+
- Use for campaigns like `Superposition` where freeform rewriting degrades performance.
|
|
159
|
+
- `Event Context`
|
|
160
|
+
- Use for campaigns like `Galley Catersource` or `Revvix RSAC`.
|
|
161
|
+
- `Logo Matching Guide`
|
|
162
|
+
- Use when proof must be matched by segment.
|
|
163
|
+
- `Variant Ladder`
|
|
164
|
+
- Use when campaigns need deep personalization vs signal-only vs ICP-only versions.
|
|
165
|
+
- `Message Development Notes`
|
|
166
|
+
- Use when you want to preserve why the final variants beat the discarded ones.
|
|
167
|
+
|
|
168
|
+
Reference:
|
|
169
|
+
|
|
170
|
+
- [75-MESSAGE-VARIANT-GENERATION-FLOW.md](/Users/christianreyes/dev/dittto-fresh/web/.planning/phases/75-canonical-campaign-brief-and-copy-calibration/75-MESSAGE-VARIANT-GENERATION-FLOW.md)
|
|
171
|
+
|
|
172
|
+
## Section Rules
|
|
173
|
+
|
|
174
|
+
### Campaign Objective
|
|
175
|
+
|
|
176
|
+
Must:
|
|
177
|
+
|
|
178
|
+
- describe the target buyer
|
|
179
|
+
- describe the offer
|
|
180
|
+
- describe the reason this campaign exists now
|
|
181
|
+
|
|
182
|
+
Must not:
|
|
183
|
+
|
|
184
|
+
- sound like generic enablement copy
|
|
185
|
+
- repeat the product homepage
|
|
186
|
+
|
|
187
|
+
### Sender
|
|
188
|
+
|
|
189
|
+
Must:
|
|
190
|
+
|
|
191
|
+
- explain why this sender is believable
|
|
192
|
+
- use the sender’s actual story or role
|
|
193
|
+
|
|
194
|
+
Must not:
|
|
195
|
+
|
|
196
|
+
- invent credibility
|
|
197
|
+
- overstate the sender’s status
|
|
198
|
+
|
|
199
|
+
### Meeting Value (Offer)
|
|
200
|
+
|
|
201
|
+
Must:
|
|
202
|
+
|
|
203
|
+
- describe the concrete thing the buyer gets
|
|
204
|
+
- make the value understandable in one read
|
|
205
|
+
- support at least one low-friction CTA path
|
|
206
|
+
|
|
207
|
+
Must not:
|
|
208
|
+
|
|
209
|
+
- default to “hop on a call”
|
|
210
|
+
- describe only the product without the payoff
|
|
211
|
+
|
|
212
|
+
### CTA Structure
|
|
213
|
+
|
|
214
|
+
Must:
|
|
215
|
+
|
|
216
|
+
- choose the CTA structure intentionally
|
|
217
|
+
- use A/B when both paths are genuinely compelling
|
|
218
|
+
- use a proof asset, case study, audit, video, or similar for Option B when one actually exists
|
|
219
|
+
|
|
220
|
+
Must not:
|
|
221
|
+
|
|
222
|
+
- force A/B if Option B is weak or fake
|
|
223
|
+
- use “I can send more info” as filler
|
|
224
|
+
- point to a case study that is not actually strong enough to carry interest
|
|
225
|
+
|
|
226
|
+
### Social Proof
|
|
227
|
+
|
|
228
|
+
Must:
|
|
229
|
+
|
|
230
|
+
- separate safe proof from unsafe proof
|
|
231
|
+
- prefer named proof when it exists
|
|
232
|
+
- clarify what is semi-anonymous or should be used lightly
|
|
233
|
+
|
|
234
|
+
Must not:
|
|
235
|
+
|
|
236
|
+
- fabricate logos, results, or customer stories
|
|
237
|
+
|
|
238
|
+
### Messaging Strategy
|
|
239
|
+
|
|
240
|
+
Must:
|
|
241
|
+
|
|
242
|
+
- explain the logic behind the message, not just provide lines
|
|
243
|
+
- specify tone and readability
|
|
244
|
+
- say how the signal or trigger should be referenced
|
|
245
|
+
|
|
246
|
+
Must not:
|
|
247
|
+
|
|
248
|
+
- stop at “be casual”
|
|
249
|
+
- assume the operator knows the tone implicitly
|
|
250
|
+
|
|
251
|
+
### Message Variants
|
|
252
|
+
|
|
253
|
+
Must:
|
|
254
|
+
|
|
255
|
+
- default to one approved message template unless there is a real reason to branch
|
|
256
|
+
- include full usable copy when variants are used
|
|
257
|
+
- explain when each variant should be used
|
|
258
|
+
- preserve the best-known CTA pattern
|
|
259
|
+
|
|
260
|
+
Must not:
|
|
261
|
+
|
|
262
|
+
- create multiple variants just to look thorough
|
|
263
|
+
- contain near-duplicates disguised as multiple variants
|
|
264
|
+
- change only adjectives while keeping the same logic
|
|
265
|
+
|
|
266
|
+
### Token Fill / Interpolation Guidelines
|
|
267
|
+
|
|
268
|
+
Must:
|
|
269
|
+
|
|
270
|
+
- define every important variable
|
|
271
|
+
- include length or style constraints where useful
|
|
272
|
+
- specify good and bad fills when ambiguity is risky
|
|
273
|
+
|
|
274
|
+
Must not:
|
|
275
|
+
|
|
276
|
+
- rely on “use judgment”
|
|
277
|
+
- allow narrow over-personalization when the campaign performs better with broad phrasing
|
|
278
|
+
|
|
279
|
+
## Canonical Quality Rubric
|
|
280
|
+
|
|
281
|
+
The brief should fail review if it misses any of these:
|
|
282
|
+
|
|
283
|
+
- `Offer clarity`
|
|
284
|
+
- The offer is concrete and easy to picture.
|
|
285
|
+
- `Voice capture`
|
|
286
|
+
- The messages sound like the sender / client, not a generic SDR.
|
|
287
|
+
- `Copy inclusion`
|
|
288
|
+
- The brief includes one real approved message template, or an exact template lock, with variants only when justified.
|
|
289
|
+
- `CTA quality`
|
|
290
|
+
- The CTA is low-friction and intentional, with A/B structure when appropriate and a real proof asset when Option B is used.
|
|
291
|
+
- `Token discipline`
|
|
292
|
+
- The brief tells the model how to fill variables and where not to overfit.
|
|
293
|
+
- `Proof discipline`
|
|
294
|
+
- Safe proof and forbidden proof are clearly separated.
|
|
295
|
+
- `Anti-pattern coverage`
|
|
296
|
+
- The brief explicitly calls out what not to do.
|
|
297
|
+
- `Operator usability`
|
|
298
|
+
- A human operator could run the campaign from the brief alone.
|
|
299
|
+
|
|
300
|
+
## Recommended Default For Phase 75
|
|
301
|
+
|
|
302
|
+
For the new command, default to:
|
|
303
|
+
|
|
304
|
+
- strategy brief
|
|
305
|
+
- sender context
|
|
306
|
+
- proof rules
|
|
307
|
+
- 1 approved message template
|
|
308
|
+
- token-fill guidance
|
|
309
|
+
- bad vs better examples
|
|
310
|
+
- do / don't rules
|
|
311
|
+
- campaign notes on why the offer works
|
|
312
|
+
|
|
313
|
+
Use multiple approved variants only when:
|
|
314
|
+
|
|
315
|
+
- the ICP is broad
|
|
316
|
+
- there are multiple meaningful subsegments
|
|
317
|
+
- different senders need different message shapes
|
|
318
|
+
|
|
319
|
+
This should be the baseline before folding anything into the broader `create-campaign` workflow.
|