commission-calculator
Calculate realistic affiliate earnings projections before committing to a program. Use this skill when the user asks about affiliate earnings, projecting income, calculating commissions, estimating how much they can make, comparing program payouts, or says "how much can I make promoting X", "calculate my affiliate income", "is this commission worth it", "how long to first $1000", "compare earnings between programs", "traffic to income calculator", "what conversion rate should I expect", "earnings estimate for affiliate program", "how many sales do I need".
What this skill does
# Commission Calculator
Project realistic monthly affiliate earnings based on traffic estimates, platform
conversion rates, and program commission structures. Helps affiliates decide which
programs are worth their time before investing months of content creation.
## Stage
This skill belongs to Stage S1: Research
## When to Use
- User wants to project income before choosing a program
- User wants to compare the earnings potential of 2+ programs
- User is setting income goals and needs realistic benchmarks
- User is deciding whether a niche is worth entering based on earning potential
- User asks "how many page views / subscribers / followers do I need to make X"
## Input Schema
```
{
programs: [
{
name: string # (required) "HeyGen"
reward_value: string # (required) "30%" or "$50"
reward_type: string # (required) "cps_recurring" | "cps_one_time" | "cpl" | "cpa"
reward_duration: string # (optional) "12 months" | "lifetime" | "first purchase"
cookie_days: number # (optional, default: 30) 30
avg_product_price: number # (optional) Monthly plan price in USD. Needed for % commissions
}
]
traffic: {
monthly_visitors: number # (optional) Estimated monthly website visitors or video views
email_subscribers: number # (optional) Email list size
social_followers: number # (optional) Followers on primary platform
}
platform: string # (optional) "blog" | "youtube" | "tiktok" | "email" | "twitter"
scenario: string # (optional, default: "realistic") "conservative" | "realistic" | "optimistic"
goal: string # (optional) Target income, e.g., "$500/mo" or "$1000/mo"
time_horizon: string # (optional, default: "90 days") "30 days" | "90 days" | "12 months"
}
```
## Workflow
### Step 1: Gather Program Details
If program details are missing, pull from list.affitor.com (see `references/list-affitor-api.md`).
Key fields to extract: `reward_value`, `reward_type`, `cookie_days`.
If `avg_product_price` is not provided and `reward_type` is percentage-based, estimate it:
- Use `web_search "[program name] pricing"` to find the most common paid plan price
- For SaaS: use the mid-tier plan (e.g., $49/mo on a $19/$49/$99 structure)
- Note the assumption in output so user can adjust
For `cps_recurring` programs, establish payout duration:
- "Lifetime" = commissions paid as long as customer stays (most valuable)
- "12 months" = commissions paid for customer's first year
- "First purchase only" = functionally the same as one-time despite being subscription
### Step 2: Gather Traffic Estimates
If traffic data is not provided, prompt the user OR use platform benchmarks:
| Channel | Benchmark Ranges |
|---------|-----------------|
| New blog (0-6 months) | 500-2,000 visitors/mo |
| Growing blog (6-18 months) | 2,000-20,000 visitors/mo |
| Established blog (18+ months) | 20,000-200,000+ visitors/mo |
| YouTube channel (<1K subs) | 200-2,000 views/mo |
| YouTube channel (1K-10K subs) | 2,000-50,000 views/mo |
| TikTok (<10K followers) | 1,000-20,000 views/video |
| Twitter/X (<5K followers) | 50-500 impressions/tweet |
| Email list (<1K subscribers) | 200-400 opens/send |
| Email list (1K-10K subscribers) | 2,000-7,000 opens/send |
If user won't provide traffic, use "realistic" scenario benchmarks for their stated
platform and growth stage.
### Step 3: Apply Conversion Rate Assumptions
Use these industry-standard conversion rates as defaults. Adjust based on traffic quality
("buyer intent" content converts 5-10x better than informational content):
| Platform + Content Type | Click-through Rate | Affiliate Conversion |
|------------------------|-------------------|---------------------|
| Blog — product review | 3-6% | 2-5% |
| Blog — best-of listicle | 1.5-3% | 1-3% |
| Blog — tutorial/how-to | 0.5-1.5% | 0.5-2% |
| YouTube — dedicated review | 5-10% | 3-6% |
| YouTube — tutorial with mention | 1-3% | 1-3% |
| TikTok — product demo | 0.5-2% (bio link) | 0.5-2% |
| Email — dedicated send | 10-20% | 3-8% |
| Twitter/X — thread CTA | 0.5-2% | 0.5-2% |
For scenario multipliers:
- Conservative: use lower bound of each range
- Realistic: use midpoint
- Optimistic: use upper bound
### Step 4: Calculate Monthly and Projected Earnings
**Formula:**
```
Monthly clicks = Monthly visitors × Click-through rate
Monthly conversions = Monthly clicks × Affiliate conversion rate
Monthly commission = Monthly conversions × Commission per sale
Commission per sale:
- Percentage-based: avg_product_price × (reward_value / 100)
- Fixed: reward_value (as number)
For recurring (monthly SaaS) over time_horizon:
Month 1 revenue = Month 1 conversions × commission_per_sale
Month 2 revenue = (Month 1 conversions + Month 2 conversions) × commission_per_sale
Month N = sum of all active subscribers × commission_per_sale
[Cap at reward_duration if not lifetime]
```
Calculate for each program:
- Monthly commission at current traffic
- Cumulative commission at 30, 90, 180, 365 days
- Visitors needed to hit user's income goal (if provided)
- Time to first commission (assuming current traffic growth)
### Step 5: Side-by-Side Comparison (Multiple Programs)
If 2+ programs are provided, produce a comparison table:
- Sort by 12-month projected earnings (highest first)
- Flag programs where recurring vs. one-time makes a dramatic difference
- Call out programs with short cookie windows — lower conversion rates assumed
- Note programs with minimum payout thresholds that could delay first payment
### Step 6: Reverse Calculation (If Goal Provided)
If user states an income goal (e.g., "I want $500/mo"), calculate:
- Visitors/month needed to hit that goal with each program
- Number of sales/leads needed per month
- How long to reach that traffic level (using typical affiliate blog growth curves:
months 1-6 = slow, months 7-12 = acceleration, year 2 = compounding)
### Step 7: Sanity Check and Context
Add context so user isn't misled by numbers:
1. These are projections, not guarantees. Real results vary significantly.
2. High-quality, buying-intent traffic converts 3-5x better than general traffic.
3. First sales often take 2-3 months even with good traffic (cookie window, indecision).
4. Recurring programs feel slow at first but compound — show the Year 1 vs Year 2 difference.
### Step 8: Self-Validation
Before presenting output, verify:
- [ ] Commission math is correct (% × price × conversions)
- [ ] Recurring compounding calculated correctly over 12 months
- [ ] CTR and conversion rate within industry benchmarks (1-5% CTR, 1-3% CR)
- [ ] Unrealistic goals flagged honestly with required traffic numbers
- [ ] One-time vs recurring distinction clear in projections
If any check fails, fix the output before delivering. Do not flag the checklist to the user — just ensure the output passes.
## Output Schema
```
{
output_schema_version: "1.0.0" # Semver — bump major on breaking changes
projections: [
{
program_name: string # "HeyGen"
reward_type: string # "cps_recurring"
commission_per_sale: number # 14.40 (USD)
monthly_30d: number # Estimated month 1 earnings
monthly_90d: number # Estimated month 3 earnings
monthly_12m: number # Estimated month 12 earnings
cumulative_12m: number # Total year 1 earnings
sales_needed_for_goal: number | null # If goal provided
visitors_needed_for_goal: number | null
}
]
assumptions: {
monthly_visitors: number
ctr: number
conversion_rate: number
scenario: string
avg_product_price: number | null
}
top_program: string # Name of highest-earning program at 12 months
insight: string # 2-3 sentence key takeaway
}
```
## Output Format
```
## Commission Calculator: [Program(s)]
### Assumptions Used
| Input | Value | Source |
|-------|-------|--------|
| Monthly visitors | Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".