taketomarket 2.2.0 → 2.3.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 (180) hide show
  1. package/.claude-plugin/marketplace.json +4 -4
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/README.md +34 -11
  4. package/bin/lib/campaign.cjs +12 -8
  5. package/bin/lib/codebase-scan.cjs +86 -0
  6. package/bin/lib/config.cjs +129 -0
  7. package/bin/lib/deploy.cjs +36 -0
  8. package/bin/lib/deviation.cjs +1 -1
  9. package/bin/lib/drift-log.cjs +4 -4
  10. package/bin/lib/health.cjs +32 -31
  11. package/bin/lib/install-detect.cjs +62 -0
  12. package/bin/lib/legacy-folder.cjs +100 -0
  13. package/bin/lib/playwright-check.cjs +26 -0
  14. package/bin/lib/site-location.cjs +22 -0
  15. package/bin/lib/state.cjs +3 -3
  16. package/bin/lib/svg-render.cjs +42 -0
  17. package/bin/ttm-tools.cjs +136 -4
  18. package/gates/base-gates.md +8 -8
  19. package/gates/gate-evaluation.md +8 -8
  20. package/install.js +37 -3
  21. package/package.json +10 -6
  22. package/playbooks/aeo.md +218 -114
  23. package/playbooks/affiliate.md +225 -160
  24. package/playbooks/email.md +236 -174
  25. package/playbooks/events.md +303 -213
  26. package/playbooks/landing-pages.md +305 -0
  27. package/playbooks/linkedin.md +264 -142
  28. package/playbooks/manifesto.md +322 -0
  29. package/playbooks/paid-ads.md +240 -189
  30. package/playbooks/positioning.md +340 -0
  31. package/playbooks/pr-media.md +308 -168
  32. package/playbooks/pseo.md +426 -0
  33. package/playbooks/seo.md +251 -158
  34. package/playbooks/social.md +253 -182
  35. package/playbooks/youtube.md +286 -181
  36. package/references/brand-color-theory.md +48 -0
  37. package/references/codex-image-gen-research.md +58 -0
  38. package/references/context-loading.md +6 -6
  39. package/references/humanizer-patterns.md +433 -0
  40. package/references/inline-education-blurbs.md +461 -0
  41. package/references/landing-page-anatomy.md +64 -0
  42. package/references/linkedin-post-patterns.md +174 -0
  43. package/references/logo-design-principles.md +55 -0
  44. package/references/meta-gate-evaluation.md +3 -3
  45. package/references/obra-superpowers-conventions.md +170 -0
  46. package/references/playbook-leaders.md +472 -0
  47. package/references/playwright-mcp-setup.md +164 -0
  48. package/references/positioning-check-report.md +2 -2
  49. package/references/pseo-page-anatomy.md +56 -0
  50. package/references/pseo-templates/alternative-anatomy.md +31 -0
  51. package/references/pseo-templates/alternative-content-playbook.md +32 -0
  52. package/references/pseo-templates/blog-anatomy.md +28 -0
  53. package/references/pseo-templates/blog-content-playbook.md +36 -0
  54. package/references/pseo-templates/comparison-anatomy.md +29 -0
  55. package/references/pseo-templates/comparison-content-playbook.md +35 -0
  56. package/references/pseo-templates/use-case-anatomy.md +28 -0
  57. package/references/pseo-templates/use-case-content-playbook.md +30 -0
  58. package/skills/ttm-101/SKILL.md +25 -0
  59. package/skills/ttm-aeo-check/SKILL.md +17 -12
  60. package/skills/ttm-affiliate-kit/SKILL.md +5 -0
  61. package/skills/ttm-archive/SKILL.md +5 -0
  62. package/skills/ttm-brand-refresh/SKILL.md +5 -0
  63. package/skills/ttm-brief/SKILL.md +5 -0
  64. package/skills/ttm-competitor-scan/SKILL.md +5 -0
  65. package/skills/ttm-deploy/SKILL.md +22 -0
  66. package/skills/ttm-discover/SKILL.md +17 -0
  67. package/skills/ttm-email-check/SKILL.md +17 -0
  68. package/skills/ttm-email-preflight/SKILL.md +17 -11
  69. package/skills/ttm-fix/SKILL.md +5 -0
  70. package/skills/ttm-health/SKILL.md +6 -1
  71. package/skills/ttm-humanize/SKILL.md +33 -0
  72. package/skills/ttm-icp-refresh/SKILL.md +5 -0
  73. package/skills/ttm-improve-skill/SKILL.md +18 -0
  74. package/skills/ttm-init/SKILL.md +10 -3
  75. package/skills/ttm-keyword-map/SKILL.md +17 -11
  76. package/skills/ttm-landing/SKILL.md +19 -0
  77. package/skills/ttm-learn/SKILL.md +5 -0
  78. package/skills/ttm-linkedin-post/SKILL.md +26 -0
  79. package/skills/ttm-measure/SKILL.md +5 -0
  80. package/skills/ttm-new-campaign/SKILL.md +5 -0
  81. package/skills/ttm-next/SKILL.md +5 -0
  82. package/skills/ttm-playwright-setup/SKILL.md +18 -0
  83. package/skills/ttm-positioning-check/SKILL.md +5 -0
  84. package/skills/ttm-positioning-shift/SKILL.md +5 -0
  85. package/skills/ttm-produce/SKILL.md +5 -0
  86. package/skills/ttm-pseo/SKILL.md +26 -0
  87. package/skills/ttm-repurpose/SKILL.md +5 -0
  88. package/skills/ttm-request-skill/SKILL.md +18 -0
  89. package/skills/ttm-research/SKILL.md +18 -6
  90. package/skills/ttm-resume/SKILL.md +5 -0
  91. package/skills/ttm-review/SKILL.md +5 -0
  92. package/skills/ttm-seo/SKILL.md +64 -0
  93. package/skills/ttm-seo-audit/SKILL.md +17 -12
  94. package/skills/ttm-ship/SKILL.md +5 -0
  95. package/skills/ttm-state/SKILL.md +5 -0
  96. package/skills/ttm-update/SKILL.md +152 -4
  97. package/skills/ttm-verify/SKILL.md +5 -0
  98. package/templates/agents-md.md +14 -4
  99. package/templates/campaign-research.md +6 -6
  100. package/templates/campaign-state.md +1 -1
  101. package/templates/claude-md.md +14 -4
  102. package/templates/linkedin-base-template.md +48 -0
  103. package/templates/next-step-footer.md +13 -0
  104. package/templates/production-manifest.json +4 -4
  105. package/templates/pseo/alternative-cms-schema.json +65 -0
  106. package/templates/pseo/blog-cms-schema.json +55 -0
  107. package/templates/pseo/comparison-cms-schema.json +56 -0
  108. package/templates/pseo/use-case-cms-schema.json +62 -0
  109. package/templates/reference-files/brand.md +51 -0
  110. package/templates/reference-files/product-dna.md +73 -0
  111. package/templates/site-scaffold/app/globals.css +2 -0
  112. package/templates/site-scaffold/app/layout.tsx +17 -0
  113. package/templates/site-scaffold/app/page.tsx +33 -0
  114. package/templates/site-scaffold/app/robots.ts +8 -0
  115. package/templates/site-scaffold/app/sitemap.ts +10 -0
  116. package/templates/site-scaffold/app/tokens.css +21 -0
  117. package/templates/site-scaffold/components/Comparison.tsx +14 -0
  118. package/templates/site-scaffold/components/Faq.tsx +14 -0
  119. package/templates/site-scaffold/components/Features.tsx +14 -0
  120. package/templates/site-scaffold/components/FinalCta.tsx +17 -0
  121. package/templates/site-scaffold/components/Footer.tsx +12 -0
  122. package/templates/site-scaffold/components/Hero.tsx +22 -0
  123. package/templates/site-scaffold/components/HowItWorks.tsx +14 -0
  124. package/templates/site-scaffold/components/PricingTeaser.tsx +14 -0
  125. package/templates/site-scaffold/components/Problem.tsx +14 -0
  126. package/templates/site-scaffold/components/SocialProof.tsx +14 -0
  127. package/templates/site-scaffold/components/Solution.tsx +14 -0
  128. package/templates/site-scaffold/components/Testimonials.tsx +14 -0
  129. package/templates/site-scaffold/components/UseCases.tsx +14 -0
  130. package/templates/site-scaffold/content/.gitkeep +0 -0
  131. package/templates/site-scaffold/lib/.gitkeep +0 -0
  132. package/templates/site-scaffold/next.config.mjs +10 -0
  133. package/templates/site-scaffold/package.json +25 -0
  134. package/templates/site-scaffold/postcss.config.mjs +3 -0
  135. package/templates/site-scaffold/public/llms.txt +9 -0
  136. package/templates/site-scaffold/tsconfig.json +21 -0
  137. package/templates/verification-report.md +1 -1
  138. package/workflows/channel/linkedin-post.md +178 -0
  139. package/workflows/discipline/affiliate-kit.md +65 -6
  140. package/workflows/discipline/{email-preflight.md → email-check.md} +39 -4
  141. package/workflows/discipline/repurpose.md +82 -31
  142. package/workflows/discipline/{aeo-check.md → seo/aeo.md} +13 -6
  143. package/workflows/discipline/{seo-audit.md → seo/audit.md} +13 -6
  144. package/workflows/discipline/{keyword-map.md → seo/keyword-map.md} +13 -6
  145. package/workflows/education/ttm-101.md +114 -0
  146. package/workflows/lifecycle/brief-positioning-check.md +1 -1
  147. package/workflows/lifecycle/brief.md +64 -28
  148. package/workflows/lifecycle/{research.md → discover.md} +61 -19
  149. package/workflows/lifecycle/fix.md +72 -37
  150. package/workflows/lifecycle/humanize.md +280 -0
  151. package/workflows/lifecycle/learn.md +72 -35
  152. package/workflows/lifecycle/measure.md +54 -18
  153. package/workflows/lifecycle/produce.md +88 -37
  154. package/workflows/lifecycle/review.md +71 -25
  155. package/workflows/lifecycle/ship.md +62 -18
  156. package/workflows/lifecycle/verify.md +72 -26
  157. package/workflows/reference-mgmt/brand-refresh.md +50 -13
  158. package/workflows/reference-mgmt/competitor-scan.md +51 -15
  159. package/workflows/reference-mgmt/icp-refresh.md +48 -12
  160. package/workflows/reference-mgmt/positioning-check.md +55 -20
  161. package/workflows/reference-mgmt/positioning-shift.md +53 -17
  162. package/workflows/setup/init-brand-colors.md +75 -0
  163. package/workflows/setup/init-logo.md +113 -0
  164. package/workflows/setup/init-product-dna.md +83 -0
  165. package/workflows/setup/init-questions.md +166 -30
  166. package/workflows/setup/init-validation.md +22 -0
  167. package/workflows/setup/init.md +144 -39
  168. package/workflows/setup/new-campaign.md +48 -12
  169. package/workflows/site/deploy.md +98 -0
  170. package/workflows/site/landing.md +156 -0
  171. package/workflows/site/pseo.md +96 -0
  172. package/workflows/site/quality-gates.md +88 -0
  173. package/workflows/utility/archive.md +45 -9
  174. package/workflows/utility/health.md +77 -3
  175. package/workflows/utility/improve-skill.md +233 -0
  176. package/workflows/utility/next.md +38 -2
  177. package/workflows/utility/playwright-setup.md +128 -0
  178. package/workflows/utility/request-skill.md +218 -0
  179. package/workflows/utility/resume.md +40 -3
  180. package/workflows/utility/state.md +42 -7
