taketomarket 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.
Files changed (123) hide show
  1. package/.claude-plugin/plugin.json +10 -0
  2. package/LICENSE +21 -0
  3. package/README.md +419 -0
  4. package/agents/ttm-producer.md +53 -0
  5. package/bin/lib/campaign.cjs +553 -0
  6. package/bin/lib/commit.cjs +105 -0
  7. package/bin/lib/core.cjs +172 -0
  8. package/bin/lib/deviation.cjs +149 -0
  9. package/bin/lib/drift-log.cjs +219 -0
  10. package/bin/lib/health.cjs +438 -0
  11. package/bin/lib/slug.cjs +59 -0
  12. package/bin/lib/state.cjs +96 -0
  13. package/bin/ttm-tools.cjs +157 -0
  14. package/gates/base-gates.md +266 -0
  15. package/gates/discipline/.gitkeep +0 -0
  16. package/gates/gate-evaluation.md +341 -0
  17. package/gates/meta-gates.md +19 -0
  18. package/install.js +307 -0
  19. package/package.json +53 -0
  20. package/playbooks/.gitkeep +0 -0
  21. package/playbooks/aeo.md +223 -0
  22. package/playbooks/affiliate.md +272 -0
  23. package/playbooks/base.md +110 -0
  24. package/playbooks/email.md +306 -0
  25. package/playbooks/events.md +320 -0
  26. package/playbooks/linkedin.md +263 -0
  27. package/playbooks/paid-ads.md +318 -0
  28. package/playbooks/pr-media.md +296 -0
  29. package/playbooks/seo.md +284 -0
  30. package/playbooks/social.md +305 -0
  31. package/playbooks/youtube.md +325 -0
  32. package/references/context-loading.md +107 -0
  33. package/references/learnings-extraction.md +94 -0
  34. package/references/measurement-template.md +48 -0
  35. package/references/meta-gate-evaluation.md +169 -0
  36. package/references/positioning-check-report.md +197 -0
  37. package/references/review-checklist.md +78 -0
  38. package/references/ship-checklist-items.md +94 -0
  39. package/settings.json +4 -0
  40. package/skills/ttm-aeo-check/SKILL.md +20 -0
  41. package/skills/ttm-affiliate-kit/SKILL.md +19 -0
  42. package/skills/ttm-archive/SKILL.md +13 -0
  43. package/skills/ttm-brand-refresh/SKILL.md +19 -0
  44. package/skills/ttm-brief/SKILL.md +14 -0
  45. package/skills/ttm-competitor-scan/SKILL.md +19 -0
  46. package/skills/ttm-email-preflight/SKILL.md +19 -0
  47. package/skills/ttm-fix/SKILL.md +13 -0
  48. package/skills/ttm-health/SKILL.md +12 -0
  49. package/skills/ttm-icp-refresh/SKILL.md +19 -0
  50. package/skills/ttm-init/SKILL.md +12 -0
  51. package/skills/ttm-keyword-map/SKILL.md +19 -0
  52. package/skills/ttm-learn/SKILL.md +14 -0
  53. package/skills/ttm-measure/SKILL.md +14 -0
  54. package/skills/ttm-new-campaign/SKILL.md +13 -0
  55. package/skills/ttm-next/SKILL.md +12 -0
  56. package/skills/ttm-positioning-check/SKILL.md +19 -0
  57. package/skills/ttm-positioning-shift/SKILL.md +19 -0
  58. package/skills/ttm-produce/SKILL.md +14 -0
  59. package/skills/ttm-repurpose/SKILL.md +20 -0
  60. package/skills/ttm-research/SKILL.md +13 -0
  61. package/skills/ttm-resume/SKILL.md +13 -0
  62. package/skills/ttm-review/SKILL.md +13 -0
  63. package/skills/ttm-seo-audit/SKILL.md +20 -0
  64. package/skills/ttm-ship/SKILL.md +13 -0
  65. package/skills/ttm-state/SKILL.md +13 -0
  66. package/skills/ttm-verify/SKILL.md +14 -0
  67. package/templates/agents-md.md +65 -0
  68. package/templates/campaign-brief.md +74 -0
  69. package/templates/campaign-research.md +39 -0
  70. package/templates/campaign-state.md +40 -0
  71. package/templates/claude-md.md +65 -0
  72. package/templates/deviation-log.md +12 -0
  73. package/templates/drift-log.md +17 -0
  74. package/templates/fix-brief.md +59 -0
  75. package/templates/fix-log.md +22 -0
  76. package/templates/measurement-report.md +75 -0
  77. package/templates/migration-plan.md +24 -0
  78. package/templates/production-manifest.json +20 -0
  79. package/templates/reference-files/brand.md +45 -0
  80. package/templates/reference-files/calendar.md +30 -0
  81. package/templates/reference-files/channels.md +40 -0
  82. package/templates/reference-files/competitors.md +40 -0
  83. package/templates/reference-files/icp.md +50 -0
  84. package/templates/reference-files/learnings.md +40 -0
  85. package/templates/reference-files/metrics.md +42 -0
  86. package/templates/reference-files/positioning.md +38 -0
  87. package/templates/reference-files/state.md +27 -0
  88. package/templates/verification-report.md +59 -0
  89. package/workflows/discipline/.gitkeep +0 -0
  90. package/workflows/discipline/aeo-check.md +180 -0
  91. package/workflows/discipline/affiliate-kit.md +147 -0
  92. package/workflows/discipline/email-preflight.md +150 -0
  93. package/workflows/discipline/keyword-map.md +125 -0
  94. package/workflows/discipline/repurpose.md +329 -0
  95. package/workflows/discipline/seo-audit.md +169 -0
  96. package/workflows/lifecycle/.gitkeep +0 -0
  97. package/workflows/lifecycle/brief-positioning-check.md +90 -0
  98. package/workflows/lifecycle/brief.md +355 -0
  99. package/workflows/lifecycle/fix.md +495 -0
  100. package/workflows/lifecycle/learn.md +405 -0
  101. package/workflows/lifecycle/measure.md +379 -0
  102. package/workflows/lifecycle/produce.md +383 -0
  103. package/workflows/lifecycle/research.md +264 -0
  104. package/workflows/lifecycle/review.md +432 -0
  105. package/workflows/lifecycle/ship.md +521 -0
  106. package/workflows/lifecycle/verify.md +507 -0
  107. package/workflows/reference-mgmt/.gitkeep +0 -0
  108. package/workflows/reference-mgmt/brand-refresh.md +193 -0
  109. package/workflows/reference-mgmt/competitor-scan.md +228 -0
  110. package/workflows/reference-mgmt/icp-refresh.md +200 -0
  111. package/workflows/reference-mgmt/positioning-check.md +339 -0
  112. package/workflows/reference-mgmt/positioning-shift.md +368 -0
  113. package/workflows/setup/.gitkeep +0 -0
  114. package/workflows/setup/init-questions.md +225 -0
  115. package/workflows/setup/init-validation.md +155 -0
  116. package/workflows/setup/init.md +449 -0
  117. package/workflows/setup/new-campaign.md +134 -0
  118. package/workflows/utility/.gitkeep +0 -0
  119. package/workflows/utility/archive.md +334 -0
  120. package/workflows/utility/health.md +166 -0
  121. package/workflows/utility/next.md +187 -0
  122. package/workflows/utility/resume.md +249 -0
  123. package/workflows/utility/state.md +207 -0
