# 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.

- **Type:** Skill
- **Install:** `agentstack add skill-yaxeen-storytelling-skills-retention-audit`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [yaxeen](https://agentstack.voostack.com/s/yaxeen)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [yaxeen](https://github.com/yaxeen)
- **Source:** https://github.com/yaxeen/storytelling-skills/tree/main/skills/retention-audit

## Install

```sh
agentstack add skill-yaxeen-storytelling-skills-retention-audit
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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

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

| 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.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [yaxeen](https://github.com/yaxeen)
- **Source:** [yaxeen/storytelling-skills](https://github.com/yaxeen/storytelling-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-yaxeen-storytelling-skills-retention-audit
- Seller: https://agentstack.voostack.com/s/yaxeen
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