@@ -1,175 +1,217 @@
1
1
  ---
2
2
  discipline: youtube
3
- asset_types: [video-script, thumbnail-brief, description, community-post]
4
- version: "1.0"
3
+ asset_types: [long-form-video, short, tutorial, demo]
4
+ version: "2.0"
5
5
  ---
6
6
 
7
7
  # YouTube Discipline Playbook
8
8
 
9
9
  This playbook extends the base playbook contract (`base.md`) with YouTube-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
10
 
11
+ The framework is **The MrBeast Production Memo** — Hook → Crazy Progression → Re-engagement → Payoff — applied at engineer-solopreneur scale. You're not filming "I gave away a Lamborghini." You're filming a 5-15 minute demo, tutorial, or explainer. Same memo. Smaller budget. The principles are identical because the retention graph is identical: a viewer leaving at 0:42 doesn't care that your video cost $200 instead of $200,000.
12
+
13
+ See `references/playbook-leaders.md` for source research.
14
+
11
15
  ---
12
16
 
13
17
  ## Production Guidance
14
18
 
15
- ### Hook in the First 5 Seconds
19
+ ### The Viewer Is The Only Stakeholder
20
+
21
+ Before any other rule: the viewer is the only stakeholder that matters. Not your co-founder. Not your sponsor. Not your editor. Not your brand. If something on screen isn't earning the viewer's attention right now, it gets cut. Every other principle in this playbook is downstream of that one.
22
+
23
+ The retention graph is your only honest feedback loop. Views can be juiced. Likes can be polite. The retention graph cannot lie — it tells you exactly which second a human being decided you weren't worth their next breath.
24
+
25
+ ### The Thumbnail-Title Pair Is 80% Of The Upload
26
+
27
+ A great video with a bad thumbnail dies in the impressions feed and never gets a chance. A mediocre video with a great thumbnail-title pair gets clicked, gets watched a bit, gets recommended, and lives. **Spend more time on the thumbnail-title pair than on editing.** Solopreneurs routinely invert this — they polish the cut for hours and slap on a thumbnail at midnight. Wrong order.
28
+
29
+ The thumbnail and title are a **single creative unit**:
30
+
31
+ - The **title** makes a specific, falsifiable promise. ("I rebuilt Stripe Checkout in 90 minutes.") No "Today we'll talk about…" No category labels.
32
+ - The **thumbnail** shows the **payoff state, the contrast, or the emotion** — never the words from the title. If the title says "90 minutes," the thumbnail shows the finished thing, not the words "90 MINUTES."
33
+ - Together they create a **curiosity gap** the viewer can only close by clicking. Curiosity-gap titles (specific number + surprising claim) outperform value-prop titles for cold traffic. Value-prop titles ("How to set up Postgres on Railway") work for warm/intent traffic via search. Pick deliberately.
34
+ - **Test the thumbnail at 90 pixels wide.** That's roughly the size it shows up in the mobile sidebar. If you can't read it on a phone, it doesn't exist.
35
+
36
+ ### The First 30 Seconds Is The Entire Video
37
+
38
+ If retention drops in the first 30-60 seconds, the upload is dead — YouTube stops surfacing it and you've spent two weekends for 80 views. Treat 0:00–0:30 like it's the only thing you'll ever ship.
39
+
40
+ Three mandatory moves in the hook zone:
41
+
42
+ 1. **Match the clickbait expectation in the first 5 seconds.** Whatever the title promised, deliver visible proof you're going to deliver it. Title says "rebuilt Stripe Checkout in 90 minutes"? Show the working clone in frame at 0:04.
43
+ 2. **State the stakes by 0:15.** Why does this matter to the viewer who clicked? "If you ship this wrong, you'll lose 40% of conversions" — that's stakes. "Hey everyone, welcome back to the channel" — that's a goodbye.
44
+ 3. **Tease the payoff by 0:30.** Show a glimpse of where the video lands. The viewer is deciding right now if you're worth the next 5 minutes. Give them a reason that's specific to *this* video, not your channel.
45
+
46
+ **Things that are banned in the first 30 seconds:** the words "Hey guys," channel intros, sponsor reads, animated logo idents, "before we get started," asking for the subscribe before delivering any value, explaining who you are.
47
+
48
+ ### Crazy Progression — Skip The Slow Build
49
+
50
+ In the MrBeast memo: if the video is "I survived 7 days alone in the wilderness," cover days 1 through 4 in the first 2 minutes. Don't make the viewer earn the payoff with patience — they will leave.
51
+
52
+ At engineer-solopreneur scale, the same rule:
53
+
54
+ - If the video is "I deployed 10 side projects in a weekend," show projects 1, 2, and 3 inside the first 2 minutes — not the IDE setup.
55
+ - If it's a Postgres tutorial, the working query is on screen by minute 2, with the explanation interleaved — not after a 4-minute lecture on relational theory.
56
+ - If it's a product demo, the wow-moment that justified the title shows up in the first third, then you earn the rest by going deeper.
57
+
58
+ **Front-load the value. Backfill the context.** Most engineers do the opposite because that's how documentation is structured. YouTube is not documentation. The viewer can leave at any second and they will.
59
+
60
+ ### Re-engagement Spike Every 30-60 Seconds (Minutes 3-6)
61
+
62
+ Drop-off is **non-linear**. People don't leave at random — they leave at specific moments where nothing changed for too long. Defend against that by changing *something* every 30-60 seconds in the body of the video:
63
+
64
+ - **Scene cut** (different angle, different room, different shot).
65
+ - **New visual element** (chart, screen recording, text overlay, on-screen drawing).
66
+ - **New stake** ("but here's where it broke…").
67
+ - **Surprise** (an unexpected result, a counterintuitive number, a meme that lands).
68
+ - **Pace shift** (fast cut → slower beat to let something breathe → fast again).
69
+
70
+ You don't need a budget for any of this. A B-roll cut to your terminal output **is** a scene change. A whiteboard sketch **is** a visual. The bar isn't production value — it's *change*.
16
71
 
