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.
- package/.claude-plugin/marketplace.json +4 -4
- package/.claude-plugin/plugin.json +2 -2
- package/README.md +34 -11
- package/bin/lib/campaign.cjs +12 -8
- package/bin/lib/codebase-scan.cjs +86 -0
- package/bin/lib/config.cjs +129 -0
- package/bin/lib/deploy.cjs +36 -0
- package/bin/lib/deviation.cjs +1 -1
- package/bin/lib/drift-log.cjs +4 -4
- package/bin/lib/health.cjs +32 -31
- package/bin/lib/install-detect.cjs +62 -0
- package/bin/lib/legacy-folder.cjs +100 -0
- package/bin/lib/playwright-check.cjs +26 -0
- package/bin/lib/site-location.cjs +22 -0
- package/bin/lib/state.cjs +3 -3
- package/bin/lib/svg-render.cjs +42 -0
- package/bin/ttm-tools.cjs +136 -4
- package/gates/base-gates.md +8 -8
- package/gates/gate-evaluation.md +8 -8
- package/install.js +37 -3
- package/package.json +10 -6
- package/playbooks/aeo.md +218 -114
- package/playbooks/affiliate.md +225 -160
- package/playbooks/email.md +236 -174
- package/playbooks/events.md +303 -213
- package/playbooks/landing-pages.md +305 -0
- package/playbooks/linkedin.md +264 -142
- package/playbooks/manifesto.md +322 -0
- package/playbooks/paid-ads.md +240 -189
- package/playbooks/positioning.md +340 -0
- package/playbooks/pr-media.md +308 -168
- package/playbooks/pseo.md +426 -0
- package/playbooks/seo.md +251 -158
- package/playbooks/social.md +253 -182
- package/playbooks/youtube.md +286 -181
- package/references/brand-color-theory.md +48 -0
- package/references/codex-image-gen-research.md +58 -0
- package/references/context-loading.md +6 -6
- package/references/humanizer-patterns.md +433 -0
- package/references/inline-education-blurbs.md +461 -0
- package/references/landing-page-anatomy.md +64 -0
- package/references/linkedin-post-patterns.md +174 -0
- package/references/logo-design-principles.md +55 -0
- package/references/meta-gate-evaluation.md +3 -3
- package/references/obra-superpowers-conventions.md +170 -0
- package/references/playbook-leaders.md +472 -0
- package/references/playwright-mcp-setup.md +164 -0
- package/references/positioning-check-report.md +2 -2
- package/references/pseo-page-anatomy.md +56 -0
- package/references/pseo-templates/alternative-anatomy.md +31 -0
- package/references/pseo-templates/alternative-content-playbook.md +32 -0
- package/references/pseo-templates/blog-anatomy.md +28 -0
- package/references/pseo-templates/blog-content-playbook.md +36 -0
- package/references/pseo-templates/comparison-anatomy.md +29 -0
- package/references/pseo-templates/comparison-content-playbook.md +35 -0
- package/references/pseo-templates/use-case-anatomy.md +28 -0
- package/references/pseo-templates/use-case-content-playbook.md +30 -0
- package/skills/ttm-101/SKILL.md +25 -0
- package/skills/ttm-aeo-check/SKILL.md +17 -12
- package/skills/ttm-affiliate-kit/SKILL.md +5 -0
- package/skills/ttm-archive/SKILL.md +5 -0
- package/skills/ttm-brand-refresh/SKILL.md +5 -0
- package/skills/ttm-brief/SKILL.md +5 -0
- package/skills/ttm-competitor-scan/SKILL.md +5 -0
- package/skills/ttm-deploy/SKILL.md +22 -0
- package/skills/ttm-discover/SKILL.md +17 -0
- package/skills/ttm-email-check/SKILL.md +17 -0
- package/skills/ttm-email-preflight/SKILL.md +17 -11
- package/skills/ttm-fix/SKILL.md +5 -0
- package/skills/ttm-health/SKILL.md +6 -1
- package/skills/ttm-humanize/SKILL.md +33 -0
- package/skills/ttm-icp-refresh/SKILL.md +5 -0
- package/skills/ttm-improve-skill/SKILL.md +18 -0
- package/skills/ttm-init/SKILL.md +10 -3
- package/skills/ttm-keyword-map/SKILL.md +17 -11
- package/skills/ttm-landing/SKILL.md +19 -0
- package/skills/ttm-learn/SKILL.md +5 -0
- package/skills/ttm-linkedin-post/SKILL.md +26 -0
- package/skills/ttm-measure/SKILL.md +5 -0
- package/skills/ttm-new-campaign/SKILL.md +5 -0
- package/skills/ttm-next/SKILL.md +5 -0
- package/skills/ttm-playwright-setup/SKILL.md +18 -0
- package/skills/ttm-positioning-check/SKILL.md +5 -0
- package/skills/ttm-positioning-shift/SKILL.md +5 -0
- package/skills/ttm-produce/SKILL.md +5 -0
- package/skills/ttm-pseo/SKILL.md +26 -0
- package/skills/ttm-repurpose/SKILL.md +5 -0
- package/skills/ttm-request-skill/SKILL.md +18 -0
- package/skills/ttm-research/SKILL.md +18 -6
- package/skills/ttm-resume/SKILL.md +5 -0
- package/skills/ttm-review/SKILL.md +5 -0
- package/skills/ttm-seo/SKILL.md +64 -0
- package/skills/ttm-seo-audit/SKILL.md +17 -12
- package/skills/ttm-ship/SKILL.md +5 -0
- package/skills/ttm-state/SKILL.md +5 -0
- package/skills/ttm-update/SKILL.md +152 -4
- package/skills/ttm-verify/SKILL.md +5 -0
- package/templates/agents-md.md +14 -4
- package/templates/campaign-research.md +6 -6
- package/templates/campaign-state.md +1 -1
- package/templates/claude-md.md +14 -4
- package/templates/linkedin-base-template.md +48 -0
- package/templates/next-step-footer.md +13 -0
- package/templates/production-manifest.json +4 -4
- package/templates/pseo/alternative-cms-schema.json +65 -0
- package/templates/pseo/blog-cms-schema.json +55 -0
- package/templates/pseo/comparison-cms-schema.json +56 -0
- package/templates/pseo/use-case-cms-schema.json +62 -0
- package/templates/reference-files/brand.md +51 -0
- package/templates/reference-files/product-dna.md +73 -0
- package/templates/site-scaffold/app/globals.css +2 -0
- package/templates/site-scaffold/app/layout.tsx +17 -0
- package/templates/site-scaffold/app/page.tsx +33 -0
- package/templates/site-scaffold/app/robots.ts +8 -0
- package/templates/site-scaffold/app/sitemap.ts +10 -0
- package/templates/site-scaffold/app/tokens.css +21 -0
- package/templates/site-scaffold/components/Comparison.tsx +14 -0
- package/templates/site-scaffold/components/Faq.tsx +14 -0
- package/templates/site-scaffold/components/Features.tsx +14 -0
- package/templates/site-scaffold/components/FinalCta.tsx +17 -0
- package/templates/site-scaffold/components/Footer.tsx +12 -0
- package/templates/site-scaffold/components/Hero.tsx +22 -0
- package/templates/site-scaffold/components/HowItWorks.tsx +14 -0
- package/templates/site-scaffold/components/PricingTeaser.tsx +14 -0
- package/templates/site-scaffold/components/Problem.tsx +14 -0
- package/templates/site-scaffold/components/SocialProof.tsx +14 -0
- package/templates/site-scaffold/components/Solution.tsx +14 -0
- package/templates/site-scaffold/components/Testimonials.tsx +14 -0
- package/templates/site-scaffold/components/UseCases.tsx +14 -0
- package/templates/site-scaffold/content/.gitkeep +0 -0
- package/templates/site-scaffold/lib/.gitkeep +0 -0
- package/templates/site-scaffold/next.config.mjs +10 -0
- package/templates/site-scaffold/package.json +25 -0
- package/templates/site-scaffold/postcss.config.mjs +3 -0
- package/templates/site-scaffold/public/llms.txt +9 -0
- package/templates/site-scaffold/tsconfig.json +21 -0
- package/templates/verification-report.md +1 -1
- package/workflows/channel/linkedin-post.md +178 -0
- package/workflows/discipline/affiliate-kit.md +65 -6
- package/workflows/discipline/{email-preflight.md → email-check.md} +39 -4
- package/workflows/discipline/repurpose.md +82 -31
- package/workflows/discipline/{aeo-check.md → seo/aeo.md} +13 -6
- package/workflows/discipline/{seo-audit.md → seo/audit.md} +13 -6
- package/workflows/discipline/{keyword-map.md → seo/keyword-map.md} +13 -6
- package/workflows/education/ttm-101.md +114 -0
- package/workflows/lifecycle/brief-positioning-check.md +1 -1
- package/workflows/lifecycle/brief.md +64 -28
- package/workflows/lifecycle/{research.md → discover.md} +61 -19
- package/workflows/lifecycle/fix.md +72 -37
- package/workflows/lifecycle/humanize.md +280 -0
- package/workflows/lifecycle/learn.md +72 -35
- package/workflows/lifecycle/measure.md +54 -18
- package/workflows/lifecycle/produce.md +88 -37
- package/workflows/lifecycle/review.md +71 -25
- package/workflows/lifecycle/ship.md +62 -18
- package/workflows/lifecycle/verify.md +72 -26
- package/workflows/reference-mgmt/brand-refresh.md +50 -13
- package/workflows/reference-mgmt/competitor-scan.md +51 -15
- package/workflows/reference-mgmt/icp-refresh.md +48 -12
- package/workflows/reference-mgmt/positioning-check.md +55 -20
- package/workflows/reference-mgmt/positioning-shift.md +53 -17
- package/workflows/setup/init-brand-colors.md +75 -0
- package/workflows/setup/init-logo.md +113 -0
- package/workflows/setup/init-product-dna.md +83 -0
- package/workflows/setup/init-questions.md +166 -30
- package/workflows/setup/init-validation.md +22 -0
- package/workflows/setup/init.md +144 -39
- package/workflows/setup/new-campaign.md +48 -12
- package/workflows/site/deploy.md +98 -0
- package/workflows/site/landing.md +156 -0
- package/workflows/site/pseo.md +96 -0
- package/workflows/site/quality-gates.md +88 -0
- package/workflows/utility/archive.md +45 -9
- package/workflows/utility/health.md +77 -3
- package/workflows/utility/improve-skill.md +233 -0
- package/workflows/utility/next.md +38 -2
- package/workflows/utility/playwright-setup.md +128 -0
- package/workflows/utility/request-skill.md +218 -0
- package/workflows/utility/resume.md +40 -3
- package/workflows/utility/state.md +42 -7
package/playbooks/youtube.md
CHANGED
|
@@ -1,175 +1,217 @@
|
|
|
1
1
|
---
|
|
2
2
|
discipline: youtube
|
|
3
|
-
asset_types: [video
|
|
4
|
-
version: "
|
|
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
|
-
###
|
|
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
|
-
|
|
72
|
+
### No Dull Moments. Editors Have Permission To Cut.
|
|
18
73
|
|
|
19
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
78
|
+
### Payoff That Exceeds The Promise
|
|
27
79
|
|
|
28
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
86
|
+
### Abrupt Ending Beats Polished Outro
|
|
37
87
|
|
|
38
|
-
|
|
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
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
96
|
+
### Click-Rate Vs Average-View-Duration: The Tradeoff
|
|
49
97
|
|
|
50
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
-
|
|
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
|
-
|
|
107
|
+
You don't have unlimited weekends. Rank your video ideas by expected payoff and budget effort accordingly:
|
|
65
108
|
|
|
66
|
-
|
|
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
|
-
-
|
|
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:
|
|
119
|
+
### DISC-YOUTUBE-01: Thumbnail-Title Pair Click-Fit -- Tier 1
|
|
78
120
|
|
|
79
|
-
**Checks:**
|
|
80
|
-
**Against:**
|
|
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. **
|
|
85
|
-
- PASS:
|
|
86
|
-
- WARN:
|
|
87
|
-
- FAIL:
|
|
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. **
|
|
90
|
-
- PASS:
|
|
91
|
-
- WARN:
|
|
92
|
-
- FAIL:
|
|
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:
|
|
136
|
+
### DISC-YOUTUBE-02: Hook Delivered In First 15 Seconds -- Tier 1
|
|
95
137
|
|
|
96
|
-
**Checks:**
|
|
97
|
-
**Against:**
|
|
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. **
|
|
102
|
-
- PASS:
|
|
103
|
-
- WARN:
|
|
104
|
-
- FAIL:
|
|
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. **
|
|
107
|
-
- PASS:
|
|
108
|
-
- WARN:
|
|
109
|
-
- FAIL:
|
|
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:
|
|
153
|
+
### DISC-YOUTUBE-03: Crazy Progression In Minutes 1-3 -- Tier 1
|
|
112
154
|
|
|
113
|
-
**Checks:**
|
|
114
|
-
**Against:**
|
|
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. **
|
|
119
|
-
- PASS:
|
|
120
|
-
- WARN:
|
|
121
|
-
- FAIL:
|
|
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. **
|
|
124
|
-
- PASS:
|
|
125
|
-
- WARN:
|
|
126
|
-
- FAIL:
|
|
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:
|
|
170
|
+
### DISC-YOUTUBE-04: Payoff Present In Last 30% -- Tier 1
|
|
129
171
|
|
|
130
|
-
**Checks:**
|
|
131
|
-
**Against:**
|
|
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. **
|
|
136
|
-
- PASS:
|
|
137
|
-
- WARN:
|
|
138
|
-
- FAIL:
|
|
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. **
|
|
141
|
-
- PASS:
|
|
142
|
-
- WARN:
|
|
143
|
-
- FAIL:
|
|
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
|
|
187
|
+
### DISC-YOUTUBE-05: Abrupt End-Screen, No Slow Outro -- Tier 2
|
|
146
188
|
|
|
147
|
-
**Checks:**
|
|
148
|
-
**Against:** Final
|
|
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. **
|
|
153
|
-
- PASS:
|
|
154
|
-
- WARN:
|
|
155
|
-
- FAIL:
|
|
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:
|
|
199
|
+
### DISC-YOUTUBE-06: Description SEO + Chapters -- Tier 2
|
|
158
200
|
|
|
159
|
-
**Checks:**
|
|
160
|
-
**Against:**
|
|
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. **
|
|
165
|
-
- PASS:
|
|
166
|
-
- WARN:
|
|
167
|
-
- FAIL:
|
|
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. **
|
|
170
|
-
- PASS:
|
|
171
|
-
- WARN:
|
|
172
|
-
- FAIL:
|
|
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
|
|
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
|
|
228
|
+
### Long-Form Video Script (5-15 min)
|
|
187
229
|
|
|
188
230
|
```
|
|
189
|
-
[
|
|
190
|
-
{
|
|
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
|
-
[
|
|
193
|
-
{
|
|
238
|
+
[0:05-0:15 — STAKES + PAYOFF TEASE]
|
|
239
|
+
{Why the viewer should care + glimpse of where this lands}
|
|
194
240
|
|
|
195
|
-
[
|
|
196
|
-
{
|
|
197
|
-
[
|
|
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
|
-
[
|
|
201
|
-
{
|
|
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
|
-
[
|
|
204
|
-
{
|
|
251
|
+
[{Last 30%} — PAYOFF ZONE]
|
|
252
|
+
{Deliver the title's promise on screen, then exceed it with one bonus}
|
|
205
253
|
|
|
206
|
-
[END
|
|
207
|
-
{
|
|
208
|
-
[END
|
|
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
|
-
###
|
|
259
|
+
### YouTube Short (≤60 sec) Script
|
|
212
260
|
|
|
213
261
|
```
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
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
|
-
|
|
220
|
-
|
|
221
|
-
|
|
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
|
|
228
|
-
{
|
|
289
|
+
{Target search query in line 1 — what this video covers, ≤150 chars}
|
|
290
|
+
{Line 2: specific takeaway / promise}
|
|
229
291
|
|
|
230
|
-
|
|
231
|
-
0:00 -
|
|
232
|
-
0:30 - {
|
|
233
|
-
3:00 - {Section 2
|
|
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
|
-
|
|
298
|
+
🔗 Links mentioned
|
|
237
299
|
- {Resource 1}: {URL}
|
|
238
300
|
- {Resource 2}: {URL}
|
|
239
301
|
|
|
240
|
-
|
|
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:
|
|
313
|
+
### Good: Thumbnail-Title Pair + Hook + Payoff Land Together
|
|
256
314
|
|
|
257
315
|
```
|
|
258
|
-
Title: "I
|
|
316
|
+
Title: "I Rebuilt Stripe Checkout in 90 Minutes"
|
|
259
317
|
|
|
260
318
|
Thumbnail brief:
|
|
261
|
-
- Element 1:
|
|
262
|
-
- Element 2: Bold text "
|
|
263
|
-
- Element 3: Dark background
|
|
264
|
-
-
|
|
265
|
-
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
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:
|
|
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:
|
|
351
|
+
### Bad: Slow Open, No Progression, No Payoff
|
|
276
352
|
|
|
277
353
|
```
|
|
278
|
-
Title: "
|
|
354
|
+
Title: "Building a Payments App"
|
|
279
355
|
|
|
280
356
|
Thumbnail brief:
|
|
281
|
-
- Element 1:
|
|
282
|
-
- Element 2:
|
|
283
|
-
- Element 3:
|
|
284
|
-
- Element 4:
|
|
285
|
-
- Element 5: Arrow pointing at
|
|
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!
|
|
289
|
-
|
|
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:
|
|
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. **
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
-
|
|
319
|
-
-
|
|
320
|
-
-
|
|
321
|
-
-
|
|
322
|
-
-
|
|
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.
|