# Notion Listing Copy

> Generates platform-optimized listing copy for any Notion template — titles, descriptions, CTAs, DM scripts, tags, and affiliate blurbs. Trigger when user says: "write listing copy", "write my product description", "create the listing", "make copy for my template", "write my Whop/Gumroad description", "Skill 5", or "I want to sell this template now". Always runs AFTER Skill 3 + 4. Reads the Notion page, extracts everything needed, outputs ready-to-paste copy blocks per platform. No Notion writes. Text only.

- Skill: `ralf-claude-skills/notion-listing-copy` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ralf-claude-skills/notion-listing-copy`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ralf-claude-skills/notion-listing-copy/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: ralf-claude-skills (https://skillmd.com/u/ralf-claude-skills)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/ralf-claude-skills/notion-listing-copy

---


# Notion Listing Copy — Skill 5

## Role
Read the furnished Notion template → extract core promise, buyer pain, outcome, and
differentiator → write conversion-optimized listing copy for every relevant platform.

Primary angles (always applied, in this order of priority):
1. **Pain-first** — open by naming the exact frustration the buyer is living right now
2. **Shortcut-first** — position as the thing that skips the hard part entirely

Output = ready-to-paste text blocks. Nothing to rewrite. Nothing generic.

---

## Step 0: Read the template

Call `notion-fetch` on the parent page ID from Skill 4.
Also fetch the "Seller Copy — Do Not Publish" subpage if it exists.

Extract these 10 signals — every single one:

```
NAME:         Template name
AUDIENCE:     Specific person (job title / life situation / exact context)
PAIN:         The frustration in their exact words — not marketing language
DAILY_FAIL:   What they do wrong every day without this template
OUTCOME:      What is measurably different after 7 days — specific, not vague
SHORTCUT:     What this eliminates (the spreadsheet, the mental load, the anxiety)
FEATURES:     DB names + key view names — plain language
DIFFERENTIATOR: Why this over the 10 free alternatives on Notion Gallery
PRICE_USD:    From seller copy subpage or ask user
UPSELL:       Next logical template name from seller copy subpage
```

If Seller Copy subpage missing → derive from parent page content.
If price missing → ask: "What's your USD price?"

---

## Step 1: Build the copy DNA

Lock these 6 elements before writing a single word of copy.
Everything written in Steps 2–3 must trace back to one of these.

### A. The Hook Formula Bank
Generate 3 hook variants. Use one per platform, rotate across A/B tests.

**Formula 1 — The Daily Fail:**
"[Audience] [specific thing they do daily that creates the problem]."
Example: "Freelancers send invoices and then open their email every two weeks hoping
someone paid."

**Formula 2 — The Invisible Loss:**
"Every [time period], [audience] [loses something specific] and doesn't notice until
it's too late."
Example: "Every month, job seekers lose offers they were qualified for — not from bad
interviews, but from forgetting to follow up."

**Formula 3 — The Embarrassing Truth:**
"Most [audience] [embarrassing admission about their current system]."
Example: "Most freelancers' invoicing system is a spreadsheet they stopped updating
in February."

### B. The Shortcut Statement
"Instead of [painful thing they do now], [template name] [specific thing it does instead]."
This must be one sentence. Concrete. Time-anchored if possible.

### C. The Outcome Statement
"After [X days] using this, you will [specific measurable change] — not because you
worked harder, but because the system does [specific thing] for you."

### D. The Differentiator Line
"Unlike [free alternatives / generic trackers / spreadsheets], this [specific unique
mechanic or view or field that nothing else has]."
Extract the differentiator from the template's most unique DB or view.

### E. The Proof Hook
One concrete, specific ROI claim. Not vague.
Bad: "saves you time"
Good: "one recovered invoice pays for this 100x over"
Good: "one offer you don't lose covers this 500x"
Derive from the DAILY_FAIL and OUTCOME signals.

### F. The Objection Crusher
Anticipate the #1 reason buyer hesitates. Pre-empt it in copy.
Common objections by niche:
- "I could just use a spreadsheet" → "You could. But you won't update it past week 2. This runs itself."
- "I don't know how to use Notion" → "You don't need to. Open it, delete the sample data, add your first row. That's the whole setup."
- "Is this worth the price?" → [Proof hook + outcome statement]
- "I can find this free somewhere" → [Differentiator line + what free ones are missing]

---

## Step 2: Select platforms by niche

Always include: Whop, Gumroad, UPI Direct, Notion Gallery, all 5 Notion marketplaces.
Add additional platforms based on niche signals from DB names + audience:

| Niche signal | Add these platforms |
|---|---|
| Students, academics, learning | Topmate, Payhip, Gumroad (free tier) |
| Indian audience, ₹ price | Topmate (priority), Instamojo |
| Freelancers, solopreneurs | Topmate, Payhip, AppSumo |
| Productivity, personal systems | AppSumo, Topmate |
| Business, teams, B2B | AppSumo, Gumroad (primary) |
| Content creators | Gumroad (primary), Topmate |
| Health, wellness, habits | Topmate, Payhip |
| Finance, money, investing | Gumroad (primary), Payhip |

**INR pricing by niche purchasing power:**
- Students / habit trackers: $9→₹749, $15→₹999
- Freelancers / creators: $19→₹1,499, $25→₹1,999
- Business / productivity: $29→₹2,399, $39→₹2,999
- Round to clean number. Never use ₹1,577 or similar.

---

## Step 3: Write copy per platform

### 🟣 WHOP

**Title A** (60 chars max — pain angle):
"[Pain word] No More: [Outcome] for [Audience]"

**Title B** (60 chars max — shortcut angle):
"[Audience]'s [System Name] — Skip [Hard Thing], [Get Outcome]"

**Tagline** (100 chars max):
Hook Formula 1 or 2, compressed to one punchy line.

**Description** (150–200 words, 5-part structure):

```
[HOOK — Hook Formula 1, 2, or 3. One sentence. No period at the end of the first line.]