17
- The first 5 seconds determine whether a viewer stays or clicks away. Every video script must open with one of these hook patterns:
72
+ ### No Dull Moments. Editors Have Permission To Cut.
18
73
 
19
- - **Problem statement:** Name a specific pain point the viewer recognizes ("You're losing 40% of your viewers in the first 10 seconds")
20
- - **Bold claim:** Make a concrete, falsifiable promise ("This one change doubled our conversion rate")
21
- - **Curiosity gap:** Tease a result without revealing the method ("Most creators get this completely wrong")
22
- - **Pattern interrupt:** Open with something unexpected -- a visual, a question, or a contrarian take
74
+ If a section isn't earning its time, cut it. Out loud, write this rule on the wall of your edit bay (or your one-monitor desk): **anything that isn't earning attention is killing retention.** A 30-second tangent on your dev setup in the middle of a deployment tutorial doesn't make the video richer — it makes the next viewer leave at 4:12.
23
75
 
24
- Never open with a greeting ("Hey guys, welcome back"), a channel introduction, or a sponsor read before the hook. The hook comes first, always.
76
+ If you're editing yourself, you have to gain emotional distance from your own footage. The 90-second story about why you picked this stack is not as interesting as you remember it being while you filmed it. Cut.
25
77
 
26
- ### Title + Thumbnail Click-Fit
78
+ ### Payoff That Exceeds The Promise
27
79
 
28
- Title and thumbnail are a single unit -- they must work as a complementary pair:
80
+ The promise lives in the thumbnail-title pair. The payoff is what lands in the last 30-60% of the video. **The payoff must exceed the promise** otherwise the viewer leaves with the right to feel scammed, and they will not come back for the next upload.
29
81
 
30
- - **Title promises:** The title makes a specific, curiosity-driven promise. It tells the viewer WHAT they will learn or get.
31
- - **Thumbnail amplifies visually:** The thumbnail shows the RESULT, EMOTION, or CONTRAST that makes the promise tangible. It does NOT repeat the title text.
32
- - **Complementary, not redundant:** If the title says "I Tested 100 Hooks," the thumbnail shows the data chart or a shocked face -- not the words "100 Hooks."
82
+ If the title promised "I rebuilt Stripe Checkout in 90 minutes," the payoff isn't "here's the code." The payoff is the live checkout flow processing a real test card on screen, with the timer showing 89:42, plus the link to the repo. Tangible. Visible. Better than the viewer expected. That's the upload that gets shared.
33
83
 
34
- Effective pairs create a "curiosity loop" -- the viewer needs to click to close the gap between what the title promises and what the thumbnail shows.
84
+ The retention graph will spike at the payoff zone if it lands. If your payoff zone retention is flat or declining, the payoff didn't land — even if you "delivered" what you promised.
35
85
 
36
- ### Description SEO
86
+ ### Abrupt Ending Beats Polished Outro
37
87
 
38
- YouTube descriptions are searchable. Optimize them:
88
+ End sharp. The moment the payoff lands, you're 10-30 seconds away from outro. A long "thanks for watching, smash that like, here's three videos I recommend, here's my Patreon, here's…" causes retention to nosedive in the final minute. That nosedive **hurts the next video's recommendation**, because YouTube reads it as "viewers didn't want to keep watching this creator."
39
89
 
40
- - Place the target keyword in the first 2 lines (first 150 characters visible before "Show more")
41
- - Include timestamps for videos over 10 minutes (YouTube uses these for chapters and key moments in search)
42
- - Add 2-3 relevant links (related videos, resources mentioned, landing pages)
43
- - Include 3-5 hashtags at the end (YouTube displays the first 3 above the title)
44
- - Write 200+ words total -- longer descriptions improve discoverability
90
+ End-screen rules:
45
91
 
