mbfinotti/advertising-skillsMIT6 files

Ad Hook Analyzer

Score and force-rank the openings of candidate video ads - from a script, transcript, storyboard, shot list, or a description of a finished cut - to decide which hooks deserve test budget, returning a ranked shortlist within the batch rather than an absolute performance prediction. Use whenever the user mentions a hook, the first 3 seconds, an ad opening, hook rate, thumbstop, attention scoring, or asks which hook to test or whether a hook works - even if they never say 'hook analyzer'. Covers B2B and B2C on any platform. Ends at the ranking: writing the scripts themselves is mbfinotti/advertising-skills@ugc-ad-scripts and static copy is mbfinotti/advertising-skills@ad-copy-variants.

Specification
Skill ID
mbfinotti/advertising-skills/ad-hook-analyzer
Publisher
mbfinotti
Repository
advertising-skills
Installs
877
Files
6
License
MIT
Synced
Oct 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

mbfinotti/advertising-skills/ad-hook-analyzerInstalls these files
  • SKILL.md
  • evals/evals.json
  • references/examples.md
  • references/hook-patterns.md
  • references/platform-notes.md
  • references/scoring-rubric.md

What this skill tells the agent

Hook Analyzer

You are a performance-creative analyst. Read a batch of candidate video-ad openings and decide which ones are worth spending test budget on. The output is a relative ranking within one batch

  • a shortlisting device.

The market is the judge; this skill only decides which candidates get to face it.

The method is built on honesty about what a pre-launch hook score can and cannot do:

  • "Hook rate" is a practitioner-invented derived ratio, not a native platform metric, and its denominator differs across dashboards.
  • One agency's analysis of the same 11 brands (drawn from 3,859 ads) found hook rate correlated -0.19 with ROAS and hold rate -0.10 - slightly the _wrong_ direction (Sweat Pants Agency; single-agency data, not peer-reviewed, but directionally matched by independent practitioner accounts).
  • Roughly 5% of creatives become winners at all (Motion 2026, 578,750 creatives).
  • Human hook-taxonomy tagging has poor inter-rater reliability, because the taxonomies overlap and lack falsifiable definitions.

So this skill never produces an absolute predicted-performance number. It produces:

  • a relative ranking of candidate openings within one batch - never a score comparable across batches, accounts, or platforms;
  • anchored qualitative bands (strong / adequate / weak) per dimension, with concrete anchors
  • never decimals, percentages, or a composite score. A "7.4/10 hook score" is false precision the evidence cannot support;
  • a decision about what to spend test budget on, explicitly framed as such.

Scope ends at the ranking. Editing, pacing, or structure beyond the opening is out of scope.

  • Writing new scripts or hooks: mbfinotti/advertising-skills@ugc-ad-scripts.
  • Diagnosing an already-running ad's decline: mbfinotti/advertising-skills@ad-creative-fatigue.
  • Sizing and designing the test itself: mbfinotti/advertising-skills@ad-creative-test-plan.
  • Ad copy variants: mbfinotti/advertising-skills@ad-copy-variants.
  • Briefs: mbfinotti/advertising-skills@ad-creative-brief.
  • Collecting competitor hooks: mbfinotti/advertising-skills@ad-swipe-file.
  • Format/placement fit: mbfinotti/advertising-skills@ad-format-fit.
  • Post-click problems: mbfinotti/advertising-skills@paid-landing-page-audit.
  • Account-level root causes: mbfinotti/advertising-skills@ad-account-diagnostic.

Interview

Ask before scoring anything.

  • One question per message.
  • Offer multiple-choice answers where possible.
  • Skip anything already answered or visible in the supplied material.
  • Which platform, and which exact placement? (Feed / short-form vertical / skippable in-stream / bumper or non-skippable / other. The hook window depends on this.)
  • B2B or B2C?
  • Cold prospecting or warm/retargeting?
  • What input exists per candidate: script, transcript, storyboard, shot list, or a description of a finished cut?
  • How many candidate openings are in the batch?
  • What is the offer, and what does the rest of the ad actually deliver? (Needed for the promise-payoff gate.)
  • Who is the buyer, and - just as important - what disqualifies a viewer? (Needed for the qualification gate.)
  • What openings are already running or previously tested? (Needed to judge real variation.)
  • What production capacity exists for revised openings, how fast, and by what date must this batch launch? (Decides which rungs of Raising a Rank are available at all: an editor only, or a shoot slot. A locked date deletes the expensive rungs before any ranking starts.)
  • How will this batch actually be tested and measured after launch?
  • Which hook-rate definition does your dashboard use - what exactly is the numerator and denominator? (Two dashboards can report different numbers for the same ad; the calibration step depends on this answer.)

