📦 deps(thirdparty): update snapshots

This commit is contained in:
ci[bot]
2026-06-21 09:15:23 +00:00
parent 0e1bb1aef3
commit 3d137606c0
805 changed files with 93512 additions and 4532 deletions
@@ -0,0 +1,19 @@
{
"name": "antigravity-bundle-aas-saas-launch-revenue",
"version": "13.0.0",
"description": "Editorial \"AAS SaaS Launch & Revenue\" bundle for Claude Code from Antigravity Awesome Skills.",
"author": {
"name": "sickn33 and contributors",
"url": "https://github.com/sickn33/antigravity-awesome-skills"
},
"homepage": "https://github.com/sickn33/antigravity-awesome-skills",
"repository": "https://github.com/sickn33/antigravity-awesome-skills",
"license": "MIT",
"keywords": [
"claude-code",
"skills",
"bundle",
"aas-saas-launch-revenue",
"antigravity-awesome-skills"
]
}
@@ -0,0 +1,38 @@
{
"name": "agyb-aas-saas-launch-revenue",
"version": "13.0.0",
"description": "Install the \"AAS SaaS Launch & Revenue\" workflow plugin from Antigravity Awesome Skills.",
"author": {
"name": "sickn33 and contributors",
"url": "https://github.com/sickn33/antigravity-awesome-skills"
},
"homepage": "https://github.com/sickn33/antigravity-awesome-skills",
"repository": "https://github.com/sickn33/antigravity-awesome-skills",
"license": "MIT",
"keywords": [
"codex",
"skills",
"bundle",
"aas-saas-launch-revenue",
"productivity"
],
"skills": "./skills/",
"interface": {
"displayName": "AAS SaaS Launch & Revenue",
"shortDescription": "Launch, price, monetize, measure, and grow SaaS products from MVP to revenue loops.",
"longDescription": "Launch, price, monetize, measure, and grow SaaS products from MVP to revenue loops. Turns scattered startup, pricing, payments, analytics, lifecycle, referral, and SEO skills into one launch-to-revenue workflow. Recommended for: Founders, Product teams, Growth-minded builders. Not for: Enterprise infrastructure-only projects, Pure document generation. Covers SaaS Mvp Launcher, Micro SaaS Launcher, and 8 more skills.",
"developerName": "sickn33 and contributors",
"category": "Specialized Product Plugins",
"capabilities": [
"Interactive",
"Write"
],
"websiteURL": "https://github.com/sickn33/antigravity-awesome-skills",
"brandColor": "#111827",
"defaultPrompt": [
"Use this plugin to plan a SaaS launch from MVP scope through pricing, payments, analytics, email, and SEO.",
"Use this plugin to review this pricing page and activation funnel for revenue opportunities.",
"Use this plugin to build a launch checklist with referral, email, analytics, and Stripe readiness."
]
}
}
@@ -0,0 +1,306 @@
---
name: analytics-product
description: "Analytics de produto — PostHog, Mixpanel, eventos, funnels, cohorts, retencao, north star metric, OKRs e dashboards de produto."
risk: none
source: community
date_added: '2026-03-06'
author: renat
tags:
- analytics
- product
- metrics
- posthog
- mixpanel
tools:
- claude-code
- antigravity
- cursor
- gemini-cli
- codex-cli
---
# ANALYTICS-PRODUCT — Decida com Dados
## Overview
Analytics de produto — PostHog, Mixpanel, eventos, funnels, cohorts, retencao, north star metric, OKRs e dashboards de produto. Ativar para: configurar tracking de eventos, criar funil de conversao, analise de cohort, retencao, DAU/MAU, feature flags, A/B testing, north star metric, OKRs, dashboard de produto.
## When to Use This Skill
- When you need specialized assistance with this domain
## Do Not Use This Skill When
- The task is unrelated to analytics product
- A simpler, more specific tool can handle the request
- The user needs general-purpose assistance without domain expertise
## How It Works
```
[objeto]_[verbo_passado]
Correto: user_signed_up, conversation_started, upgrade_completed
Errado: signup, click, conversion
```
## Analytics-Product — Decida Com Dados
> "In God we trust. All others must bring data." — W. Edwards Deming
---
## Eventos Essenciais Da Auri
```python
AURI_EVENTS = {
# Aquisicao
"user_signed_up": {"props": ["source", "medium", "campaign"]},
"onboarding_started": {"props": ["step_count"]},
"onboarding_completed": {"props": ["time_to_complete", "steps_skipped"]},
# Ativacao
"first_conversation": {"props": ["intent", "response_time"]},
"aha_moment_reached": {"props": ["trigger", "session_number"]},
"feature_discovered": {"props": ["feature_name", "discovery_method"]},
# Retencao
"conversation_started": {"props": ["intent", "user_tier", "device"]},
"conversation_completed":{"props": ["messages_count", "duration", "rating"]},
"session_started": {"props": ["days_since_last", "platform"]},
# Receita
"upgrade_viewed": {"props": ["trigger", "current_tier"]},
"upgrade_started": {"props": ["target_tier", "trigger"]},
"upgrade_completed": {"props": ["tier", "plan", "revenue"]},
"subscription_canceled": {"props": ["reason", "tier", "tenure_days"]},
"payment_failed": {"props": ["attempt_count", "error_code"]},
}
```
## Implementacao Posthog (Python)
```python
from posthog import Posthog
import os
posthog = Posthog(
project_api_key=os.environ["POSTHOG_API_KEY"],
host=os.environ.get("POSTHOG_HOST", "https://app.posthog.com")
)
def track(user_id: str, event: str, properties: dict = None):
posthog.capture(
distinct_id=user_id,
event=event,
properties=properties or {}
)
def identify(user_id: str, traits: dict):
posthog.identify(
distinct_id=user_id,
properties=traits
)
## Uso:
track("user_123", "conversation_started", {
"intent": "business_advice",
"device": "alexa",
"user_tier": "pro"
})
```
---
## Funil De Ativacao Auri
```
Visita landing page (100%)
| [meta: 40%]
Clicou "Experimentar" (40%)
| [meta: 70%]
Completou cadastro (28%)
| [meta: 60%]
Fez primeira conversa (17%) <- AHA MOMENT
| [meta: 50%]
Voltou no dia seguinte (8.5%)
| [meta: 40%]
Usou 3+ dias na semana (3.4%)
| [meta: 20%]
Converteu para Pro (0.7%)
```
## Otimizando O Funil
```
Para cada drop-off > benchmark:
1. Identificar: onde exatamente o usuario sai?
2. Entender: por que? (session recordings, surveys)
3. Hipotese: qual mudanca poderia melhorar?
4. Testar: A/B test com amostra estatisticamente significante
5. Medir: 2 semanas minimo, p-value < 0.05
6. Aprender: mesmo se falhar, entende-se o usuario melhor
```
---
## Analise De Cohort (Retencao Semanal)
```python
def calculate_cohort_retention(events_df):
"""
events_df: DataFrame com colunas [user_id, event_date, event_name]
Retorna: matriz de retencao [cohort_week x week_number]
"""
import pandas as pd
first_session = events_df[events_df.event_name == "session_started"] \
.groupby("user_id")["event_date"].min() \
.dt.to_period("W")
sessions = events_df[events_df.event_name == "session_started"].copy()
sessions["cohort"] = sessions["user_id"].map(first_session)
sessions["weeks_since"] = (
sessions["event_date"].dt.to_period("W") - sessions["cohort"]
).apply(lambda x: x.n)
cohort_data = sessions.groupby(["cohort", "weeks_since"])["user_id"].nunique()
cohort_sizes = cohort_data.unstack().iloc[:, 0]
retention = cohort_data.unstack().divide(cohort_sizes, axis=0) * 100
return retention
```
## Benchmarks De Retencao (Assistentes De Voz)
| Semana | Pessimo | Ok | Bom | Excelente |
|--------|---------|-----|-----|-----------|
| W1 | <20% | 20-35% | 35-50% | >50% |
| W4 | <10% | 10-20% | 20-30% | >30% |
| W8 | <5% | 5-12% | 12-20% | >20% |
---
## Definindo A North Star Da Auri
```
Framework:
1. O que cria valor real para o usuario? -> Conversas que geram insight/acao
2. O que prediz crescimento de longo prazo? -> Usuarios com 3+ conv/semana
3. Como medir? -> "Weekly Active Conversationalists" (WAC)
North Star: WAC (Weekly Active Conversationalists)
Definicao: Usuarios com >= 3 conversas na semana que duraram >= 2 minutos
Meta Ano 1: 10.000 WAC
Meta Ano 2: 100.000 WAC
```
## Dashboard North Star
```python
def calculate_north_star(db):
wac = db.query("""
SELECT COUNT(DISTINCT user_id) as wac
FROM conversations
WHERE
created_at >= NOW() - INTERVAL '7 days'
AND duration_seconds >= 120
GROUP BY user_id
HAVING COUNT(*) >= 3
""").scalar()
return {
"wac": wac,
"wow_growth": calculate_wow_growth(db, "wac"),
"target": 10000,
"progress": f"{wac/10000*100:.1f}%"
}
```
---
## Feature Flags Com Posthog
```python
def is_feature_enabled(user_id: str, feature: str) -> bool:
return posthog.feature_enabled(feature, user_id)
if is_feature_enabled(user_id, "new-onboarding-v2"):
show_new_onboarding()
else:
show_old_onboarding()
```
## Calculadora De Significancia Estatistica
```python
from scipy import stats
import numpy as np
def ab_test_significance(
control_conversions: int,
control_visitors: int,
variant_conversions: int,
variant_visitors: int,
confidence: float = 0.95
) -> dict:
control_rate = control_conversions / control_visitors
variant_rate = variant_conversions / variant_visitors
lift = (variant_rate - control_rate) / control_rate * 100
_, p_value = stats.chi2_contingency([
[control_conversions, control_visitors - control_conversions],
[variant_conversions, variant_visitors - variant_conversions]
])[:2]
significant = p_value < (1 - confidence)
return {
"control_rate": f"{control_rate*100:.2f}%",
"variant_rate": f"{variant_rate*100:.2f}%",
"lift": f"{lift:+.1f}%",
"p_value": round(p_value, 4),
"significant": significant,
"recommendation": "Deploy variant" if significant and lift > 0 else "Keep control"
}
```
---
## 6. Comandos
| Comando | Acao |
|---------|------|
| `/event-taxonomy` | Define taxonomia de eventos |
| `/funnel-analysis` | Analisa funil de conversao |
| `/cohort-retention` | Calcula retencao por cohort |
| `/north-star` | Define ou revisa North Star Metric |
| `/ab-test` | Calcula significancia de A/B test |
| `/dashboard-setup` | Cria dashboard de produto |
| `/okr-template` | Template de OKRs para produto |
## Best Practices
- Provide clear, specific context about your project and requirements
- Review all suggestions before applying them to production code
- Combine with other complementary skills for comprehensive analysis
## Common Pitfalls
- Using this skill for tasks outside its domain expertise
- Applying recommendations without understanding your specific context
- Not providing enough project context for accurate analysis
## Related Skills
- `growth-engine` - Complementary skill for enhanced analysis
- `monetization` - Complementary skill for enhanced analysis
- `product-design` - Complementary skill for enhanced analysis
- `product-inventor` - Complementary skill for enhanced analysis
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
@@ -0,0 +1,936 @@
---
name: email-sequence
description: "You are an expert in email marketing and automation. Your goal is to create email sequences that nurture relationships, drive action, and move people toward conversion."
risk: unknown
source: community
date_added: "2026-02-27"
---
# Email Sequence Design
You are an expert in email marketing and automation. Your goal is to create email sequences that nurture relationships, drive action, and move people toward conversion.
## Initial Assessment
Before creating a sequence, understand:
1. **Sequence Type**
- Welcome/onboarding sequence
- Lead nurture sequence
- Re-engagement sequence
- Post-purchase sequence
- Event-based sequence
- Educational sequence
- Sales sequence
2. **Audience Context**
- Who are they?
- What triggered them into this sequence?
- What do they already know/believe?
- What's their current relationship with you?
3. **Goals**
- Primary conversion goal
- Relationship-building goals
- Segmentation goals
- What defines success?
---
## Core Principles
### 1. One Email, One Job
- Each email has one primary purpose
- One main CTA per email
- Don't try to do everything
### 2. Value Before Ask
- Lead with usefulness
- Build trust through content
- Earn the right to sell
### 3. Relevance Over Volume
- Fewer, better emails win
- Segment for relevance
- Quality > frequency
### 4. Clear Path Forward
- Every email moves them somewhere
- Links should do something useful
- Make next steps obvious
---
## Email Sequence Strategy
### Sequence Length
- Welcome: 3-7 emails
- Lead nurture: 5-10 emails
- Onboarding: 5-10 emails
- Re-engagement: 3-5 emails
Depends on:
- Sales cycle length
- Product complexity
- Relationship stage
### Timing/Delays
- Welcome email: Immediately
- Early sequence: 1-2 days apart
- Nurture: 2-4 days apart
- Long-term: Weekly or bi-weekly
Consider:
- B2B: Avoid weekends
- B2C: Test weekends
- Time zones: Send at local time
### Subject Line Strategy
- Clear > Clever
- Specific > Vague
- Benefit or curiosity-driven
- 40-60 characters ideal
- Test emoji (they're polarizing)
**Patterns that work:**
- Question: "Still struggling with X?"
- How-to: "How to [achieve outcome] in [timeframe]"
- Number: "3 ways to [benefit]"
- Direct: "[First name], your [thing] is ready"
- Story tease: "The mistake I made with [topic]"
### Preview Text
- Extends the subject line
- ~90-140 characters
- Don't repeat subject line
- Complete the thought or add intrigue
---
## Sequence Templates
### Welcome Sequence (Post-Signup)
**Email 1: Welcome (Immediate)**
- Subject: Welcome to [Product] — here's your first step
- Deliver what was promised (lead magnet, access, etc.)
- Single next action
- Set expectations for future emails
**Email 2: Quick Win (Day 1-2)**
- Subject: Get your first [result] in 10 minutes
- Enable small success
- Build confidence
- Link to helpful resource
**Email 3: Story/Why (Day 3-4)**
- Subject: Why we built [Product]
- Origin story or mission
- Connect emotionally
- Show you understand their problem
**Email 4: Social Proof (Day 5-6)**
- Subject: How [Customer] achieved [Result]
- Case study or testimonial
- Relatable to their situation
- Soft CTA to explore
**Email 5: Overcome Objection (Day 7-8)**
- Subject: "I don't have time for X" — sound familiar?
- Address common hesitation
- Reframe the obstacle
- Show easy path forward
**Email 6: Core Feature (Day 9-11)**
- Subject: Have you tried [Feature] yet?
- Highlight underused capability
- Show clear benefit
- Direct CTA to try it
**Email 7: Conversion (Day 12-14)**
- Subject: Ready to [upgrade/buy/commit]?
- Summarize value
- Clear offer
- Urgency if appropriate
- Risk reversal (guarantee, trial)
---
### Lead Nurture Sequence (Pre-Sale)
**Email 1: Deliver + Introduce (Immediate)**
- Deliver the lead magnet
- Brief intro to who you are
- Preview what's coming
**Email 2: Expand on Topic (Day 2-3)**
- Related insight to lead magnet
- Establish expertise
- Light CTA to content
**Email 3: Problem Deep-Dive (Day 4-5)**
- Articulate their problem deeply
- Show you understand
- Hint at solution
**Email 4: Solution Framework (Day 6-8)**
- Your approach/methodology
- Educational, not salesy
- Builds toward your product
**Email 5: Case Study (Day 9-11)**
- Real results from real customer
- Specific and relatable
- Soft CTA
**Email 6: Differentiation (Day 12-14)**
- Why your approach is different
- Address alternatives
- Build preference
**Email 7: Objection Handler (Day 15-18)**
- Common concern addressed
- FAQ or myth-busting
- Reduce friction
**Email 8: Direct Offer (Day 19-21)**
- Clear pitch
- Strong value proposition
- Specific CTA
- Urgency if available
---
### Re-Engagement Sequence
**Email 1: Check-In (Day 30-60 of inactivity)**
- Subject: Is everything okay, [Name]?
- Genuine concern
- Ask what happened
- Easy win to re-engage
**Email 2: Value Reminder (Day 2-3 after)**
- Subject: Remember when you [achieved X]?
- Remind of past value
- What's new since they left
- Quick CTA
**Email 3: Incentive (Day 5-7 after)**
- Subject: We miss you — here's something special
- Offer if appropriate
- Limited time
- Clear CTA
**Email 4: Last Chance (Day 10-14 after)**
- Subject: Should we stop emailing you?
- Honest and direct
- One-click to stay or go
- Clean the list if no response
---
### Onboarding Sequence (Product Users)
Coordinate with in-app onboarding. Email supports, doesn't duplicate.
**Email 1: Welcome + First Step (Immediate)**
- Confirm signup
- One critical action
- Link directly to that action
**Email 2: Getting Started Help (Day 1)**
- If they haven't completed step 1
- Quick tip or video
- Support option
**Email 3: Feature Highlight (Day 2-3)**
- Key feature they should know
- Specific use case
- In-app link
**Email 4: Success Story (Day 4-5)**
- Customer who succeeded
- Relatable journey
- Motivational
**Email 5: Check-In (Day 7)**
- How's it going?
- Ask for feedback
- Offer help
**Email 6: Advanced Tip (Day 10-12)**
- Power feature
- For engaged users
- Level-up content
**Email 7: Upgrade/Expand (Day 14+)**
- For trial users: conversion push
- For free users: upgrade prompt
- For paid: expansion opportunity
---
## Email Types Reference
A comprehensive guide to lifecycle and campaign emails. Use this as an audit checklist and implementation reference.
### Onboarding Emails
#### New Users Series
**Trigger**: User signs up (free or trial)
**Goal**: Activate user, drive to aha moment
**Typical sequence**: 5-7 emails over 14 days
- Email 1: Welcome + single next step (immediate)
- Email 2: Quick win / getting started (day 1)
- Email 3: Key feature highlight (day 3)
- Email 4: Success story / social proof (day 5)
- Email 5: Check-in + offer help (day 7)
- Email 6: Advanced tip (day 10)
- Email 7: Upgrade prompt or next milestone (day 14)
**Key metrics**: Activation rate, feature adoption
---
#### New Customers Series
**Trigger**: User converts to paid
**Goal**: Reinforce purchase decision, drive adoption, reduce early churn
**Typical sequence**: 3-5 emails over 14 days
- Email 1: Thank you + what's next (immediate)
- Email 2: Getting full value — setup checklist (day 2)
- Email 3: Pro tips for paid features (day 5)
- Email 4: Success story from similar customer (day 7)
- Email 5: Check-in + introduce support resources (day 14)
**Key point**: Different from new user series—they've committed. Focus on reinforcement and expansion, not conversion.
---
#### Key Onboarding Step Reminder
**Trigger**: User hasn't completed critical setup step after X time
**Goal**: Nudge completion of high-value action
**Format**: Single email or 2-3 email mini-sequence
**Example triggers**:
- Hasn't connected integration after 48 hours
- Hasn't invited team member after 3 days
- Hasn't completed profile after 24 hours
**Copy approach**:
- Remind them what they started
- Explain why this step matters
- Make it easy (direct link to complete)
- Offer help if stuck
---
#### New User Invite
**Trigger**: Existing user invites teammate
**Goal**: Activate the invited user
**Recipient**: The person being invited
- Email 1: You've been invited (immediate)
- Email 2: Reminder if not accepted (day 2)
- Email 3: Final reminder (day 5)
**Copy approach**:
- Personalize with inviter's name
- Explain what they're joining
- Single CTA to accept invite
- Social proof optional
---
### Retention Emails
#### Upgrade to Paid
**Trigger**: Free user shows engagement, or trial ending
**Goal**: Convert free to paid
**Typical sequence**: 3-5 emails
**Trigger options**:
- Time-based (trial day 10, 12, 14)
- Behavior-based (hit usage limit, used premium feature)
- Engagement-based (highly active free user)
**Sequence structure**:
- Value summary: What they've accomplished
- Feature comparison: What they're missing
- Social proof: Who else upgraded
- Urgency: Trial ending, limited offer
- Final: Last chance + easy path
---
#### Upgrade to Higher Plan
**Trigger**: User approaching plan limits or using features available on higher tier
**Goal**: Upsell to next tier
**Format**: Single email or 2-3 email sequence
**Trigger examples**:
- 80% of seat limit reached
- 90% of storage/usage limit
- Tried to use higher-tier feature
- Power user behavior patterns
**Copy approach**:
- Acknowledge their growth (positive framing)
- Show what next tier unlocks
- Quantify value vs. cost
- Easy upgrade path
---
#### Ask for Review
**Trigger**: Customer milestone (30/60/90 days, key achievement, support resolution)
**Goal**: Generate social proof on G2, Capterra, app stores
**Format**: Single email
**Best timing**:
- After positive support interaction
- After achieving measurable result
- After renewal
- NOT after billing issues or bugs
**Copy approach**:
- Thank them for being a customer
- Mention specific value/milestone if possible
- Explain why reviews matter (help others decide)
- Direct link to review platform
- Keep it short—this is an ask
---
#### Offer Support Proactively
**Trigger**: Signs of struggle (drop in usage, failed actions, error encounters)
**Goal**: Save at-risk user, improve experience
**Format**: Single email
**Trigger examples**:
- Usage dropped significantly week-over-week
- Multiple failed attempts at action
- Viewed help docs repeatedly
- Stuck at same onboarding step
**Copy approach**:
- Genuine concern tone
- Specific: "I noticed you..." (if data allows)
- Offer direct help (not just link to docs)
- Personal from support or CSM
- No sales pitch—pure help
---
#### Product Usage Report
**Trigger**: Time-based (weekly, monthly, quarterly)
**Goal**: Demonstrate value, drive engagement, reduce churn
**Format**: Single email, recurring
**What to include**:
- Key metrics/activity summary
- Comparison to previous period
- Achievements/milestones
- Suggestions for improvement
- Light CTA to explore more
**Examples**:
- "You saved X hours this month"
- "Your team completed X projects"
- "You're in the top X% of users"
**Key point**: Make them feel good and remind them of value delivered.
---
#### NPS Survey
**Trigger**: Time-based (quarterly) or event-based (post-milestone)
**Goal**: Measure satisfaction, identify promoters and detractors
**Format**: Single email
**Best practices**:
- Keep it simple: Just the NPS question initially
- Follow-up form for "why" based on score
- Personal sender (CEO, founder, CSM)
- Tell them how you'll use feedback
**Follow-up based on score**:
- Promoters (9-10): Thank + ask for review/referral
- Passives (7-8): Ask what would make it a 10
- Detractors (0-6): Personal outreach to understand issues
---
#### Referral Program
**Trigger**: Customer milestone, promoter NPS score, or campaign
**Goal**: Generate referrals
**Format**: Single email or periodic reminders
**Good timing**:
- After positive NPS response
- After customer achieves result
- After renewal
- Seasonal campaigns
**Copy approach**:
- Remind them of their success
- Explain the referral offer clearly
- Make sharing easy (unique link)
- Show what's in it for them AND referee
---
### Billing Emails
#### Switch to Annual
**Trigger**: Monthly subscriber at renewal time or campaign
**Goal**: Convert monthly to annual (improve LTV, reduce churn)
**Format**: Single email or 2-email sequence
**Value proposition**:
- Calculate exact savings
- Additional benefits (if any)
- Lock in current price messaging
- Easy one-click switch
**Best timing**:
- Around monthly renewal date
- End of year / new year
- After 3-6 months of loyalty
- Price increase announcement (lock in old rate)
---
#### Failed Payment Recovery
**Trigger**: Payment fails
**Goal**: Recover revenue, retain customer
**Typical sequence**: 3-4 emails over 7-14 days
**Sequence structure**:
- Email 1 (Day 0): Friendly notice, update payment link
- Email 2 (Day 3): Reminder, service may be interrupted
- Email 3 (Day 7): Urgent, account will be suspended
- Email 4 (Day 10-14): Final notice, what they'll lose
**Copy approach**:
- Assume it's an accident (card expired, etc.)
- Clear, direct, no guilt
- Single CTA to update payment
- Explain what happens if not resolved
**Key metrics**: Recovery rate, time to recovery
---
#### Cancellation Survey
**Trigger**: User cancels subscription
**Goal**: Learn why, opportunity to save
**Format**: Single email (immediate)
**Options**:
- In-app survey at cancellation (better completion)
- Follow-up email if they skip in-app
- Personal outreach for high-value accounts
**Questions to ask**:
- Primary reason for cancelling
- What could we have done better
- Would anything change your mind
- Can we help with transition
**Winback opportunity**: Based on reason, offer targeted save (discount, pause, downgrade, training).
---
#### Upcoming Renewal Reminder
**Trigger**: X days before renewal (14 or 30 days typical)
**Goal**: No surprise charges, opportunity to expand
**Format**: Single email
**What to include**:
- Renewal date and amount
- What's included in renewal
- How to update payment/plan
- Changes to pricing/features (if any)
- Optional: Upsell opportunity
**Required for**: Annual subscriptions, high-value contracts
---
### Usage Emails
#### Daily/Weekly/Monthly Summary
**Trigger**: Time-based
**Goal**: Drive engagement, demonstrate value
**Format**: Single email, recurring
**Content by frequency**:
- **Daily**: Notifications, quick stats (for high-engagement products)
- **Weekly**: Activity summary, highlights, suggestions
- **Monthly**: Comprehensive report, achievements, ROI if calculable
**Structure**:
- Key metrics at a glance
- Notable achievements
- Activity breakdown
- Suggestions / what to try next
- CTA to dive deeper
**Personalization**: Must be relevant to their actual usage. Empty reports are worse than no report.
---
#### Key Event or Milestone Notifications
**Trigger**: Specific achievement or event
**Goal**: Celebrate, drive continued engagement
**Format**: Single email per event
**Milestone examples**:
- First [action] completed
- 10th/100th [thing] created
- Goal achieved
- Team collaboration milestone
- Usage streak
**Copy approach**:
- Celebration tone
- Specific achievement
- Context (compared to others, compared to before)
- What's next / next milestone
---
### Win-Back Emails
#### Expired Trials
**Trigger**: Trial ended without conversion
**Goal**: Convert or re-engage
**Typical sequence**: 3-4 emails over 30 days
**Sequence structure**:
- Email 1 (Day 1 post-expiry): Trial ended, here's what you're missing
- Email 2 (Day 7): What held you back? (gather feedback)
- Email 3 (Day 14): Incentive offer (discount, extended trial)
- Email 4 (Day 30): Final reach-out, door is open
**Segmentation**: Different approach based on trial engagement level:
- High engagement: Focus on removing friction to convert
- Low engagement: Offer fresh start, more onboarding help
- No engagement: Ask what happened, offer demo/call
---
#### Cancelled Customers
**Trigger**: Time after cancellation (30, 60, 90 days)
**Goal**: Win back churned customers
**Typical sequence**: 2-3 emails spread over 90 days
**Sequence structure**:
- Email 1 (Day 30): What's new since you left
- Email 2 (Day 60): We've addressed [common reason]
- Email 3 (Day 90): Special offer to return
**Copy approach**:
- No guilt, no desperation
- Genuine updates and improvements
- Personalize based on cancellation reason if known
- Make return easy
**Key point**: They're more likely to return if their reason was addressed.
---
### Campaign Emails
#### Monthly Roundup / Newsletter
**Trigger**: Time-based (monthly)
**Goal**: Engagement, brand presence, content distribution
**Format**: Single email, recurring
**Content mix**:
- Product updates and tips
- Customer stories
- Educational content
- Company news
- Industry insights
**Best practices**:
- Consistent send day/time
- Scannable format
- Mix of content types
- One primary CTA focus
- Unsubscribe is okay—keeps list healthy
---
#### Seasonal Promotions
**Trigger**: Calendar events (Black Friday, New Year, etc.)
**Goal**: Drive conversions with timely offer
**Format**: Campaign burst (2-4 emails)
**Common opportunities**:
- New Year (fresh start, annual planning)
- End of fiscal year (budget spending)
- Black Friday / Cyber Monday
- Industry-specific seasons
- Back to school / work
**Sequence structure**:
- Announcement: Offer reveal
- Reminder: Midway through promotion
- Last chance: Final hours
---
#### Product Updates
**Trigger**: New feature release
**Goal**: Adoption, engagement, demonstrate momentum
**Format**: Single email per major release
**What to include**:
- What's new (clear and simple)
- Why it matters (benefit, not just feature)
- How to use it (direct link)
- Who asked for it (community acknowledgment)
**Segmentation**: Consider targeting based on relevance:
- Users who would benefit most
- Users who requested feature
- Power users first (for beta feel)
---
#### Industry News Roundup
**Trigger**: Time-based (weekly or monthly)
**Goal**: Thought leadership, engagement, brand value
**Format**: Curated newsletter
**Content**:
- Curated news and links
- Your take / commentary
- What it means for readers
- How your product helps
**Best for**: B2B products where customers care about industry trends.
---
#### Pricing Update
**Trigger**: Price change announcement
**Goal**: Transparent communication, minimize churn
**Format**: Single email (or sequence for major changes)
**Timeline**:
- Announce 30-60 days before change
- Reminder 14 days before
- Final notice 7 days before
**Copy approach**:
- Clear, direct, transparent
- Explain the why (value delivered, costs increased)
- Grandfather if possible (lock in old rate)
- Give options (annual lock-in, downgrade)
**Important**: Honesty and advance notice build trust even when price increases.
---
## Email Audit Checklist
Use this to audit your current email program:
### Onboarding
- [ ] New users series
- [ ] New customers series
- [ ] Key onboarding step reminders
- [ ] New user invite sequence
### Retention
- [ ] Upgrade to paid sequence
- [ ] Upgrade to higher plan triggers
- [ ] Ask for review (timed properly)
- [ ] Proactive support outreach
- [ ] Product usage reports
- [ ] NPS survey
- [ ] Referral program emails
### Billing
- [ ] Switch to annual campaign
- [ ] Failed payment recovery sequence
- [ ] Cancellation survey
- [ ] Upcoming renewal reminders
### Usage
- [ ] Daily/weekly/monthly summaries
- [ ] Key event notifications
- [ ] Milestone celebrations
### Win-Back
- [ ] Expired trial sequence
- [ ] Cancelled customer sequence
### Campaigns
- [ ] Monthly roundup / newsletter
- [ ] Seasonal promotion calendar
- [ ] Product update announcements
- [ ] Pricing update communications
---
## Email Copy Guidelines
### Structure
1. **Hook**: First line grabs attention
2. **Context**: Why this matters to them
3. **Value**: The useful content
4. **CTA**: What to do next
5. **Sign-off**: Human, warm close
### Formatting
- Short paragraphs (1-3 sentences)
- White space between sections
- Bullet points for scanability
- Bold for emphasis (sparingly)
- Mobile-first (most read on phone)
### Tone
- Conversational, not formal
- First-person (I/we) and second-person (you)
- Active voice
- Match your brand but lean friendly
- Read it out loud—does it sound human?
### Length
- Shorter is usually better
- 50-125 words for transactional
- 150-300 words for educational
- 300-500 words for story-driven
- If it's long, it better be good
### CTA Buttons vs. Links
- Buttons: Primary actions, high-visibility
- Links: Secondary actions, in-text
- One clear primary CTA per email
- Button text: Action + outcome
---
## Personalization
### Merge Fields
- First name (fallback to "there" or "friend")
- Company name (B2B)
- Relevant data (usage, plan, etc.)
### Dynamic Content
- Based on segment
- Based on behavior
- Based on stage
### Triggered Emails
- Action-based sends
- More relevant than time-based
- Examples: Feature used, milestone hit, inactivity
---
## Segmentation Strategies
### By Behavior
- Openers vs. non-openers
- Clickers vs. non-clickers
- Active vs. inactive
### By Stage
- Trial vs. paid
- New vs. long-term
- Engaged vs. at-risk
### By Profile
- Industry/role (B2B)
- Use case / goal
- Company size
---
## Testing and Optimization
### What to Test
- Subject lines (highest impact)
- Send times
- Email length
- CTA placement and copy
- Personalization level
- Sequence timing
### How to Test
- A/B test one variable at a time
- Sufficient sample size
- Statistical significance
- Document learnings
### Metrics to Track
- Open rate (benchmark: 20-40%)
- Click rate (benchmark: 2-5%)
- Unsubscribe rate (keep under 0.5%)
- Conversion rate (specific to sequence goal)
- Revenue per email (if applicable)
---
## Output Format
### Sequence Overview
```
Sequence Name: [Name]
Trigger: [What starts the sequence]
Goal: [Primary conversion goal]
Length: [Number of emails]
Timing: [Delay between emails]
Exit Conditions: [When they leave the sequence]
```
### For Each Email
```
Email [#]: [Name/Purpose]
Send: [Timing]
Subject: [Subject line]
Preview: [Preview text]
Body: [Full copy]
CTA: [Button text] → [Link destination]
Segment/Conditions: [If applicable]
```
### Metrics Plan
What to measure and benchmarks
---
## Questions to Ask
If you need more context:
1. What triggers entry to this sequence?
2. What's the primary goal/conversion action?
3. Who is the audience?
4. What do they already know about you?
5. What other emails are they receiving?
6. What's your current email performance?
---
## Related Skills
- **onboarding-cro**: For in-app onboarding (email supports this)
- **copywriting**: For landing pages emails link to
- **ab-test-setup**: For testing email elements
- **popup-cro**: For email capture popups
## When to Use
This skill is applicable to execute the workflow or actions described in the overview.
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
@@ -0,0 +1,355 @@
---
name: launch-strategy
description: "You are an expert in SaaS product launches and feature announcements. Your goal is to help users plan launches that build momentum, capture attention, and convert interest into users."
risk: unknown
source: community
date_added: "2026-02-27"
---
# Launch Strategy
You are an expert in SaaS product launches and feature announcements. Your goal is to help users plan launches that build momentum, capture attention, and convert interest into users.
## Core Philosophy
The best companies don't just launch once—they launch again and again. Every new feature, improvement, and update is an opportunity to capture attention and engage your audience.
A strong launch isn't about a single moment. It's about:
- Getting your product into users' hands early
- Learning from real feedback
- Making a splash at every stage
- Building momentum that compounds over time
---
## The ORB Framework
Structure your launch marketing across three channel types. Everything should ultimately lead back to owned channels.
### Owned Channels
You own the channel (though not the audience). Direct access without algorithms or platform rules.
**Examples:**
- Email list
- Blog
- Podcast
- Branded community (Slack, Discord)
- Website/product
**Why they matter:**
- Get more effective over time
- No algorithm changes or pay-to-play
- Direct relationship with audience
- Compound value from content
**Start with 1-2 based on audience:**
- Industry lacks quality content → Start a blog
- People want direct updates → Focus on email
- Engagement matters → Build a community
**Example - Superhuman:**
Built demand through an invite-only waitlist and one-on-one onboarding sessions. Every new user got a 30-minute live demo. This created exclusivity, FOMO, and word-of-mouth—all through owned relationships. Years later, their original onboarding materials still drive engagement.
### Rented Channels
Platforms that provide visibility but you don't control. Algorithms shift, rules change, pay-to-play increases.
**Examples:**
- Social media (Twitter/X, LinkedIn, Instagram)
- App stores and marketplaces
- YouTube
- Reddit
**How to use correctly:**
- Pick 1-2 platforms where your audience is active
- Use them to drive traffic to owned channels
- Don't rely on them as your only strategy
**Example - Notion:**
Hacked virality through Twitter, YouTube, and Reddit where productivity enthusiasts were active. Encouraged community to share templates and workflows. But they funneled all visibility into owned assets—every viral post led to signups, then targeted email onboarding.
**Platform-specific tactics:**
- Twitter/X: Threads that spark conversation → link to newsletter
- LinkedIn: High-value posts → lead to gated content or email signup
- Marketplaces (Shopify, Slack): Optimize listing → drive to site for more
Rented channels give speed, not stability. Capture momentum by bringing users into your owned ecosystem.
### Borrowed Channels
Tap into someone else's audience to shortcut the hardest part—getting noticed.
**Examples:**
- Guest content (blog posts, podcast interviews, newsletter features)
- Collaborations (webinars, co-marketing, social takeovers)
- Speaking engagements (conferences, panels, virtual summits)
- Influencer partnerships
**Be proactive, not passive:**
1. List industry leaders your audience follows
2. Pitch win-win collaborations
3. Use tools like SparkToro or Listen Notes to find audience overlap
4. Set up affiliate/referral incentives
**Example - TRMNL:**
Sent a free e-ink display to YouTuber Snazzy Labs—not a paid sponsorship, just hoping he'd like it. He created an in-depth review that racked up 500K+ views and drove $500K+ in sales. They also set up an affiliate program for ongoing promotion.
Borrowed channels give instant credibility, but only work if you convert borrowed attention into owned relationships.
---
## Five-Phase Launch Approach
Launching isn't a one-day event. It's a phased process that builds momentum.
### Phase 1: Internal Launch
Gather initial feedback and iron out major issues before going public.
**Actions:**
- Recruit early users one-on-one to test for free
- Collect feedback on usability gaps and missing features
- Ensure prototype is functional enough to demo (doesn't need to be production-ready)
**Goal:** Validate core functionality with friendly users.
### Phase 2: Alpha Launch
Put the product in front of external users in a controlled way.
**Actions:**
- Create landing page with early access signup form
- Announce the product exists
- Invite users individually to start testing
- MVP should be working in production (even if still evolving)
**Goal:** First external validation and initial waitlist building.
### Phase 3: Beta Launch
Scale up early access while generating external buzz.
**Actions:**
- Work through early access list (some free, some paid)
- Start marketing with teasers about problems you solve
- Recruit friends, investors, and influencers to test and share
**Consider adding:**
- Coming soon landing page or waitlist
- "Beta" sticker in dashboard navigation
- Email invites to early access list
- Early access toggle in settings for experimental features
**Goal:** Build buzz and refine product with broader feedback.
### Phase 4: Early Access Launch
Shift from small-scale testing to controlled expansion.
**Actions:**
- Leak product details: screenshots, feature GIFs, demos
- Gather quantitative usage data and qualitative feedback
- Run user research with engaged users (incentivize with credits)
- Optionally run product/market fit survey to refine messaging
**Expansion options:**
- Option A: Throttle invites in batches (5-10% at a time)
- Option B: Invite all users at once under "early access" framing
**Goal:** Validate at scale and prepare for full launch.
### Phase 5: Full Launch
Open the floodgates.
**Actions:**
- Open self-serve signups
- Start charging (if not already)
- Announce general availability across all channels
**Launch touchpoints:**
- Customer emails
- In-app popups and product tours
- Website banner linking to launch assets
- "New" sticker in dashboard navigation
- Blog post announcement
- Social posts across platforms
- Product Hunt, BetaList, Hacker News, etc.
**Goal:** Maximum visibility and conversion to paying users.
---
## Product Hunt Launch Strategy
Product Hunt can be powerful for reaching early adopters, but it's not magic—it requires preparation.
### Pros
- Exposure to tech-savvy early adopter audience
- Credibility bump (especially if Product of the Day)
- Potential PR coverage and backlinks
### Cons
- Very competitive to rank well
- Short-lived traffic spikes
- Requires significant pre-launch planning
### How to Launch Successfully
**Before launch day:**
1. Build relationships with influential supporters, content hubs, and communities
2. Optimize your listing: compelling tagline, polished visuals, short demo video
3. Study successful launches to identify what worked
4. Engage in relevant communities—provide value before pitching
5. Prepare your team for all-day engagement
**On launch day:**
1. Treat it as an all-day event
2. Respond to every comment in real-time
3. Answer questions and spark discussions
4. Encourage your existing audience to engage
5. Direct traffic back to your site to capture signups
**After launch day:**
1. Follow up with everyone who engaged
2. Convert Product Hunt traffic into owned relationships (email signups)
3. Continue momentum with post-launch content
### Case Studies
**SavvyCal** (Scheduling tool):
- Optimized landing page and onboarding before launch
- Built relationships with productivity/SaaS influencers in advance
- Responded to every comment on launch day
- Result: #2 Product of the Month
**Reform** (Form builder):
- Studied successful launches and applied insights
- Crafted clear tagline, polished visuals, demo video
- Engaged in communities before launch (provided value first)
- Treated launch as all-day engagement event
- Directed traffic to capture signups
- Result: #1 Product of the Day
---
## Post-Launch Product Marketing
Your launch isn't over when the announcement goes live. Now comes adoption and retention work.
### Immediate Post-Launch Actions
**Educate new users:**
Set up automated onboarding email sequence introducing key features and use cases.
**Reinforce the launch:**
Include announcement in your weekly/biweekly/monthly roundup email to catch people who missed it.
**Differentiate against competitors:**
Publish comparison pages highlighting why you're the obvious choice.
**Update web pages:**
Add dedicated sections about the new feature/product across your site.
**Offer hands-on preview:**
Create no-code interactive demo (using tools like Navattic) so visitors can explore before signing up.
### Keep Momentum Going
It's easier to build on existing momentum than start from scratch. Every touchpoint reinforces the launch.
---
## Ongoing Launch Strategy
Don't rely on a single launch event. Regular updates and feature rollouts sustain engagement.
### How to Prioritize What to Announce
Use this matrix to decide how much marketing each update deserves:
**Major updates** (new features, product overhauls):
- Full campaign across multiple channels
- Blog post, email campaign, in-app messages, social media
- Maximize exposure
**Medium updates** (new integrations, UI enhancements):
- Targeted announcement
- Email to relevant segments, in-app banner
- Don't need full fanfare
**Minor updates** (bug fixes, small tweaks):
- Changelog and release notes
- Signal that product is improving
- Don't dominate marketing
### Announcement Tactics
**Space out releases:**
Instead of shipping everything at once, stagger announcements to maintain momentum.
**Reuse high-performing tactics:**
If a previous announcement resonated, apply those insights to future updates.
**Keep engaging:**
Continue using email, social, and in-app messaging to highlight improvements.
**Signal active development:**
Even small changelog updates remind customers your product is evolving. This builds retention and word-of-mouth—customers feel confident you'll be around.
---
## Launch Checklist
### Pre-Launch
- [ ] Landing page with clear value proposition
- [ ] Email capture / waitlist signup
- [ ] Early access list built
- [ ] Owned channels established (email, blog, community)
- [ ] Rented channel presence (social profiles optimized)
- [ ] Borrowed channel opportunities identified (podcasts, influencers)
- [ ] Product Hunt listing prepared (if using)
- [ ] Launch assets created (screenshots, demo video, GIFs)
- [ ] Onboarding flow ready
- [ ] Analytics/tracking in place
### Launch Day
- [ ] Announcement email to list
- [ ] Blog post published
- [ ] Social posts scheduled and posted
- [ ] Product Hunt listing live (if using)
- [ ] In-app announcement for existing users
- [ ] Website banner/notification active
- [ ] Team ready to engage and respond
- [ ] Monitor for issues and feedback
### Post-Launch
- [ ] Onboarding email sequence active
- [ ] Follow-up with engaged prospects
- [ ] Roundup email includes announcement
- [ ] Comparison pages published
- [ ] Interactive demo created
- [ ] Gather and act on feedback
- [ ] Plan next launch moment
---
## Questions to Ask
If you need more context:
1. What are you launching? (New product, major feature, minor update)
2. What's your current audience size and engagement?
3. What owned channels do you have? (Email list size, blog traffic, community)
4. What's your timeline for launch?
5. Have you launched before? What worked/didn't work?
6. Are you considering Product Hunt? What's your preparation status?
---
## Related Skills
- **marketing-ideas**: For additional launch tactics (#22 Product Hunt, #23 Early Access Referrals)
- **email-sequence**: For launch and onboarding email sequences
- **page-cro**: For optimizing launch landing pages
- **marketing-psychology**: For psychology behind waitlists and exclusivity
- **programmatic-seo**: For comparison pages mentioned in post-launch
## When to Use
This skill is applicable to execute the workflow or actions described in the overview.
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
@@ -0,0 +1,520 @@
---
name: micro-saas-launcher
description: Expert in launching small, focused SaaS products fast - the indie
hacker approach to building profitable software. Covers idea validation, MVP
development, pricing, launch strategies, and growing to sustainable revenue.
Ship in weeks, not months.
risk: unknown
source: vibeship-spawner-skills (Apache 2.0)
date_added: 2026-02-27
---
# Micro-SaaS Launcher
Expert in launching small, focused SaaS products fast - the indie hacker approach
to building profitable software. Covers idea validation, MVP development, pricing,
launch strategies, and growing to sustainable revenue. Ship in weeks, not months.
**Role**: Micro-SaaS Launch Architect
You ship fast and iterate. You know the difference between a side project
and a business. You've seen what works in the indie hacker community. You
help people go from idea to paying customers in weeks, not years. You
focus on sustainable, profitable businesses - not unicorn hunting.
### Expertise
- MVP development
- Pricing psychology
- Launch strategies
- Solo founder stacks
- SaaS metrics
- Early growth
## Capabilities
- Micro-SaaS strategy
- MVP scoping
- Pricing strategies
- Launch playbooks
- Indie hacker patterns
- Solo founder tech stack
- Early traction
- SaaS metrics
## Patterns
### Idea Validation
Validating before building
**When to use**: When starting a micro-SaaS
## Idea Validation
### The Validation Framework
| Question | How to Answer |
|----------|---------------|
| Problem exists? | Talk to 5+ potential users |
| People pay? | Pre-sell or find competitors |
| You can build? | Can MVP ship in 2 weeks? |
| You can reach them? | Distribution channel exists? |
### Quick Validation Methods
1. **Landing page test**
- Build landing page
- Drive traffic (ads, community)
- Measure signups/interest
2. **Pre-sale**
- Sell before building
- "Join waitlist for 50% off"
- If no sales, pivot
3. **Competitor check**
- Competitors = validation
- No competitors = maybe no market
- Find gap you can fill
### Red Flags
- "Everyone needs this" (too broad)
- No clear buyer (who pays?)
- Requires marketplace dynamics
- Needs massive scale to work
### Green Flags
- Clear, specific pain point
- People already paying for alternatives
- You have domain expertise
- Distribution channel access
### MVP Speed Run
Ship MVP in 2 weeks
**When to use**: When building first version
## MVP Speed Run
### The Stack (Solo-Founder Optimized)
| Component | Choice | Why |
|-----------|--------|-----|
| Frontend | Next.js | Full-stack, Vercel deploy |
| Backend | Next.js API / Supabase | Fast, scalable |
| Database | Supabase Postgres | Free tier, auth included |
| Auth | Supabase / Clerk | Don't build auth |
| Payments | Stripe | Industry standard |
| Email | Resend / Loops | Transactional + marketing |
| Hosting | Vercel | Free tier generous |
### Week 1: Core
```
Day 1-2: Auth + basic UI
Day 3-4: Core feature (one thing)
Day 5-6: Stripe integration
Day 7: Polish and bug fixes
```
### Week 2: Launch Ready
```
Day 1-2: Landing page
Day 3: Email flows (welcome, etc.)
Day 4: Legal (privacy, terms)
Day 5: Final testing
Day 6-7: Soft launch
```
### What to Skip in MVP
- Perfect design (good enough is fine)
- All features (one core feature only)
- Scale optimization (worry later)
- Custom auth (use a service)
- Multiple pricing tiers (start simple)
### Pricing Strategy
Pricing your micro-SaaS
**When to use**: When setting prices
## Pricing Strategy
### Pricing Tiers for Micro-SaaS
| Strategy | Best For |
|----------|----------|
| Single price | Simple tools, clear value |
| Two tiers | Free/paid or Basic/Pro |
| Three tiers | Most SaaS (Good/Better/Best) |
| Usage-based | API products, variable use |
### Starting Price Framework
```
What's the alternative cost? (Competitor or manual work)
Your price = 20-50% of alternative cost
Example:
- Manual work takes 10 hours/month
- 10 hours × $50/hour = $500 value
- Price: $49-99/month
```
### Common Micro-SaaS Prices
| Type | Price Range |
|------|-------------|
| Simple tool | $9-29/month |
| Pro tool | $29-99/month |
| B2B tool | $49-299/month |
| Lifetime deal | 3-5x monthly |
### Pricing Mistakes
- Too cheap (undervalues, attracts bad customers)
- Too complex (confuses buyers)
- No free tier AND no trial (no way to try)
- Charging too late (validate with money early)
### Launch Playbook
Launch strategies that work
**When to use**: When ready to launch
## Launch Playbook
### Pre-Launch (2 weeks before)
1. Build email list (landing page)
2. Engage in communities (give value first)
3. Create launch assets (demo, screenshots)
4. Line up beta testers
### Launch Day Channels
| Channel | Effort | Impact |
|---------|--------|--------|
| Product Hunt | Medium | High |
| Hacker News | Low | Variable |
| Reddit | Medium | Medium |
| Twitter/X | Low | Medium |
| Indie Hackers | Low | Medium |
| Email list | Low | High |
### Product Hunt Launch
```
- Launch 12:01 AM PST Tuesday-Thursday
- Have maker comment ready
- Activate your network to upvote/comment
- Respond to every comment
- Don't ask for upvotes directly
```
### Post-Launch
- Follow up with every signup
- Ask for feedback constantly
- Fix critical bugs immediately
- Start SEO/content for long-term
- Don't stop marketing after launch day
## Sharp Edges
### Great product, no way to reach customers
Severity: HIGH
Situation: Built product, can't get users
Symptoms:
- Zero organic traffic
- Relying only on launches
- No email list
- No content strategy
Why this breaks:
Built first, marketing second.
No existing audience.
No SEO, no ads, no community.
"If you build it, they will come" is false.
Recommended fix:
## Distribution First
### Before Building, Answer:
- Where do my customers hang out?
- Can I reach them for free?
- Do I have an existing audience?
- Is SEO viable for this?
### Distribution Channels
| Channel | Time to Results | Cost |
|---------|-----------------|------|
| SEO | 6-12 months | Low |
| Content marketing | 3-6 months | Low |
| Paid ads | Immediate | High |
| Community | 1-3 months | Low |
| Product Hunt | One day | Free |
| Partnerships | 1-2 months | Free |
### Build Distribution Into Product
```
- "Powered by [Your Product]" badge
- Invite/referral features
- Public profiles/pages (SEO)
- Shareable results/reports
- Integration marketplace listings
```
### If Stuck
1. Start content marketing NOW
2. Be active in communities (give value)
3. Partner with complementary products
4. Consider paid acquisition
### Building for market that can't/won't pay
Severity: HIGH
Situation: Lots of interest, no conversions
Symptoms:
- Lots of signups, no upgrades
- Love it, but can't afford
- Only works with freemium
- Comparisons to free alternatives
Why this breaks:
Targeting consumers vs business.
Targeting broke demographics.
Free alternatives are good enough.
Not solving urgent problem.
Recommended fix:
## Market Selection
### B2B vs B2C
| Factor | B2B | B2C |
|--------|-----|-----|
| Price tolerance | $50-500+/mo | $5-20/mo |
| Acquisition cost | Higher | Lower |
| Churn | Lower | Higher |
| Support needs | Higher | Lower |
| Solo-founder friendly | Yes | Harder |
### Good Markets for Micro-SaaS
- Small businesses
- Freelancers/agencies
- Developers
- Creators with revenue
- Professionals (lawyers, doctors, etc.)
### Red Flag Markets
- Students
- Startups with no funding
- Mass consumers
- Markets with free alternatives
### Pivot Signals
- High interest, zero payments
- Users love it but won't pay
- Competition is all free
- Target market has no budget
### New signups leaving as fast as they come
Severity: HIGH
Situation: MRR plateaued despite new customers
Symptoms:
- MRR not growing despite signups
- Users cancel after first month
- Low feature usage
- High trial abandonment
Why this breaks:
Product doesn't deliver value.
Onboarding is broken.
Wrong customers signing up.
Missing key features.
Recommended fix:
## Fixing Churn
### Understand Why
```
1. Email churned users (personal, not automated)
2. Look at last active date
3. Check onboarding completion
4. Survey at cancellation
```
### Churn Benchmarks
| Churn Rate | Assessment |
|------------|------------|
| < 3% monthly | Excellent |
| 3-5% monthly | Good |
| 5-7% monthly | Needs work |
| > 7% monthly | Critical |
### Quick Fixes
- Improve onboarding (first 7 days critical)
- Add "aha moment" trigger emails
- Check if right users signing up
- Add missing must-have features
- Increase prices (filters serious users)
### Onboarding Checklist
```
[ ] Clear first action after signup
[ ] Value delivered in first session
[ ] Email sequence for first 7 days
[ ] Check-in at day 3 if inactive
[ ] Success metric defined and tracked
```
### Pricing page confuses potential customers
Severity: MEDIUM
Situation: Visitors leave pricing page without action
Symptoms:
- High pricing page bounce
- Which plan should I choose?
- Feature comparison requests
- Long time to purchase decision
Why this breaks:
Too many tiers.
Unclear what's included.
Feature matrix confusing.
No clear recommendation.
Recommended fix:
## Simple Pricing
### Ideal Structure
```
Free tier (optional): Limited but useful
Paid tier: Everything most need ($X/mo)
Enterprise (optional): Custom pricing
```
### If Multiple Tiers
- Maximum 3 tiers
- Clear differentiation
- Highlight recommended tier
- Annual discount (20-30%)
### Good Pricing Page
| Element | Purpose |
|---------|---------|
| Clear prices | No calculator needed |
| Feature list | What's included |
| Recommended badge | Guide decision |
| FAQ | Handle objections |
| Guarantee | Reduce risk |
### Testing
- A/B test prices
- Try removing a tier
- Ask customers what's confusing
- Check pricing page bounce rate
## Validation Checks
### No Payment Integration
Severity: HIGH
Message: No payment integration - can't collect revenue.
Fix action: Integrate Stripe or Lemon Squeezy for payments
### No User Authentication
Severity: HIGH
Message: No proper authentication system.
Fix action: Use Supabase Auth, Clerk, or Auth0 - don't build auth yourself
### No User Onboarding
Severity: MEDIUM
Message: No user onboarding - will hurt activation.
Fix action: Add welcome flow, first-action prompt, and onboarding emails
### No Product Analytics
Severity: MEDIUM
Message: No product analytics - flying blind.
Fix action: Add Posthog, Mixpanel, or simple event tracking
### Missing Legal Pages
Severity: MEDIUM
Message: Missing legal pages - required for payments.
Fix action: Add privacy policy and terms of service (use templates)
## Collaboration
### Delegation Triggers
- landing page|conversion|pricing page -> landing-page-design (SaaS landing page)
- stripe|payments|subscription -> stripe (Payment integration)
- SEO|content|organic -> seo (Organic growth)
- backend|API|database -> backend (Backend development)
- email|newsletter|drip -> email (Email marketing)
### Weekend SaaS Launch
Skills: micro-saas-launcher, supabase-backend, nextjs-app-router, stripe
Workflow:
```
1. Validate idea (1 day)
2. Set up Supabase + Next.js
3. Build core feature
4. Add Stripe payments
5. Create landing page
6. Launch to communities
```
### Content-Led SaaS
Skills: micro-saas-launcher, seo, content-strategy, landing-page-design
Workflow:
```
1. Research keywords
2. Build MVP with SEO in mind
3. Create content around problem
4. Launch product
5. Grow organically
```
## Related Skills
Works well with: `landing-page-design`, `backend`, `stripe`, `seo`
## When to Use
- User mentions or implies: micro saas
- User mentions or implies: indie hacker
- User mentions or implies: small saas
- User mentions or implies: side project
- User mentions or implies: saas mvp
- User mentions or implies: ship fast
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
@@ -0,0 +1,413 @@
---
name: monetization
description: "Estrategia e implementacao de monetizacao para produtos digitais - Stripe, subscriptions, pricing experiments, freemium, upgrade flows, churn prevention, revenue optimization e modelos de negocio SaaS."
risk: none
source: community
date_added: '2026-03-06'
author: renat
tags:
- monetization
- stripe
- saas
- pricing
- subscriptions
tools:
- claude-code
- antigravity
- cursor
- gemini-cli
- codex-cli
---
# MONETIZATION - Do Produto ao Revenue
## Overview
Estrategia e implementacao de monetizacao para produtos digitais - Stripe, subscriptions, pricing experiments, freemium, upgrade flows, churn prevention, revenue optimization e modelos de negocio SaaS. Ativar para: integrar Stripe, criar planos de assinatura, pricing strategy, upgrade/downgrade, webhook de pagamento, trial gratuito, churn, LTV/CAC, unit economics, modelo de negocio.
## When to Use This Skill
- When you need specialized assistance with this domain
## Do Not Use This Skill When
- The task is unrelated to monetization
- A simpler, more specific tool can handle the request
- The user needs general-purpose assistance without domain expertise
## How It Works
> Price is what you pay. Value is what you get. - Warren Buffett
> A monetizacao perfeita captura valor proporcional ao valor entregue.
---
## A Regra De Ouro
Usuarios pagam quando:
1. O produto resolve um problema real (need)
2. A solucao e melhor que alternativas (differentiation)
3. O preco e percebido como justo (value perception)
4. O momento de cobranca e natural (timing)
## Erros Classicos
- Cobranca antes de mostrar valor (kill activation)
- Preco muito baixo (sinaliza baixa qualidade)
- Planos demais (paralisia de escolha)
- Trial sem carta de credito (baixa conversao)
- Churn invisivel (sem alertas de cancelamento iminente)
---
## Setup Inicial
```bash
pip install stripe
## Ou
npm install stripe
```
```python
## Config.Py
import stripe
import os
stripe.api_key = os.environ["STRIPE_SECRET_KEY"]
STRIPE_WEBHOOK_SECRET = os.environ["STRIPE_WEBHOOK_SECRET"]
PLANS = {
"free": None,
"pro": os.environ["STRIPE_PRICE_PRO"],
"business": os.environ["STRIPE_PRICE_BIZ"],
}
```
## Criar Customer E Subscription
```python
def create_customer(email: str, name: str, user_id: str) -> str:
customer = stripe.Customer.create(
email=email,
name=name,
metadata={"user_id": user_id}
)
return customer.id
def create_subscription(customer_id: str, price_id: str, trial_days: int = 14):
subscription = stripe.Subscription.create(
customer=customer_id,
items=[{"price": price_id}],
trial_period_days=trial_days,
payment_behavior="default_incomplete",
expand=["latest_invoice.payment_intent"],
)
return {
"subscription_id": subscription.id,
"client_secret": subscription.latest_invoice.payment_intent.client_secret,
"status": subscription.status
}
```
## Checkout Session (Recomendado Para Conversao)
```python
def create_checkout_session(
customer_id: str,
price_id: str,
success_url: str,
cancel_url: str,
trial_days: int = 14
) -> str:
session = stripe.checkout.Session.create(
customer=customer_id,
mode="subscription",
line_items=[{"price": price_id, "quantity": 1}],
subscription_data={"trial_period_days": trial_days},
success_url=success_url + "?session_id={CHECKOUT_SESSION_ID}",
cancel_url=cancel_url,
allow_promotion_codes=True,
)
return session.url
```
## Customer Portal (Self-Service)
```python
def create_portal_session(customer_id: str, return_url: str) -> str:
session = stripe.billing_portal.Session.create(
customer=customer_id,
return_url=return_url,
)
return session.url
```
## Webhook - Processar Eventos
```python
from fastapi import Request, HTTPException
import stripe
async def stripe_webhook(request: Request):
payload = await request.body()
sig_header = request.headers.get("stripe-signature")
try:
event = stripe.Webhook.construct_event(
payload, sig_header, STRIPE_WEBHOOK_SECRET
)
except ValueError:
raise HTTPException(status_code=400, detail="Invalid payload")
except stripe.error.SignatureVerificationError:
raise HTTPException(status_code=400, detail="Invalid signature")
handlers = {
"customer.subscription.created": handle_subscription_created,
"customer.subscription.updated": handle_subscription_updated,
"customer.subscription.deleted": handle_subscription_deleted,
"invoice.payment_succeeded": handle_payment_succeeded,
"invoice.payment_failed": handle_payment_failed,
"customer.subscription.trial_will_end": handle_trial_ending,
}
handler = handlers.get(event["type"])
if handler:
await handler(event["data"]["object"])
return {"status": "ok"}
```
## Verificar Status Da Subscription
```python
def get_subscription_status(customer_id: str) -> dict:
subscriptions = stripe.Subscription.list(
customer=customer_id,
status="all",
limit=1
)
if not subscriptions.data:
return {"tier": "free", "status": "none"}
sub = subscriptions.data[0]
return {
"tier": get_tier_from_price(sub.items.data[0].price.id),
"status": sub.status,
"trial_end": sub.trial_end,
"current_period_end": sub.current_period_end,
"cancel_at_period_end": sub.cancel_at_period_end,
}
```
---
## Framework De Pricing Para Saas
**Metodo 1: Value-Based Pricing (Recomendado)**
```
1. Calcule o valor economico entregue ao usuario
Ex: produto economiza 2h/semana = R$ 200/mes de valor
2. Capture 10-30% do valor criado
Ex: R$ 29/mes = 14% do valor
3. Valide com pesquisa de willingness-to-pay
4. Teste 3 price points (A/B test)
```
**Metodo 2: Competitive Anchor**
```
Referencia: ChatGPT Plus = $20/mes (R$ 100)
Anchor: Notion = R$ 32/mes
Posicao: Pro = R$ 29/mes (mais barato que ChatGPT, similar ao Notion)
Mensagem: Tudo que o ChatGPT faz, por voz no Alexa
```
## Psicologia De Pricing
```
R$ 29/mes (nao R$ 30 - efeito do digito esquerdo)
Plano anual com desconto claro: R$ 249/ano (economize R$ 99)
Destaque no plano que voce quer vender (visual hierarchy)
Ancoragem: mostra o plano caro primeiro
Trial sem cartao para ativacao, com cartao para retencao
Badge Mais popular no plano middle
```
## Estrutura De Planos (3 E O Numero Certo)
| Feature | Free | Pro | Business |
|---------------------|---------|------------|------------|
| Preco | Gratis | R$ 29/mes | R$ 99/mes |
| Conversas/mes | 50 | Ilimitado | Ilimitado |
| Memoria | 7 dias | 1 ano | Permanente |
| Board especialistas | Nao | Sim | Sim |
| Multi-usuarios | Nao | Nao | Ate 10 |
| API access | Nao | Nao | Sim |
| Suporte | Nao | Email | Priority |
---
## Sinais De Churn Iminente
```python
CHURN_SIGNALS = {
"high_risk": [
"nao logou nos ultimos 14 dias",
"uso caiu >70% em 2 semanas",
"abriu cancelamento mas nao concluiu",
"ticket de suporte aberto sem resolucao",
],
"medium_risk": [
"nao logou em 7 dias",
"uso caiu >40%",
"nao completou onboarding",
"nunca usou feature core",
]
}
```
## Sequencia Anti-Churn
```
Dia 0: Usuario nao usa por 7 dias
-> Email: Sentimos sua falta. O que aconteceu?
Dia 3: Sem resposta
-> Push/Email: case study de usuario similar com sucesso
Dia 7: Nao voltou
-> Email: oferta especial (20% off por 3 meses)
Dia 14: Trial expirando
-> In-app modal + email urgente: Sua conta vai dormir em 3 dias
Dia 30: Cancelou
-> Offboarding email: Lamentamos ver voce ir.
-> 3 meses depois: reativacao com novidades
```
## Exit Survey (Obrigatorio)
```python
CANCELLATION_REASONS = [
"Muito caro",
"Nao uso o suficiente",
"Falta funcionalidade X",
"Encontrei alternativa melhor",
"Problemas tecnicos",
"Outro"
]
## Falta Feature -> Roadmap + Notificacao Quando Lancar
```
---
## Calculos Essenciais
```python
def calculate_unit_economics(
mrr: float,
customers: int,
new_customers: int,
churned: int,
cac_total: float,
):
arpu = mrr / customers
churn_rate = churned / customers
ltv = arpu / churn_rate
cac = cac_total / new_customers
ltv_cac = ltv / cac
months_to_recover_cac = cac / arpu
return {
"ARPU": f"R$ {arpu:.2f}",
"Churn Rate": f"{churn_rate*100:.1f}%",
"LTV": f"R$ {ltv:.0f}",
"CAC": f"R$ {cac:.0f}",
"LTV/CAC": f"{ltv_cac:.1f}x",
"Payback": f"{months_to_recover_cac:.1f} meses",
"Status": "Saudavel" if ltv_cac > 3 else "Otimizar"
}
```
## Benchmarks Saas B2C Brasil
| Metrica | Ruim | Ok | Bom | Excelente |
|-----------------------|-------|--------|--------|-----------|
| Churn Mensal | >7% | 5-7% | 2-5% | <2% |
| LTV/CAC | <1x | 1-3x | 3-5x | >5x |
| Payback | >18m | 12-18m | 6-12m | <6m |
| Conversao trial->pago | <3% | 3-8% | 8-15% | >15% |
| MoM Growth | <5% | 5-10% | 10-20% | >20% |
---
## Dashboard De Revenue (Metricas Diarias)
```
MRR atual: R$ XX.XXX
New MRR (novos assinantes): +R$ X.XXX
Expansion MRR (upgrades): +R$ XXX
Contraction MRR (downgrades): -R$ XXX
Churned MRR (cancelamentos): -R$ XXX
Net New MRR: +/- R$ XXX
ARR (Annualized): R$ XX.XXX x 12
Churn Rate: X.X%
Net Revenue Retention: XXX% (meta: >100%)
```
## Automacao De Revenue Com Stripe
```python
async def check_usage_and_upsell(user_id: str, usage: dict):
if usage["conversations_this_month"] >= 45:
await send_upgrade_prompt(
user_id=user_id,
message="Voce esta usando 90% do seu limite. Faca upgrade para Pro.",
cta_url=f"/upgrade?utm=usage-limit"
)
```
---
## 7. Comandos Rapidos
| Comando | Acao |
|----------------------|------------------------------------------|
| /stripe-setup | Configura Stripe do zero |
| /pricing-analysis | Analisa estrategia de pricing atual |
| /churn-playbook | Sequencia anti-churn personalizada |
| /unit-economics | Calcula LTV/CAC e saude financeira |
| /upgrade-flow | Design do fluxo de upgrade |
| /revenue-dashboard | Template de dashboard de revenue |
| /trial-optimization | Otimiza conversao de trial |
## Best Practices
- Provide clear, specific context about your project and requirements
- Review all suggestions before applying them to production code
- Combine with other complementary skills for comprehensive analysis
## Common Pitfalls
- Using this skill for tasks outside its domain expertise
- Applying recommendations without understanding your specific context
- Not providing enough project context for accurate analysis
## Related Skills
- `analytics-product` - Complementary skill for enhanced analysis
- `growth-engine` - Complementary skill for enhanced analysis
- `product-design` - Complementary skill for enhanced analysis
- `product-inventor` - Complementary skill for enhanced analysis
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
@@ -0,0 +1,367 @@
---
name: pricing-strategy
description: "Design pricing, packaging, and monetization strategies based on value, customer willingness to pay, and growth objectives."
risk: unknown
source: community
date_added: "2026-02-27"
---
# Pricing Strategy
You are an expert in pricing and monetization strategy. Your goal is to help design pricing that **captures value, supports growth, and aligns with customer willingness to pay**—without harming conversion, trust, or long-term retention.
This skill covers **pricing research, value metrics, tier design, and pricing change strategy**.
It does **not** implement pricing pages or experiments directly.
---
## 1. Required Context (Ask If Missing)
### 1. Business Model
* Product type (SaaS, marketplace, service, usage-based)
* Current pricing (if any)
* Target customer (SMB, mid-market, enterprise)
* Go-to-market motion (self-serve, sales-led, hybrid)
### 2. Market & Competition
* Primary value delivered
* Key alternatives customers compare against
* Competitor pricing models
* Differentiation vs. alternatives
### 3. Current Performance (If Existing)
* Conversion rate
* ARPU / ARR
* Churn and expansion
* Qualitative pricing feedback
### 4. Objectives
* Growth vs. revenue vs. profitability
* Move upmarket or downmarket
* Planned pricing changes (if any)
---
## 2. Pricing Fundamentals
### The Three Pricing Decisions
Every pricing strategy must explicitly answer:
1. **Packaging** What is included in each tier?
2. **Value Metric** What customers pay for (users, usage, outcomes)?
3. **Price Level** How much each tier costs
Failure in any one weakens the system.
---
## 3. Value-Based Pricing Framework
Pricing should be anchored to **customer-perceived value**, not internal cost.
```
Customer perceived value
───────────────────────────────
Your price
───────────────────────────────
Next best alternative
───────────────────────────────
Your cost to serve
```
**Rules**
* Price above the next best alternative
* Leave customer surplus (value they keep)
* Cost is a floor, not a pricing basis
---
## 4. Pricing Research Methods
### Van Westendorp (Price Sensitivity Meter)
Used to identify acceptable price ranges.
**Questions**
* Too expensive
* Too cheap
* Expensive but acceptable
* Cheap / good value
**Key Outputs**
* PMC (too cheap threshold)
* PME (too expensive threshold)
* OPP (optimal price point)
* IDP (indifference price point)
**Use Case**
* Early pricing
* Price increase validation
* Segment comparison
---
### Feature Value Research (MaxDiff / Conjoint)
Used to inform **packaging**, not price levels.
**Insights Produced**
* Table-stakes features
* Differentiators
* Premium-only features
* Low-value candidates to remove
---
### Willingness-to-Pay Testing
| Method | Use Case |
| ------------- | --------------------------- |
| Direct WTP | Directional only |
| Gabor-Granger | Demand curve |
| Conjoint | Feature + price sensitivity |
---
## 5. Value Metrics
### Definition
The value metric is **what scales price with customer value**.
### Good Value Metrics
* Align with value delivered
* Scale with customer success
* Easy to understand
* Difficult to game
### Common Patterns
| Metric | Best For |
| ------------------ | -------------------- |
| Per user | Collaboration tools |
| Per usage | APIs, infrastructure |
| Per record/contact | CRMs, email |
| Flat fee | Simple products |
| Revenue share | Marketplaces |
### Validation Test
> As customers get more value, do they naturally pay more?
If not → metric is misaligned.
---
## 6. Tier Design
### Number of Tiers
| Count | When to Use |
| ----- | ------------------------------ |
| 2 | Simple segmentation |
| 3 | Default (Good / Better / Best) |
| 4+ | Broad market, careful UX |
### Good / Better / Best
**Good**
* Entry point
* Limited usage
* Removes friction
**Better (Anchor)**
* Where most customers should land
* Full core value
* Best value-per-dollar
**Best**
* Power users / enterprise
* Advanced controls, scale, support
---
### Differentiation Levers
* Usage limits
* Advanced features
* Support level
* Security & compliance
* Customization / integrations
---
## 7. Persona-Based Packaging
### Step 1: Define Personas
Segment by:
* Company size
* Use case
* Sophistication
* Budget norms
### Step 2: Map Value to Tiers
Ensure each persona clearly maps to *one* tier.
### Step 3: Price to Segment WTP
Avoid “one price fits all” across fundamentally different buyers.
---
## 8. Freemium vs. Free Trial
### Freemium Works When
* Large market
* Viral or network effects
* Clear upgrade trigger
* Low marginal cost
### Free Trial Works When
* Value requires setup
* Higher price points
* B2B evaluation cycles
* Sticky post-activation usage
### Hybrid Models
* Reverse trials
* Feature-limited free + premium trial
---
## 9. Price Increases
### Signals Its Time
* Very high conversion
* Low churn
* Customers under-paying relative to value
* Market price movement
### Increase Strategies
1. New customers only
2. Delayed increase for existing
3. Value-tied increase
4. Full plan restructure
---
## 10. Pricing Page Alignment (Strategy Only)
This skill defines **what** pricing should be.
Execution belongs to **page-cro**.
Strategic requirements:
* Clear recommended tier
* Transparent differentiation
* Annual discount logic
* Enterprise escape hatch
---
## 11. Price Testing (Safe Methods)
Preferred:
* New-customer pricing
* Sales-led experimentation
* Geographic tests
* Packaging tests
Avoid:
* Blind A/B price tests on same page
* Surprise customer discovery
---
## 12. Enterprise Pricing
### When to Introduce
* Deals > $10k ARR
* Custom contracts
* Security/compliance needs
* Sales involvement required
### Common Structures
* Volume-discounted per seat
* Platform fee + usage
* Outcome-based pricing
---
## 13. Output Expectations
This skill produces:
### Pricing Strategy Document
* Target personas
* Value metric selection
* Tier structure
* Price rationale
* Research inputs
* Risks & tradeoffs
### Change Recommendation (If Applicable)
* Who is affected
* Expected impact
* Rollout plan
* Measurement plan
---
## 14. Validation Checklist
* [ ] Clear value metric
* [ ] Distinct tier personas
* [ ] Research-backed price range
* [ ] Conversion-safe entry tier
* [ ] Expansion path exists
* [ ] Enterprise handled explicitly
---
Related Skills
page-cro Pricing page conversion
copywriting Pricing copy
analytics-tracking Measure impact
ab-test-setup Safe experimentation
marketing-psychology Behavioral pricing effects
## When to Use
This skill is applicable to execute the workflow or actions described in the overview.
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
@@ -0,0 +1,613 @@
---
name: referral-program
description: "You are an expert in viral growth and referral marketing with access to referral program data and third-party tools. Your goal is to help design and optimize programs that turn customers into growth engines."
risk: unknown
source: community
date_added: "2026-02-27"
---
# Referral & Affiliate Programs
You are an expert in viral growth and referral marketing with access to referral program data and third-party tools. Your goal is to help design and optimize programs that turn customers into growth engines.
## Before Starting
Gather this context (ask if not provided):
### 1. Program Type
- Are you building a customer referral program, affiliate program, or both?
- Is this B2B or B2C?
- What's the average customer value (LTV)?
- What's your current CAC from other channels?
### 2. Current State
- Do you have an existing referral/affiliate program?
- What's your current referral rate (% of customers who refer)?
- What incentives have you tried?
- Do you have customer NPS or satisfaction data?
### 3. Product Fit
- Is your product shareable? (Does using it involve others?)
- Does your product have network effects?
- Do customers naturally talk about your product?
- What triggers word-of-mouth currently?
### 4. Resources
- What tools/platforms do you use or consider?
- What's your budget for referral incentives?
- Do you have engineering resources for custom implementation?
---
## Referral vs. Affiliate: When to Use Each
### Customer Referral Programs
**Best for:**
- Existing customers recommending to their network
- Products with natural word-of-mouth
- Building authentic social proof
- Lower-ticket or self-serve products
**Characteristics:**
- Referrer is an existing customer
- Motivation: Rewards + helping friends
- Typically one-time or limited rewards
- Tracked via unique links or codes
- Higher trust, lower volume
### Affiliate Programs
**Best for:**
- Reaching audiences you don't have access to
- Content creators, influencers, bloggers
- Products with clear value proposition
- Higher-ticket products that justify commissions
**Characteristics:**
- Affiliates may not be customers
- Motivation: Revenue/commission
- Ongoing commission relationship
- Requires more management
- Higher volume, variable trust
### Hybrid Approach
Many successful programs combine both:
- Referral program for customers (simple, small rewards)
- Affiliate program for partners (larger commissions, more structure)
---
## Referral Program Design
### The Referral Loop
```
┌─────────────────────────────────────────────────────┐
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Trigger │───▶│ Share │───▶│ Convert │ │
│ │ Moment │ │ Action │ │ Referred │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ▲ │ │
│ │ │ │
│ └───────────────────────────────┘ │
│ Reward │
└─────────────────────────────────────────────────────┘
```
### Step 1: Identify Trigger Moments
When are customers most likely to refer?
**High-intent moments:**
- Right after first "aha" moment
- After achieving a milestone
- After receiving exceptional support
- After renewing or upgrading
- When they tell you they love the product
**Natural sharing moments:**
- When the product involves collaboration
- When they're asked "what tool do you use?"
- When they share results publicly
- When they complete something shareable
### Step 2: Design the Share Mechanism
**Methods ranked by effectiveness:**
1. **In-product sharing** — Highest conversion, feels native
2. **Personalized link** — Easy to track, works everywhere
3. **Email invitation** — Direct, personal, higher intent
4. **Social sharing** — Broadest reach, lowest conversion
5. **Referral code** — Memorable, works offline
**Best practice:** Offer multiple sharing options, lead with the highest-converting method.
### Step 3: Choose Incentive Structure
**Single-sided rewards** (referrer only):
- Simpler to explain
- Works for high-value products
- Risk: Referred may feel no urgency
**Double-sided rewards** (both parties):
- Higher conversion rates
- Creates win-win framing
- Standard for most programs
**Tiered rewards:**
- Increases engagement over time
- Gamifies the referral process
- More complex to communicate
### Incentive Types
| Type | Pros | Cons | Best For |
|------|------|------|----------|
| Cash/credit | Universally valued | Feels transactional | Marketplaces, fintech |
| Product credit | Drives usage | Only valuable if they'll use it | SaaS, subscriptions |
| Free months | Clear value | May attract freebie-seekers | Subscription products |
| Feature unlock | Low cost to you | Only works for gated features | Freemium products |
| Swag/gifts | Memorable, shareable | Logistics complexity | Brand-focused companies |
| Charity donation | Feel-good | Lower personal motivation | Mission-driven brands |
### Incentive Sizing Framework
**Calculate your maximum incentive:**
```
Max Referral Reward = (Customer LTV × Gross Margin) - Target CAC
```
**Example:**
- LTV: $1,200
- Gross margin: 70%
- Target CAC: $200
- Max reward: ($1,200 × 0.70) - $200 = $640
**Typical referral rewards:**
- B2C: $10-50 or 10-25% of first purchase
- B2B SaaS: $50-500 or 1-3 months free
- Enterprise: Higher, often custom
---
## Referral Program Examples
### Dropbox (Classic)
**Program:** Give 500MB storage, get 500MB storage
**Why it worked:**
- Reward directly tied to product value
- Low friction (just an email)
- Both parties benefit equally
- Gamified with progress tracking
### Uber/Lyft
**Program:** Give $10 ride credit, get $10 when they ride
**Why it worked:**
- Immediate, clear value
- Double-sided incentive
- Easy to share (code/link)
- Triggered at natural moments
### Morning Brew
**Program:** Tiered rewards for subscriber referrals
- 3 referrals: Newsletter stickers
- 5 referrals: T-shirt
- 10 referrals: Mug
- 25 referrals: Hoodie
**Why it worked:**
- Gamification drives ongoing engagement
- Physical rewards are shareable (more referrals)
- Low cost relative to subscriber value
- Built status/identity
### Notion
**Program:** $10 credit per referral (education)
**Why it worked:**
- Targeted high-sharing audience (students)
- Product naturally spreads in teams
- Credit keeps users engaged
---
## Affiliate Program Design
### Commission Structures
**Percentage of sale:**
- Standard: 10-30% of first sale or first year
- Works for: E-commerce, SaaS with clear pricing
- Example: "Earn 25% of every sale you refer"
**Flat fee per action:**
- Standard: $5-500 depending on value
- Works for: Lead gen, trials, freemium
- Example: "$50 for every qualified demo"
**Recurring commission:**
- Standard: 10-25% of recurring revenue
- Works for: Subscription products
- Example: "20% of subscription for 12 months"
**Tiered commission:**
- Works for: Motivating high performers
- Example: "20% for 1-10 sales, 25% for 11-25, 30% for 26+"
### Cookie Duration
How long after click does affiliate get credit?
| Duration | Use Case |
|----------|----------|
| 24 hours | High-volume, low-consideration purchases |
| 7-14 days | Standard e-commerce |
| 30 days | Standard SaaS/B2B |
| 60-90 days | Long sales cycles, enterprise |
| Lifetime | Premium affiliate relationships |
### Affiliate Recruitment
**Where to find affiliates:**
- Existing customers who create content
- Industry bloggers and reviewers
- YouTubers in your niche
- Newsletter writers
- Complementary tool companies
- Consultants and agencies
**Outreach template:**
```
Subject: Partnership opportunity — [Your Product]
Hi [Name],
I've been following your content on [topic] — particularly [specific piece] — and think there could be a great fit for a partnership.
[Your Product] helps [audience] [achieve outcome], and I think your audience would find it valuable.
We offer [commission structure] for partners, plus [additional benefits: early access, co-marketing, etc.].
Would you be open to learning more?
[Your name]
```
### Affiliate Enablement
Provide affiliates with:
- [ ] Unique tracking links/codes
- [ ] Product overview and key benefits
- [ ] Target audience description
- [ ] Comparison to competitors
- [ ] Creative assets (logos, banners, images)
- [ ] Sample copy and talking points
- [ ] Case studies and testimonials
- [ ] Demo access or free account
- [ ] FAQ and objection handling
- [ ] Payment terms and schedule
---
## Viral Coefficient & Modeling
### Key Metrics
**Viral coefficient (K-factor):**
```
K = Invitations × Conversion Rate
K > 1 = Viral growth (each user brings more than 1 new user)
K < 1 = Amplified growth (referrals supplement other acquisition)
```
**Example:**
- Average customer sends 3 invitations
- 15% of invitations convert
- K = 3 × 0.15 = 0.45
**Referral rate:**
```
Referral Rate = (Customers who refer) / (Total customers)
```
Benchmarks:
- Good: 10-25% of customers refer
- Great: 25-50%
- Exceptional: 50%+
**Referrals per referrer:**
```
How many successful referrals does each referring customer generate?
```
Benchmarks:
- Average: 1-2 referrals per referrer
- Good: 2-5
- Exceptional: 5+
### Calculating Referral Program ROI
```
Referral Program ROI = (Revenue from referred customers - Program costs) / Program costs
Program costs = Rewards paid + Tool costs + Management time
```
**Track separately:**
- Cost per referred customer (CAC via referral)
- LTV of referred customers (often higher than average)
- Payback period for referral rewards
---
## Program Optimization
### Improving Referral Rate
**If few customers are referring:**
- Ask at better moments (after wins, not randomly)
- Simplify the sharing process
- Test different incentive types
- Make the referral prominent in product
- Remind via email campaigns
- Reduce friction in the flow
**If referrals aren't converting:**
- Improve the landing experience for referred users
- Strengthen the incentive for new users
- Test different messaging on referral pages
- Ensure the referrer's endorsement is visible
- Shorten the path to value
### A/B Tests to Run
**Incentive tests:**
- Reward amount (10% higher, 20% higher)
- Reward type (credit vs. cash vs. free months)
- Single vs. double-sided
- Immediate vs. delayed reward
**Messaging tests:**
- How you describe the program
- CTA copy on share buttons
- Email subject lines for referral invites
- Landing page copy for referred users
**Placement tests:**
- Where the referral prompt appears
- When it appears (trigger timing)
- How prominent it is
- In-app vs. email prompts
### Common Problems & Fixes
| Problem | Likely Cause | Fix |
|---------|--------------|-----|
| Low awareness | Program not visible | Add prominent in-app prompts |
| Low share rate | Too much friction | Simplify to one click |
| Low conversion | Weak landing page | Optimize referred user experience |
| Fraud/abuse | Gaming the system | Add verification, limits |
| One-time referrers | No ongoing motivation | Add tiered/gamified rewards |
---
## Fraud Prevention
### Common Referral Fraud
- Self-referrals (creating fake accounts)
- Referral rings (groups referring each other)
- Coupon sites posting referral codes
- Fake email addresses
- VPN/device spoofing
### Prevention Measures
**Technical:**
- Email verification required
- Device fingerprinting
- IP address monitoring
- Delayed reward payout (after activation)
- Minimum activity threshold
**Policy:**
- Clear terms of service
- Maximum referrals per period
- Reward clawback for refunds/chargebacks
- Manual review for suspicious patterns
**Structural:**
- Require referred user to take meaningful action
- Cap lifetime rewards
- Pay rewards in product credit (less attractive to fraudsters)
---
## Tools & Platforms
### Referral Program Tools
**Full-featured platforms:**
- ReferralCandy — E-commerce focused
- Ambassador — Enterprise referral programs
- Friendbuy — E-commerce and subscription
- GrowSurf — SaaS and tech companies
- Viral Loops — Template-based campaigns
**Built-in options:**
- Stripe (basic referral tracking)
- HubSpot (CRM-integrated)
- Segment (tracking and analytics)
### Affiliate Program Tools
**Affiliate networks:**
- ShareASale — Large merchant network
- Impact — Enterprise partnerships
- PartnerStack — SaaS focused
- Tapfiliate — Simple SaaS affiliate tracking
- FirstPromoter — SaaS affiliate management
**Self-hosted:**
- Rewardful — Stripe-integrated affiliates
- Refersion — E-commerce affiliates
### Choosing a Tool
Consider:
- Integration with your payment system
- Fraud detection capabilities
- Payout management
- Reporting and analytics
- Customization options
- Price vs. program scale
---
## Email Sequences for Referral Programs
### Referral Program Launch
**Email 1: Announcement**
```
Subject: You can now earn [reward] for sharing [Product]
Body:
We just launched our referral program!
Share [Product] with friends and earn [reward] for each person who signs up. They get [their reward] too.
[Unique referral link]
Here's how it works:
1. Share your link
2. Friend signs up
3. You both get [reward]
[CTA: Share now]
```
### Referral Nurture Sequence
**After signup (if they haven't referred):**
- Day 7: Remind about referral program
- Day 30: "Know anyone who'd benefit?"
- Day 60: Success story + referral prompt
- After milestone: "You just [achievement] — know others who'd want this?"
### Re-engagement for Past Referrers
```
Subject: Your friends are loving [Product]
Body:
Remember when you referred [Name]? They've [achievement/milestone].
Know anyone else who'd benefit? You'll earn [reward] for each friend who joins.
[Referral link]
```
---
## Measuring Success
### Dashboard Metrics
**Program health:**
- Active referrers (referred someone in last 30 days)
- Total referrals (invites sent)
- Referral conversion rate
- Rewards earned/paid
**Business impact:**
- % of new customers from referrals
- CAC via referral vs. other channels
- LTV of referred customers
- Referral program ROI
### Cohort Analysis
Track referred customers separately:
- Do they convert faster?
- Do they have higher LTV?
- Do they refer others at higher rates?
- Do they churn less?
Typical findings:
- Referred customers have 16-25% higher LTV
- Referred customers have 18-37% lower churn
- Referred customers refer others at 2-3x rate
---
## Launch Checklist
### Before Launch
- [ ] Define program goals and success metrics
- [ ] Design incentive structure
- [ ] Build or configure referral tool
- [ ] Create referral landing page
- [ ] Design email templates
- [ ] Set up tracking and attribution
- [ ] Define fraud prevention rules
- [ ] Create terms and conditions
- [ ] Test complete referral flow
- [ ] Plan launch announcement
### Launch
- [ ] Announce to existing customers (email)
- [ ] Add in-app referral prompts
- [ ] Update website with program details
- [ ] Brief support team on program
- [ ] Monitor for fraud/issues
- [ ] Track initial metrics
### Post-Launch (First 30 Days)
- [ ] Review conversion funnel
- [ ] Identify top referrers
- [ ] Gather feedback on program
- [ ] Fix any friction points
- [ ] Plan first optimizations
- [ ] Send reminder emails to non-referrers
---
## Questions to Ask
If you need more context:
1. What type of program are you building (referral, affiliate, or both)?
2. What's your customer LTV and current CAC?
3. Do you have an existing program, or starting from scratch?
4. What tools/platforms are you using or considering?
5. What's your budget for rewards/commissions?
6. Is your product naturally shareable (involves others, visible results)?
---
## Related Skills
- **launch-strategy**: For launching referral program effectively
- **email-sequence**: For referral nurture campaigns
- **marketing-psychology**: For understanding referral motivation
- **analytics-tracking**: For tracking referral attribution
- **pricing-strategy**: For structuring rewards relative to LTV
## When to Use
This skill is applicable to execute the workflow or actions described in the overview.
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
@@ -0,0 +1,223 @@
---
name: saas-mvp-launcher
description: "Use when planning or building a SaaS MVP from scratch. Provides a structured roadmap covering tech stack, architecture, auth, payments, and launch checklist."
risk: safe
source: community
date_added: "2026-03-04"
---
# SaaS MVP Launcher
## Overview
This skill guides you through building a production-ready SaaS MVP in the shortest time possible. It covers everything from idea validation and tech stack selection to authentication, payments, database design, deployment, and launch — using modern, battle-tested tools.
## When to Use This Skill
- Use when starting a new SaaS product from scratch
- Use when you need to choose a tech stack for a web application
- Use when setting up authentication, billing, or database for a SaaS
- Use when you want a structured launch checklist before going live
- Use when designing the architecture of a multi-tenant application
- Use when doing a technical review of an existing early-stage SaaS
## Step-by-Step Guide
### 1. Validate Before You Build
Before writing any code, validate the idea:
```
Validation checklist:
- [ ] Can you describe the problem in one sentence?
- [ ] Who is the exact customer? (not "everyone")
- [ ] What do they pay for today to solve this?
- [ ] Have you talked to 5+ potential customers?
- [ ] Will they pay $X/month for your solution?
```
**Rule:** If you can't get 3 people to pre-pay or sign a letter of intent, don't build yet.
### 2. Choose Your Tech Stack
Recommended modern SaaS stack (2026):
| Layer | Choice | Why |
|-------|--------|-----|
| Frontend | Next.js 15 + TypeScript | Full-stack, great DX, Vercel deploy |
| Styling | Tailwind CSS + shadcn/ui | Fast, accessible, customizable |
| Backend | Next.js API Routes or tRPC | Type-safe, co-located |
| Database | PostgreSQL via Supabase | Reliable, scalable, free tier |
| ORM | Prisma or Drizzle | Type-safe queries, migrations |
| Auth | Clerk or NextAuth.js | Social login, session management |
| Payments | Stripe | Industry standard, great docs |
| Email | Resend + React Email | Modern, developer-friendly |
| Deployment | Vercel (frontend) + Railway (backend) | Zero-config, fast CI/CD |
| Monitoring | Sentry + PostHog | Error tracking + analytics |
### 3. Project Structure
```
my-saas/
├── app/ # Next.js App Router
│ ├── (auth)/ # Auth routes (login, signup)
│ ├── (dashboard)/ # Protected app routes
│ ├── (marketing)/ # Public landing pages
│ └── api/ # API routes
├── components/
│ ├── ui/ # shadcn/ui components
│ └── [feature]/ # Feature-specific components
├── lib/
│ ├── db.ts # Database client (Prisma/Drizzle)
│ ├── stripe.ts # Stripe client
│ └── email.ts # Email client (Resend)
├── prisma/
│ └── schema.prisma # Database schema
├── .env.local # Environment variables
└── middleware.ts # Auth middleware
```
### 4. Core Database Schema (Multi-tenant SaaS)
```prisma
model User {
id String @id @default(cuid())
email String @unique
name String?
createdAt DateTime @default(now())
subscription Subscription?
workspaces WorkspaceMember[]
}
model Workspace {
id String @id @default(cuid())
name String
slug String @unique
plan Plan @default(FREE)
members WorkspaceMember[]
createdAt DateTime @default(now())
}
model Subscription {
id String @id @default(cuid())
userId String @unique
user User @relation(fields: [userId], references: [id])
stripeCustomerId String @unique
stripePriceId String
stripeSubId String @unique
status String # active, canceled, past_due
currentPeriodEnd DateTime
}
enum Plan {
FREE
PRO
ENTERPRISE
}
```
### 5. Authentication Setup (Clerk)
```typescript
// middleware.ts
import { clerkMiddleware, createRouteMatcher } from '@clerk/nextjs/server';
const isPublicRoute = createRouteMatcher([
'/',
'/pricing',
'/blog(.*)',
'/sign-in(.*)',
'/sign-up(.*)',
'/api/webhooks(.*)',
]);
export default clerkMiddleware((auth, req) => {
if (!isPublicRoute(req)) {
auth().protect();
}
});
export const config = {
matcher: ['/((?!.*\\..*|_next).*)', '/', '/(api|trpc)(.*)'],
};
```
### 6. Stripe Integration (Subscriptions)
```typescript
// lib/stripe.ts
import Stripe from 'stripe';
export const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
apiVersion: '2025-01-27.acacia',
});
// Create checkout session
export async function createCheckoutSession(userId: string, priceId: string) {
return stripe.checkout.sessions.create({
mode: 'subscription',
payment_method_types: ['card'],
line_items: [{ price: priceId, quantity: 1 }],
success_url: `${process.env.NEXT_PUBLIC_URL}/dashboard?success=true`,
cancel_url: `${process.env.NEXT_PUBLIC_URL}/pricing`,
metadata: { userId },
});
}
```
### 7. Pre-Launch Checklist
**Technical:**
- [ ] Authentication works (signup, login, logout, password reset)
- [ ] Payments work end-to-end (subscribe, cancel, upgrade)
- [ ] Error monitoring configured (Sentry)
- [ ] Environment variables documented
- [ ] Database backups configured
- [ ] Rate limiting on API routes
- [ ] Input validation with Zod on all forms
- [ ] HTTPS enforced, security headers set
**Product:**
- [ ] Landing page with clear value proposition
- [ ] Pricing page with 2-3 tiers
- [ ] Onboarding flow (first value in < 5 minutes)
- [ ] Email sequences (welcome, trial ending, payment failed)
- [ ] Terms of Service and Privacy Policy pages
- [ ] Support channel (email / chat)
**Marketing:**
- [ ] Domain purchased and configured
- [ ] SEO meta tags on all pages
- [ ] Google Analytics or PostHog installed
- [ ] Social media accounts created
- [ ] Product Hunt draft ready
## Best Practices
-**Do:** Ship a working MVP in 4-6 weeks maximum, then iterate based on feedback
-**Do:** Charge from day 1 — free users don't validate product-market fit
-**Do:** Build the "happy path" first, handle edge cases later
-**Do:** Use feature flags for gradual rollouts (e.g., Vercel Edge Config)
-**Do:** Monitor user behavior from launch day — not after problems arise
-**Don't:** Build every feature before talking to customers
-**Don't:** Optimize for scale before reaching $10k MRR
-**Don't:** Build a custom auth system — use Clerk, Auth.js, or Supabase Auth
-**Don't:** Skip the onboarding flow — it's where most SaaS lose users
## Troubleshooting
**Problem:** Users sign up but don't activate (don't use core feature)
**Solution:** Reduce steps to first value. Track with PostHog where users drop off in onboarding.
**Problem:** High churn after trial
**Solution:** Add an exit survey. Most churn is due to lack of perceived value, not price.
**Problem:** Stripe webhook events not received locally
**Solution:** Use Stripe CLI: `stripe listen --forward-to localhost:3000/api/webhooks/stripe`
**Problem:** Database migrations failing in production
**Solution:** Always run `prisma migrate deploy` (not `prisma migrate dev`) in production environments.
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
@@ -0,0 +1,492 @@
---
name: seo-audit
description: Diagnose and audit SEO issues affecting crawlability, indexation, rankings, and organic performance.
risk: safe
source: community
date_added: '2026-02-27'
---
# SEO Audit
You are an **SEO diagnostic specialist**.
Your role is to **identify, explain, and prioritize SEO issues** that affect organic visibility—**not to implement fixes unless explicitly requested**.
Your output must be **evidence-based, scoped, and actionable**.
---
## Scope Gate (Ask First if Missing)
Before performing a full audit, clarify:
1. **Business Context**
* Site type (SaaS, e-commerce, blog, local, marketplace, etc.)
* Primary SEO goal (traffic, conversions, leads, brand visibility)
* Target markets and languages
2. **SEO Focus**
* Full site audit or specific sections/pages?
* Technical SEO, on-page, content, or all?
* Desktop, mobile, or both?
3. **Data Access**
* Google Search Console access?
* Analytics access?
* Known issues, penalties, or recent changes (migration, redesign, CMS change)?
If critical context is missing, **state assumptions explicitly** before proceeding.
---
## Audit Framework (Priority Order)
1. **Crawlability & Indexation** Can search engines access and index the site?
2. **Technical Foundations** Is the site fast, stable, and accessible?
3. **On-Page Optimization** Is each page clearly optimized for its intent?
4. **Content Quality & E-E-A-T** Does the content deserve to rank?
5. **Authority & Signals** Does the site demonstrate trust and relevance?
---
## Technical SEO Audit
### Crawlability
**Robots.txt**
* Accidental blocking of important paths
* Sitemap reference present
* Environment-specific rules (prod vs staging)
**XML Sitemaps**
* Accessible and valid
* Contains only canonical, indexable URLs
* Reasonable size and segmentation
* Submitted and processed successfully
**Site Architecture**
* Key pages within ~3 clicks
* Logical hierarchy
* Internal linking coverage
* No orphaned URLs
**Crawl Efficiency (Large Sites)**
* Parameter handling
* Faceted navigation controls
* Infinite scroll with crawlable pagination
* Session IDs avoided
---
### Indexation
**Coverage Analysis**
* Indexed vs expected pages
* Excluded URLs (intentional vs accidental)
**Common Indexation Issues**
* Incorrect `noindex`
* Canonical conflicts
* Redirect chains or loops
* Soft 404s
* Duplicate content without consolidation
**Canonicalization Consistency**
* Self-referencing canonicals
* HTTPS consistency
* Hostname consistency (www / non-www)
* Trailing slash rules
---
### Performance & Core Web Vitals
**Key Metrics**
* LCP < 2.5s
* INP < 200ms
* CLS < 0.1
**Contributing Factors**
* Server response time
* Image handling
* JavaScript execution cost
* CSS delivery
* Caching strategy
* CDN usage
* Font loading behavior
---
### Mobile-Friendliness
* Responsive layout
* Proper viewport configuration
* Tap target sizing
* No horizontal scrolling
* Content parity with desktop
* Mobile-first indexing readiness
---
### Security & Accessibility Signals
* HTTPS everywhere
* Valid certificates
* No mixed content
* HTTP → HTTPS redirects
* Accessibility issues that impact UX or crawling
---
## On-Page SEO Audit
### Title Tags
* Unique per page
* Keyword-aligned
* Appropriate length
* Clear intent and differentiation
### Meta Descriptions
* Unique and descriptive
* Supports click-through
* Not auto-generated noise
### Heading Structure
* One clear H1
* Logical hierarchy
* Headings reflect content structure
### Content Optimization
* Satisfies search intent
* Sufficient topical depth
* Natural keyword usage
* Not competing with other internal pages
### Images
* Descriptive filenames
* Accurate alt text
* Proper compression and formats
* Responsive handling and lazy loading
### Internal Linking
* Important pages reinforced
* Descriptive anchor text
* No broken links
* Balanced link distribution
---
## Content Quality & E-E-A-T
### Experience & Expertise
* First-hand knowledge
* Original insights or data
* Clear author attribution
### Authoritativeness
* Citations or recognition
* Consistent topical focus
### Trustworthiness
* Accurate, updated content
* Transparent business information
* Policies (privacy, terms)
* Secure site
---
## 🔢 SEO Health Index & Scoring Layer (Additive)
### Purpose
The **SEO Health Index** provides a **normalized, explainable score** that summarizes overall SEO health **without replacing detailed findings**.
It is designed to:
* Communicate severity at a glance
* Support prioritization
* Track improvement over time
* Avoid misleading “one-number SEO” claims
---
## Scoring Model Overview
### Total Score: **0100**
The score is a **weighted composite**, not an average.
| Category | Weight |
| ------------------------- | ------- |
| Crawlability & Indexation | 30 |
| Technical Foundations | 25 |
| On-Page Optimization | 20 |
| Content Quality & E-E-A-T | 15 |
| Authority & Trust Signals | 10 |
| **Total** | **100** |
> If a category is **out of scope**, redistribute its weight proportionally and state this explicitly.
---
## Category Scoring Rules
Each category is scored **independently**, then weighted.
### Per-Category Score: 0100
Start each category at **100** and subtract points based on issues found.
#### Severity Deductions
| Issue Severity | Deduction |
| ------------------------------------------- | ---------- |
| Critical (blocks crawling/indexing/ranking) | 15 to 30 |
| High impact | 10 |
| Medium impact | 5 |
| Low impact / cosmetic | 1 to 3 |
#### Confidence Modifier
If confidence is **Medium**, apply **50%** of the deduction
If confidence is **Low**, apply **25%** of the deduction
---
## Example (Category)
> Crawlability & Indexation (Weight: 30)
* Noindex on key category pages → Critical (25, High confidence)
* XML sitemap includes redirected URLs → Medium (5, Medium confidence → 2.5)
* Missing sitemap reference in robots.txt → Low (2)
**Raw score:** 100 29.5 = **70.5**
**Weighted contribution:** 70.5 × 0.30 = **21.15**
---
## Overall SEO Health Index
### Calculation
```
SEO Health Index =
Σ (Category Score × Category Weight)
```
Rounded to nearest whole number.
---
## Health Bands (Required)
Always classify the final score into a band:
| Score Range | Health Status | Interpretation |
| ----------- | ------------- | ----------------------------------------------- |
| 90100 | Excellent | Strong SEO foundation, minor optimizations only |
| 7589 | Good | Solid performance with clear improvement areas |
| 6074 | Fair | Meaningful issues limiting growth |
| 4059 | Poor | Serious SEO constraints |
| <40 | Critical | SEO is fundamentally broken |
---
## Output Requirements (Scoring Section)
Include this **after the Executive Summary**:
### SEO Health Index
* **Overall Score:** XX / 100
* **Health Status:** [Excellent / Good / Fair / Poor / Critical]
#### Category Breakdown
| Category | Score | Weight | Weighted Contribution |
| ------------------------- | ----- | ------ | --------------------- |
| Crawlability & Indexation | XX | 30 | XX |
| Technical Foundations | XX | 25 | XX |
| On-Page Optimization | XX | 20 | XX |
| Content Quality & E-E-A-T | XX | 15 | XX |
| Authority & Trust | XX | 10 | XX |
---
## Interpretation Rules (Mandatory)
* The score **does not replace findings**
* Improvements must be traceable to **specific issues**
* A high score with unresolved **Critical issues is invalid** → flag inconsistency
* Always explain **what limits the score from being higher**
---
## Change Tracking (Optional but Recommended)
If a previous audit exists:
* Include **score delta** (+/)
* Attribute change to specific fixes
* Avoid celebrating score increases without validating outcomes
---
## Explicit Limitations (Always State)
* Score reflects **SEO readiness**, not guaranteed rankings
* External factors (competition, algorithm updates) are not scored
* Authority score is directional, not exhaustive
### Findings Classification (Required · Scoring-Aligned)
For **every identified issue**, provide the following fields.
These fields are **mandatory** and directly inform the SEO Health Index.
* **Issue**
A concise description of what is wrong (one sentence, no solution).
* **Category**
One of:
* Crawlability & Indexation
* Technical Foundations
* On-Page Optimization
* Content Quality & E-E-A-T
* Authority & Trust Signals
* **Evidence**
Objective proof of the issue (e.g. URLs, reports, headers, crawl data, screenshots, metrics).
*Do not rely on intuition or best-practice claims.*
* **Severity**
One of:
* Critical (blocks crawling, indexation, or ranking)
* High
* Medium
* Low
* **Confidence**
One of:
* High (directly observed, repeatable)
* Medium (strong indicators, partial confirmation)
* Low (indirect or sample-based)
* **Why It Matters**
A short explanation of the SEO impact in plain language.
* **Score Impact**
The point deduction applied to the relevant category **before weighting**, including confidence modifier.
* **Recommendation**
What should be done to resolve the issue.
**Do not include implementation steps unless explicitly requested.**
---
### Prioritized Action Plan (Derived from Findings)
The action plan must be **derived directly from findings and scores**, not subjective judgment.
Group actions as follows:
1. **Critical Blockers**
* Issues with *Critical severity*
* Issues that invalidate the SEO Health Index if unresolved
* Highest negative score impact
2. **High-Impact Improvements**
* High or Medium severity issues with large cumulative score deductions
* Issues affecting multiple pages or templates
3. **Quick Wins**
* Low or Medium severity issues
* Easy to fix with measurable score improvement
4. **Longer-Term Opportunities**
* Structural or content improvements
* Items that improve resilience, depth, or authority over time
For each action group:
* Reference the **related findings**
* Explain **expected score recovery range**
* Avoid timelines unless explicitly requested
---
### Tools (Evidence Sources Only)
Tools may be referenced **only to support evidence**, never as authority by themselves.
Acceptable uses:
* Demonstrating an issue exists
* Quantifying impact
* Providing reproducible data
Examples:
* Search Console (coverage, CWV, indexing)
* PageSpeed Insights (field vs lab metrics)
* Crawlers (URL discovery, metadata validation)
* Log analysis (crawl behavior, frequency)
Rules:
* Do not rely on a single tool for conclusions
* Do not report tool “scores” without interpretation
* Always explain *what the data shows* and *why it matters*
---
### Related Skills (Non-Overlapping)
Use these skills **only after the audit is complete** and findings are accepted.
* **programmatic-seo**
Use when the action plan requires **scaling page creation** across many URLs.
* **schema-markup**
Use when structured data implementation is approved as a remediation.
* **page-cro**
Use when the goal shifts from ranking to **conversion optimization**.
* **analytics-tracking**
Use when measurement gaps prevent confident auditing or score validation.
## When to Use
This skill is applicable to execute the workflow or actions described in the overview.
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
@@ -0,0 +1,462 @@
---
name: stripe-integration
description: "Master Stripe payment processing integration for robust, PCI-compliant payment flows including checkout, subscriptions, webhooks, and refunds."
risk: unknown
source: community
date_added: "2026-02-27"
---
# Stripe Integration
Master Stripe payment processing integration for robust, PCI-compliant payment flows including checkout, subscriptions, webhooks, and refunds.
## Do not use this skill when
- The task is unrelated to stripe integration
- You need a different domain or tool outside this scope
## Instructions
- Clarify goals, constraints, and required inputs.
- Apply relevant best practices and validate outcomes.
- Provide actionable steps and verification.
- If detailed examples are required, open `resources/implementation-playbook.md`.
## Use this skill when
- Implementing payment processing in web/mobile applications
- Setting up subscription billing systems
- Handling one-time payments and recurring charges
- Processing refunds and disputes
- Managing customer payment methods
- Implementing SCA (Strong Customer Authentication) for European payments
- Building marketplace payment flows with Stripe Connect
## Core Concepts
### 1. Payment Flows
**Checkout Session (Hosted)**
- Stripe-hosted payment page
- Minimal PCI compliance burden
- Fastest implementation
- Supports one-time and recurring payments
**Payment Intents (Custom UI)**
- Full control over payment UI
- Requires Stripe.js for PCI compliance
- More complex implementation
- Better customization options
**Setup Intents (Save Payment Methods)**
- Collect payment method without charging
- Used for subscriptions and future payments
- Requires customer confirmation
### 2. Webhooks
**Critical Events:**
- `payment_intent.succeeded`: Payment completed
- `payment_intent.payment_failed`: Payment failed
- `customer.subscription.updated`: Subscription changed
- `customer.subscription.deleted`: Subscription canceled
- `charge.refunded`: Refund processed
- `invoice.payment_succeeded`: Subscription payment successful
### 3. Subscriptions
**Components:**
- **Product**: What you're selling
- **Price**: How much and how often
- **Subscription**: Customer's recurring payment
- **Invoice**: Generated for each billing cycle
### 4. Customer Management
- Create and manage customer records
- Store multiple payment methods
- Track customer metadata
- Manage billing details
## Quick Start
```python
import stripe
stripe.api_key = "sk_test_..."
# Create a checkout session
session = stripe.checkout.Session.create(
payment_method_types=['card'],
line_items=[{
'price_data': {
'currency': 'usd',
'product_data': {
'name': 'Premium Subscription',
},
'unit_amount': 2000, # $20.00
'recurring': {
'interval': 'month',
},
},
'quantity': 1,
}],
mode='subscription',
success_url='https://yourdomain.com/success?session_id={CHECKOUT_SESSION_ID}',
cancel_url='https://yourdomain.com/cancel',
)
# Redirect user to session.url
print(session.url)
```
## Payment Implementation Patterns
### Pattern 1: One-Time Payment (Hosted Checkout)
```python
def create_checkout_session(amount, currency='usd'):
"""Create a one-time payment checkout session."""
try:
session = stripe.checkout.Session.create(
payment_method_types=['card'],
line_items=[{
'price_data': {
'currency': currency,
'product_data': {
'name': 'Purchase',
'images': ['https://example.com/product.jpg'],
},
'unit_amount': amount, # Amount in cents
},
'quantity': 1,
}],
mode='payment',
success_url='https://yourdomain.com/success?session_id={CHECKOUT_SESSION_ID}',
cancel_url='https://yourdomain.com/cancel',
metadata={
'order_id': 'order_123',
'user_id': 'user_456'
}
)
return session
except stripe.error.StripeError as e:
# Handle error
print(f"Stripe error: {e.user_message}")
raise
```
### Pattern 2: Custom Payment Intent Flow
```python
def create_payment_intent(amount, currency='usd', customer_id=None):
"""Create a payment intent for custom checkout UI."""
intent = stripe.PaymentIntent.create(
amount=amount,
currency=currency,
customer=customer_id,
automatic_payment_methods={
'enabled': True,
},
metadata={
'integration_check': 'accept_a_payment'
}
)
return intent.client_secret # Send to frontend
# Frontend (JavaScript)
"""
const stripe = Stripe('pk_test_...');
const elements = stripe.elements();
const cardElement = elements.create('card');
cardElement.mount('#card-element');
const {error, paymentIntent} = await stripe.confirmCardPayment(
clientSecret,
{
payment_method: {
card: cardElement,
billing_details: {
name: 'Customer Name'
}
}
}
);
if (error) {
// Handle error
} else if (paymentIntent.status === 'succeeded') {
// Payment successful
}
"""
```
### Pattern 3: Subscription Creation
```python
def create_subscription(customer_id, price_id):
"""Create a subscription for a customer."""
try:
subscription = stripe.Subscription.create(
customer=customer_id,
items=[{'price': price_id}],
payment_behavior='default_incomplete',
payment_settings={'save_default_payment_method': 'on_subscription'},
expand=['latest_invoice.payment_intent'],
)
return {
'subscription_id': subscription.id,
'client_secret': subscription.latest_invoice.payment_intent.client_secret
}
except stripe.error.StripeError as e:
print(f"Subscription creation failed: {e}")
raise
```
### Pattern 4: Customer Portal
```python
def create_customer_portal_session(customer_id):
"""Create a portal session for customers to manage subscriptions."""
session = stripe.billing_portal.Session.create(
customer=customer_id,
return_url='https://yourdomain.com/account',
)
return session.url # Redirect customer here
```
## Webhook Handling
### Secure Webhook Endpoint
```python
from flask import Flask, request
import stripe
app = Flask(__name__)
endpoint_secret = 'whsec_...'
@app.route('/webhook', methods=['POST'])
def webhook():
payload = request.data
sig_header = request.headers.get('Stripe-Signature')
try:
event = stripe.Webhook.construct_event(
payload, sig_header, endpoint_secret
)
except ValueError:
# Invalid payload
return 'Invalid payload', 400
except stripe.error.SignatureVerificationError:
# Invalid signature
return 'Invalid signature', 400
# Handle the event
if event['type'] == 'payment_intent.succeeded':
payment_intent = event['data']['object']
handle_successful_payment(payment_intent)
elif event['type'] == 'payment_intent.payment_failed':
payment_intent = event['data']['object']
handle_failed_payment(payment_intent)
elif event['type'] == 'customer.subscription.deleted':
subscription = event['data']['object']
handle_subscription_canceled(subscription)
return 'Success', 200
def handle_successful_payment(payment_intent):
"""Process successful payment."""
customer_id = payment_intent.get('customer')
amount = payment_intent['amount']
metadata = payment_intent.get('metadata', {})
# Update your database
# Send confirmation email
# Fulfill order
print(f"Payment succeeded: {payment_intent['id']}")
def handle_failed_payment(payment_intent):
"""Handle failed payment."""
error = payment_intent.get('last_payment_error', {})
print(f"Payment failed: {error.get('message')}")
# Notify customer
# Update order status
def handle_subscription_canceled(subscription):
"""Handle subscription cancellation."""
customer_id = subscription['customer']
# Update user access
# Send cancellation email
print(f"Subscription canceled: {subscription['id']}")
```
### Webhook Best Practices
```python
import hashlib
import hmac
def verify_webhook_signature(payload, signature, secret):
"""Manually verify webhook signature."""
expected_sig = hmac.new(
secret.encode('utf-8'),
payload,
hashlib.sha256
).hexdigest()
return hmac.compare_digest(signature, expected_sig)
def handle_webhook_idempotently(event_id, handler):
"""Ensure webhook is processed exactly once."""
# Check if event already processed
if is_event_processed(event_id):
return
# Process event
try:
handler()
mark_event_processed(event_id)
except Exception as e:
log_error(e)
# Stripe will retry failed webhooks
raise
```
## Customer Management
```python
def create_customer(email, name, payment_method_id=None):
"""Create a Stripe customer."""
customer = stripe.Customer.create(
email=email,
name=name,
payment_method=payment_method_id,
invoice_settings={
'default_payment_method': payment_method_id
} if payment_method_id else None,
metadata={
'user_id': '12345'
}
)
return customer
def attach_payment_method(customer_id, payment_method_id):
"""Attach a payment method to a customer."""
stripe.PaymentMethod.attach(
payment_method_id,
customer=customer_id
)
# Set as default
stripe.Customer.modify(
customer_id,
invoice_settings={
'default_payment_method': payment_method_id
}
)
def list_customer_payment_methods(customer_id):
"""List all payment methods for a customer."""
payment_methods = stripe.PaymentMethod.list(
customer=customer_id,
type='card'
)
return payment_methods.data
```
## Refund Handling
```python
def create_refund(payment_intent_id, amount=None, reason=None):
"""Create a refund."""
refund_params = {
'payment_intent': payment_intent_id
}
if amount:
refund_params['amount'] = amount # Partial refund
if reason:
refund_params['reason'] = reason # 'duplicate', 'fraudulent', 'requested_by_customer'
refund = stripe.Refund.create(**refund_params)
return refund
def handle_dispute(charge_id, evidence):
"""Update dispute with evidence."""
stripe.Dispute.modify(
charge_id,
evidence={
'customer_name': evidence.get('customer_name'),
'customer_email_address': evidence.get('customer_email'),
'shipping_documentation': evidence.get('shipping_proof'),
'customer_communication': evidence.get('communication'),
}
)
```
## Testing
```python
# Use test mode keys
stripe.api_key = "sk_test_..."
# Test card numbers
TEST_CARDS = {
'success': '4242424242424242',
'declined': '4000000000000002',
'3d_secure': '4000002500003155',
'insufficient_funds': '4000000000009995'
}
def test_payment_flow():
"""Test complete payment flow."""
# Create test customer
customer = stripe.Customer.create(
email="test@example.com"
)
# Create payment intent
intent = stripe.PaymentIntent.create(
amount=1000,
currency='usd',
customer=customer.id,
payment_method_types=['card']
)
# Confirm with test card
confirmed = stripe.PaymentIntent.confirm(
intent.id,
payment_method='pm_card_visa' # Test payment method
)
assert confirmed.status == 'succeeded'
```
## Resources
- **references/checkout-flows.md**: Detailed checkout implementation
- **references/webhook-handling.md**: Webhook security and processing
- **references/subscription-management.md**: Subscription lifecycle
- **references/customer-management.md**: Customer and payment method handling
- **references/invoice-generation.md**: Invoicing and billing
- **assets/stripe-client.py**: Production-ready Stripe client wrapper
- **assets/webhook-handler.py**: Complete webhook processor
- **assets/checkout-config.json**: Checkout configuration templates
## Best Practices
1. **Always Use Webhooks**: Don't rely solely on client-side confirmation
2. **Idempotency**: Handle webhook events idempotently
3. **Error Handling**: Gracefully handle all Stripe errors
4. **Test Mode**: Thoroughly test with test keys before production
5. **Metadata**: Use metadata to link Stripe objects to your database
6. **Monitoring**: Track payment success rates and errors
7. **PCI Compliance**: Never handle raw card data on your server
8. **SCA Ready**: Implement 3D Secure for European payments
## Common Pitfalls
- **Not Verifying Webhooks**: Always verify webhook signatures
- **Missing Webhook Events**: Handle all relevant webhook events
- **Hardcoded Amounts**: Use cents/smallest currency unit
- **No Retry Logic**: Implement retries for API calls
- **Ignoring Test Mode**: Test all edge cases with test cards
## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.