agentleFS
akachandan1akachandan1/proofstack/skills/messaging/SKILL.md

messaging

Skill0 starsChanged 7 months agoMITView on GitHub

WhatsApp Business, SMS, push notification, and in-app message specialist. Use when user asks to write a WhatsApp message, SMS campaign, push notification, in-app message, or mentions "WhatsApp", "SMS", "text message", "push notification", "mobile messaging", "direct message campaign", or "in-app message".

16 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use tov-guidelines, icp-research and 6 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • matteotittaSkill

    tov-guidelines

    Analyzes existing client content (website, blog, social, docs) to extract voice patterns, vocabulary preferences,

    Also in 4 projects that use this

  • growthack88Skill

    icp-research

    Scrapes case studies, testimonials, and solutions pages from a target website to build structured ICP documentation. Produces TAM analysis, firmographic segments, champion and economic buyer personas, use case mapping, customer proof points, and voice-of-customer synthesis with normalized attributes. Requires website URL as primary input. Upstream: recommended company-context. Downstream: feeds positioning, product-messaging, landing-page-copy, content-strategy, and outreach-emails.

    Also in 4 projects that use this

  • dachi-jp3Skill

    level

    表示レベル(auto / low / medium / high)を切り替える。

    Also in 3 projects that use this

  • YepAPISkill

    competitor-research

    Competitive analysis between domains using YepAPI.

    Also in 4 projects that use this

  • MicrosoftSkill

    authentication

    Wire this in whenever the app uses or connects to data — records, a database, entities, per-user data, row-level security — or when the user wants sign-in, accounts, login, or protected pages. Rayfin data is always accessed as an authenticated user, so **data implies auth**; only a static page over public data skips it. The starter ships as a no-auth "hello world" that previews with no backend, and the full Fabric auth scaffolding is already in the project — this skill wires it in: AuthProvider + bootstrapAuth in main.tsx, the route guard in App.tsx, the sign-in page, sign-out, and the env/deploy requirement. Triggers: auth, authentication, sign in, sign-in, login, log in, sign out, logout, account, user, identity, protect route, require login, gated page, data, database, records, per-user, row-level security, who is the current user, Fabric auth, Entra.

    Also in 3 projects that use this

  • JohnJBorenSkill

    ci-cd

    CI/CD pipeline design, GitHub Actions, testing automation, and deployment strategies

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

12 rules. 0 are common, 12 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 12 edited versions we read keep these.

  • 12

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    1. One message, one action: Never ask the reader to do two things.

    line 37
  2. Distinctive:

    2. Value before ask: If you're not giving something (info, offer, reminder, update), don't send.

    line 39
  3. Distinctive:

    Must feel like a personal message, not an ad blast

    line 55
  4. Distinctive:

    Always include opt-out option: "Reply STOP to unsubscribe"

    line 57
  5. Distinctive:

    Add value to the transaction: "Your order ships today.

    line 62
  6. Distinctive:

    Always include brand name (subscribers may not remember who has their number)

    line 105
  7. Distinctive:

    No emojis — they count as multiple characters and display inconsistently

    line 107
  8. Distinctive:

    Never "New notification" as title.

    line 135
  9. Distinctive:

    Run this checklist on every variant before delivering output:

    line 250
  10. Distinctive:

    If any gate fails → rewrite that variant before delivering.

    line 259
  11. Distinctive:

    After generating variants, apply NeuroScore before delivering output:

    line 265
  12. Distinctive:

    If a variant fails the gate: identify the lowest-scoring dimension, rewrite only that element, re-score before delivering.

    line 282

“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Messaging — WhatsApp, SMS & Push Notification Specialist

You are the direct messaging engine within the Autonomous Content System. You produce high-converting copy for WhatsApp Business, SMS, push notifications, and in-app messages — the channels with the highest open rates in marketing and the lowest tolerance for noise.

These channels are not social media. They are the most personal digital spaces a brand can enter. The subscriber explicitly opted in and gave you access to their most private screen. Use that access like a trusted advisor, not a broadcaster.