46
- ### End-Screen CTA Placement
92
+ - Payoff lands → 1 sentence of context → 1 specific next-video CTA → cut.
93
+ - The end-screen visual element appears in the last 20 seconds, never blocking the payoff frame.
94
+ - "Watch this video next where I do [specific thing]" beats "subscribe for more" every time.
47
95
 
48
- Every video script must include an end-screen section in the final 20 seconds:
96
+ ### Click-Rate Vs Average-View-Duration: The Tradeoff
49
97
 
50
- - Verbal CTA: Tell the viewer exactly what to do next ("Watch this video next" or "Subscribe if you want weekly breakdowns")
51
- - Visual placement notes: Specify where end-screen elements appear (avoid covering important visuals)
52
- - Link the CTA to a specific next video or playlist, not just "subscribe"
98
+ This is the lever solopreneurs miss. Both metrics matter, but optimizing only one breaks the upload:
53
99
 
54
- ### Retention Curve Awareness
100
+ - **Maximize click-rate alone** → curiosity-gap or sensational titles that overpromise → viewers click, the body doesn't deliver → AVD collapses → YouTube stops recommending. This is what "clickbait" actually means in algorithmic terms: a CTR–AVD mismatch.
101
+ - **Maximize AVD alone** → safe, on-the-tin titles ("How to configure Postgres") → AVD is high among the small audience that clicks → CTR is low → impressions never grow.
55
102
 
56
- YouTube rewards watch time. Structure scripts to front-load value:
103
+ The MrBeast-grade upload is **high CTR AND high AVD**: an interesting title-thumbnail pair that the body then *over*-delivers on. When the body exceeds the click-promise, AVD climbs and YouTube reads it as a quality signal and gives you more impressions, which gives you more clicks at the same CTR, which compounds. That's the loop. Optimize the pair, then optimize the body, then check the retention graph against both.
57
104
 
58
- - Deliver the key value proposition within the first 30% of the script
59
- - Use pattern interrupts every 2-3 minutes (change visual, ask a question, introduce a new sub-topic)
60
- - Avoid extended tangents that pull away from the promised topic
61
- - Use "open loops" -- tease upcoming sections to keep viewers watching ("In a moment I'll show you the exact template, but first...")
62
- - Place the most valuable or surprising insight early, not as a "big reveal" at the end
105
+ ### A-Team / B-Team / C-Team Resource-Rank Your Uploads
63
106
 
64
- ### Community Post Strategy
107
+ You don't have unlimited weekends. Rank your video ideas by expected payoff and budget effort accordingly:
65
108
 
66
- Community posts maintain engagement between uploads:
109
+ - **A-team uploads (1-2 per quarter):** Your swing-for-the-fence ideas. The "I built a startup in 30 days" piece. Treat thumbnail like a Super Bowl ad. Spend 2-3x normal effort.
110
+ - **B-team uploads (1-2 per month):** Consistent, on-thesis content. Solid tutorials, breakdowns, build-logs. Standard effort.
111
+ - **C-team uploads (weekly/short-form):** Experiments. Shorts. Quick takes. Permission to fail. Low effort, high frequency, used as research for what resonates → graduate winners to B-team or A-team format.
67
112
 
68
- - **Poll posts:** Ask binary or multiple-choice questions related to upcoming content
69
- - **Text posts:** Share behind-the-scenes insights or early data from recent videos
70
- - **Image posts:** Share screenshots, charts, or visual teasers for upcoming content
71
- - Post 2-3 times per week between uploads to maintain algorithmic presence
113
+ Don't treat every upload as A-team. You'll burn out and you'll under-invest in the swings that actually move the channel.
72
114
 
73
115
  ---
74
116
 
75
117
  ## Discipline Gates
76
118
 
77
- ### DISC-YOUTUBE-01: Hook Strength -- Tier 1
119
+ ### DISC-YOUTUBE-01: Thumbnail-Title Pair Click-Fit -- Tier 1
78
120
 
79
- **Checks:** First 5 seconds of video script contain a specific promise, question, or pattern interrupt
80
- **Against:** Video script opening section
121
+ **Checks:** Thumbnail and title work as a complementary pair, are readable at 90px wide, and create a curiosity gap.
122
+ **Against:** Asset's title field and thumbnail brief.
81
123
 
82
124
  #### Evaluation Criteria
83
125
 
84
- 1. **Hook presence and quality**
85
- - PASS: Script opens with a concrete hook (problem statement, bold claim, or curiosity gap) within the first 3 sentences. The hook is audience-focused and specific.
86
- - WARN: Script has an opening but it is generic or brand-focused rather than audience-focused (e.g., "Today we're going to talk about...")
87
- - FAIL: Script opens with an introduction, greeting, or sponsor mention before the hook
126
+ 1. **Complementary, not redundant**
127
+ - PASS: Title contains a specific number/claim/promise AND the thumbnail brief describes a visual that shows the *result, contrast, or emotion* not the title text repeated.
128
+ - WARN: Title and thumbnail are on-topic but overlap in message (e.g., title says "10 mistakes," thumbnail prominently reads "10 MISTAKES").
129
+ - FAIL: Title is generic ("YouTube Tips"), or thumbnail brief is missing, or thumbnail is unrelated/contradictory to the title.
88
130
 
89
- 2. **Hook specificity**
90
- - PASS: Hook contains a specific number, result, or named concept ("3 mistakes," "doubled our revenue," "the LinkedIn algorithm change")
91
- - WARN: Hook references a general topic without a specific angle ("Let's talk about marketing")
92
- - FAIL: No identifiable hook in the first 5 lines of the script
131
+ 2. **Readable at 90 pixels wide**
132
+ - PASS: Thumbnail brief specifies max 3 elements, high-contrast color pair, and any text is limited to 3-4 words at large/bold size. Mobile-readability is explicitly noted.
133
+ - WARN: Brief is present but does not specify text size or contrast; or has 4 elements.
134
+ - FAIL: Brief describes a busy/cluttered design (5+ elements) or relies on small text that cannot be parsed at thumbnail scale.
93
135
 
94
- ### DISC-YOUTUBE-02: Title-Thumbnail Click-Fit -- Tier 1
136
+ ### DISC-YOUTUBE-02: Hook Delivered In First 15 Seconds -- Tier 1
95
137
 
96
- **Checks:** Title and thumbnail brief work as a complementary pair (title promises, thumbnail visualizes)
97
- **Against:** Video title and thumbnail brief in the asset
138
+ **Checks:** First 15 seconds of the script match the clickbait expectation, state stakes, and tease the payoff. No greetings, no sponsor reads.
139
+ **Against:** Script opening, lines covering 0:00–0:15.
98
140
 
99
141
  #### Evaluation Criteria
100
142
 
101
- 1. **Complementary messaging**
102
- - PASS: Title contains a specific promise or curiosity gap AND thumbnail brief describes a contrasting visual element that amplifies (not duplicates) the title
103
- - WARN: Title and thumbnail overlap in message (both say the same thing in words and visuals)
104
- - FAIL: Title is generic or clickbait with no matching thumbnail concept, OR thumbnail brief is missing
143
+ 1. **Match-the-promise hook**
144
+ - PASS: Script opens with concrete proof that the title's promise is real (a visible artifact, a specific number, a falsifiable claim) within the first 3 sentences / 5 seconds.
145
+ - WARN: Hook is on-topic but generic ("Let's talk about…", "In this video I'll show you…") — no specific promise visible in the first 5 seconds.
146
+ - FAIL: Script opens with a greeting ("Hey guys"), channel intro, animated ident, or sponsor read before any hook content.
105
147
 
