Author the page that hosts a Video Sales Letter: video embed, headline + subhead above the player, buy-button reveal mechanics, supporting copy below the fold, and Method audit footer. Emits brief + paste-ready HTML/CSS.
Use when the user has (or will record) a VSL and needs the page that delivers it to traffic.
Not for the VSL script itself (see /convert vsl) and not for written long-form sales pages (see /convert sales-page).
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Author the page that hosts a Video Sales Letter: video embed, headline + subhead above the player, buy-button reveal mechanics, supporting copy below the fold, and Method audit footer. Emits brief + paste-ready HTML/CSS.
Use when the user has (or will record) a VSL and needs the page that delivers it to traffic.
Not for the VSL script itself (see /convert vsl) and not for written long-form sales pages (see /convert sales-page).
triggers
["vsl page","vsl hosting page","vsl landing page","video sales letter page","page for my vsl","convert vsl-page","buy button reveal"]
negative_triggers
["write me a vsl script","audit my vsl page","just a sales page"]
"The VSL does the selling. The page does three things: get them to press play, hold them while they watch, and put the door right where they expect it the moment they decide."
This skill builds the page that wraps the video. The page applies a compressed Donahoe Method (the video carries most of it), with a deliberate buy-button reveal pattern that respects viewer trust.
When to Use
Trigger phrases: vsl page, vsl hosting page, page for my vsl, buy button reveal, /convert vsl-page <product>.
Use when the VSL script exists (or will exist) and the user needs a page to deliver the video to traffic, with appropriate above-fold framing and below-fold reinforcement.
When NOT to Use
Writing the VSL script → /convert vsl.
Long-form written sales page (no video) → /convert sales-page.
Webinar reg page (different intent - registering for a future event) → /convert webinar-reg.
Checkout → /convert checkout-page.
Auditing existing VSL page → /convert audit.
Inputs
Required:
VSL video URL or embed code - the video that lives on this page.
Product / offer - same brief as convert-sales-page requires.
The one person + The Nerve (One Person Rule).
Reveal mechanic preference - instant, time-delayed, or pixel-tracked. Default: time-delayed at the script's CTA timestamp (typically 13:00 for an 18-minute VSL).
Optional:
Existing VSL transcript - for SEO + accessibility caption block.
Brand colors / logo.
Below-fold proof assets - testimonials, logo bar, screenshots.
out_path - defaults via build_report_path.
Workflow - All Eight Method Phases (compressed; the video carries most of the load)
Phase 0 - Four Questions (call convert-four-questions)
The page's above-fold copy is a 1–2 sentence answer to and . The video answers and .
Why You
Why Me
Why This
Why Now
Phase 1 - Temperature (call convert-temperature)
Page chrome scales with temperature:
Ice Cold/Cool → page should look editorial, not commercial. No buy button visible until reveal. Headline + subhead sets up the video - does not pre-sell.
Warm → headline can hint at the offer.
Hot/Boiling → reveal can be immediate; visible CTA stack below the video from second one.
Phase 2 - Four-Layer Open (call convert-open)
Above-the-player headline = compressed Layer 1 (Nerve Strike). Subhead = Layer 2 + Layer 3 in one line. Layer 4 (Fingerprint) lives in the video, not the page.
Phase 3 - Three Locks Architecture (call convert-three-locks)
The page's Three Locks map:
Want → headline + subhead + the play button itself.
Trust → below-fold logo bar + testimonial block (only revealed alongside the buy button, OR placed below the fold for re-reassurance after the video ends).
Excuse → below-fold guarantee block + FAQ.
Phase 4 - Bullets (call convert-bullets)
Below-fold "what you'll learn in this video" bullet block (4–6 bullets, mixed types). Functions as second-chance hook for viewers who scroll past the player without pressing play.
Phase 5 - Proof (call convert-proof)
Light proof above the video - a single Drive-By credential is enough ("...from the team that's helped 14,000 SMBs ship paid traffic since 2014"). Heavy proof below the fold + after CTA reveal.
Phase 6 - Cascade Close (call convert-close)
The CTA stack below the video is the Cascade Close written down:
Stack (one paragraph)
Vision (one paragraph)
Math (one paragraph)
Safety Net (guarantee block)
Door (the button)
Plus P.S. and P.P.S. below.
Phase 7 - Greased Chute (call convert-chute)
Page-level chute = vertical momentum. Once the viewer scrolls past the video, the below-fold copy must read fast and tight. No walls of text. Open loops at section breaks.
The page voice must match the video's. Mismatched voice between page and presenter is one of the most damaging trust leaks.
The Buy-Button Reveal Mechanic
Three options, in order of trust impact:
Time-delayed reveal (default). Button hidden until [t = video script's CTA timestamp]. JavaScript timer or video player event. The viewer who watches to the natural CTA moment finds the button right there.
Pixel-tracked reveal. Button hidden until video player reports playback reached [t]. Best fidelity. Requires player API access.
Instant reveal. Button visible from page load. Use only for Hot/Boiling traffic - visible CTA on cold-traffic VSL pages reads as desperate.
The reveal is announced in the script ("...click the button below this video right now..."). Page and script must be timed together.
The CTA reveal uses a setTimeout fallback. For pixel-precise reveal, replace with the video player's timeupdate API hook (Wistia, Vimeo, YouTube IFrame API, or Bunny all expose one).
Keep the <header> minimal. The video does the work.
The aria-live="polite" on the CTA wrap announces to screen readers when the button appears.
Lazy-load the iframe; the page should be lightweight enough that the video itself is the slowest thing.
Output Template
# VSL Page - {{PRODUCT}}**One person:** {{NAME}}, {{SITUATION}}
**The Nerve:** {{NERVE}}
**Temperature:** {{LEVEL}}
**Reveal mechanic:** {{TIME_DELAYED|PIXEL_TRACKED|INSTANT}} at {{TIMESTAMP}}
**Offer:** {{PRICE}} / {{COMPONENTS}} / {{GUARANTEE}}
## Phase 0 - Four Questions- Why You / Why Me / Why This / Why Now → answers (Why This + Why Now mostly carried by the video)
## Phase 2 - Above-fold copy-**Headline (Nerve Strike):** "{{H1}}"
-**Subhead (Layers 2–3):** "{{SUBHEAD}}"
-**Drive-By line under player:** "{{DRIVE_BY}}"
## Phase 3–7 - Below-fold copy
- Bullet block: {{4–6 bullets, typed}}
- Trust block: {{2 proof figures}}
- Guarantee block: {{full guarantee text}}
- FAQ: {{3 Q/A pairs}}
- P.S. / P.P.S.: {{recloses}}
## HTML reference
{{HTML_BLOCK}}
## Method coverage report
Method coverage report:
Open: partial - Layer 1 in headline, Layers 2-3 in subhead, Layer 4 lives inside the video; the page itself compresses the open
Three Locks: full - Want above the fold + in bullets, Trust in proof block, Excuse via guarantee + FAQ
Proof: full - Drive-By above the fold, heavier proof block below
Bullets: full - mixed types (Keyhole / Flip / Snapshot / Scar)
Cascade Close: full - Stack / Vision / Math / Safety Net / Door + P.S. + P.P.S. in spec order
Greased Chute: full - short paragraphs, open loops at section breaks, video reveal mechanic supports momentum
Voice Rules: full - first person, no marketing-speak; matches the VSL script voice
Temperature: {{COOL / WARM / HOT}}
Required next step: Run /convert bullshit-filter on this draft before shipping.
The Filter is a SEPARATE pass - this skill cannot grade its own output.
## Notes / Cross-Skill Composition
- This skill expects the VSL script to exist or be commissioned in the same conversation. If it doesn't, call `/convert vsl` first.
- For very cold traffic, consider routing through `/convert bridge-page` first to pre-warm before sending traffic to the VSL page.
- For paid-ads traffic, ensure the ad's promise matches the page headline and the video's open. Mismatch = bounce.
- Do not place a "Skip the video" link on cold-traffic pages. It signals you don't trust your own video.
## Lineage
- VSL hosting page conventions - long-form direct-response TV-to-web conversion canon.
- Slippery-slide below-fold pacing - Sugarman (The AdWeek Copywriting Handbook, 1998).
- Delayed-CTA / consistency-and-commitment psychology - Cialdini (Influence, 1984).
- The Method itself - Wayland-owned operating system.