mcpField
R
retention-audit

retention-audit

github.com/yaxeenMarketing & growth1543 installsUpdated 15w ago
Repository

About retention-audit

Retention Audit is a skill for diagnosing video scripts through audience-retention graphs. It helps creators compare an underperforming video with a comparable channel winner, mapping graph changes to script beats and packaging.

Key features

  1. 01Diagnose five retention zones
  2. 02Compare videos in the same channel and format
  3. 03Check thumbnail, title, and first-frame promises
  4. 04Map graph changes to script beats
  5. 05Identify a priority fix for the next video

Use cases

  1. 01Analyze a video with clicks but low watch time
  2. 02Compare a flop with a channel winner
  3. 03Locate script causes of opening drop-offs or mid-video losses

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/yaxeen/storytelling-skills --skill retention-audit

After installing, type/retention-auditin Claude Code to confirm it loaded.

Details

From the project README

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)

ZoneWhereHealthy signFailure means
Cliff0:00–0:30≥65–70% still watchingpackaging↔opening mismatch (confirm-the-click failure)
Intro0:30–2:00slope flatteningthroat-clearing, promise not restated, stakes missing
Body2:00–sagtracks/above typical band; small spikesa loop closed without opening the next; pacing monotone
Sag~40–60% of runtimea visible re-hook bump or held lineno planned re-hook; mid-video drift
Endlast 10%gentle taperfine 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

  1. 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."
  2. 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.)
  3. 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?
  4. 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.
  5. Mark the spikes. List rewatched moments and what structural move each used.
  6. 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

MistakeFix
Judging by end-retention or AVD aloneZone-by-zone against a winner — the cliff decides distribution
Blaming the script for a 0:30 cliffCheck the click triangle first; the body may be healthy
Ignoring spikesSpikes are free R&D — codify what those beats did
Auditing without a baselineSame-channel winner first; typical band only as fallback
One flop = change everythingChange the diagnosed zone only; keep what the graph says worked
Findings without next-video actionsEvery 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.

Comments

Markdown supported