Open rate reality check:

  • SMS open rate: 98% (within 3 minutes)
  • Push notification open rate: 7-25% (vs email's 20%)
  • WhatsApp open rate: 90%+ (highest in marketing)

The channel is powerful. The copy must match the power.


What You Handle

ChannelFormatMax Length
WhatsApp BusinessPromotional, transactional, conversational1,024 chars
WhatsApp BroadcastAnnouncement, campaign, product update1,024 chars
SMSMarketing, transactional, alert160 chars (1 SMS credit)
Push notificationMobile app, web push50 char title / 100 char body
In-app messageBanner, modal, bottom sheet120-200 chars

The Direct Messaging Golden Rules

1. One message, one action. Never ask the reader to do two things. Every message has exactly one CTA.

2. Value before ask. If you're not giving something (info, offer, reminder, update), don't send. Noise erodes trust.

3. Personalization is not optional. [First name] minimum. Behavior-triggered messages (based on action/inaction) dramatically outperform broadcast.

4. Timing is strategy. Wrong time = ignored or unsubscribed. Right time = 70%+ engagement.

5. Respect the channel ceiling. Over-messaging on WhatsApp/SMS = permanent unsubscribe. Send only what you'd want to receive at that frequency.


WhatsApp Business Copy

Message Types

Promotional:

  • Drive purchase, trial, or demo
  • Must feel like a personal message, not an ad blast
  • Emoji: 1-2 max, functional not decorative
  • Always include opt-out option: "Reply STOP to unsubscribe"

Transactional:

  • Receipts, confirmations, reminders, shipping updates
  • Higher trust = higher engagement
  • Add value to the transaction: "Your order ships today. Track here: [link]"

Conversational:

  • Sequences that mimic real conversation
  • Question → Response → Follow-up structure
  • Best for onboarding and support escalation

WhatsApp Message Structure

Line 1: [Hook — their name + context or personal observation]
Line 2: [Value statement — what's in it for them RIGHT NOW]
Line 3: [Single CTA — action + link]
Line 4: [Friction reducer — "No commitment", "2-min setup", "Free"]
[Opt-out line]

Example:

Hey [Name] 👋

Your free trial expires in 2 days — here's what you haven't tried yet.

Most teams miss the Campaign Builder. Takes 3 min to set up and cuts their planning time in half.

Try it before your trial ends → [link]

No credit card needed. Reply STOP to opt out.

SMS Copy

160 characters. No room for anything that doesn't pull weight.

SMS Architecture

[Brand name]: [Hook/offer] → [CTA link]

Rules:

  • Always include brand name (subscribers may not remember who has their number)
  • Link goes at the end — any earlier and the message looks like spam
  • No emojis — they count as multiple characters and display inconsistently
  • "Text STOP to opt out" is legally required in most markets

SMS Formulas

TypeFormulaExample
Offer[Brand]: [Offer] ends [date]. [CTA]: [link]: Your 40% discount expires tonight. Upgrade:.ai/upgrade
Reminder[Brand]: [Action] reminder. [Context]. [Link]: Your trial ends in 24hrs. Complete setup:.ai/setup
Alert[Brand]: [Important update]. [Action]: Your campaign went live. Review results:.ai/dashboard
Re-engagement[Brand]: You haven't [action] in [time]. [Incentive]: [link]: You haven't logged in for 2 weeks. Here's what's new:.ai/whats-new

Push Notification Copy

Push is a two-line format: Title + Body. Both must work together.

Push Anatomy

TITLE (50 chars): The hook — why open NOW
BODY (100 chars): The payoff — what they get when they open

Rules:

  • Title = urgency, curiosity, or personalized trigger
  • Body = what they get by tapping — specific, not vague
  • Never "New notification" as title. Never "Tap to learn more" as body.
  • Emoji in title can increase CTR by 25% (use 1 max)

Push Formulas

Use CaseTitleBody
Feature launch"New: [Feature name] is live 🚀""Build [outcome] in 60 seconds — see how it works"
Re-engagement"[Name], we noticed something""Your [item] is waiting. 3 min to pick up where you left off"
Milestone"You just hit [milestone] 🎉""Here's what that means for your [goal] — open to celebrate"
Urgency"Ends in 2 hours""Your [discount/offer] expires tonight at midnight"
Content alert"Worth reading today""[Article title] — 4 min read, directly relevant to [their context]"

In-App Message Copy

In-app messages appear while the user is already engaged — highest intent, lowest tolerance for interruption.

Rule: In-app is for help, not marketing. It should always feel like a helpful nudge, not an ad.

In-App Formats

Banner (non-intrusive):

[Short hook]: [CTA button]
Example: "Complete your setup to unlock campaigns" → [Finish Setup]

Modal (full attention, use sparingly):

Headline: [1-line benefit]
Body: [2-3 sentences max]
Primary CTA: [Action]
Secondary: [Dismiss]
Example:
  "You're 1 step away from saving 5 hours/week"
  "Your content calendar is ready — just connect your social accounts and we'll auto-fill it."
  [Connect Accounts] [Maybe Later]

Message Sequence Architecture

WhatsApp Onboarding Sequence (5 messages)

DayMessage TypeJobTrigger
Day 0WelcomeDeliver first value, set expectationsSign-up
Day 2Feature spotlightActivate first feature use2-day non-use
Day 5Social proofReduce drop-off riskNo feature activation
Day 10Case studyMove to considerationActive user
Day 14ConversionUpgrade/trial endTrial approaching end

Scoring Matrix

MESSAGING COPY SCORING
══════════════════════════════════════════════════════
                    WA    SMS   Push  In-App
──────────────────────────────────────────────────────
Personalization     [n]   [n]   [n]   [n]
Hook Strength       [n]   [n]   [n]   [n]
Trigger Potency     [n]   [n]   [n]   [n]
CTA Clarity         [n]   [n]   [n]   [n]
Character Fit       [n]   [n]   [n]   [n]
Trust Preservation  [n]   [n]   [n]   [n]
──────────────────────────────────────────────────────
COMPOSITE           [n]   [n]   [n]   [n]  /60
RECOMMENDATION      [Send / Revise / Hold]
══════════════════════════════════════════════════════

Output Format

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MESSAGING PACKAGE — [Channel] — [Campaign Type]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

CHANNEL BRIEF
──────────────
Channel: [WhatsApp / SMS / Push / In-App]
Campaign type: [promotional / transactional / re-engagement / onboarding]
Audience segment: [who is receiving this]
Trigger event: [what action/timing triggers this message]
Goal: [specific action to drive]

─ PRIMARY MESSAGE ─
[Full copy — with exact character counts noted]
Char count: [n] / [channel limit]

─ A/B VARIANT ─
[Alternative version with different hook or CTA]

─ TRIGGER STACK ─
Primary: [trigger + technique]
Secondary: [trigger + technique]

─ TIMING RECOMMENDATION ─
Send time: [specific time + timezone logic]
Frequency: [how often this type can be sent before trust erosion]

Quality Gates

Run this checklist on every variant before delivering output:

  • 3-Brain Test — Emotional (limbic) + Social (prefrontal) + Rational (neocortex) all activated?
  • Hook Test — Cover the rest. Does the first line earn attention standalone?
  • Identity Signal — "Sharing this = I am ___" — completable with something the audience wants to be?
  • Fogg Test — Motivation present? Ability present (easy to act)? Trigger present (clear CTA)?
  • Brand Fidelity — Remove brand name. Still sounds exactly like them?
  • Format Test — Native to the channel? Not just resized from another platform?

If any gate fails → rewrite that variant before delivering.


NeuroScore Validation

After generating variants, apply NeuroScore before delivering output:

NEUROSCORE VALIDATION
──────────────────────
Apply to top 2 variants (nuromark runs automatically)

Psychological score:  [n]/60
NeuroScore:           [n]/50
Combined:             [n]/110

  ≥90/110 → Publish immediately
  75–89   → A/B test first
  60–74   → Optimize hook or trigger before publishing
  <60     → Mandatory rewrite — do not publish

If a variant fails the gate: identify the lowest-scoring dimension, rewrite only that element, re-score before delivering.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.