@@ -0,0 +1,306 @@
1
+ ---
2
+ discipline: email
3
+ asset_types: [newsletter, drip-email, promotional-email, transactional-email, nurture-sequence]
4
+ version: "1.0"
5
+ ---
6
+
7
+ # Email Playbook
8
+
9
+ ## Production Guidance
10
+
11
+ Email marketing succeeds when content reaches the inbox and compels action. Every email must clear two hurdles: deliverability (does it arrive?) and engagement (does the reader act?). Production guidance covers both.
12
+
13
+ ### Subject Line Craft
14
+
15
+ Write subject lines between 30-60 characters. Avoid spam trigger words: free, guarantee, act now, urgent, limited time, congratulations, winner, no obligation, risk-free, order now, buy now, cash, credit, discount, double your, earn money, lowest price, save big. Do not use ALL CAPS words. Do not use excessive punctuation (no `!!!`, `???`, or `$$$`). One exclamation mark maximum. Personalization tokens (e.g., `{first_name}`) are acceptable and encouraged.
16
+
17
+ ### Preview Text
18
+
19
+ Write preview text between 40-130 characters. Preview text must be distinct from the subject line -- it extends the subject's promise, not repeats it. If no preview text is specified, email clients pull the first line of body copy (often "View in browser" or navigation links), which wastes the preview slot.
20
+
21
+ ### Structure
22
+
23
+ Use single-column layout for mobile compatibility. Keep text dominant -- 60:40 text-to-image ratio minimum. Place the primary CTA above the fold (visible without scrolling on mobile). Use minimum 14px body font and 22px+ headlines for mobile readability. Keep paragraphs short (2-3 sentences maximum).
24
+
25
+ ### Dark Mode Compatibility
26
+
27
+ Use transparent backgrounds or dark-mode-safe colors (#1a1a1a, #2d2d2d). Never rely on background images for text readability. All text must be readable on both light and dark backgrounds -- test with high contrast. Provide descriptive alt text on every image so the email remains functional with images blocked (common in dark mode clients).
28
+
29
+ ### Deliverability
30
+
31
+ Email deliverability has two dimensions:
32
+
33
+ 1. **Content-side:** Word choice, image ratio, formatting, and compliance elements. Checked by DISC-EMAIL-01 through DISC-EMAIL-06. These are evaluated by the AI verifier against the email asset content.
34
+
35
+ 2. **DNS-side:** SPF, DKIM, and DMARC records must be properly configured for the sending domain. Checked by DISC-EMAIL-07 via automated DNS lookups per D-11. These are publicly queryable TXT records; the AI verifier runs `dig` or `nslookup` commands at verify time to confirm the sending domain has proper authentication. The sending domain is specified in the campaign brief or email asset metadata.
36
+
37
+ ### Compliance by Default
38
+
39
+ Every email must include:
40
+ - **Unsubscribe link:** Clear, easy to find, functional. One-click unsubscribe preferred (required by Gmail/Yahoo for bulk senders as of Feb 2024).
41
+ - **Physical mailing address:** Required by CAN-SPAM Act. Can be a PO Box.
42
+ - **Sender identification:** "From" name and email must accurately identify the sender.
43
+
44
+ ---
45
+
46
+ ## Discipline Gates
47
+
48
+ ### DISC-EMAIL-01: Subject/Preview Spam Scan -- Tier 1
49
+
50
+ **Checks:** Subject line and preview text for spam trigger patterns
51
+ **Against:** Known spam trigger word list and formatting rules
52
+
53
+ #### Evaluation Criteria
54
+
55
+ 1. **Spam triggers**
56
+ - PASS: No spam trigger words found in subject or preview text
57
+ - WARN: 1 borderline trigger word present with mitigating context (e.g., "free trial" in a product context)
58
+ - FAIL: 2+ spam trigger words present, OR ALL CAPS subject, OR excessive punctuation (multiple `!`, `?`, or `$` symbols)
59
+
60
+ 2. **Subject formatting**
61
+ - PASS: No ALL CAPS words, no more than 1 exclamation mark, no `$$` or percentage-off claims in subject
62
+ - WARN: One minor formatting issue (e.g., single ALL CAPS word used for emphasis like "NEW")
63
+ - FAIL: Multiple formatting red flags (ALL CAPS + excessive punctuation + monetary claims)
64
+
65
+ ### DISC-EMAIL-02: Dark Mode Rendering -- Tier 2
66
+
67
+ **Checks:** Content compatibility with dark mode email clients
68
+ **Against:** Dark mode rendering best practices
69
+
70
+ #### Evaluation Criteria
71
+
72
+ 1. **Background safety**
73
+ - PASS: No hard-coded light backgrounds that would create white blocks in dark mode, or explicit dark-mode-safe alternatives provided
74
+ - WARN: Background colors used but may render poorly in dark mode -- manual dark mode test recommended
75
+ - FAIL: Email relies on background images for text readability or uses white backgrounds without dark mode alternatives
76
+
77
+ 2. **Image handling**
78
+ - PASS: All images have descriptive alt text and email is fully readable without images loaded
79
+ - WARN: Images have alt text but email depends on images for key information (e.g., CTA is image-only)
80
+ - FAIL: Image-only email with no alt text or text fallback
81
+
82
+ ### DISC-EMAIL-03: Unsubscribe Presence -- Tier 1
83
+
84
+ **Checks:** Legal compliance elements in email content
85
+ **Against:** CAN-SPAM Act and GDPR requirements
86
+
87
+ #### Evaluation Criteria
88
+
89
+ 1. **Unsubscribe mechanism**
90
+ - PASS: Unsubscribe or opt-out link clearly present and easy to find (typically in footer)
91
+ - WARN: Unsubscribe present but buried in very small text or requires multiple steps
92
+ - FAIL: No unsubscribe link present in the email
93
+
94
+ 2. **Physical address**
95
+ - PASS: Physical mailing address present (required by CAN-SPAM)
96
+ - WARN: Address present but incomplete (e.g., city only, no street/PO Box)
97
+ - FAIL: No physical address present in the email
98
+
99
+ ### DISC-EMAIL-04: Content-to-Image Ratio -- Tier 2
100
+
101
+ **Checks:** Text-to-image balance for deliverability and accessibility
102
+ **Against:** Deliverability best practices (60:40 text dominant)
103
+
104
+ #### Evaluation Criteria
105
+
106
+ 1. **Text dominance**
107
+ - PASS: Text content is clearly dominant -- email is fully readable and meaningful with images blocked
108
+ - WARN: Roughly equal text and image content -- email communicates core message without images but loses significant context
109
+ - FAIL: Image-heavy email -- more image area than text, or image-only email with minimal supporting text
110
+
111
+ 2. **Alt text coverage**
112
+ - PASS: Every image has descriptive alt text that conveys the image's purpose
113
+ - WARN: Some images missing alt text, or alt text is generic (e.g., "image", "photo")
114
+ - FAIL: No alt text on images, or alt text on fewer than half of images
115
+
116
+ ### DISC-EMAIL-05: Subject Line Length -- Tier 2
117
+
118
+ **Checks:** Subject line and preview text length optimization
119
+ **Against:** Email client display limits and engagement data
120
+
121
+ #### Evaluation Criteria
122
+
123
+ 1. **Subject length**
124
+ - PASS: Subject line is 30-60 characters (optimal display across desktop and mobile clients)
125
+ - WARN: Subject line is 20-29 or 61-80 characters (may truncate on some mobile clients)
126
+ - FAIL: Subject line is under 20 characters (too vague) or over 80 characters (truncated on most clients)
127
+
128
+ 2. **Preview text**
129
+ - PASS: Preview text present, 40-130 characters, and distinct from subject line
130
+ - WARN: Preview text present but too short (under 40 chars), too long (over 130 chars), or repeats the subject line
131
+ - FAIL: No preview text specified (email client will pull first line of body copy)
132
+
133
+ ### DISC-EMAIL-06: Single Clear CTA -- Tier 2
134
+
135
+ **Checks:** CTA clarity and prominence in email layout
136
+ **Against:** Email content structure and visual hierarchy
137
+
138
+ #### Evaluation Criteria
139
+
140
+ 1. **Primary CTA**
141
+ - PASS: One clear primary CTA above the fold with action-oriented button text (e.g., "Start Free Trial", "Download the Guide", "Register Now")
142
+ - WARN: CTA present but below the fold, or uses weak text like "Click here", "Learn more", or "Read more"
143
+ - FAIL: No CTA present, or multiple competing CTAs of equal visual weight above the fold
144
+
145
+ 2. **CTA hierarchy**
146
+ - PASS: If secondary CTAs exist, they are visually subordinate to the primary CTA (smaller, text-link style, or lower in layout)
147
+ - WARN: Secondary CTAs are nearly as prominent as the primary CTA (similar button size/color)
148
+ - FAIL: N/A -- linked to primary CTA presence above
149
+
150
+ ### DISC-EMAIL-07: DNS Deliverability -- Tier 1
151
+
152
+ **Checks:** Sending domain has SPF, DKIM, and DMARC records properly configured. These are public DNS TXT records that can be queried programmatically at verify time.
153
+ **Against:** DNS TXT records for the sending domain specified in the campaign brief or email asset metadata
154
+
155
+ #### Evaluation Criteria
156
+
157
+ 1. **SPF record**
158
+ - PASS: `dig TXT {domain}` returns a valid SPF record (`v=spf1`) that includes the email service provider's sending servers (e.g., `include:_spf.google.com` for Google Workspace, `include:servers.mcsv.net` for Mailchimp)
159
+ - WARN: SPF record exists but uses `+all` (overly permissive) or is missing the ESP's include directive
160
+ - FAIL: No SPF TXT record found for the sending domain
161
+
162
+ 2. **DKIM record**
163
+ - PASS: `dig TXT {selector}._domainkey.{domain}` returns a valid DKIM public key record (`v=DKIM1; k=rsa; p=...`)
164
+ - WARN: DKIM record exists but uses a weak key (< 1024 bits) or selector cannot be determined from the campaign brief
165
+ - FAIL: No DKIM record found for the expected selector. Note: selector is typically provided by the ESP -- check brief for ESP name and use their default selector (e.g., "google" for Google Workspace, "k1" for Mailchimp, "s1" for SendGrid, "smtp" for Amazon SES)
166
+
167
+ 3. **DMARC record**
168
+ - PASS: `dig TXT _dmarc.{domain}` returns a DMARC policy record with `p=quarantine` or `p=reject` (active enforcement)
169
+ - WARN: DMARC record exists but uses `p=none` (monitoring only -- not enforcing, which means spoofed emails are still delivered)
170
+ - FAIL: No DMARC record found for the domain
171
+
172
+ ---
173
+
174
+ ## Base Gate Overrides
175
+
176
+ | Base Gate ID | Default Tier | Override Tier | Reason |
177
+ |-------------|-------------|---------------|--------|
178
+ | GATE-07 | Tier 2 (advisory) | Tier 1 (blocking) | Email compliance (CAN-SPAM, GDPR) is legally required; non-compliance risks sender reputation, inbox placement, and legal liability |
179
+
180
+ ---
181
+
182
+ ## Format Rules
183
+
184
+ Email-specific structural requirements enforced during production:
185
+
186
+ - **Subject line:** 30-60 characters
187
+ - **Preview text:** 40-130 characters, distinct from subject line
188
+ - **Body layout:** Single-column for mobile compatibility
189
+ - **CTA button:** Minimum 44x44px touch target, contrasting color against background
190
+ - **Unsubscribe:** Must be present and functional (one-click preferred)
191
+ - **Physical address:** Must be present (CAN-SPAM requirement)
192
+ - **Font size:** Minimum 14px body text, 22px+ headlines for mobile readability
193
+ - **Image alt text:** Required on every image
194
+ - **Text-to-image ratio:** 60:40 minimum (text dominant)
195
+ - **Link count:** Avoid excessive links (>10 unique URLs can trigger spam filters)
196
+
197
+ ---
198
+
199
+ ## Examples
200
+
201
+ ### Good: Clean Subject with Dark-Mode-Safe Layout
202
+
203
+ ```
204
+ Subject: Your Q2 pipeline report is ready (42 chars)
205
+ Preview: 3 insights your team should see this week (46 chars)
206
+
207
+ [Single-column layout]
208
+ [Dark background: #1a1a2e, light text: #e0e0e0]
209
+ [Transparent PNG logo with alt text: "Acme Analytics"]
210
+
211
+ Hi {first_name},
212
+
213
+ Your Q2 pipeline report just generated. Here are the highlights:
214
+
215
+ 1. Deal velocity increased 18% month-over-month
216
+ 2. Two enterprise accounts moved to negotiation stage
217
+ 3. Your top-performing rep closed 4 deals this week
218
+
219
+ [Primary CTA button: "View Full Report" -- contrasting color, above fold]
220
+
221
+ ---
222
+ [Footer: unsubscribe link | company address | privacy policy]
223
+ ```
224
+
225
+ **Why it works:** Subject under 60 chars, no spam triggers, preview extends the promise, single CTA above fold, dark-mode safe colors, alt text on images, compliance footer present.
226
+
227
+ ### Good: Nurture Sequence Email with Clear Value
228
+
229
+ ```
230
+ Subject: The 3-step framework we use for ABM (43 chars)
231
+ Preview: Most teams skip step 2 -- here's why it matters (51 chars)
232
+
233
+ [Text-dominant email, minimal images]
234
+
235
+ {first_name}, here's something we learned running ABM for 200+ accounts last quarter...
236
+
237
+ [Educational content: 3 steps with brief explanations]
238
+
239
+ [Primary CTA: "Get the Full ABM Playbook" -- button]
240
+ [Secondary CTA: "Reply to this email with questions" -- text link, smaller]
241
+
242
+ ---
243
+ [Unsubscribe | 123 Market St, San Francisco, CA 94105]
244
+ ```
245
+
246
+ **Why it works:** No spam words, educational value before ask, single primary CTA with subordinate secondary, text-dominant, full compliance footer.
247
+
248
+ ### Bad: Spam Trigger Subject Line
249
+
250
+ ```
251
+ Subject: FREE GUARANTEED RESULTS!!! Act Now -- Limited Time Offer!!!
252
+ Preview: Don't miss this incredible opportunity to save BIG $$$
253
+
254
+ [Image-only email body with no text]
255
+ [No alt text on images]
256
+ [No unsubscribe link]
257
+ [No physical address]
258
+ ```
259
+
260
+ **Why it fails:** DISC-EMAIL-01 FAIL (spam triggers: "FREE", "GUARANTEED", ALL CAPS, "!!!", "Act Now", "Limited Time"), DISC-EMAIL-03 FAIL (no unsubscribe, no address), DISC-EMAIL-04 FAIL (image-only), DISC-EMAIL-05 FAIL (subject over 80 chars).
261
+
262
+ ### Bad: Image-Only Email with White Background
263
+
264
+ ```
265
+ Subject: New product launch (18 chars -- too short)
266
+ Preview: (none specified)
267
+
268
+ [White background #FFFFFF]
269
+ [Single large image containing all text and CTA]
270
+ [No alt text]
271
+ [Unsubscribe link in tiny 8px gray text]
272
+ ```
273
+
274
+ **Why it fails:** DISC-EMAIL-02 FAIL (white background, no dark mode alternative, image-dependent), DISC-EMAIL-04 FAIL (image-only), DISC-EMAIL-05 FAIL (subject under 20 chars, no preview text), DISC-EMAIL-06 FAIL (CTA is inside image, not a real button).
275
+
276
+ ---
277
+
278
+ ## Anti-Patterns
279
+
280
+ 1. **Spam trigger words in subject line:** Using "free", "guarantee", "act now", "limited time", "congratulations", "winner" -- these words trigger spam filters and reduce inbox placement rates.
281
+
282
+ 2. **ALL CAPS in subject or body:** Writing entire words or phrases in capitals signals spam to both filters and readers. One word for emphasis (e.g., "NEW") is borderline acceptable; full caps subjects are not.
283
+
284
+ 3. **Image-only emails:** Emails composed entirely of images with no text fallback are flagged by spam filters, broken when images are blocked (common in corporate email clients), and inaccessible to screen readers.
285
+
286
+ 4. **Missing unsubscribe link:** Legally required by CAN-SPAM (US), GDPR (EU), CASL (Canada), and most jurisdictions. Missing unsubscribe is a compliance violation, not just a best practice issue.
287
+
288
+ 5. **White backgrounds without dark mode alternatives:** Over 80% of email opens occur on devices with dark mode available. White backgrounds create jarring bright blocks in dark mode email clients.
289
+
290
+ 6. **Multiple competing CTAs:** Three equally prominent buttons confuse the reader about what action to take. One primary CTA per email; secondary actions should be visually subordinate.
291
+
292
+ 7. **Sending from unconfigured domains:** Sending email from a domain with no SPF, DKIM, or DMARC records means anyone can spoof your domain, your emails land in spam, and your sender reputation degrades over time.
293
+
294
+ ---
295
+
296
+ ## Metrics
297
+
298
+ What to measure post-ship for email campaigns:
299
+
300
+ - **Open rate:** Subject line and sender name effectiveness. Benchmark: 20-25% for B2B, 15-20% for B2C.
301
+ - **Click-through rate (CTR):** CTA effectiveness and content relevance. Benchmark: 2-5%.
302
+ - **Unsubscribe rate:** Content relevance and send frequency appropriateness. Healthy: under 0.5% per send.
303
+ - **Spam complaint rate:** Deliverability health signal. Must stay under 0.1% (Gmail/Yahoo threshold).
304
+ - **Conversion rate:** Outcome metric alignment -- did the email drive the intended action? Track against the campaign brief's outcome metric.
305
+ - **DNS authentication pass rate:** SPF/DKIM/DMARC alignment percentage from ESP reports. Target: 100% alignment.
306
+ - **Bounce rate:** List hygiene indicator. Hard bounces above 2% signal list quality issues.
@@ -0,0 +1,320 @@
1
+ ---
2
+ discipline: events
3
+ asset_types: [event-landing-page, webinar-script, sponsorship-brief, post-event-recap]
4
+ version: "1.0"
5
+ ---
6
+
7
+ # Events Discipline Playbook
8
+
9
+ This playbook extends the base playbook contract (`base.md`) with events-specific production guidance, discipline gates, and format rules. It is loaded by ttm-producer during content generation and parsed by ttm-verify for gate evaluation.
10
+
11
+ ---
12
+
13
+ ## Production Guidance
14
+
15
+ ### Pre/During/Post Campaign Phases
16
+
17
+ Every event campaign must plan content and actions across all 3 phases. Single-phase planning (just the event itself) is the most common failure mode:
18
+
19
+ **Pre-event phase:**
20
+ - Registration/landing page with clear event value proposition, speaker bios, agenda, and registration CTA
21
+ - Promotional email sequence: announcement (4-6 weeks before), detail reveal (2-3 weeks), early-bird deadline (1-2 weeks), final reminder (48h and 24h before)
22
+ - Social promotion cadence: teaser content, speaker spotlights, countdown posts
23
+ - Partner/sponsor cross-promotion coordination
24
+
25
+ **During-event phase:**
26
+ - Live engagement plan: polls, Q&A, chat moderation, social sharing prompts
27
+ - Real-time social coverage: live-tweeting key moments, backstage content, attendee reactions
28
+ - Technical contingency: backup plan for audio/video failures, moderator scripts for dead air
29
+ - Attendee experience touchpoints: welcome message, mid-event check-in, closing thank-you
30
+
31
+ **Post-event phase:**
32
+ - Recording delivery to registrants (within 24 hours) and no-shows (within 48 hours)
33
+ - Follow-up email sequence: thank-you + recording (day 1), key takeaways + resources (day 3), CTA or next-event invite (day 7)
34
+ - Post-event survey for attendee feedback
35
+ - Content repurposing plan (see Section 2, DISC-EVENTS-05)
36
+
37
+ ### Webinar Funnel Structure
38
+
39
+ Webinars are funnel assets, not standalone events. Build the complete funnel before producing any individual piece:
40
+
41
+ 1. **Registration page:** Headline (benefit-focused, not topic-focused), 3-5 bullet points of what attendees will learn, speaker bio with credibility markers, date/time with timezone, registration form (name, email minimum)
42
+ 2. **Confirmation email:** Thank-you, calendar invite (.ics attachment), "add to calendar" links, pre-event resource or teaser
43
+ 3. **Reminder sequence:** 24 hours before (agenda preview), 1 hour before (join link), 5 minutes before (final nudge with join link)
44
+ 4. **Live event script:** Opening hook (first 60 seconds determine drop-off), content sections with timing, engagement prompts every 8-10 minutes, Q&A segment, closing CTA
45
+ 5. **Recording delivery:** Hosted recording link, key timestamps, supplementary resources, next-step CTA
46
+ 6. **Post-event CTA:** Product demo offer, free trial, consultation booking, or next webinar registration
47
+
48
+ ### Community Building at Events
49
+
50
+ Events are community touchpoints, not isolated transactions. Plan at least 2 community actions:
51
+
52
+ - **During event:** Launch or promote a community channel (Slack workspace, Discord server, LinkedIn group) where attendees can continue conversations
53
+ - **Post-event:** Create a discussion thread in the community channel about event topics, share exclusive post-event content, invite speakers for follow-up Q&A
54
+ - **Ongoing:** Use event attendee lists to seed community membership, track community engagement as a leading indicator of customer retention
55
+
56
+ ### Sponsorship ROI Calculation
57
+
58
+ Before committing sponsorship budget, project the return:
59
+
60
+ - **Cost inputs:** Sponsorship fee, booth/setup costs, travel, swag, staff time
61
+ - **Expected outputs:** Estimated reach (attendee count x booth traffic %), leads collected, meetings booked
62
+ - **Cost-per-lead projection:** Total cost / expected leads. Compare to other channel CPLs.
63
+ - **Brand visibility metrics:** Logo impressions, speaking slot value, content distribution reach
64
+ - **Success/failure thresholds:** Define in advance what makes the sponsorship a success (e.g., 50+ qualified leads at <$100 CPL) or failure (e.g., <10 leads or >$500 CPL)
65
+
66
+ ### Content Repurposing from Events
67
+
68
+ Event recordings and materials are high-value source content. Plan repurposing before the event:
69
+
70
+ - **Blog recap:** 800-1200 word summary of key insights, published within 1 week
71
+ - **Social clips:** 3-5 short video clips (30-90 seconds) of the best moments
72
+ - **Email highlight:** Key takeaway summary sent to broader email list (not just attendees)
73
+ - **Podcast episode:** Audio extracted and edited into a podcast episode or interview segment
74
+ - **Slide deck:** Published on SlideShare or as a downloadable PDF with added context
75
+ - **Quote graphics:** Speaker quotes formatted as shareable social images
76
+
77
+ ---
78
+
79
+ ## Discipline Gates
80
+
81
+ ### DISC-EVENTS-01: Campaign Phase Coverage -- Tier 1
82
+
83
+ **Checks:** Event campaign covers all 3 phases (pre, during, post) per PLAY-11
84
+ **Against:** Event brief and campaign plan
85
+
86
+ #### Evaluation Criteria
87
+
88
+ 1. **Phase completeness**
89
+ - PASS: Brief defines distinct content and actions for pre-event (promotion, registration), during-event (engagement, live content), and post-event (follow-up, recording, recap)
90
+ - WARN: Two of three phases covered with specific actions defined
91
+ - FAIL: Only one phase covered (typically just the event itself with no pre-promotion or post-follow-up plan)
92
+
93
+ 2. **Phase depth**
94
+ - PASS: Each phase has at least 3 specific action items with owners and timelines
95
+ - WARN: Phases defined but with only 1-2 vague actions per phase
96
+ - FAIL: Phase mentioned in passing without specific actions
97
+
98
+ ### DISC-EVENTS-02: Webinar Funnel Integrity -- Tier 1
99
+
100
+ **Checks:** Webinar has a complete registration-to-follow-up funnel per PLAY-11
101
+ **Against:** Webinar campaign assets and plan
102
+
103
+ #### Evaluation Criteria
104
+
105
+ 1. **Funnel stage coverage**
106
+ - PASS: Funnel includes registration page, confirmation email, reminder sequence (24h and 1h before), live event script, recording delivery, and post-event CTA
107
+ - WARN: Has registration and event but missing reminder sequence or post-event follow-up
108
+ - FAIL: No registration funnel defined, or event with no follow-up plan
109
+
110
+ 2. **Funnel continuity**
111
+ - PASS: Each stage connects to the next with a clear handoff (registration triggers confirmation, confirmation includes calendar link, reminder includes join link)
112
+ - WARN: Stages exist but transitions are not explicitly defined
113
+ - FAIL: Stages are disconnected with no clear flow from registration to post-event
114
+
115
+ ### DISC-EVENTS-03: Sponsorship ROI -- Tier 2
116
+
117
+ **Checks:** Sponsorship brief includes ROI projection and success criteria per PLAY-11
118
+ **Against:** Sponsorship brief and budget documentation
119
+
120
+ #### Evaluation Criteria
121
+
122
+ 1. **ROI projection**
123
+ - PASS: Brief includes sponsorship cost, expected reach/leads, cost-per-lead projection, brand visibility metrics, and success/failure thresholds
124
+ - WARN: Cost and expected reach stated but no per-lead math or success thresholds
125
+ - FAIL: Sponsorship brief with no ROI projection or success criteria
126
+
127
+ 2. **Comparison baseline**
128
+ - PASS: CPL projection is compared against at least one other channel's CPL to justify the investment
129
+ - WARN: CPL calculated but not compared to other channels
130
+ - FAIL: No CPL calculation present
131
+
132
+ ### DISC-EVENTS-04: Community Building -- Tier 2
133
+
134
+ **Checks:** Event plan includes community engagement beyond the event itself per PLAY-11
135
+ **Against:** Event campaign plan and post-event strategy
136
+
137
+ #### Evaluation Criteria
138
+
139
+ 1. **Community actions**
140
+ - PASS: Plan includes at least 2 community actions (e.g., Slack/Discord invite, LinkedIn group creation, follow-up discussion thread, user group formation, exclusive post-event content channel)
141
+ - WARN: Single community touchpoint defined
142
+ - FAIL: No community building element in the event plan
143
+
144
+ 2. **Community continuity**
145
+ - PASS: Community actions are connected to ongoing engagement (not one-off), with a plan for sustaining activity after the event
146
+ - WARN: Community channel created but no plan for ongoing engagement
147
+ - FAIL: N/A (linked to community actions result)
148
+
149
+ ### DISC-EVENTS-05: Content Repurposing Plan -- Tier 2
150
+
151
+ **Checks:** Event recording and materials have a repurposing plan for other channels
152
+ **Against:** Post-event content strategy
153
+
154
+ #### Evaluation Criteria
155
+
156
+ 1. **Derivative asset count**
157
+ - PASS: Plan specifies at least 3 derivative assets from event content (e.g., blog recap, social clips, email highlight, podcast episode, slide deck, quote graphics)
158
+ - WARN: 1-2 derivative assets planned
159
+ - FAIL: No repurposing plan for event content
160
+
161
+ 2. **Channel mapping**
162
+ - PASS: Each derivative asset is mapped to a specific distribution channel with a timeline
163
+ - WARN: Assets listed but distribution channels or timelines not specified
164
+ - FAIL: N/A (linked to derivative asset count result)
165
+
166
+ ---
167
+
168
+ ## Base Gate Overrides
169
+
170
+ | Base Gate ID | Default Tier | Override Tier | Reason |
171
+ |-------------|-------------|---------------|--------|
172
+ | GATE-05 (Funnel Integrity) | Tier 2 | Tier 1 | Event funnels (registration to attendance to follow-up) are critical to ROI; broken funnels waste the entire event investment |
173
+
174
+ ---
175
+
176
+ ## Format Rules
177
+
178
+ ### Event Landing Page Structure
179
+
180
+ 1. **Headline:** Benefit-focused, 8-12 words (what attendees will gain, not just the topic)
181
+ 2. **Subhead:** Event type, date, time with timezone, duration
182
+ 3. **Value bullets:** 3-5 specific takeaways attendees will leave with
183
+ 4. **Speaker section:** Photo, name, title, 2-3 sentence bio with credibility markers
184
+ 5. **Agenda/outline:** Timed agenda or topic outline showing the event flow
185
+ 6. **Social proof:** Past event metrics, testimonials, notable past attendees (if applicable)
186
+ 7. **Registration CTA:** Above the fold AND at page bottom. Minimal form fields (name, email, company).
187
+ 8. **Calendar integration:** Auto-generated .ics file or "add to calendar" links upon registration
188
+
189
+ ### Webinar Script Format
190
+
191
+ ```
192
+ [0:00-1:00] OPENING HOOK
193
+ - Attention-grabbing question, statistic, or story
194
+ - Brief overview of what attendees will learn
195
+ - Housekeeping (recording available, Q&A at end, mute/unmute)
196
+
197
+ [1:00-5:00] SPEAKER INTRO + CONTEXT
198
+ - Speaker credibility (why should they listen to you)
199
+ - Problem framing (why this topic matters now)
200
+
201
+ [5:00-35:00] CORE CONTENT (3-4 sections)
202
+ - Section 1: [Topic] (8-10 min)
203
+ - Key point + supporting evidence
204
+ - ENGAGEMENT PROMPT: [Poll/question at 10-min mark]
205
+ - Section 2: [Topic] (8-10 min)
206
+ - Key point + supporting evidence
207
+ - ENGAGEMENT PROMPT: [Poll/question at 20-min mark]
208
+ - Section 3: [Topic] (8-10 min)
209
+ - Key point + supporting evidence
210
+ - ENGAGEMENT PROMPT: [Poll/question at 30-min mark]
211
+
212
+ [35:00-45:00] Q&A
213
+ - Prepared seed questions (in case of slow start)
214
+ - Moderator selects and reads questions
215
+
216
+ [45:00-48:00] CLOSING
217
+ - 3 key takeaways (repeat the value)
218
+ - CTA: [Specific next step with link]
219
+ - Thank you + where to continue the conversation
220
+ ```
221
+
222
+ ### Sponsorship Brief Template
223
+
224
+ 1. **Event overview:** Name, date, location, expected attendance, audience profile
225
+ 2. **Sponsorship tier:** What is included (logo placement, speaking slot, booth, leads)
226
+ 3. **Cost breakdown:** Fee + estimated additional costs (travel, booth setup, swag)
227
+ 4. **ROI projection:** Expected leads, CPL, comparison to other channels
228
+ 5. **Success criteria:** Specific thresholds that define success vs. failure
229
+ 6. **Measurement plan:** How leads and brand visibility will be tracked
230
+ 7. **Go/no-go deadline:** Date by which decision must be made
231
+
232
+ ### Post-Event Recap Format
233
+
234
+ 1. **Headline:** Key insight or outcome from the event
235
+ 2. **Event context:** 1-2 sentences on what the event was and who attended
236
+ 3. **Key takeaways:** 3-5 numbered insights with supporting detail
237
+ 4. **Quotes:** 2-3 notable quotes from speakers or attendees
238
+ 5. **Data points:** Attendance numbers, engagement metrics, survey highlights
239
+ 6. **Resources:** Links to recording, slides, related content
240
+ 7. **Next steps:** Upcoming events, community link, CTA
241
+
242
+ ---
243
+
244
+ ## Examples
245
+
246
+ ### Good: Complete 3-Phase Event Plan
247
+
248
+ ```
249
+ PRE-EVENT (4 weeks before):
250
+ - Landing page with benefit headline, speaker bios, timed agenda
251
+ - Email sequence: announcement (week 1), speaker spotlight (week 2),
252
+ early-bird deadline (week 3), final reminder (24h + 1h before)
253
+ - Social: 8 posts across LinkedIn and X (2/week) with speaker quotes
254
+ - Partner cross-promotion with 2 co-marketing partners
255
+
256
+ DURING-EVENT:
257
+ - Live polls every 10 minutes via webinar platform
258
+ - Dedicated chat moderator for Q&A curation
259
+ - Live-tweeting 5 key moments with event hashtag
260
+ - Technical backup: co-host can take over if primary speaker drops
261
+
262
+ POST-EVENT:
263
+ - Recording sent within 24h to attendees, 48h to no-shows
264
+ - Follow-up sequence: thank-you (day 1), takeaways (day 3), CTA (day 7)
265
+ - Blog recap published day 5 with key insights
266
+ - 4 social clips (60s each) from recording, published over 2 weeks
267
+ - Attendees invited to Slack community channel
268
+ - Post-event survey sent with recording email
269
+ ```
270
+
271
+ ### Bad: Single-Phase Event Plan
272
+
273
+ ```
274
+ EVENT:
275
+ - Host a webinar about our product on Tuesday
276
+ - Send recording to people who signed up
277
+
278
+ Problems:
279
+ - No pre-event promotion or registration funnel
280
+ - No reminder sequence (expect 50%+ drop-off)
281
+ - No engagement plan during the event
282
+ - Recording sent but no follow-up sequence or CTA
283
+ - No content repurposing
284
+ - No community building
285
+ - No measurement plan
286
+ ```
287
+
288
+ ---
289
+
290
+ ## Anti-Patterns
291
+
292
+ 1. **Events with no follow-up** -- Hosting a webinar or conference session and never contacting attendees again. The event is the beginning of a relationship, not the end. Post-event follow-up within 48 hours is when intent is highest.
293
+
294
+ 2. **Sponsorships with no ROI tracking** -- Paying $10K for a conference booth without defining what success looks like or how leads will be tracked. Every sponsorship needs a CPL projection and measurement plan before committing budget.
295
+
296
+ 3. **Webinars without registration funnels** -- Sending a single "join our webinar" email with a direct meeting link. Without a registration page, you lose the ability to send reminders, measure attendance rate, and follow up with no-shows.
297
+
298
+ 4. **Single-phase planning** -- Planning only the event itself without pre-promotion or post-follow-up. This is the number one event marketing failure mode. All 3 phases must have defined actions.
299
+
300
+ 5. **No content repurposing** -- Investing 20+ hours in an event and generating zero derivative content. Every event should produce at least 3 derivative assets (recap, clips, email highlight).
301
+
302
+ 6. **Engagement-free webinars** -- A 45-minute monologue with no polls, questions, or interactive elements. Attendees start dropping off after 8-10 minutes without engagement prompts.
303
+
304
+ 7. **Community as afterthought** -- Launching a Slack channel at the end of an event with no plan to sustain it. Community channels without ongoing content and moderation become ghost towns within 2 weeks.
305
+
306
+ ---
307
+
308
+ ## Metrics
309
+
310
+ Track these indicators for event content after shipping:
311
+
312
+ - **Registrations** -- Total registrations and registration conversion rate (landing page visits to registrations)
313
+ - **Attendance rate** -- Percentage of registrants who actually attended. Benchmark: 35-45% for webinars, 60-80% for in-person.
314
+ - **Engagement during event** -- Poll participation rate, Q&A questions submitted, chat messages, average watch time (for webinars)
315
+ - **Post-event conversions** -- Actions taken from post-event follow-up (demo requests, trial signups, content downloads)
316
+ - **Content repurposing output** -- Number of derivative assets created from event content and their individual performance metrics
317
+ - **Sponsorship ROI** -- Actual leads and CPL compared to pre-event projections. Actual vs. projected comparison.
318
+ - **Community growth** -- New community members attributed to the event, 30-day retention of event-sourced members
319
+ - **NPS/satisfaction score** -- Post-event survey results, likelihood to attend future events
320
+ - **No-show recovery rate** -- Percentage of no-shows who engaged with the recording delivery email