$npx -y skills add Affitor/affiliate-skills --skill performance-reportGenerate affiliate performance reports with KPIs and recommendations. Triggers on: "show my affiliate report", "how are my programs doing", "performance review", "earnings report", "monthly affiliate report", "weekly report", "analyze my affiliate earnings", "which program is bes
| 1 | # Performance Report |
| 2 | |
| 3 | Generate weekly or monthly affiliate performance reports — earnings, clicks, conversions, EPC, top performers, underperformers, and trend analysis. Output is a Markdown report with KPI dashboard, program rankings, and actionable recommendations. |
| 4 | |
| 5 | ## Stage |
| 6 | |
| 7 | S6: Analytics — Data without analysis is just noise. This skill transforms raw affiliate numbers into insights — which programs are worth your time, which are dragging your portfolio down, and where to focus next. Professional affiliates review performance weekly. |
| 8 | |
| 9 | ## When to Use |
| 10 | |
| 11 | - User wants to review their affiliate earnings for a period |
| 12 | - User asks "how are my programs doing?" or "show me my affiliate report" |
| 13 | - User has click/conversion/revenue data and wants analysis |
| 14 | - User wants to compare performance across multiple programs |
| 15 | - User says "weekly report", "monthly report", "earnings breakdown" |
| 16 | - Chaining from S6.1 (conversion-tracker) — analyze the data those links collected |
| 17 | |
| 18 | ## Input Schema |
| 19 | |
| 20 | ```yaml |
| 21 | programs: |
| 22 | - name: string # REQUIRED — program name (e.g., "HeyGen") |
| 23 | clicks: number # OPTIONAL — total clicks this period |
| 24 | conversions: number # OPTIONAL — total conversions |
| 25 | revenue: number # OPTIONAL — total commission earned ($) |
| 26 | commission: number # OPTIONAL — commission per sale ($) |
| 27 | spend: number # OPTIONAL — money spent on ads/promotion ($) |
| 28 | |
| 29 | period: string # OPTIONAL — "week" | "month" | "quarter" |
| 30 | # Default: "month" |
| 31 | |
| 32 | goals: |
| 33 | revenue_target: number # OPTIONAL — target revenue for the period ($) |
| 34 | conversion_target: number # OPTIONAL — target conversions |
| 35 | |
| 36 | previous_period: # OPTIONAL — last period's data for trend analysis |
| 37 | - name: string |
| 38 | clicks: number |
| 39 | conversions: number |
| 40 | revenue: number |
| 41 | |
| 42 | notes: string # OPTIONAL — context about the period |
| 43 | # (e.g., "launched new blog post week 2") |
| 44 | ``` |
| 45 | |
| 46 | **Chaining context**: If S1 program data or S6.1 tracking data exists in conversation, pull program names and any available metrics. |
| 47 | |
| 48 | ## Workflow |
| 49 | |
| 50 | ### Step 1: Collect Program Data |
| 51 | |
| 52 | Gather data from user input. If data is incomplete, work with what's available and note gaps: |
| 53 | - "You provided revenue but not clicks — I can calculate revenue per program but not EPC or conversion rate." |
| 54 | |
| 55 | ### Step 2: Calculate KPIs |
| 56 | |
| 57 | For each program: |
| 58 | - **EPC** (Earnings Per Click): revenue / clicks |
| 59 | - **Conversion Rate**: conversions / clicks × 100 |
| 60 | - **Revenue Share**: program revenue / total revenue × 100 |
| 61 | - **CPA** (Cost Per Acquisition): spend / conversions (if spend provided) |
| 62 | - **ROAS** (Return on Ad Spend): revenue / spend (if spend provided) |
| 63 | - **Commission Per Sale**: revenue / conversions |
| 64 | |
| 65 | Portfolio-level: |
| 66 | - **Total Revenue**: sum of all program revenue |
| 67 | - **Blended EPC**: total revenue / total clicks |
| 68 | - **Blended Conversion Rate**: total conversions / total clicks × 100 |
| 69 | - **Top Performer**: highest EPC program |
| 70 | - **Underperformer**: lowest EPC program |
| 71 | |
| 72 | ### Step 3: Rank Programs |
| 73 | |
| 74 | Sort programs by ROI efficiency: |
| 75 | 1. EPC (primary sort) |
| 76 | 2. Total revenue (secondary) |
| 77 | 3. Conversion rate (tertiary) |
| 78 | |
| 79 | Assign labels: |
| 80 | - **Star**: High EPC + high volume → double down |
| 81 | - **Cash Cow**: Moderate EPC + high volume → maintain |
| 82 | - **Question Mark**: High EPC + low volume → scale up |
| 83 | - **Dog**: Low EPC + low volume → consider dropping |
| 84 | |
| 85 | ### Step 4: Identify Trends |
| 86 | |
| 87 | If `previous_period` data is provided: |
| 88 | - Revenue trend: up/down/flat (with percentage) |
| 89 | - Click trend: up/down/flat |
| 90 | - Conversion trend: up/down/flat |
| 91 | - Per-program trends |
| 92 | |
| 93 | ### Step 5: Generate Recommendations |
| 94 | |
| 95 | Based on data: |
| 96 | - **Double down**: Programs with high EPC that need more traffic |
| 97 | - **Optimize**: Programs with high traffic but low conversion (content issue) |
| 98 | - **Phase out**: Programs with low EPC and low volume |
| 99 | - **Investigate**: Programs with unusual patterns (sudden drops) |
| 100 | |
| 101 | ### Step 6: Self-Validation |
| 102 | |
| 103 | Before presenting output, verify: |
| 104 | |
| 105 | - [ ] EPC calculation correct: revenue ÷ clicks |
| 106 | - [ ] Conversion rate percentages are accurate |
| 107 | - [ ] Revenue shares across programs sum to ~100% |
| 108 | - [ ] Labels match metrics: Star (high EPC + growth), Cash Cow (high revenue + stable), Question Mark (low data), Dog (declining) |
| 109 | - [ ] Reco |