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.
- package/.claude-plugin/plugin.json +10 -0
- package/LICENSE +21 -0
- package/README.md +419 -0
- package/agents/ttm-producer.md +53 -0
- package/bin/lib/campaign.cjs +553 -0
- package/bin/lib/commit.cjs +105 -0
- package/bin/lib/core.cjs +172 -0
- package/bin/lib/deviation.cjs +149 -0
- package/bin/lib/drift-log.cjs +219 -0
- package/bin/lib/health.cjs +438 -0
- package/bin/lib/slug.cjs +59 -0
- package/bin/lib/state.cjs +96 -0
- package/bin/ttm-tools.cjs +157 -0
- package/gates/base-gates.md +266 -0
- package/gates/discipline/.gitkeep +0 -0
- package/gates/gate-evaluation.md +341 -0
- package/gates/meta-gates.md +19 -0
- package/install.js +307 -0
- package/package.json +53 -0
- package/playbooks/.gitkeep +0 -0
- package/playbooks/aeo.md +223 -0
- package/playbooks/affiliate.md +272 -0
- package/playbooks/base.md +110 -0
- package/playbooks/email.md +306 -0
- package/playbooks/events.md +320 -0
- package/playbooks/linkedin.md +263 -0
- package/playbooks/paid-ads.md +318 -0
- package/playbooks/pr-media.md +296 -0
- package/playbooks/seo.md +284 -0
- package/playbooks/social.md +305 -0
- package/playbooks/youtube.md +325 -0
- package/references/context-loading.md +107 -0
- package/references/learnings-extraction.md +94 -0
- package/references/measurement-template.md +48 -0
- package/references/meta-gate-evaluation.md +169 -0
- package/references/positioning-check-report.md +197 -0
- package/references/review-checklist.md +78 -0
- package/references/ship-checklist-items.md +94 -0
- package/settings.json +4 -0
- package/skills/ttm-aeo-check/SKILL.md +20 -0
- package/skills/ttm-affiliate-kit/SKILL.md +19 -0
- package/skills/ttm-archive/SKILL.md +13 -0
- package/skills/ttm-brand-refresh/SKILL.md +19 -0
- package/skills/ttm-brief/SKILL.md +14 -0
- package/skills/ttm-competitor-scan/SKILL.md +19 -0
- package/skills/ttm-email-preflight/SKILL.md +19 -0
- package/skills/ttm-fix/SKILL.md +13 -0
- package/skills/ttm-health/SKILL.md +12 -0
- package/skills/ttm-icp-refresh/SKILL.md +19 -0
- package/skills/ttm-init/SKILL.md +12 -0
- package/skills/ttm-keyword-map/SKILL.md +19 -0
- package/skills/ttm-learn/SKILL.md +14 -0
- package/skills/ttm-measure/SKILL.md +14 -0
- package/skills/ttm-new-campaign/SKILL.md +13 -0
- package/skills/ttm-next/SKILL.md +12 -0
- package/skills/ttm-positioning-check/SKILL.md +19 -0
- package/skills/ttm-positioning-shift/SKILL.md +19 -0
- package/skills/ttm-produce/SKILL.md +14 -0
- package/skills/ttm-repurpose/SKILL.md +20 -0
- package/skills/ttm-research/SKILL.md +13 -0
- package/skills/ttm-resume/SKILL.md +13 -0
- package/skills/ttm-review/SKILL.md +13 -0
- package/skills/ttm-seo-audit/SKILL.md +20 -0
- package/skills/ttm-ship/SKILL.md +13 -0
- package/skills/ttm-state/SKILL.md +13 -0
- package/skills/ttm-verify/SKILL.md +14 -0
- package/templates/agents-md.md +65 -0
- package/templates/campaign-brief.md +74 -0
- package/templates/campaign-research.md +39 -0
- package/templates/campaign-state.md +40 -0
- package/templates/claude-md.md +65 -0
- package/templates/deviation-log.md +12 -0
- package/templates/drift-log.md +17 -0
- package/templates/fix-brief.md +59 -0
- package/templates/fix-log.md +22 -0
- package/templates/measurement-report.md +75 -0
- package/templates/migration-plan.md +24 -0
- package/templates/production-manifest.json +20 -0
- package/templates/reference-files/brand.md +45 -0
- package/templates/reference-files/calendar.md +30 -0
- package/templates/reference-files/channels.md +40 -0
- package/templates/reference-files/competitors.md +40 -0
- package/templates/reference-files/icp.md +50 -0
- package/templates/reference-files/learnings.md +40 -0
- package/templates/reference-files/metrics.md +42 -0
- package/templates/reference-files/positioning.md +38 -0
- package/templates/reference-files/state.md +27 -0
- package/templates/verification-report.md +59 -0
- package/workflows/discipline/.gitkeep +0 -0
- package/workflows/discipline/aeo-check.md +180 -0
- package/workflows/discipline/affiliate-kit.md +147 -0
- package/workflows/discipline/email-preflight.md +150 -0
- package/workflows/discipline/keyword-map.md +125 -0
- package/workflows/discipline/repurpose.md +329 -0
- package/workflows/discipline/seo-audit.md +169 -0
- package/workflows/lifecycle/.gitkeep +0 -0
- package/workflows/lifecycle/brief-positioning-check.md +90 -0
- package/workflows/lifecycle/brief.md +355 -0
- package/workflows/lifecycle/fix.md +495 -0
- package/workflows/lifecycle/learn.md +405 -0
- package/workflows/lifecycle/measure.md +379 -0
- package/workflows/lifecycle/produce.md +383 -0
- package/workflows/lifecycle/research.md +264 -0
- package/workflows/lifecycle/review.md +432 -0
- package/workflows/lifecycle/ship.md +521 -0
- package/workflows/lifecycle/verify.md +507 -0
- package/workflows/reference-mgmt/.gitkeep +0 -0
- package/workflows/reference-mgmt/brand-refresh.md +193 -0
- package/workflows/reference-mgmt/competitor-scan.md +228 -0
- package/workflows/reference-mgmt/icp-refresh.md +200 -0
- package/workflows/reference-mgmt/positioning-check.md +339 -0
- package/workflows/reference-mgmt/positioning-shift.md +368 -0
- package/workflows/setup/.gitkeep +0 -0
- package/workflows/setup/init-questions.md +225 -0
- package/workflows/setup/init-validation.md +155 -0
- package/workflows/setup/init.md +449 -0
- package/workflows/setup/new-campaign.md +134 -0
- package/workflows/utility/.gitkeep +0 -0
- package/workflows/utility/archive.md +334 -0
- package/workflows/utility/health.md +166 -0
- package/workflows/utility/next.md +187 -0
- package/workflows/utility/resume.md +249 -0
- 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
|
package/playbooks/aeo.md
ADDED
|
@@ -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.
|