[SHORTCUT STATEMENT — what this replaces and how fast]

[WHAT'S INSIDE — 4 bullets max, benefit-framed, not feature-framed:]
→ [DB/view] — [what the buyer gets from it, not what it "contains"]
→ [DB/view] — [what the buyer gets from it]
→ [DB/view] — [what the buyer gets from it]
→ [DB/view] — [what the buyer gets from it]

[DIFFERENTIATOR LINE — why not the free ones]

[PROOF HOOK + CTA]
```

**CTA A** (outcome): "Start [verb]ing like a pro →"
**CTA B** (direct): "Get instant access →"
**CTA C** (shortcut): "Skip the setup, get the system →"

**Tags** (10, what buyers actually type into search):
- 3× problem terms ("freelance invoice tracker", "job search notion")
- 3× tool terms ("notion template", "notion system")
- 2× audience terms ("for freelancers", "for career switchers")
- 2× outcome terms ("follow up tracker", "invoice follow up")

---

### 🟠 GUMROAD

Gumroad buyers read more. Long-form works. Use it.

**Title** (outcome-first variant of Whop title)

**Description** (200–300 words, 7-part structure):

```
**[Bold transformation headline — not "introducing", not "meet"]**

[THE DAILY FAIL — 2 sentences in buyer's internal voice. First person works here.
"I know I should follow up. I just... don't have a system for it."]

[THE COST OF NOT FIXING IT — 1 sentence. Specific loss. Not abstract.]

[THE SHORTCUT — 2 sentences: what this replaces, why it actually works this time]

**What's inside:**
• [DB name] — [buyer benefit, not feature description]
• [DB name] — [buyer benefit]
• [DB name] — [buyer benefit]
• [view name] — [specific moment this view solves]

**This is for you if:**
• [Audience signal 1 — specific]
• [Audience signal 2 — specific]
• [Audience signal 3 — specific]

**This is NOT for you if:**
• [Exclusion that builds trust — e.g. "You want a pretty dashboard to screenshot, not a system you actually use"]

[OBJECTION CRUSHER — 1–2 sentences pre-empting the #1 hesitation]

[PROOF HOOK] [GUARANTEE: "If you open this and don't immediately see how it solves the problem, email me."]

[CTA]
```

**Short pitch** (2 sentences for Gumroad social sharing card — pain then outcome):

---

### 📱 UPI DIRECT — Instagram + WhatsApp

**Instagram caption** (for feed post or reel description):

```
[HOOK LINE — Hook Formula 2 or 3. No period. Pattern interrupt.]
[blank line]
[DAILY FAIL EXPANSION — 2 lines. Relatable. Specific. Not preachy.]
[blank line]
[SHORTCUT STATEMENT — 2 lines. What the template does. Plain language.]
[blank line]
[PROOF HOOK — 1 line. Specific ROI claim.]
[blank line]
DM me "[KEYWORD]" and I'll send it over 👇
[blank line]
[15 hashtags — 5 niche-specific, 5 audience-specific, 5 broad reach]
```

**WhatsApp / DM response script — 3 versions:**

Version 1 — Buyer seems ready:
```
Hey [Name]! 👋

[Template Name] is a Notion system built specifically for [audience in 6 words].

Here's what it gives you:
→ [Outcome 1 — specific, not vague]
→ [Outcome 2 — specific]
→ [Outcome 3 — specific]

Price: ₹[INR] — one time, lifetime access. No subscription ever.

To get it:
1. Send ₹[INR] to [UPI ID]
2. Screenshot the payment confirmation
3. DM me the screenshot
4. I'll send the Notion link within 15 minutes

Any questions? Happy to answer 🙂
```

Version 2 — Buyer seems hesitant ("is this worth it?"):
```
Totally fair question.

Here's the honest answer: [Proof hook stated plainly].

And [Differentiator line — why not just use the free ones].

The system takes 10 minutes to set up. After that it runs itself.

₹[INR] one time. If you open it and don't see the value immediately, DM me and
I'll refund you. No questions.

Want me to send it?
```

Version 3 — Buyer asks "can't I just use a spreadsheet?":
```
You could — and you probably already have one.

[Objection crusher — why the spreadsheet fails specifically for this use case].

That's the exact problem this solves. It's not a fancier spreadsheet.
It's a [specific system mechanic that makes the difference].

₹[INR]. Want to try it?
```

**Instagram Story — 3-slide sequence:**

```
Slide 1 — PAIN (5 words max headline):
"[Pain in 5 words or less]"
"[Consequence in 8 words]"

Slide 2 — SOLUTION:
"[Template Name]"
"[Outcome in 8 words]"
"₹[INR] — one time"

Slide 3 — CTA:
"DM me [KEYWORD]"
"Get it in 15 minutes"
[Poll sticker: "I need this" / "Tell me more"]
```

---

### 🔲 NOTION GALLERY (Official — free listing)

Free. Drives discovery. Primary purpose: capture buyer, redirect to Whop/Gumroad.

**Title**: Same as Whop Title A
**Short description** (150 chars hard limit — outcome-first, zero fluff):
**Category tags**: Select from: Personal / Work / Education / Project Management /
Task Management / Health & Wellness / Finance / Content Creation / Engineering /
Design / Marketing / Sales / HR / Student / Freelance

---

### 🏪 NOTION MARKETPLACES
Notionery · Notioneverything · Prototion · Notionplaza · The Notion Corner

All affiliate-based. Upload once. They promote to their audience. Submit to all 5.
Each takes a cut — offer 40% affiliate commission to stand out from other sellers.

**Submission description** (100–150 words, paste into all 5):

```
[HOOK — Hook Formula 1]
[SHORTCUT STATEMENT]

What's inside:
• [DB — buyer benefit]
• [DB — buyer benefit]
• [DB — buyer benefit]

Built for: [audience in one line]

[DIFFERENTIATOR LINE]

[PROOF HOOK]
```

**Affiliate pitch** (include in every submission email):
"Happy to offer 40% affiliate commission on every sale you drive. I keep the template
updated and add new features regularly — your buyers stay happy long-term. Let me know
your preferred setup."

---

### 🇮🇳 TOPMATE

UPI-native. Indian creators. Buyers expect specificity and practical framing.

**Title**: [Template Name] — [4-word outcome in plain language]

**Description** (100–150 words):

```
[PAIN — 1 sentence, specific to Indian professional context where relevant]

[SHORTCUT — 2 sentences. What it replaces. How fast.]

What you get:
→ [Outcome 1 — specific]
→ [Outcome 2 — specific]
→ [Outcome 3 — specific]

Built for: [specific audience]

[DIFFERENTIATOR LINE]

Price: ₹[INR] — one time. No subscription. Instant access after payment.

[CTA: "Get it now →"]
```

---

### 🟢 APPSUMO
(Include only if niche = productivity / freelance / business / content / team)

AppSumo buyers are deal-hunters. They compare to paid SaaS tools.
Frame as: "lifetime alternative to [expensive tool they already pay for monthly]."

**Title**: [Template Name] — [Outcome] | Lifetime Access

**Description** (200 words, AppSumo format):

```
[HOOK — shortcut-first: "Stop paying $X/month for [tool]. This does [same job] for [$price] once."]

[WHAT IT DOES — 3 sentences. Feature-forward but anchored to outcomes.]
[DIFFERENTIATOR — why not the free Notion templates already out there]

**What's included:**
✓ [DB — with specific benefit]
✓ [DB — with specific benefit]
✓ [DB — with specific benefit]
✓ [Key view — specific use case it solves]

**Perfect for:**
→ [Audience type 1]
→ [Audience type 2]
→ [Audience type 3]

**This is a one-time purchase:**
One payment. Yours forever. All future updates included. No subscription. No upsell.

[PROOF HOOK]

[CTA: "Get lifetime access →"]
```

---

## Step 4: Self-audit before output

Before delivering copy, check every platform's output against these filters.
Fix anything that fails.

**Filter 1 — The Specificity Test**
Read every sentence. If it could describe ANY template for ANY audience, rewrite it.
"Helps you stay organized" → FAIL. "Know which invoice to chase today before you open your email" → PASS.

**Filter 2 — The 48 Laws Check**
- Law 1: Does every piece of copy describe a clear outcome? ✓/✗
- Law 4: Is there anything that doesn't help the buyer act? Cut it. ✓/✗
- Law 17: Is there exactly one promise per platform listing? ✓/✗
- Law 21: Does every listing show time saved OR money saved OR friction removed? ✓/✗
- Law 44: Does the copy sell the outcome, not the template? ✓/✗
- Law 46: Does the copy position this as a shortcut, not a product? ✓/✗

**Filter 3 — The Banned Words Scan**
Scan for: "ultimate", "powerful", "comprehensive", "game-changing", "all-in-one",
"revolutionary", "seamless", "robust", "leverage", "synergy".
If found → delete and rewrite the sentence without them.

**Filter 4 — The Opening Line Test**
Read only the first line of each platform's copy.
Ask: would someone stop scrolling for this?
If no → replace with a stronger hook from the Hook Formula Bank.

---

## Step 5: Output format

Deliver all copy in clearly labeled, paste-ready blocks.

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 COPY DNA (reference — don't publish)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Hook A: [formula 1]
Hook B: [formula 2]
Hook C: [formula 3]
Shortcut statement: [text]
Outcome statement: [text]
Differentiator line: [text]
Proof hook: [text]
Objection crusher: [text]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟣 WHOP
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TITLE A (pain): [text]
TITLE B (shortcut): [text]
TAGLINE: [text]
DESCRIPTION: [full text]
CTA A: [text]
CTA B: [text]
CTA C: [text]
TAGS: [comma-separated]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟠 GUMROAD
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TITLE: [text]
DESCRIPTION: [full text]
SHORT PITCH: [2 sentences]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📱 UPI DIRECT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INSTAGRAM CAPTION: [full text + hashtags]
DM SCRIPT — READY: [full text]
DM SCRIPT — HESITANT: [full text]
DM SCRIPT — SPREADSHEET OBJECTION: [full text]
STORY SLIDE 1: [text]
STORY SLIDE 2: [text]
STORY SLIDE 3: [text]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔲 NOTION GALLERY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SHORT DESCRIPTION: [≤150 chars]
CATEGORY TAGS: [list]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏪 NOTION MARKETPLACES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SUBMISSION DESCRIPTION: [100–150 words]
AFFILIATE PITCH: [text]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🇮🇳 TOPMATE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TITLE: [text]
DESCRIPTION: [full text]

[If niche fits:]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟢 APPSUMO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TITLE: [text]
DESCRIPTION: [full text]
```

---

## Hard copy rules

**Always:**
- First line = hook. Always pain-first or shortcut-first. Never "Introducing..."
- Buyer's exact language — extracted from DB names + sample data, not invented
- One promise per listing. Law 17. No exceptions.
- Every listing has exactly one proof hook. Concrete. Specific.
- Every platform gets the objection crusher placed where hesitation peaks
  (Gumroad: after features / Whop: in description close / DM: as version 2 script)

**Never:**
- "This template has X databases..." — kills conversion instantly
- Feature-first bullets ("Includes a pipeline view") → rewrite as outcome bullets ("Know exactly which stage every application is at, in one glance")
- Passive voice anywhere
- Hedging: "might help", "could be useful", "sort of like"
- Mentioning Notion as the selling point — sell the outcome, not the tool
- Copying the same description across platforms — each platform gets tone-matched copy

**Platform tone calibration:**
| Platform | Tone | Length | Primary angle |
|---|---|---|---|
| Whop | Confident, direct | Short | Pain → outcome |
| Gumroad | Warm, honest, considered | Long | Daily fail → transformation |
| Instagram | Casual, scroll-stopping | Punchy | Hook → shortcut → CTA |
| WhatsApp DM | Conversational, human | Short | Answer → proof → offer |
| Topmate | Practical, INR-anchored | Medium | Time saved → price |
| Notion marketplaces | Clean, benefit-led | Short | Outcome + differentiator |
| AppSumo | Deal-framed, vs-SaaS | Medium | Price anchor vs monthly tool |

---

## Errors
- Notion fetch fails → ask for: template name, audience, 3 main outcomes, price, 3 DB names
- No Seller Copy subpage → derive all signals from parent page content
- Price missing → ask: "What's your USD price?"
- Niche unclear after reading page → infer from DB names; ask only if still ambiguous

