Author single-purpose opt-in (squeeze) pages: compressed Method, one promise, one form, one CTA. Emits brief + paste-ready HTML/CSS with accessible form markup.
Use when the user wants email addresses in exchange for a single specific promise (lead magnet, waitlist, free training).
Not for full long-form sales pages (see /convert sales-page) or the lead-magnet delivery page (see /convert lead-magnet-page).
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Author single-purpose opt-in (squeeze) pages: compressed Method, one promise, one form, one CTA. Emits brief + paste-ready HTML/CSS with accessible form markup.
Use when the user wants email addresses in exchange for a single specific promise (lead magnet, waitlist, free training).
Not for full long-form sales pages (see /convert sales-page) or the lead-magnet delivery page (see /convert lead-magnet-page).
"A squeeze page has one job. One promise. One field. One button. If anything else is on the page, it's stealing attention from the one thing you asked them to do."
This skill builds a compressed-Method opt-in page: above-fold only, no scroll required, no secondary CTAs.
Use when the goal is email capture in exchange for a single specific promise - a free guide, a waitlist seat, a free training, an early-access invitation.
When NOT to Use
Long-form sales page → /convert sales-page.
Page that delivers the lead magnet after opt-in → /convert lead-magnet-page.
The promise - what specifically does the reader get for their email? Not "tips" - "the exact 6-email cold sequence that's pulled $1.4M for our agency clients."
One person + Nerve (One Person Rule).
Form destination - where does the email post? (ESP endpoint, webhook URL, ConvertKit form ID, etc.)
Post-opt-in destination - where do they land after submit? (Usually the lead-magnet page or a thank-you page.)
Optional:
Brand colors / logo.
Single proof line - one Drive-By or one Receipt to add micro-credibility.
out_path - defaults via build_report_path.
Workflow - All Eight Method Phases (radically compressed)
A squeeze page can be 60–120 words total. Every Method phase still applies - they just collapse to one or two sentences each.
Phase 0 - Four Questions (call convert-four-questions)
Answer the four, then collapse them into a single headline + single subhead. The headline answers Why You. The subhead answers Why This.
Phase 1 - Temperature (call )
convert-temperature
Squeeze pages run cool to warm. For Ice Cold, the squeeze should be reached after a bridge page, not directly. For Hot/Boiling, you can drop the page entirely and use an inline form on the previous asset.
Layer 4 (Fingerprint) lives in a single one-line aside under the button.
Phase 3 - Three Locks (call convert-three-locks)
Want = the headline + the promise.
Trust = one Drive-By proof line below the form.
Excuse = there isn't one - opting in is free, so the Excuse lock pre-opens itself.
Phase 4 - Bullets (call convert-bullets)
3 bullets. ONE Keyhole, ONE Snapshot, ONE Flip - that's it. They sit between the subhead and the form. A squeeze with more than 3 bullets is no longer a squeeze.
Phase 5 - Proof (call convert-proof)
One line. Drive-By format. "From the team that's helped 14,000 SMBs ship paid traffic since 2014." That's the entire proof budget.
Phase 6 - Cascade Close (call convert-close)
The form is the close. Button label IS the door. Use the Door + Vision patterns: button copy paints the state, not the action.
✗ "Submit" / "Sign up"
✓ "Send me the guide" / "Get the cold-email sequence" / "Reserve my seat"
Phase 7 - Greased Chute (call convert-chute)
There's no scroll, so chute = eye flow. Headline → subhead → bullets → form → proof line → reassurance line. The eye must move from one to the next without bouncing.
Phase 8 - Voice + Bullshit Filter
Squeeze copy is the most exposed copy you'll write because it's so short. Every word is load-bearing. Read aloud twice.
Method coverage report:
Open: partial - Layer 1 in headline, Layers 2-3 compressed into the subhead; Layer 4 (Fingerprint) lives across the asset chain, not on this page
Three Locks: partial - Want lock open via headline + bullets; Trust micro-loaded by 1 Drive-By line; Excuse not applicable (free opt-in pre-opens it)
Proof: partial - one Drive-By line only; full proof block is downstream
Bullets: partial - 3-5 max, Keyhole + Snapshot only (Flip and Scar omitted at this scale)
Cascade Close: partial - Door (the button) with Vision in the label; Stack / Math / Safety Net not applicable on a free opt-in
Greased Chute: full - vertical eye flow, headline → subhead → bullets → form, single viewport on mobile
Voice Rules: full - first person, contractions, no marketing-speak
Temperature: {{COOL / WARM}}
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
- For Ice Cold traffic, route through `/convert bridge-page` *first*, then send to this squeeze. Direct Ice Cold → squeeze conversion rates collapse because the reader hasn't been decompressed enough to take even a low-friction action.
- The post-submit page should be the lead-magnet delivery page (`/convert lead-magnet-page`) or a thank-you page (`/convert thank-you-page`) with a secondary offer. Either way, the post-submit URL is part of the squeeze brief - never leave it as "default thank-you" because that's where downstream LTV is built.
- Avoid name-and-email forms unless personalization is absolutely required downstream. Single field beats two fields by 10–25% in most tests. If you must capture a name, ask for it in the welcome email instead - same data, lower opt-in friction.
- The button label is the most under-leveraged conversion lever on a squeeze page. "Send me the guide" beats "Submit" by an embarrassing margin. Make the label the **state** the reader wants ("Show me the system," "Reserve my seat") not the **action** of submitting a form.
- A privacy line that says "we hate spam too" reads as suspicious. The cliché itself raises doubt. Better: "One short email per week. Unsubscribe anytime." Specific beats generic.
- Mobile is where most squeeze pages die - the form sits below the fold on smaller phones. Test on a real device. The headline + subhead + bullets + form should all fit in the first viewport on a 375×667 screen, or you're losing 30%+ of mobile traffic before they even see the button.
## Failure modes to watch
A squeeze page can fail in exactly four ways. Walk this checklist before shipping:
1. **The promise is vague.** "Tips for growing your business" is not a promise - it's a category. *"The exact 6-email cold sequence that's pulled $1.4M for our agency clients"* is a promise. If the reader can't paraphrase the promise back in one sentence, the promise is too vague.
2. **The bullets are clever instead of specific.** Clever bullets that depend on wordplay underperform specific bullets that name a number, a page, or a person. Lead with the specific.
3. **The button label is generic.** "Sign up," "Submit," "Continue" - all dead. Replace with a Vision-flavored label that previews the post-opt-in state.
4. **The proof line is missing.** Even one Drive-By line under the form lifts conversion measurably on cold-to-cool traffic. Don't ship without it.
## Lineage
- Single-promise framing - Halbert direct-mail canon (Boron Letters, 1984).
- Headline mechanics - Caples (Tested Advertising Methods, 1932).
- Awareness-level fit (squeeze typically targets levels 2–3) - Schwartz (Breakthrough Advertising, 1966).
- The Method itself - Wayland-owned operating system.