Retention audit
Use when diagnosing why a published video underperformed — reading a YouTube retention graph, comparing a weak video against a winner, or mapping audience drop-off points to script beats. For writing the next script, use storytelling-hooks or long-form-youtube.From its SKILL.md
npx -y skills add yaxeen/storytelling-skills --skill retention-auditAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.6 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Retention Audit
- A retention graph is the story's autopsy: every drop is a moment the script broke a promise, every spike is a beat viewers rewound to see again.
- Audit by zones, not by staring at the whole line — each zone has its own failure causes and its own fix.
- Always diagnose against a baseline: the same channel's best comparable video (same length/format). Absolute numbers mislead; the gap between winner and loser is the finding.
- Built on the six levers — see storytelling-hooks. Recap: 1. Curiosity gap · 2. Emotional mirror · 3. Conflict engine · 4. Relatability · 5. Pattern + surprise · 6. Three-act.
When to Use
- A video got clicks but died (decent CTR, low average view duration).
- YouTube stopped recommending a video after its first test batch.
- Comparing a flop against the channel's winners to find what broke.
- Any niche; needs the retention graph (screenshot is fine), the script or beat outline, and ideally one winner's graph.
Intake (Before Auditing)
- Get: this video's retention graph + length, the script or beat list with rough timestamps, CTR and impressions if available, and a winner's graph from the same channel/format.
- Also get the thumbnail + title + the video's first frame — the #1 retention killer lives in that triangle, not in the script.
- Missing the winner baseline? Use the gray "typical retention" band as a weak substitute and say so.
- No graph, no audit. Never estimate or invent retention numbers — ask for the screenshot; offer only hypothesis-level guesses clearly labeled as such.
The Five Zones (Quick Reference)
| Zone | Where | Healthy sign | Failure means |
|---|---|---|---|
| Cliff | 0:00–0:30 | ≥65–70% still watching | packaging↔opening mismatch (confirm-the-click failure) |
| Intro | 0:30–2:00 | slope flattening | throat-clearing, promise not restated, stakes missing |
| Body | 2:00–sag | tracks/above typical band; small spikes | a loop closed without opening the next; pacing monotone |
| Sag | ~40–60% of runtime | a visible re-hook bump or held line | no planned re-hook; mid-video drift |
| End | last 10% | gentle taper | fine unless a cliff — outro started too early |
- Timestamp boundaries assume ~10–12 min videos; scale the intro/body boundaries proportionally for other lengths — the 0:00–0:30 cliff stays fixed regardless of runtime.
- Spikes = rewatch beats. Mark them: those are the moments that worked — reuse their structure in future scripts.
- The most common pattern: steep cliff + healthy body = the video was fine, the first minute betrayed the click. Fix packaging/opening, not the story.
Audit Workflow
- Overlay the comparison. Note the winner-vs-loser gap at 0:30, 1:00, 2:00. If the gap is born in the first minute, the diagnosis is almost never "bad content."
- Check the click triangle. Thumbnail promise vs title promise vs actual first frame/line. Any mismatch = the cliff's cause. (Winner channels show the same world in thumbnail and frame one.)
- Map drops to beats. Put the script's beats on the timeline; for each visible dip, name the beat that was playing. Ask: did this beat close a loop without opening one? Sag without a re-hook? Tension the audience didn't come for?
- Check the channel formula. Compare the flop's premise against the winners' shared pattern (subject type, resolution type, emotional promise) — use channel-formula to extract it if it isn't written down yet. A technically good story that breaks the channel's core promise still dies — audience expectation beats craft.
- Mark the spikes. List rewatched moments and what structural move each used.
- Deliver findings — for each: timestamp zone, what the graph shows, the script beat responsible, the cause, the fix. End with the single highest-leverage change for the next video, and feed the result back into the channel's profile (channel-formula) if one exists.
Common Mistakes
| Mistake | Fix |
|---|---|
| Judging by end-retention or AVD alone | Zone-by-zone against a winner — the cliff decides distribution |
| Blaming the script for a 0:30 cliff | Check the click triangle first; the body may be healthy |
| Ignoring spikes | Spikes are free R&D — codify what those beats did |
| Auditing without a baseline | Same-channel winner first; typical band only as fallback |
| One flop = change everything | Change the diagnosed zone only; keep what the graph says worked |
| Findings without next-video actions | Every finding ends in a concrete instruction for the next script |
Audit Checklist
- Winner baseline (or typical band) overlaid?
- 0:30 / 1:00 / 2:00 gaps measured?
- Click triangle (thumbnail–title–first frame) checked for mismatch?
- Every visible dip mapped to a named script beat?
- Premise checked against the channel's winning formula?
- Rewatch spikes catalogued?
- One highest-leverage fix named for the next video?
Related
- channel-formula — extracts the winning pattern the flop is checked against; each audit feeds the profile back.
- long-form-youtube — the structure this audits ("confirm the click", sag-point re-hook).
- titles-and-thumbnails — fixes for click-triangle mismatches.
- storytelling-hooks — the levers behind every beat.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.