Install in Claude Code
Copygit clone --depth 1 https://github.com/FerroxLabs/wayland /tmp/convert-oto-page && cp -r /tmp/convert-oto-page/resources/bundled-extensions/business-conversion/skills/convert-oto-page ~/.claude/skills/convert-oto-pageThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
# Convert OTO Page - One-Time Offer
> *"They just bought. The buying brain is open. You have one shot to offer them something that genuinely makes the first thing better. If you waste this moment with a bait-and-switch, the refund email arrives by Tuesday."*
This skill builds the post-checkout One-Time Offer page - Method-applied, conversion-tight, ethically framed.
## When to Use
Trigger phrases: `oto page`, `one-time offer page`, `upsell page`, `post-purchase upgrade`, `/convert oto <product>`.
Use when:
- The user just purchased a flagship offer.
- An additional product or upgrade exists that genuinely complements what they bought.
- The user wants to convert this moment without breaking trust.
## When NOT to Use
- **OTO recovery (the page they see if they decline)** → `/convert downsell-page`.
- **Different-product upsell (later in the customer relationship)** → `/convert cross-sell-page`.
- **Pre-purchase sales page** → `/convert sales-page`.
- **Auditing existing OTO** → `/convert audit`.
## Inputs
Required:
1. **The flagship product** - what they just bought (you have to reference it specifically).
2. **The OTO product** - what's on this page. Must genuinely complement.
3. **Price + scarcity** - *real* one-time pricing. If they can find it elsewhere at the same price, the urgency is fake and the page fails.
4. **One person + Nerve** - same as flagship's brief.
5. **Accept URL** (one-click upgrade if billing supports it) and **Decline URL** (next step in the funnel).
Optional:
- **Existing flagship sales page** - for voice continuity.
- **`out_path`** - defaults via `build_report_path`.
## Workflow - All Eight Method Phases (post-purchase compressed)
The buyer is warm-to-hot. Trust is mostly already established. The page is short - 400–800 words. The Excuse lock does most of the work.
### Phase 0 - Four Questions
Reframed for post-purchase:
- **Why You?** - Why does the OTO matter for the *specific* purchase they just made?
- **Why Me?** - Already mostly answered. Light Drive-By only.
- **Why This?** - What does the OTO add that the flagship can't, and why is it the right next step?
- **Why Now?** - *Real* one-time-only reason. Bundling logistics, capacity, pricing transition. Never fake.
### Phase 1 - Temperature
Post-purchase = **Boiling-adjacent**. They already trusted you with their money. Page length 400–800 words. Direct, not pitchy.
### Phase 2 - Four-Layer Open (call `convert-open`)
Compressed:
- Layer 1 = a specific *thank-you-and-pivot* line that names the purchase.
- Layer 2 = the side-door pivot to the OTO.
- Layer 3 = light Skin in the Game (often "the question I always get next is...").
- Layer 4 = your Fingerprint as a one-line aside.
### Phase 3 - Three Locks
- **Want** = the upgrade itself, framed as completion of the flagship.
- **Trust** = mostly inherited. One micro-proof line.
- **Excuse** = the bulk of the page. Math: "what they save in time / mistakes / dollars."
### Phase 4 - Bullets
5–7 bullets. Mostly Snapshot + Keyhole. The Flip is risky here (don't undermine the flagship they just bought).
### Phase 5 - Proof
One Anecdote ("after I added this to the program, the average customer's results jumped from X to Y..."). One Drive-By. Done.
### Phase 6 - Cascade Close
- Stack - what's added, conversationally.
- Vision - paint where the OTO takes them beyond the flagship's outcome.
- Math - the numbers (time saved, results lifted, dollar comparison).
- Safety Net - usually inherits the flagship's guarantee, plus a no-questions cancel option.
- Door - the Yes button.
Plus a **No, thanks** decline link (small, plain text, below the button - not styled as a button).
### Phase 7 - Greased Chute
Short paragraphs. Open loop into the price reveal. Decline link should not be the visual anchor.
### Phase 8 - Voice + Bullshit Filter
The biggest filter test for OTO copy: *"Is this offer real, or am I manufacturing a moment to extract more money?"* If the answer isn't "this genuinely makes their first thing better," kill the OTO. Trust matters more than the marginal AOV.
## Section Architecture
| # | Section | Purpose |
|---|---------|---------|
| 1 | Receipt-of-purchase confirmation | Anchor what they just bought |
| 2 | Compressed Open (3–4 sentences) | Pivot to the OTO |
| 3 | The promise (one paragraph) | Want lock |
| 4 | 5–7 bullets | Make the upgrade tangible |
| 5 | One proof beat | Trust lock |
| 6 | Stack + price + math (Excuse lock) | Cascade Close core |
| 7 | Yes button + plain No-thanks link | Door + decline path |
| 8 | One-line P.S. (optional) | Reclose if room |
## HTML/CSS Reference Implementation
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Add this before you go - {{BRAND}}</title>
<meta name="description" content="{{META_DESCRIPTION}}">
<meta property="og:title" content="{{HEADLINE}}">
<meta property="og:description" content="{{META_DESCRIPTION}}">
<meta property="og:type" content="website">
<style>
:root{--ink:#0e1116;--ink-soft:#3a3f47;--paper:#fbfaf6;--accent:#1f7a3a;--accent-ink:#fff;--rule:#e6e2d8;--max:680px}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font:18px/1.55 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper)}
main{max-width:var(--max);margin:0 auto;padding:24px 20px 80px}
.receipt{background:#fff;border:1px solid var(--rule);padding:14px 16px;border-radius:6px;font-size:14px;color:var(--ink-soft);margin:0 0 24px}
h1{font-size:clamp(24px,4.5vw,34px);line-height:1.18;margin:0 0 14px}
h2{font-size:22px;margin:32px 0 12px}
p{margin:0 0 16px}
ul.bullets{list-style:none;padding:0;margin:0 0 24px}
ul.bullets li{padding:8px 0 8px 26px;position:relative;border-bottom:1px solid var(--rule)}
ul.bullets li::before{content:"";position:absolute;left:6px;top:16px;width:8px;height:8px;backgrMore from this repository
architectureSkill
|
bump-versionSkill
Use when bumping the Wayland version: update package.json, run checks, branch, commit, push, create PR, wait for merge, tag release.
fix-issuesSkill
|
fix-sentrySkill
|
i18nSkill
|
oss-prSkill
Use when creating a pull request, after committing changes, or when user invokes /oss-pr. Covers branch management, quality checks, commit, push, and PR creation.
pr-automationSkill
|
pr-fixSkill
|