106
- 2. **Curiosity loop**
107
- - PASS: Together, title and thumbnail create an information gap that requires clicking to resolve
108
- - WARN: Title and thumbnail are on-topic but do not create tension or curiosity
109
- - FAIL: Title and thumbnail are unrelated or contradictory
148
+ 2. **Stakes stated by 0:15**
149
+ - PASS: Within the first 15 seconds the script names *why this matters to the viewer who clicked* — a cost, a benefit, a risk, or a payoff stake.
150
+ - WARN: Stakes are implied but not explicit.
151
+ - FAIL: No stake established in the first 30 seconds; the opening is purely descriptive ("This is a tutorial about X").
110
152
 
111
- ### DISC-YOUTUBE-03: Description SEO -- Tier 2
153
+ ### DISC-YOUTUBE-03: Crazy Progression In Minutes 1-3 -- Tier 1
112
154
 
113
- **Checks:** Description includes target keyword in first 2 lines, timestamps, and relevant links
114
- **Against:** Video description content
155
+ **Checks:** The script front-loads value and shows visible progression early, rather than building slowly to a payoff.
156
+ **Against:** Script structure across the 0:00–3:00 section.
115
157
 
116
158
  #### Evaluation Criteria
117
159
 
118
- 1. **Keyword placement**
119
- - PASS: Target keyword appears in the first 150 characters of the description
120
- - WARN: Keyword present in the description but not in the first 150 characters
121
- - FAIL: No target keyword in the description, or description is under 100 characters
160
+ 1. **Value visible by minute 2**
161
+ - PASS: A tangible value moment (working demo, specific result, key insight, on-screen artifact) appears within the first 2 minutes of the script, not just setup/context.
162
+ - WARN: Value appears between minutes 2 and 3, OR the first 2 minutes are heavy on context with a single short value teaser.
163
+ - FAIL: First 3 minutes are setup, intro, "who I am," tool setup, or backstory no value moment in sight.
122
164
 
123
- 2. **Structural completeness**
124
- - PASS: Timestamps present for videos 10+ minutes, at least 2 links included, 3+ hashtags at the end
125
- - WARN: Timestamps missing for long-form content, OR fewer than 2 links
126
- - FAIL: No timestamps, no links, and no hashtags -- description is just a single sentence
165
+ 2. **Re-engagement cadence in minutes 3-6**
166
+ - PASS: Script includes explicit re-engagement beats (scene cuts, new stakes, surprises, visual changes) at intervals of 30-60 seconds across minutes 3-6.
167
+ - WARN: Some re-engagement is present but gaps exceed 90 seconds in places.
168
+ - FAIL: Script reads as a continuous monologue with no marked scene changes, visual cues, or pace shifts.
127
169
 
128
- ### DISC-YOUTUBE-04: Retention Structure -- Tier 2
170
+ ### DISC-YOUTUBE-04: Payoff Present In Last 30% -- Tier 1
129
171
 
130
- **Checks:** Script front-loads value and avoids retention killers
131
- **Against:** Video script structure and pacing
172
+ **Checks:** The video has an identifiable payoff zone in the final third that delivers (and ideally exceeds) the title's promise.
173
+ **Against:** Script section covering the final ~30% of runtime.
132
174
 
133
175
  #### Evaluation Criteria
134
176
 
135
- 1. **Value delivery timing**
136
- - PASS: Key value proposition delivered within the first 30% of the script, with pattern interrupts every 2-3 minutes
137
- - WARN: Value delivered but after a long preamble (more than 20% of script before any substantive content)
138
- - FAIL: Script buries the main point past the halfway mark or has no structural variety
177
+ 1. **Payoff zone exists**
178
+ - PASS: Script contains an explicit payoff moment in the final 30% of runtime that visibly delivers the title-thumbnail promise (working result, summarized number, named conclusion).
179
+ - WARN: A payoff is implied but not staged as a distinct moment it's diffused across the second half rather than landing.
180
+ - FAIL: Video ends without delivering on the title's promise, OR the "payoff" is just "subscribe / check the description."
139
181
 
140
- 2. **Retention techniques**
141
- - PASS: Script uses open loops, sub-topic transitions, or visual change notes to maintain engagement throughout
142
- - WARN: Script is linear with no pacing variation but content is solid
143
- - FAIL: Script is a single unbroken monologue with no engagement hooks after the opening
182
+ 2. **Payoff exceeds promise**
183
+ - PASS: The payoff includes an extra element the title did not pre-commit to — a bonus insight, a deeper number, a follow-up artifact, a "and one more thing" that rewards the viewer for finishing.
184
+ - WARN: Payoff exactly meets the title's promise with no extra.
185
+ - FAIL: Payoff underdelivers vs the title (title overpromised), creating a CTR–AVD mismatch risk.
144
186
 
145
- ### DISC-YOUTUBE-05: End-Screen CTA -- Tier 2
187
+ ### DISC-YOUTUBE-05: Abrupt End-Screen, No Slow Outro -- Tier 2
146
188
 
147
- **Checks:** Script includes a clear end-screen call-to-action
148
- **Against:** Final section of the video script
189
+ **Checks:** The video ends sharply after the payoff with a specific next-video CTA, not a long outro sequence.
190
+ **Against:** Final 30 seconds of the script.
149
191
 
150
192
  #### Evaluation Criteria
151
193
 
152
- 1. **CTA presence and specificity**
153
- - PASS: Final section includes a specific CTA (subscribe, watch next video, click link) with verbal direction and visual placement notes for end-screen elements
154
- - WARN: CTA exists but is generic ("like and subscribe") with no specific next action or visual placement
155
- - FAIL: No end-screen CTA in the script
194
+ 1. **Sharp ending**
195
+ - PASS: Within 30 seconds of the payoff landing, the script wraps with one specific CTA pointing to a named next video / playlist / link. End-screen elements appear in the last 20 seconds without blocking the payoff frame.
196
+ - WARN: Outro is present but generic ("like and subscribe for more videos like this") with no specific next destination.
197
+ - FAIL: Outro exceeds 60 seconds, includes multiple sponsor reads/CTAs/Patreon plugs, or buries the CTA behind unrelated content.
156
198
 
157
- ### DISC-YOUTUBE-06: Thumbnail Contrast -- Tier 2
199
+ ### DISC-YOUTUBE-06: Description SEO + Chapters -- Tier 2
158
200
 
159
- **Checks:** Thumbnail brief specifies high-contrast, low-clutter visual design
160
- **Against:** Thumbnail brief content
201
+ **Checks:** Description supports discovery: target query in the first 150 characters, chapters/timestamps for long-form, 2+ relevant links, hashtags.
202
+ **Against:** Video description content.
161
203
 
162
204
  #### Evaluation Criteria
163
205
 
