Skip to content This library is free, offered as dana. If it helps your work, donate here →

This is one of 3,622 free prompts in the penguin tree ai library. Sign up once and the whole library opens, with new prompts by email.

open the library →

Notification copy variation generator

Generates 30 push notification or email subject line variants across 6 psychological angles, each labeled with character count, personalization tokens, emoji recommendation, and A/B test hypothesis — plus a ranked test…

download .md

Purpose

Produce a ready-to-test set of push notification or email subject line variants — organized by psychological angle, character-count-safe for the target surface, and paired with A/B test hypotheses — so PMs and marketers can ship variant tests without writing from a blank page or guessing which levers to pull.

When to Use

Invoke this skill when the user asks to:

  • Write push notification copy or generate push variants
  • Create email subject line variants for a campaign or lifecycle flow
  • Get A/B test copy options for a notification or message
  • Improve open rate or CTR on an existing notification
  • Add personalization tokens to notification copy
  • Build a variant matrix to test across a segment or cohort

Inputs Required

Before starting, collect:

  • Message type: Push notification / Email subject line / In-app message
  • App context: What the app does and the specific feature or moment triggering the message
  • Goal action: What you want the user to do (open, tap, return, complete, buy)
  • Audience/trigger: Who receives this and why (e.g., cart abandoners, day-3 dormant users, new signups)
  • Tone: Playful / urgent / helpful / premium / neutral
  • Personalization tokens available: Which dynamic fields exist (e.g., {{first_name}}, {{city}}, {{item}}, {{streak_count}}) — or "none"
  • Character/preview constraints: Any platform limits, or default to standard limits below

If constraints are missing, default to: push title ≤ 40 chars, push body ≤ 120 chars, email subject ≤ 50 chars with a preview line ≤ 90 chars.

Instructions

Generate 30 Variants Across 6 Angles

For each variant, output:

  • The copy (title + body for push; subject + preview for email; single line for in-app)
  • Chars: Character count of the constrained field (flag if over limit)
  • Tokens: Personalization tokens used, or "none"
  • Emoji: Recommended emoji or "none" — only where it lifts, never decorative
  • Hypothesis: One-line A/B hypothesis stating what this variant tests

Write copy fully filled in for the app and trigger — no bracket placeholders except live personalization tokens (e.g., {{first_name}} stays; [PRODUCT] does not).


Angle 1 — Curiosity / Open Loop (5 variants) Tease value without revealing it, forcing the tap to resolve the gap.

  • Trigger types: curiosity, incompleteness
  • Keep the loop resolvable and honest — clickbait that under-delivers tanks long-term engagement
  • Vary: implied secret, unexpected stat, unfinished sentence

Angle 2 — Personalized / Identity (5 variants) Use tokens and behavioral context to make the message feel individually addressed.

  • Trigger types: relevance, recognition, self-reference
  • Lead with the token where it lifts open rate (name-first in push often outperforms name-buried)
  • Include at least one variant with no token as a control-friendly counterpart

Angle 3 — Urgency / Scarcity (5 variants) Give a real reason to act now — deadline, limited quantity, expiring state.

  • Trigger types: FOMO, loss aversion, time pressure
  • Only use genuine urgency; fabricated countdowns erode trust and opt-in rates
  • Vary: time-bound, quantity-bound, status-expiring

Angle 4 — Benefit / Value-Forward (5 variants) State the concrete payoff of tapping in plain, direct language.

  • Trigger types: desire, clarity, gain
  • Name a specific outcome, not a vague "check this out"
  • Best for bottom-funnel and transactional moments where intent already exists

Angle 5 — Social Proof / Momentum (5 variants) Signal that others are acting, or that the user has momentum worth continuing.

  • Trigger types: social validation, streaks, herd behavior
  • Use real counts/streaks via tokens where available (e.g., {{streak_count}}, "{{friend_count}} friends are on")
  • Vary: peer activity, personal streak/progress, popularity signal

Angle 6 — Playful / Personality (5 variants) Lead with brand voice, humor, or a conversational hook that stands out in a crowded tray.

  • Trigger types: delight, novelty, brand affinity
  • Match the tone input — never force jokes into a premium or serious context
  • Vary: witty question, cheeky nudge, casual insider tone

Build the Top 8 Test Matrix

Select the 8 strongest variants across angles and present as a ranked matrix:

  1. Rank & variant: The copy
  2. Angle: Which of the 6 it comes from
  3. Primary lever tested: The single variable this variant isolates
  4. Expected win condition: Which audience mindset it should outperform on
  5. Pairing note: Which control or opposing variant to test it against for a clean read

Recommend a starting head-to-head: two variants from different angles that isolate one clear question (e.g., personalization vs. urgency).

Output Format

  • Structure: 6 labeled angle sections with 5 numbered variants each; then a Top 8 test matrix as a table
  • Length: 900–1,300 words
  • Format: Swipe-file style — scannable, labeled variants, not prose paragraphs
  • Sections: 6 angle blocks → Top 8 test matrix → recommended starting head-to-head
  • Tone: Practical growth-marketing voice — direct, test-minded, no fluff

Quality Checklist

Before delivering output, verify:

  • [ ] All 30 variants are present (5 per angle across 6 angles — count them)
  • [ ] Every variant has a character count, token label, emoji recommendation, and hypothesis
  • [ ] No variant exceeds its character limit without being flagged
  • [ ] Personalization tokens use the exact fields provided — no invented tokens
  • [ ] Copy is fully written for the app and trigger — no bracket placeholders besides live tokens
  • [ ] Top 8 matrix ranks variants and names one isolated lever per variant

Notes

  • Character count is the most common reason great copy fails in production — truncated push titles kill CTR, so treat limits as hard.
  • Personalization lifts opens but degrades fast if a token renders empty; recommend a fallback for every token used (e.g., {{first_name|there}}).
  • Isolate one variable per A/B test — if two variants differ in both angle and emoji, the result is unreadable. The Top 8 matrix exists to enforce clean tests.

How to use this skill

This file is a Claude Code skill in Anthropic's standard format — markdown with YAML frontmatter at the top.

Installing in Claude Code:

  • ~/.claude/skills/<folder-name>/SKILL.md — auto-loads in every session anywhere on your machine (recommended for skills you'll use across multiple projects)
  • <your-project>/.claude/skills/<folder-name>/SKILL.md — auto-loads only when working in that project (recommended for project-specific skills)

Restart Claude Code or open a new session to register.

Using in Claude.ai, ChatGPT, Gemini, or other AI tools:

  1. Drag this file into a new chat, or copy and paste its contents
  2. Send your task or request as your next message — the AI will apply the skill where it fits

For Claude Code skill details: https://docs.anthropic.com/en/docs/claude-code/skills