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
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "taketomarket",
3
+ "version": "0.1.0",
4
+ "description": "Marketing operating system for Claude Code. Spec-driven campaigns with positioning-as-invariant enforcement, quality gate walls, and compound learnings.",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/rishikeshranjan/takeToMarket.git"
9
+ },
10
+ "homepage": "https://github.com/rishikeshranjan/takeToMarket#readme",
11
+ "bugs": {
12
+ "url": "https://github.com/rishikeshranjan/takeToMarket/issues"
13
+ },
14
+ "author": "Rishikesh Ranjan <59333266+ranjanrishikesh@users.noreply.github.com>",
15
+ "bin": {
16
+ "taketomarket": "install.js"
17
+ },
18
+ "scripts": {
19
+ "test": "node --test"
20
+ },
21
+ "files": [
22
+ ".claude-plugin/",
23
+ "skills/",
24
+ "workflows/",
25
+ "templates/",
26
+ "references/",
27
+ "playbooks/",
28
+ "gates/",
29
+ "bin/",
30
+ "agents/",
31
+ "settings.json",
32
+ "install.js",
33
+ "LICENSE",
34
+ "README.md"
35
+ ],
36
+ "keywords": [
37
+ "claude-code",
38
+ "codex",
39
+ "marketing",
40
+ "campaigns",
41
+ "agent-skills",
42
+ "gtm",
43
+ "growth",
44
+ "positioning",
45
+ "content-marketing",
46
+ "marketing-automation",
47
+ "ai-agents",
48
+ "spec-driven"
49
+ ],
50
+ "engines": {
51
+ "node": ">=18"
52
+ }
53
+ }
File without changes
@@ -0,0 +1,223 @@
1
+ ---
2
+ discipline: aeo
3
+ asset_types: [blog-post, pillar-page, knowledge-base, faq-page]
4
+ version: "1.0"
5
+ ---
6
+
7
+ # AEO Discipline Playbook
8
+
9
+ This playbook extends the base playbook contract (`base.md`) with AEO-specific (Answer Engine Optimization) production guidance, discipline gates, and format rules. AEO optimizes content for AI-powered answer engines (ChatGPT, Perplexity, Gemini, Copilot) that extract and cite web content in their responses.
10
+
11
+ > If this asset also targets organic search, ensure SEO playbook gates are also satisfied. AEO and SEO are complementary -- AEO builds on SEO foundations.
12
+
13
+ ---
14
+
15
+ ## Production Guidance
16
+
17
+ ### SEO Cross-Reference
18
+
19
+ AEO does not replace SEO -- it extends it. If the asset targets organic search in addition to AI engine citations, apply the SEO playbook gates alongside these AEO gates. Well-structured SEO content (clear headings, schema markup, keyword-aligned structure) forms the foundation that AI engines parse when extracting answers.
20
+
21
+ ### Citation-Worthiness
22
+
23
+ Write sentences that can be quoted verbatim by AI engines. Use definitive, concise statements that stand alone as complete answers:
24
+
25
+ - **Do:** "Core Web Vitals consist of three metrics: LCP, CLS, and INP."
26
+ - **Do not:** "It might be said that Core Web Vitals could potentially include several metrics."
27
+
28
+ Avoid hedging language ("it might be", "some believe", "arguably", "it could be said"). AI engines skip uncertain statements in favor of definitive ones.
29
+
30
+ ### Structure for AI Extraction
31
+
32
+ Use clear H2 headings phrased as questions. Follow each H2 with a 1-2 sentence definitive answer, then elaborate. This maps to how AI engines extract answers:
33
+
34
+ ```
35
+ ## What Are Core Web Vitals?
36
+
37
+ Core Web Vitals are three performance metrics that Google uses to measure user experience: Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS), and Interaction to Next Paint (INP). [Elaboration follows...]
38
+ ```
39
+
40
+ ### FAQ Patterns
41
+
42
+ Include explicit question-answer pairs using natural language question formats:
43
+
44
+ - "What is [X]?"
45
+ - "How does [X] work?"
46
+ - "Why is [X] important?"
47
+
48
+ These match the query patterns users submit to AI engines and increase the likelihood of citation.
49
+
50
+ ### Fact Density
51
+
52
+ Concentrate verifiable facts in the first paragraph and at the start of each section. AI engines prioritize high-fact-density passages over opinion or narrative. Lead with data, statistics, and concrete claims.
53
+
54
+ ### Multi-Source Corroboration
55
+
56
+ Ensure claims made in the asset can be verified against multiple authoritative sources. AI engines prefer claims that appear consistently across the web. Avoid making claims that only appear in your content -- they are less likely to be cited.
57
+
58
+ ---
59
+
60
+ ## Discipline Gates
61
+
62
+ ### DISC-AEO-01: Quote-Worthy Sentences -- Tier 1
63
+
64
+ **Checks:** Presence of verbatim-quotable standalone answer sentences
65
+ **Against:** Asset content
66
+
67
+ #### Evaluation Criteria
68
+
69
+ 1. **Quote count**
70
+ - PASS: 3+ sentences that could be quoted verbatim as standalone answers by an AI engine (complete, factual, no surrounding context needed)
71
+ - WARN: 1-2 quotable sentences in the asset
72
+ - FAIL: 0 quotable sentences -- all sentences require surrounding context to make sense
73
+
74
+ 2. **Quote placement**
75
+ - PASS: Quotable sentences appear in section openers (immediately after H2 headings) and first paragraphs
76
+ - WARN: Quotable sentences exist but are buried in mid-body paragraphs rather than section openers
77
+ - FAIL: N/A -- linked to quote count result
78
+
79
+ ### DISC-AEO-02: FAQ/HowTo Schema -- Tier 1
80
+
81
+ **Checks:** Structured data for AI engine consumption
82
+ **Against:** schema.org FAQPage or HowTo specification
83
+
84
+ #### Evaluation Criteria
85
+
86
+ 1. **Schema presence**
87
+ - PASS: FAQPage or HowTo schema is specified with well-formed Q&A pairs or numbered steps
88
+ - WARN: Schema type is specified but incomplete -- missing answers, missing step descriptions, or fewer than 3 Q&A pairs
89
+ - FAIL: No FAQ/HowTo schema on content that contains question-answer pairs or step-by-step instructions
90
+
91
+ 2. **Q&A completeness**
92
+ - PASS: Every FAQ pair has a substantive answer of 2+ sentences; every HowTo step has a clear action description
93
+ - WARN: Some answers are single-sentence or thin (under 20 words); some steps lack detail
94
+ - FAIL: FAQ has questions without answers, placeholder text in answers, or HowTo steps with no description
95
+
96
+ ### DISC-AEO-03: Author/Expert Markup -- Tier 2
97
+
98
+ **Checks:** Author attribution and expertise signals
99
+ **Against:** Asset content and metadata
100
+
101
+ #### Evaluation Criteria
102
+
103
+ 1. **Author schema**
104
+ - PASS: Author name and credentials (title, organization, relevant expertise area) specified in asset metadata or byline
105
+ - WARN: Author name is present but no credentials, bio, or expertise indicators
106
+ - FAIL: No author attribution -- content has no byline or author metadata
107
+
108
+ 2. **Expertise signals**
109
+ - PASS: Content references the author's specific experience, proprietary data, original research, or direct domain expertise
110
+ - WARN: Generic expertise claim ("written by an expert") without specific supporting details
111
+ - FAIL: No expertise signals present -- content could have been written by anyone without domain knowledge
112
+
113
+ ### DISC-AEO-04: Cross-Domain Fact Consistency -- Tier 1
114
+
115
+ **Checks:** Claims do not contradict other campaign assets
116
+ **Against:** Other assets in the same campaign (via MANIFEST.json cross-reference)
117
+
118
+ #### Evaluation Criteria
119
+
120
+ 1. **Number consistency**
121
+ - PASS: All numeric claims (percentages, counts, dates, prices) in this asset match the same claims in other campaign assets
122
+ - WARN: Numeric claims use different rounding or timeframes but are directionally consistent (e.g., "over 50%" vs "53%")
123
+ - FAIL: Numeric claims directly contradict claims in other campaign assets (e.g., "30% improvement" here vs "50% improvement" elsewhere)
124
+
125
+ 2. **Positioning consistency**
126
+ - PASS: Key product/service claims and positioning statements are consistent across all campaign assets
127
+ - WARN: Minor phrasing differences that could be interpreted differently by AI engines citing different assets
128
+ - FAIL: Direct contradictions in product claims, feature descriptions, or positioning across campaign assets
129
+
130
+ ### DISC-AEO-05: Direct Answer Format -- Tier 2
131
+
132
+ **Checks:** Sections open with definitive answers before elaboration
133
+ **Against:** Asset content structure (H2 sections)
134
+
135
+ #### Evaluation Criteria
136
+
137
+ 1. **Section opener quality**
138
+ - PASS: Each major section (H2) opens with a 1-2 sentence definitive answer to the section's implicit question before any elaboration
139
+ - WARN: Most sections open with direct answers but 1-2 sections start with context, background, or preamble before answering
140
+ - FAIL: Sections consistently open with context, history, or preamble instead of answering the implicit question first
141
+
142
+ 2. **Independent citability**
143
+ - PASS: Key facts and answers can be extracted from individual paragraphs without needing surrounding paragraphs for context
144
+ - WARN: Some facts require reading 2+ paragraphs together to get the full context
145
+ - FAIL: Facts are spread across multiple sections with no self-contained, independently extractable statements
146
+
147
+ ---
148
+
149
+ ## Base Gate Overrides
150
+
151
+ None -- all base gates keep default tiers.
152
+
153
+ ---
154
+
155
+ ## Format Rules
156
+
157
+ - **H2 headings:** Phrased as questions matching user queries ("What Is X?" not "About X")
158
+ - **First paragraph:** Must contain a definitive answer to the page's primary question within the first 2 sentences
159
+ - **FAQ section:** Minimum 3 Q&A pairs when using FAQPage schema; each answer must be 2+ sentences
160
+ - **HowTo section:** Numbered steps with clear action verbs as step openers (e.g., "Install the package" not "The package should be installed")
161
+ - **Word count:** 1,500+ words for comprehensive AEO content -- AI engines favor depth and thoroughness over brevity
162
+ - **Sentence structure:** Key answer sentences should be 15-30 words -- long enough to be complete, short enough to be quotable
163
+
164
+ ---
165
+
166
+ ## Examples
167
+
168
+ ### Good: Definitive Section Opener
169
+
170
+ ```
171
+ ## What Is Answer Engine Optimization?
172
+
173
+ Answer Engine Optimization (AEO) is the practice of structuring web content so AI-powered answer engines can accurately extract, attribute, and cite it in their responses. Unlike traditional SEO, AEO prioritizes citation-worthiness and fact density over keyword placement.
174
+ ```
175
+
176
+ ### Good: Quotable Standalone Sentence
177
+
178
+ ```
179
+ "Core Web Vitals consist of three metrics: Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS), and Interaction to Next Paint (INP)."
180
+ -- This sentence can be lifted verbatim by any AI engine as a complete, accurate answer.
181
+ ```
182
+
183
+ ### Bad: Hedging Language
184
+
185
+ ```
186
+ "It could be argued that Core Web Vitals might include several important metrics that some developers believe are essential."
187
+ -- No AI engine will quote this. Too uncertain, no concrete facts, no standalone value.
188
+ ```
189
+
190
+ ### Bad: Buried Answer
191
+
192
+ ```
193
+ ## What Is AEO?
194
+
195
+ The history of search engines dates back to the 1990s when Archie first indexed FTP sites. Over the decades, search evolved through directories, PageRank, and semantic search. Today, a new paradigm is emerging... [answer finally appears in paragraph 4]
196
+ -- The actual answer is buried under context. AI engines extract from the first 1-2 sentences after a heading.
197
+ ```
198
+
199
+ ---
200
+
201
+ ## Anti-Patterns
202
+
203
+ 1. **Opening sections with history/context instead of direct answers** -- AI engines extract from the first sentences after a heading. If those sentences are background context, the actual answer is missed or a less authoritative source is cited instead.
204
+
205
+ 2. **Hedging language** -- Phrases like "It could be argued", "Some experts believe", "It might be the case" signal uncertainty. AI engines prefer definitive statements and will skip hedged claims in favor of direct ones from other sources.
206
+
207
+ 3. **FAQ schema with thin answers** -- FAQPage schema where answers are single words, sentence fragments, or placeholder text ("Coming soon"). This provides no value to AI engines and may cause schema validation warnings.
208
+
209
+ 4. **Self-contradicting facts across assets** -- Publishing different numbers or claims in different campaign assets (blog says "30% faster", landing page says "2x faster"). AI engines may cite both, surfacing the contradiction to users.
210
+
211
+ 5. **No author attribution on expertise-dependent content** -- Publishing authoritative claims about health, finance, legal, or technical topics without author credentials. AI engines increasingly weight E-E-A-T signals when selecting citation sources.
212
+
213
+ ---
214
+
215
+ ## Metrics
216
+
217
+ Track these indicators for AEO content after shipping:
218
+
219
+ - **AI engine citations** -- Manual check across ChatGPT, Perplexity, Gemini, and Copilot for brand/product queries; check monthly
220
+ - **Featured snippet captures** -- Google Search Console and SERP monitoring tools; featured snippets indicate extraction-worthy content
221
+ - **FAQ rich result appearances** -- GSC Rich Results report; tracks how often FAQ schema generates rich results
222
+ - **Direct answer box presence** -- Monitor target queries in Google for Position 0 / direct answer box appearances
223
+ - **Citation accuracy** -- When cited by AI engines, verify the cited content matches the source accurately (no hallucinated claims attributed to you)
@@ -0,0 +1,272 @@
1
+ ---
2
+ discipline: affiliate
3
+ asset_types: [affiliate-creative-kit, affiliate-landing-page, affiliate-email-swipe]
4
+ version: "1.0"
5
+ ---
6
+
7
+ # Affiliate Discipline Playbook
8
+
9
+ This playbook extends the base playbook contract (`base.md`) with affiliate-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
+ ### Creative Kit Completeness
16
+
17
+ Every affiliate creative kit must include the full set of assets partners need to promote effectively:
18
+
19
+ - **Banner ads:** At least 3 standard IAB sizes (300x250, 728x90, 160x600). Provide high-resolution versions in PNG/JPG and optimized WebP. Each banner should include the product name, a clear value proposition, and a visible CTA.
20
+ - **Email swipe files:** At least 2 templates covering different angles (pain-point-led and benefit-led). Include subject lines, preview text, body copy with merge tag placeholders, and a clear CTA with tracking link.
21
+ - **Social copy snippets:** Platform-specific copy for X/Twitter (280 chars), LinkedIn (150-word hook + body), and Facebook/Instagram (caption + hashtag suggestions). Each snippet should include a tracking link.
22
+ - **Landing page copy:** Dedicated affiliate landing page copy with headline, subhead, 3-5 bullet points of key benefits, social proof element, and a primary CTA. The landing page must use a unique tracking parameter per affiliate.
23
+
24
+ Do NOT send affiliates to a generic homepage. Every link in the creative kit must route through a trackable landing page with affiliate-specific UTM parameters or affiliate platform tracking codes.
25
+
26
+ ### Attribution and Cookie Logic
27
+
28
+ Specify the attribution model clearly in every creative kit:
29
+
30
+ - **Cookie duration:** State explicitly (e.g., 30-day, 60-day, 90-day). Longer windows favor affiliates; shorter windows favor the brand. Match industry norms for your product category.
31
+ - **Attribution model:** Declare first-touch or last-touch. First-touch credits the affiliate who introduced the customer; last-touch credits the affiliate whose link was clicked most recently before conversion.
32
+ - **Cross-device tracking:** Note whether your platform supports cross-device attribution. If not, disclose this limitation to affiliates.
33
+ - **Tracking parameters:** Define the URL parameter format (e.g., `?ref=AFFILIATE_ID` or `?utm_source=affiliate&utm_medium=AFFILIATE_ID`). Every link in creative must use this format.
34
+
35
+ ### Commission Structure and LTV/CAC Math
36
+
37
+ Commission rates must pass a basic economic sanity check:
38
+
39
+ - Calculate customer LTV (lifetime value) for the product being promoted
40
+ - Determine customer acquisition cost (CAC) ceiling: LTV margin minus target profit
41
+ - Set commission at or below CAC ceiling to maintain positive unit economics
42
+ - Document payout terms: payment schedule (monthly, net-30, net-60), minimum payout threshold, and payment method
43
+
44
+ Example: If customer LTV is $500, gross margin is 70% ($350), and target profit per customer is $200, the CAC ceiling is $150. Commission must stay below $150 per conversion to maintain positive unit economics.
45
+
46
+ ### Partner Enablement
47
+
48
+ Affiliates are external promoters who lack internal product knowledge. Every kit must include:
49
+
50
+ - **Product summary:** 2-3 paragraph overview of what the product does, who it serves, and why it matters
51
+ - **Target audience description:** ICP characteristics so affiliates know who to target
52
+ - **Key differentiators:** 3-5 points that distinguish the product from competitors
53
+ - **Approved messaging:** Exact claims affiliates can make, pulled from BRAND.md proof points
54
+ - **FAQ section:** 8-10 common questions prospects ask, with approved answers
55
+
56
+ ### Compliance Guardrails
57
+
58
+ Affiliate marketing has specific regulatory requirements:
59
+
60
+ - **FTC disclosure:** All affiliate content must include clear disclosure of the commercial relationship. Provide affiliates with approved disclosure language (e.g., "This post contains affiliate links. I may earn a commission if you make a purchase.")
61
+ - **No income guarantees:** Creative must never promise specific income, results, or returns. Use language like "results may vary" when discussing outcomes.
62
+ - **Claim boundaries:** Affiliates may only use claims that appear in BRAND.md approved proof points. No fabricated statistics, no unsubstantiated testimonials.
63
+ - **Platform compliance:** Note any platform-specific rules (e.g., Google Ads restrictions on affiliate landing pages, Facebook ad policies on health/finance claims).
64
+
65
+ ---
66
+
67
+ ## Discipline Gates
68
+
69
+ ### DISC-AFFILIATE-01: Creative Kit Completeness -- Tier 1
70
+
71
+ **Checks:** Creative kit includes all required asset types for affiliates per PLAY-09
72
+ **Against:** Asset content and kit manifest
73
+
74
+ #### Evaluation Criteria
75
+
76
+ 1. **Asset category coverage**
77
+ - PASS: Kit includes at least 3 banner sizes, 2 email swipe templates, social copy snippets for at least 2 platforms, and landing page copy with tracking links
78
+ - WARN: Kit has 2 of 4 asset categories (banners, email swipes, social copy, landing page)
79
+ - FAIL: Kit has fewer than 2 asset categories or no tracking links included in any asset
80
+
81
+ 2. **Asset completeness**
82
+ - PASS: Each asset includes all required elements (banners have CTA, emails have subject lines and preview text, social has platform-specific lengths)
83
+ - WARN: Assets present but missing secondary elements (e.g., emails without preview text)
84
+ - FAIL: Assets are placeholder-only or missing primary elements (e.g., banners without CTA)
85
+
86
+ ### DISC-AFFILIATE-02: Attribution Logic -- Tier 1
87
+
88
+ **Checks:** Cookie duration, attribution model, and tracking are specified per PLAY-09
89
+ **Against:** Creative kit documentation and link structure
90
+
91
+ #### Evaluation Criteria
92
+
93
+ 1. **Attribution specification**
94
+ - PASS: Creative kit specifies cookie duration (e.g., 30-day, 90-day), attribution model (first-touch or last-touch), and all links use proper tracking parameters
95
+ - WARN: Tracking links present but cookie duration or attribution model not documented
96
+ - FAIL: No tracking infrastructure specified, or creative uses non-trackable links
97
+
98
+ 2. **Link integrity**
99
+ - PASS: Every link in every asset uses the declared tracking parameter format consistently
100
+ - WARN: Most links use tracking parameters but 1-2 links are missing them
101
+ - FAIL: Links use inconsistent formats or multiple assets have untracked links
102
+
103
+ ### DISC-AFFILIATE-03: Commission Sanity -- Tier 2
104
+
105
+ **Checks:** Commission structure passes LTV/CAC math per PLAY-09
106
+ **Against:** Commission documentation and financial projections
107
+
108
+ #### Evaluation Criteria
109
+
110
+ 1. **Economic viability**
111
+ - PASS: Commission percentage documented, LTV/CAC ratio calculated and shows positive unit economics (commission < customer LTV margin), payout terms stated
112
+ - WARN: Commission stated but LTV/CAC math not shown
113
+ - FAIL: No commission structure documented, or commission exceeds estimated customer LTV margin
114
+
115
+ 2. **Payout clarity**
116
+ - PASS: Payment schedule, minimum threshold, and payment method are all documented
117
+ - WARN: Payment schedule stated but threshold or method missing
118
+ - FAIL: No payout terms documented
119
+
120
+ ### DISC-AFFILIATE-04: Claim Accuracy for Partners -- Tier 1
121
+
122
+ **Checks:** Affiliate copy does not make claims beyond what is approved in BRAND.md proof points
123
+ **Against:** BRAND.md approved claims and proof points
124
+
125
+ #### Evaluation Criteria
126
+
127
+ 1. **Claim sourcing**
128
+ - PASS: All claims in affiliate creative map to approved proof points in BRAND.md, no income or results guarantees
129
+ - WARN: Claims are technically accurate but use amplified language not present in BRAND.md
130
+ - FAIL: Creative includes unapproved claims, income guarantees, or unsubstantiated statistics
131
+
132
+ 2. **Disclaimer presence**
133
+ - PASS: Creative includes FTC-compliant disclosure language and any required disclaimers for the product category
134
+ - WARN: Disclosure language is present but vague or not prominently placed
135
+ - FAIL: No disclosure language provided for affiliate creative
136
+
137
+ ### DISC-AFFILIATE-05: Partner Enablement -- Tier 2
138
+
139
+ **Checks:** Affiliates have enough context to sell accurately without access to internal docs
140
+ **Against:** Creative kit supplementary materials
141
+
142
+ #### Evaluation Criteria
143
+
144
+ 1. **Context completeness**
145
+ - PASS: Kit includes product summary, target audience description, key differentiators, approved messaging, and FAQ section
146
+ - WARN: Kit has product summary and messaging but missing FAQ or differentiators
147
+ - FAIL: Kit provides creative assets only with no product context or messaging guidance
148
+
149
+ 2. **FAQ coverage**
150
+ - PASS: FAQ section has 5+ questions covering product functionality, pricing, support, and common objections
151
+ - WARN: FAQ has 2-4 questions but misses a major category (e.g., no pricing FAQ)
152
+ - FAIL: No FAQ section or fewer than 2 questions
153
+
154
+ ---
155
+
156
+ ## Base Gate Overrides
157
+
158
+ | Base Gate ID | Default Tier | Override Tier | Reason |
159
+ |-------------|-------------|---------------|--------|
160
+ | GATE-02 (Claim Accuracy) | Tier 2 | Tier 1 | Affiliate claims are amplified by third parties outside brand control; inaccurate claims create legal and brand risk at scale |
161
+ | GATE-07 (Compliance) | Tier 2 | Tier 1 | FTC requires affiliate disclosure; non-compliance exposes the brand to regulatory action regardless of which affiliate violated the rule |
162
+
163
+ ---
164
+
165
+ ## Format Rules
166
+
167
+ ### Banner Specifications
168
+
169
+ - **300x250 (Medium Rectangle):** Most common size. Include product name, one benefit line, CTA button.
170
+ - **728x90 (Leaderboard):** Horizontal layout. Product name left, benefit center, CTA right.
171
+ - **160x600 (Wide Skyscraper):** Vertical layout. Product name top, benefit middle, CTA bottom.
172
+ - **File formats:** Provide PNG (high quality) and WebP (optimized). Max file size 150KB per banner.
173
+ - **Text:** Maximum 20% of banner area. Use brand fonts from BRAND.md.
174
+
175
+ ### Email Swipe Format
176
+
177
+ ```
178
+ Subject: [Subject line -- 40-60 characters, no spam trigger words]
179
+ Preview: [Preview text -- 40-90 characters, complements subject]
180
+
181
+ Hi [FIRST_NAME],
182
+
183
+ [Opening hook -- 1-2 sentences addressing a pain point or benefit]
184
+
185
+ [Body -- 3-5 short paragraphs or bullet points]
186
+
187
+ [CTA -- single clear action with tracking link]
188
+
189
+ [Disclosure -- FTC affiliate disclosure]
190
+ ```
191
+
192
+ ### Social Copy Format
193
+
194
+ - **X/Twitter:** 200-250 characters (leave room for link). No more than 2 hashtags.
195
+ - **LinkedIn:** 150-word hook paragraph + 2-3 supporting points + CTA with tracking link.
196
+ - **Facebook/Instagram:** 125-word caption + 3-5 relevant hashtags + tracking link in bio/comments.
197
+
198
+ ### Landing Page Copy Structure
199
+
200
+ 1. **Headline:** 8-12 words, addresses primary benefit
201
+ 2. **Subhead:** 15-25 words, expands on headline with specificity
202
+ 3. **Bullet points:** 3-5 key benefits with proof points
203
+ 4. **Social proof:** Testimonial, customer count, or trust badge
204
+ 5. **CTA:** Single primary action, above the fold
205
+ 6. **Tracking:** Unique affiliate parameter in URL
206
+
207
+ ---
208
+
209
+ ## Examples
210
+
211
+ ### Good: Complete Creative Kit
212
+
213
+ ```
214
+ Kit includes:
215
+ - 3 banner sizes (300x250, 728x90, 160x600) in PNG + WebP
216
+ - 2 email swipes (pain-point angle, benefit angle) with subject lines,
217
+ preview text, merge tags, and tracking links
218
+ - Social copy for X, LinkedIn, and Facebook with platform-specific lengths
219
+ - Landing page copy with headline, benefits, testimonial, CTA
220
+ - Product summary (3 paragraphs), ICP description, 5 differentiators
221
+ - FAQ with 10 questions covering product, pricing, support, objections
222
+ - Attribution doc: 30-day cookie, last-touch model, ?ref=AFFILIATE_ID format
223
+ - Commission: 20% recurring, LTV $600, margin $420, commission cap $120/yr
224
+ - FTC disclosure template included
225
+ ```
226
+
227
+ ### Bad: Incomplete Kit
228
+
229
+ ```
230
+ Kit includes:
231
+ - 1 banner size (300x250 only)
232
+ - Generic homepage link (no tracking parameter)
233
+ - No email swipes
234
+ - No product summary or FAQ
235
+ - Commission "to be discussed"
236
+ - No disclosure language provided
237
+ ```
238
+
239
+ **Problems:** Single banner size limits placement options. No tracking makes attribution impossible. Missing product context means affiliates will make up their own claims. Undefined commission deters quality affiliates.
240
+
241
+ ---
242
+
243
+ ## Anti-Patterns
244
+
245
+ 1. **Creative without product context** -- Sending banners and email templates with no product summary, ICP description, or approved messaging. Affiliates fill the gap with inaccurate or exaggerated claims.
246
+
247
+ 2. **Income or results guarantees** -- Any language promising specific income, conversion rates, or guaranteed results. Violates FTC guidelines and exposes the brand to legal action. Use "results may vary" and focus on product benefits, not partner earnings.
248
+
249
+ 3. **Ignoring FTC disclosure requirements** -- Providing creative without disclosure templates. Even if affiliates are responsible for compliance, the brand shares liability. Always include approved disclosure language in every kit.
250
+
251
+ 4. **Single banner size** -- Providing only one banner size limits where affiliates can place ads. The top 3 IAB sizes (300x250, 728x90, 160x600) cover 80%+ of available placements.
252
+
253
+ 5. **Non-trackable links** -- Using generic URLs, link shorteners without tracking, or links that do not identify the affiliate. Without attribution, neither the brand nor the affiliate can measure performance.
254
+
255
+ 6. **Commission above LTV margin** -- Setting commission rates that exceed the customer's lifetime value margin. This creates negative unit economics where every affiliate-driven sale loses money.
256
+
257
+ 7. **Same pitch for all affiliate tiers** -- Sending identical creative to micro-affiliates and enterprise partners. Tailor kit depth and commission structure to partner tier and audience size.
258
+
259
+ ---
260
+
261
+ ## Metrics
262
+
263
+ Track these indicators for affiliate content after shipping:
264
+
265
+ - **Affiliate-driven revenue** -- Total revenue attributed to affiliate links, measured monthly
266
+ - **Conversion rate by affiliate** -- Per-affiliate conversion rate to identify top performers and optimize kit for underperformers
267
+ - **EPC (Earnings Per Click)** -- Revenue divided by total affiliate link clicks; primary affiliate program health metric
268
+ - **Active affiliate rate** -- Percentage of enrolled affiliates who generated at least 1 click in the last 30 days
269
+ - **Creative usage rate** -- Which assets from the kit are actually being used by affiliates (tracked via unique creative IDs)
270
+ - **Refund/chargeback rate** -- Per-affiliate refund rate to detect fraud or misleading promotion
271
+ - **Time to first conversion** -- Days between affiliate enrollment and first attributed sale
272
+ - **Kit download/access rate** -- How many enrolled affiliates actually access the creative kit
@@ -0,0 +1,110 @@
1
+ # Base Playbook Inheritance Contract
2
+
3
+ This file defines the structure all discipline playbooks must follow. It is a contract and template -- NOT a discipline playbook itself. It is NOT loaded by the produce workflow and NOT loaded by verify for gate evaluation.
4
+
5
+ Discipline playbooks (e.g., `seo.md`, `email.md`) extend this contract by implementing all required sections below with channel-specific content.
6
+
7
+ ---
8
+
9
+ ## YAML Frontmatter Specification
10
+
11
+ Every discipline playbook must include this frontmatter:
12
+
13
+ ```yaml
14
+ ---
15
+ discipline: {name} # e.g., seo, aeo, email, linkedin, social
16
+ asset_types: [{types}] # e.g., [blog-post, landing-page, pillar-page]
17
+ version: "1.0"
18
+ ---
19
+ ```
20
+
21
+ ---
22
+
23
+ ## Required Sections
24
+
25
+ Every discipline playbook must contain all 7 sections below, in this order:
26
+
27
+ ### 1. `## Production Guidance`
28
+
29
+ Channel-specific writing instructions loaded by ttm-producer during content generation. Covers tone, structure, and channel conventions.
30
+
31
+ ### 2. `## Discipline Gates`
32
+
33
+ Quality checks using `DISC-{DISCIPLINE}-{NN}` gate IDs (see Gate Definition Format below). Each gate has PASS/WARN/FAIL criteria. Variable count per discipline -- let the domain drive the number.
34
+
35
+ ### 3. `## Base Gate Overrides`
36
+
37
+ Table mapping base gate IDs to adjusted tiers. Overrides adjust tier classification only -- they cannot disable a base gate. Base gates always run regardless of overrides (per D-01).
38
+
39
+ **Format:**
40
+
41
+ | Base Gate ID | Default Tier | Override Tier | Reason |
42
+ |-------------|-------------|---------------|--------|
43
+ | GATE-10 | Tier 2 | Tier 1 | [reason for override] |
44
+
45
+ If no overrides apply, include the section with: "None -- all base gates keep default tiers."
46
+
47
+ ### 4. `## Format Rules`
48
+
49
+ Platform-specific constraints: character limits, structural requirements, required elements.
50
+
51
+ ### 5. `## Examples`
52
+
53
+ Good and bad pattern examples. If this section exceeds 500 lines when combined with the rest of the playbook, extract to `references/playbook-{discipline}-examples.md` and use @-reference.
54
+
55
+ ### 6. `## Anti-Patterns`
56
+
57
+ Common mistakes for this discipline that the AI should avoid during production.
58
+
59
+ ### 7. `## Metrics`
60
+
61
+ What to measure post-ship for this channel (e.g., organic impressions, click-through rate).
62
+
63
+ ---
64
+
65
+ ## Gate Definition Format
66
+
67
+ Each discipline gate must follow this structure, matching the base gate pattern from `gates/base-gates.md`:
68
+
69
+ ```markdown
70
+ ### DISC-{DISCIPLINE}-{NN}: {Name} -- Tier {1|2}
71
+
72
+ **Checks:** {what is evaluated}
73
+ **Against:** {reference data or asset content}
74
+
75
+ #### Evaluation Criteria
76
+
77
+ 1. **{Check name}**
78
+ - PASS: {concrete, verifiable condition}
79
+ - WARN: {concrete, verifiable condition}
80
+ - FAIL: {concrete, verifiable condition}
81
+ ```
82
+
83
+ Gate criteria must be objective and verifiable (countable, pattern-matchable). No subjective criteria ("Is the hook compelling?"). Discipline gates must not duplicate base gates.
84
+
85
+ ---
86
+
87
+ ## Tier Rules
88
+
89
+ - **Tier 1 (blocking):** Failure triggers the Correct / Accept+log / Escalate deviation handling flow (same as base Tier 1 gates).
90
+ - **Tier 2 (advisory):** Findings are reported but no user action is required.
91
+
92
+ ---
93
+
94
+ ## Override Rules
95
+
96
+ - Base gates always run for every asset (per D-01). Discipline gates run additionally.
97
+ - Overrides adjust tier only -- they cannot disable or skip a base gate (per D-02).
98
+ - Overrides are parsed from the playbook's `## Base Gate Overrides` section and applied BEFORE base gate evaluation, so that deviation handling uses the correct tier.
99
+
100
+ ---
101
+
102
+ ## 500-Line Limit
103
+
104
+ Discipline playbooks must stay under 500 lines (per D-07). If exceeding, extract `## Examples` or `## Anti-Patterns` to `references/playbook-{discipline}-examples.md` and @-reference the extracted file.
105
+
106
+ ---
107
+
108
+ ## Structured Output
109
+
110
+ Discipline gate evaluations use the same structured output format as base gates (defined in `gates/gate-evaluation.md`). Results appear as additional rows after the 10 base gates in the verification summary table.