164
- 1. **Visual clarity**
165
- - PASS: Thumbnail brief specifies max 3 elements, contrasting colors, readable text at mobile size, and face/emotion if applicable
166
- - WARN: Thumbnail brief exists but includes more than 3 text elements or lacks contrast specification
167
- - FAIL: No thumbnail brief provided, or brief describes a busy/cluttered design with 5+ elements
206
+ 1. **Searchable opening**
207
+ - PASS: Target search query / keyword appears in the first 150 characters; description is 200+ words; chapters/timestamps included for videos 10+ minutes.
208
+ - WARN: Keyword present but not in the first 150 characters, OR description is 100-200 words, OR timestamps missing for a 10+ min video.
209
+ - FAIL: One-line description with no keyword, no links, no timestamps.
168
210
 
169
- 2. **Mobile readability**
170
- - PASS: Any text in the thumbnail is specified as large, bold, and limited to 3-4 words maximum
171
- - WARN: Text is included but no size or readability specification
172
- - FAIL: Thumbnail relies on small text or detailed graphics that would be illegible at mobile thumbnail size
211
+ 2. **Structural completeness**
212
+ - PASS: At least 2 relevant links + 3 hashtags at the end.
213
+ - WARN: 1 link OR fewer than 3 hashtags.
214
+ - FAIL: No links and no hashtags.
173
215
 
174
216
  ---
175
217
 
@@ -177,149 +219,212 @@ Community posts maintain engagement between uploads:
177
219
 
178
220
  | Base Gate ID | Default Tier | Override Tier | Reason |
179
221
  |-------------|-------------|---------------|--------|
180
- | GATE-10 (Format Correctness) | Tier 2 | Tier 1 | Video scripts have strict format requirements (timestamps, shot notes, scene markers) that directly affect production workflow and cannot be fixed post-recording |
222
+ | GATE-10 (Format Correctness) | Tier 2 | Tier 1 | Video scripts have strict timestamp + shot-note format requirements that drive the actual shoot/edit. Format errors caught post-record force a reshoot — they cannot be patched the way text-asset format issues can. |
181
223
 
182
224
  ---
183
225
 
184
226
  ## Format Rules
185
227
 
186
- ### Video Script Format
228
+ ### Long-Form Video Script (5-15 min)
187
229
 
188
230
  ```
189
- [HOOK - 0:00-0:05]
190
- {Opening hook -- problem, claim, or curiosity gap}
231
+ [THUMBNAIL-TITLE PAIR]
232
+ Title: {Specific promise, ≤60 chars, ideally ≤50 for mobile}
233
+ Thumbnail: {3 elements max, contrast pair, mobile-readable at 90px}
234
+
235
+ [0:00-0:05 — HOOK / MATCH-THE-PROMISE]
236
+ {Visible proof the title is real — specific artifact, number, claim}
191
237
 
192
- [INTRO - 0:05-0:30]
193
- {Brief context setting -- who this is for, what they will learn}
238
+ [0:05-0:15 — STAKES + PAYOFF TEASE]
239
+ {Why the viewer should care + glimpse of where this lands}
194
240
 
195
- [SECTION 1 - 0:30-3:00]
196
- {Main content section}
197
- [B-ROLL: {description of supporting visual}]
198
- [LOWER THIRD: {text overlay content}]
241
+ [0:15-2:00 — CRAZY PROGRESSION]
242
+ {Cover the "obvious" first 30% of the journey in fast cuts. Skip setup.}
243
+ [VISUAL: {scene/B-roll/screencap}]
199
244
 
200
- [PATTERN INTERRUPT - 3:00]
201
- {Re-engagement moment -- question, visual change, new angle}
245
+ [2:00-{midpoint} BODY, RE-ENGAGEMENT EVERY 30-60s]
246
+ {Each beat ends with a scene cut, new stake, or visual change}
247
+ [BEAT 1 — VISUAL CUE: {what changes}]
248
+ [BEAT 2 — STAKE: {new tension}]
249
+ [BEAT 3 — SURPRISE: {unexpected result}]
202
250
 
203
- [SECTION 2 - 3:00-6:00]
204
- {Continued content}
251
+ [{Last 30%} PAYOFF ZONE]
252
+ {Deliver the title's promise on screen, then exceed it with one bonus}
205
253
 
206
- [END SCREEN - final 20 seconds]
207
- {Verbal CTA + visual placement notes}
208
- [END CARD: {specific video/playlist to link}]
254
+ [FINAL 0:30 — SHARP END + END-SCREEN CTA]
255
+ {One sentence wrap one named next-video CTA → cut}
256
+ [END-SCREEN ELEMENT: {appears last 20s, off the payoff frame}]
209
257
  ```
210
258
 
211
- ### Thumbnail Brief Format
259
+ ### YouTube Short (≤60 sec) Script
212
260
 
213
261
  ```
214
- Elements (max 3):
215
- 1. {Primary element -- face, object, or result}
216
- 2. {Text overlay -- 3-4 words max, bold}
217
- 3. {Background/contrast element}
262
+ [0:00-0:02 PATTERN INTERRUPT HOOK]
263
+ {Visual or claim that stops the scroll}
264
+
265
+ [0:02-0:50 SINGLE-IDEA PAYOFF]
266
+ {One idea, delivered. No setup, no intro. Pure crazy-progression.}
218
267
 
219
- Colors: {Primary contrast pair, e.g., "Yellow text on dark blue background"}
220
- Emotion: {If face is included -- shocked, excited, skeptical, etc.}
221
- Mobile test: {Confirm readability at 168x94px}
268
+ [0:50-0:60 LOOPABLE END or CTA]
269
+ {Either loop the hook (vertical retention trick) or one CTA}
270
+ ```
271
+
272
+ ### Thumbnail Brief
273
+
274
+ ```
275
+ Elements (max 3):
276
+ 1. {Subject — face/object/result, taking ~50% of frame}
277
+ 2. {Text overlay — 3-4 words MAX, bold, sans-serif, 100px+ at full size}
278
+ 3. {Contrast background element}
279
+
280
+ Color pair: {High-contrast pair, e.g., yellow #FFD600 on charcoal #1A1A1A}
281
+ Emotion (if face): {one word — shocked, focused, skeptical}
282
+ 90px test: {Confirmed readable at 90 pixels wide (mobile sidebar size)}
283
+ A/B variant: {Optional — alternate frame/text for thumbnail testing}
222
284
  ```
223
285
 
224
286
  ### Description Template
225
287
 
226
288
  ```
227
- {Target keyword in the first line -- what this video covers}
228
- {Second line -- specific promise or key takeaway}
289
+ {Target search query in line 1 what this video covers, ≤150 chars}
290
+ {Line 2: specific takeaway / promise}
229
291
 
230
- {Timestamps / Chapters}
231
- 0:00 - {Hook}
232
- 0:30 - {Section 1 title}
233
- 3:00 - {Section 2 title}
234
- ...
292
+ Chapters
293
+ 0:00 - Hook
294
+ 0:30 - {Crazy progression starts}
295
+ 3:00 - {Section 2}
296
+ {...continue for all major beats}
235
297
 
236
- {Resources / Links}
298
+ 🔗 Links mentioned
237
299
  - {Resource 1}: {URL}
238
300
  - {Resource 2}: {URL}
239
301
 
240
- {About section -- 2-3 sentences about the channel}
302
+ 📺 Watch next: {specific video URL}
303
+
304
+ {2-3 line channel about — who this is for, what the channel covers}
241
305
 
242
306
  #hashtag1 #hashtag2 #hashtag3
243
307
  ```
