mcpbeat

Cs Notification Strategy

asgard-ai-platform/cs-notification-strategy

Design push notification and messaging strategies including channel selection, timing optimization, personalization, and fatigue management. Use this skill when the user needs to improve notification engagement, reduce opt-out rates, plan multi-channel messaging, or A/B test notification content — even if they say 'our push open rates are low', 'users are unsubscribing', 'when should we send notifications', or 'which channel to use for alerts'.

9k tokens
context cost
the whole folder, loaded on every use
4
files
instructions only
0
copies elsewhere
how many repositories repackaged it
223
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/asgard-ai-platform/skills --skill cs-notification-strategy

What comes with it

28 770 bytes besides the instruction
examples/sample_scenario.md
references/email-deliverability.md
references/line-notification.md

The instruction itself

10 sections, as written by the author

Notification Strategy

Framework

IRON LAW: Every Notification Must Earn Its Send

Each notification interrupts the user. If it doesn't deliver clear value
to the RECIPIENT (not to your business), it erodes trust and drives
opt-outs. Before sending: "Would the user thank me for this notification?"
If no → don't send.

Channel Comparison

| Channel | Open Rate | Speed | Cost | Best For | Limitations |

|---------|----------|-------|------|----------|-------------|

| Push notification | 5-15% | Instant | Free | Time-sensitive, action-needed | Easy to opt out, limited text |

| Email | 15-25% | Minutes | Low | Detailed content, receipts, newsletters | Spam filters, slow |

| SMS | 90%+ open | Instant | $$$ | Critical alerts, OTP, urgent | Expensive, intrusive, regulatory |

| In-app | 25-40% | Next session | Free | Feature announcements, tips | Only reaches active users |

| LINE/Messenger | 40-60% | Instant | Free-$ | Conversational, Taiwan/Asia | Platform dependency |

Timing Optimization

| Audience | Best Time | Worst Time |

|----------|----------|-----------|

| B2C general | 10-12 AM, 7-9 PM | 12-6 AM, during commute |

| B2B | Tue-Thu 9-11 AM | Weekends, Friday PM |

| E-commerce | Thu-Sat (pre-weekend shopping) | Monday AM |

| Breaking/urgent | Immediately | N/A |

Timezone rule: Send in the RECIPIENT's timezone, not yours.

Personalization Tiers

| Tier | What | Example | Lift vs Generic |

|------|------|---------|----------------|

| None | Same message to all | "Check out our sale!" | Baseline |

| Segment | By user group | "As a premium member, you get early access" | +20-30% |

| Behavioral | Based on past actions | "The item in your cart is almost sold out" | +40-60% |

| Individual | 1:1 personalized | "Hi [Name], your favorite [Product] is back in stock" | +60-80% |

Fatigue Management

| Signal | What It Means | Action |

|--------|-------------|--------|

| Open rate declining | Content losing relevance | Improve targeting/content |

| Opt-out rate > 0.5%/send | Sending too much or wrong content | Reduce frequency, segment better |

| Uninstall spike after push | Notifications are driving users away | Immediately reduce volume |

| Click rate declining but open rate stable | Subject lines good, content disappointing | Improve content/offer quality |

Frequency caps: Set maximum notifications per user per time period:

  • Push: max 3-5/week
  • Email: max 2-3/week (marketing), unlimited for transactional
  • SMS: max 2-4/month

A/B Testing for Notifications

| Element | What to Test | Example |

|---------|-------------|---------|

| Subject/title | Length, tone, emoji, personalization | "Your order shipped 📦" vs "Order #1234 is on its way" |

| Timing | Hour of day, day of week | 10 AM vs 7 PM |

| Content | Short vs detailed, image vs text-only | 20 words vs 50 words |

| CTA | Button text, action type | "View" vs "Track Now" |

| Channel | Push vs email vs in-app for same message | Same content, different channel |

Output Format

# Notification Strategy: {Product/Campaign}

## Channel Mix
| Message Type | Primary Channel | Fallback | Frequency |
|-------------|----------------|----------|-----------|
| {type} | {channel} | {backup} | {max/period} |

## Segmentation
| Segment | Notification | Personalization Tier |
|---------|-------------|---------------------|
| {segment} | {content} | None/Segment/Behavioral/Individual |

## Timing
| Segment | Send Time | Day | Timezone |
|---------|----------|-----|---------|
| {segment} | {HH:MM} | {day(s)} | {user's TZ} |

## Fatigue Rules
- Max push: {N}/week
- Max email: {N}/week
- Opt-out threshold: {%} → action: {reduce/pause}

## A/B Test Plan
| Test | Variant A | Variant B | Metric | Sample |
|------|----------|----------|--------|--------|
| {test} | {A} | {B} | {open rate / CTR} | {N users} |

Gotchas

  • Permission is a privilege: iOS requires explicit opt-in for push. Ask at the RIGHT moment (after the user sees value), not at first launch. First-launch permission requests get 40-60% opt-in; contextual requests get 70-80%.
  • Transactional vs marketing: Order confirmations, shipping updates, and security alerts are transactional (expected, high open rate). Marketing promotions are interruptive (optional, lower open rate). Never mix them in user perception.
  • LINE in Taiwan is unique: LINE has 95% penetration in Taiwan. LINE Official Account messages have 60%+ open rates — significantly higher than email or push. Prioritize LINE for Taiwan audiences.
  • Rich push is underused: Push notifications can include images, action buttons, and deep links. A rich push with "View Order" button converts 3-5x better than a text-only push.

References

  • For LINE notification setup, see references/line-notification.md
  • For email deliverability optimization, see references/email-deliverability.md

How to use it

Copy the folder

Take asgard-ai-platform/cs-notification-strategy from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.