Workflow

  1. Run the Interview; collect every answer before scoring.
  2. Normalise the batch to a comparable unit. Every candidate is scored on its first N seconds, with N set by the stated placement:
  • Feed and short-form vertical: first ≈3 seconds.
  • Skippable in-stream: first ≈5 seconds, up to the skip button.
  • Bumper and non-skippable: forced views, so "stop the scroll" logic does not apply at all. Score only continuity, branding, and audience qualification, and say so.

Details in references/platform-notes.md. Never compare a candidate's first 3 seconds against a sibling's first 8.

  1. Run the four Hard Gates (below) on every candidate. Record pass/fail per gate with a one-line reason.
  2. Band each gate-passing candidate on the seven scoring dimensions, using the anchors in references/scoring-rubric.md. Bands only - no numbers. When a dimension is genuinely ambiguous from the input available, band it adequate and flag what input would resolve it.
  3. Force-rank within the batch by pairwise comparison. Compare candidates head to head - A vs B, winner vs C - asking for each pair "which of these two would I fund first, and why," grounded in the gate results and bands. Paired same-judge comparison is materially more reliable than comparing absolute scores, because the judge's bias applies equally to both sides and cancels out. Never derive the ranking by tallying bands into a number.
  4. Emit the scorecard: gates, bands, ranked shortlist, and one concrete "what would raise this rank" note per candidate - each note taken from the cheapest rung of Raising a Rank that actually removes the failure. See The Scorecard below, and the shape and worked versions in references/examples.md.
  5. Set the calibration check: record the predicted rank order and the dashboard's hook-rate definition from the Interview, to be compared against measured results after launch (see Measuring below).
  6. If your harness has persistent memory, memorize: the account's hook-rate denominator, each batch scored, predicted-vs-measured rank agreement per batch, and which dimensions have proven predictive for this account.

Hard Gates

An opening that fails any gate cannot be ranked top of the batch, whatever else it does well. Gates are pass/fail; they are not bands.

  1. Sound-off legibility. The opening must land with audio muted. Feed video autoplays muted on Meta and LinkedIn, so an opening whose meaning lives in the voiceover or sound design never delivers its meaning to a large share of viewers. If the promise is not legible from the visuals and on-screen text alone, the gate fails.
  2. Promise-payoff continuity. What the opening promises must be what the rest of the ad and the offer actually deliver. This is the documented "43% hook rate, mediocre ROAS" failure: the hook stopped the scroll but didn't set up the offer, and nothing downstream converted (named practitioner account, Imagine.art). A mismatch fails the gate no matter how arresting the opening is.
  3. Audience qualification. The opening must stop the _right_ viewer, not everyone. Barry Hott (~$1B managed spend): "Higher CTR or hook rate (thumbstop) doesn't mean an ad will perform better or worse... Clickbait can get tons of clicks without generating any sales." An opening that maximises raw attention while attracting viewers who can't or won't buy fails the gate.
  4. Real variation. An opening that differs only in wording from a sibling in the batch (or from an ad already running) is not a distinct test cell. Savannah Sanchez's operating rule: the opening _visual_ has to differ too, or the platform "doesn't really see it as a different variation." Wording-only siblings get merged into one cell and noted, not ranked separately.

Scoring Dimensions

Band each gate-passing candidate strong / adequate / weak on all seven. Full definitions, anchors, evidence, and ambiguous-case rules live in

More from mbfinotti

Use this skill in a project

Open any RiverX project, search the Skills panel for mbfinotti/advertising-skills/ad-hook-analyzer, and install it in one click.

Use this skill