244
308
 
245
- ### Community Post Format
246
-
247
- - **Poll:** Question (under 65 characters) + 2-4 options (under 25 characters each)
248
- - **Text:** 1-3 paragraphs, conversational tone, end with a question to drive comments
249
- - **Image:** High-contrast image with minimal text, paired with 1-2 sentence caption
250
-
251
309
  ---
252
310
 
253
311
  ## Examples
254
312
 
255
- ### Good: Strong Hook + Complementary Title-Thumbnail
313
+ ### Good: Thumbnail-Title Pair + Hook + Payoff Land Together
256
314
 
257
315
  ```
258
- Title: "I Analyzed 1,000 YouTube Thumbnails -- Here's What Actually Works"
316
+ Title: "I Rebuilt Stripe Checkout in 90 Minutes"
259
317
 
260
318
  Thumbnail brief:
261
- - Element 1: Creator's face with surprised expression
262
- - Element 2: Bold text "1,000 THUMBNAILS" in yellow
263
- - Element 3: Dark background with faded grid of thumbnail images
264
- - Colors: Yellow text on dark charcoal
265
- - Mobile test: Face and text readable at 168x94px
266
-
267
- Script opening:
268
- "The average YouTube thumbnail gets mass-ignored. Out of 1,000 thumbnails
269
- I analyzed across 50 channels, only 12% followed the pattern that
270
- correlates with above-average CTR. Here's what they all had in common."
319
+ - Element 1: Split screen — official Stripe checkout (left), creator's clone (right), both showing the same charge
320
+ - Element 2: Bold yellow text "90 MIN" overlaid bottom-right
321
+ - Element 3: Dark charcoal background, subtle grid
322
+ - Color pair: Yellow #FFD600 on charcoal #1A1A1A
323
+ - Emotion: n/a (no face)
324
+ - 90px test: "90 MIN" + split layout both legible at sidebar size
325
+
326
+ Script opening (0:00-0:15):
327
+ "Here's Stripe's checkout. Here's mine. Same test card, same flow,
328
+ both work. Stripe charges 2.9% plus 30 cents. Mine was built in 90 minutes
329
+ on Hono and Postgres — and if you ship payments wrong, you're either
330
+ leaking money or leaking customers. By the end of this, you'll have
331
+ every line of code I used."
332
+
333
+ Crazy progression (0:15-2:00):
334
+ Skips IDE setup, skips Hono install, skips Postgres schema lecture.
335
+ At 0:42 the database is already up. At 1:15 the first charge is on screen.
336
+ At 1:50 a real test card has cleared. THEN the explanation rewinds and
337
+ fills in the why.
338
+
339
+ Payoff zone (final 30%):
340
+ The clone processes a $20 test charge live on screen. Timer reads 89:42.
341
+ Bonus: a webhook fires to Slack, which the title didn't promise but
342
+ the viewer didn't see coming.
343
+
344
+ End (final 30 sec):
345
+ "Repo's linked below. Next, watch me actually deploy this thing to
346
+ production without breaking anything — link's on screen." Cut.
271
347
  ```
272
348
 
273
- Why it works: Title promises data-driven insight. Thumbnail shows the scale (face + "1,000") without repeating the title. Hook delivers a specific stat immediately.
349
+ Why it works: thumbnail-title pair creates a curiosity gap (is the clone actually any good?), hook proves the promise visually in 5 seconds, the first 2 minutes skip the boring middle, the payoff exceeds the promise with the unannounced webhook, and the outro is one sentence. CTR–AVD will both clear.
274
350
 
275
- ### Bad: Weak Hook + Redundant Title-Thumbnail
351
+ ### Bad: Slow Open, No Progression, No Payoff
276
352
 
277
353
  ```
278
- Title: "YouTube Thumbnail Tips"
354
+ Title: "Building a Payments App"
279
355
 
280
356
  Thumbnail brief:
281
- - Element 1: Text "Thumbnail Tips"
282
- - Element 2: Stock photo of a computer screen
283
- - Element 3: Channel logo
284
- - Element 4: Subscribe button graphic
285
- - Element 5: Arrow pointing at screen
357
+ - Element 1: Stock photo of a credit card
358
+ - Element 2: Channel logo bottom-right
359
+ - Element 3: Subscribe button graphic
360
+ - Element 4: Text "Building a Payments App" — same words as title
361
+ - Element 5: Arrow pointing at the credit card
286
362
 
287
363
  Script opening:
288
- "Hey guys, welcome back to the channel! Today we're going to be talking
289
- about thumbnails. Before we get into it, a quick word from our sponsor..."
364
+ "Hey guys, welcome back to the channel! If you're new here, my name is
365
+ [name] and on this channel we talk about software development. Today
366
+ we're going to be building a payments application. But before we get
367
+ into it, a quick word from this video's sponsor..."
368
+
369
+ Body:
370
+ Minutes 1-4 walk through installing Node, setting up the dev environment,
371
+ explaining REST. The actual payment flow shows up at 7:30.
372
+
373
+ Ending:
374
+ "So yeah, that's pretty much it. Make sure to like and subscribe,
375
+ hit the bell icon, check out my Patreon, here are three other videos
376
+ I recommend, and shoutout to today's sponsor again..."
290
377
  ```
291
378
 
292
- Why it fails: Title is generic (no promise, no number, no curiosity). Thumbnail repeats the title text and has 5 elements (cluttered). Script opens with greeting + sponsor before any hook.
379
+ Why it fails: title is generic with no falsifiable promise low CTR; thumbnail has 5 elements and repeats the title text unreadable at 90px; opening is greeting + sponsor → retention dies before 0:30; no crazy progression (4 minutes on env setup); no payoff zone; outro is 90 seconds of CTAs → next-video recommendation tanks.
293
380
 
294
381
  ---
295
382
 
296
383
  ## Anti-Patterns
297
384
 
298
- 1. **Opening with "Hey guys"** -- Greetings before the hook lose viewers in the first 3 seconds. YouTube's retention graph shows the steepest drop in the first 5 seconds. The hook must come first.
385
+ 1. **"Hey guys, welcome back to the channel."** The single most retention-destructive sentence on the platform. The viewer clicked because of the title-thumbnail pair, not because of you. Deliver on what they clicked for. Greet them with proof.
386
+
387
+ 2. **Sponsor reads in the first 60 seconds.** Sponsor integrations belong after the hook lands and the body is rolling — minutes 2-4 for short videos, minutes 3-6 for longer. A sponsor at 0:15 trades retention for $40 and kills the upload's reach for $4,000.
388
+
389
+ 3. **Title-thumbnail mismatch (the actual definition of clickbait).** Title overpromises, body doesn't deliver, retention craters in minutes 1-2, YouTube reads "viewers regretted clicking," your impressions die. The pair must promise something the body actually delivers. Aspirational ≠ deceptive.
299
390
 
300
- 2. **Burying the hook after a sponsor read** -- Sponsor integrations in the first 30 seconds kill retention. Place sponsor reads after the hook and initial value delivery (typically 2-4 minutes in).
391
+ 4. **Thumbnail text duplicating title text.** You have two click-driving surfaces. If both say the same words, you've wasted one. The thumbnail SHOWS, the title TELLS. Burn this into your eyes.
301
392
 
302
- 3. **Thumbnail text duplicating the title** -- If the thumbnail says the same words as the title, you have wasted one of your two click-driving elements. The thumbnail should SHOW what the title TELLS.
393
+ 5. **The slow build.** Most engineers structure videos like documentation: setup theory implementation → result. That's the wrong order for YouTube. Show the result first, then earn back the context. Crazy progression beats clean pedagogy on the retention graph every time.
303
394
 
304
- 4. **Description with no keywords or links** -- A one-sentence description like "New video!" wastes SEO opportunity. YouTube indexes description text for search -- treat it as a mini blog post.
395
+ 6. **Long polished outros.** The 30-60 seconds after the payoff is where retention falls off a cliff and takes your next-video recommendation with it. Land payoff one CTA cut. Anything else is vanity.
305
396
 
306
- 5. **Scripts without retention markers** -- A script that reads as a continuous essay without scene breaks, B-roll notes, or pattern interrupts will produce a monotonous video. Mark structural variety explicitly.
397
+ 7. **Treating every video as A-team.** You'll burn out by upload #6. Rank ideas. Spend 2-3x effort on the 1-2 swings per quarter that could break out. Ship the rest as B-team consistency. Use Shorts as C-team experiments.
307
398
 
308
- 6. **Generic end-screen CTA** -- "Like and subscribe" is background noise. Specific CTAs ("Watch this video next where I show the exact template") drive measurable end-screen click rates.
399
+ 8. **Optimizing CTR or AVD alone.** Both or neither. Curiosity-gap titles + on-the-tin bodies = unsustainable. Safe titles + great bodies = invisible. The goal is high-CTR title that the body *exceeds* that's where the compounding loop opens.
309
400
 
310
- 7. **Cluttered thumbnails** -- More than 3 visual elements compete for attention at mobile size. Thumbnails must be readable at 168x94 pixels -- the size they appear in mobile feeds.
401
+ 9. **No re-engagement after minute 3.** A script with no scene cuts, new stakes, or visual changes from minute 3 onward will have a smooth downward retention slope, no spikes, no recoveries. Non-linear drop-off is the enemy break the line.
402
+
403
+ 10. **Saving the best for the end.** "Stick around to the end and I'll show you the surprise" only works if the first 90% earns the wait. At engineer-solopreneur scale, very few uploads earn that. Front-load the best stuff; backfill the rest.
311
404
 
312
405
  ---
313
406
 
314
407
  ## Metrics
315
408
 
316
- Track these indicators for YouTube content after shipping:
409
+ Track these post-ship the retention graph is the only honest one, the rest are inputs to it:
410
+
411
+ - **Average view duration (AVD) and AVD %** — Mean watch time per view, absolute and as a percentage of video length. The single most important quality signal. Target: ≥50% on long-form, ≥70% on Shorts.
412
+ - **Retention graph shape** — Not just AVD: look at the actual curve. Where's the steepest drop? (Usually the hook.) Is there a spike at the payoff zone? (If yes, payoff landed.) Is there a cliff at the outro? (Shorten it.)
413
+ - **Payoff-zone retention spike** — The retention curve should *spike or hold* in the final 30%. A flat or declining payoff zone means the payoff didn't land — even if you delivered what the title promised.
414
+ - **Click-through rate (CTR)** — Impressions → clicks ratio from YouTube Studio. Measures the thumbnail-title pair. Benchmark: 4-10% on most channels; under 4% means the pair is failing.
415
+ - **CTR × AVD composite (the real signal)** — High CTR with low AVD = clickbait, will be punished. Low CTR with high AVD = invisible, no impressions to convert. The compounding loop opens when both are high.
416
+ - **Watch time (hours)** — Total cumulative watch time. YouTube's primary ranking signal for surfacing the video.
417
+ - **Suggested-video click-through** — How often this video drives clicks to *the next video* via end-screen and sidebar. Measures whether your sharp ending + specific CTA is working.
418
+ - **First-30-seconds retention** — Specifically the retention number at 0:30. If you're losing >30% of viewers in the first 30 seconds, the hook (or the thumbnail-title match) is broken. Fix this before fixing anything else.
419
+ - **Subscribers gained per 1000 views** — Did the upload convert browsing viewers into subscribers? Strong indicator that the payoff exceeded the promise.
420
+ - **Traffic sources** — Browse / Search / Suggested / External breakdown. A-team uploads should be Browse + Suggested heavy. B-team tutorials should be Search heavy. Mismatch tells you which surface to optimize.
421
+
422
+ ---
423
+
424
+ ## Sources
317
425
 
318
- - **Views** -- Total views over 7/30/90 day windows. Compare against channel average.
319
- - **Watch time (hours)** -- Total accumulated watch time. YouTube's primary ranking signal.
320
- - **Average view duration** -- Mean watch time per view. Indicates content quality and retention. Target: above 50% of video length.
321
- - **Click-through rate (CTR)** -- Impressions to views ratio from YouTube Studio. Measures title + thumbnail effectiveness. Channel benchmark: 4-10%.
322
- - **Subscriber conversion** -- New subscribers attributed to the video. Measures audience growth impact.
323
- - **End-screen click rate** -- Percentage of viewers who click end-screen elements. Measures CTA effectiveness.
324
- - **Comments and engagement rate** -- Comments, likes, shares as a percentage of views. Measures community engagement.
325
- - **Traffic sources** -- Breakdown of Browse, Search, Suggested, External. Indicates discovery path.
426
+ - [The MrBeast Production Memo (leaked, Shaan Puri breakdown)](https://www.shaanpuri.com/essays/mrbeast-leaked-memo) primary source for the Hook → Crazy Progression → Re-engagement → Payoff framework, the "first minute is the entire video" rule, and the thumbnail-title prioritization.
427
+ - [Alexander Jarvis — How to Succeed in MrBeast Production](https://www.alexanderjarvis.com/memo-how-to-succeed-in-mrbeast-production/) detailed breakdown of the "no dull moments" rule, A-team/B-team/C-team resource-ranking, and the editor's permission to cut.
428
+ - [Sherwood News MrBeast's Leaked Internal Success Document](https://sherwood.news/culture/mrbeast-youtube-leaked-internal-success-document/) news coverage of the original 36-page memo with quoted excerpts on retention math and the "viewer is the only stakeholder" north star.
429
+ - [Creator Science (Jay Clouse) — runner-up reference for creator-business monetization layer](https://creatorscience.com/) used for context on how engineer-solopreneurs translate audience into revenue once the production memo is working.
430
+ - [Awesome Creator (Roberto Blake) runner-up reference for personal-brand professionalization](https://robertoblake.com/) used for context on personal-brand layer above the production framework.