| name | self-improver |
| description | Review affiliate campaign results and improve strategy. Triggers on: "review my results", "what went wrong", "how to improve conversions", "analyze my campaign", "affiliate retrospective", "why am I not converting", "improve my strategy", "what should I change", "campaign review", "optimize my approach", "learn from my results", "post-mortem on my campaign".
|
| license | MIT |
| version | 1.0.0 |
| tags | ["affiliate-marketing","meta","planning","compliance","improvement","feedback"] |
| compatibility | Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent |
| metadata | {"author":"affitor","version":"1.0","stage":"S8-Meta"} |
Self-Improver
Review affiliate campaign results, diagnose what worked and what didn't, and generate a prioritized improvement plan. Uses affiliate-specific diagnostic frameworks (offer-market fit, traffic-content match, funnel leak analysis) to identify root causes and actionable fixes.
Stage
S8: Meta — Most affiliates repeat the same mistakes because they never do structured retrospectives. Self-Improver closes the feedback loop: it takes your results, compares them to expectations, diagnoses gaps using affiliate-specific frameworks, and produces concrete actions that feed back into S1-S7 for the next iteration.
When to Use
- User has run a campaign and wants to understand results
- User's affiliate content isn't converting and wants to diagnose why
- User wants to compare actual vs expected results
- User says "what went wrong?", "why no conversions?", "how to improve?"
- User wants a structured retrospective on their affiliate efforts
- Chaining from S6.3 (performance-report) — analyze the data and plan improvements
Input Schema
campaign:
description: string
duration: string
skills_used: string[]
channels: string[]
results:
clicks: number
conversions: number
revenue: number
traffic: number
feedback: string
expectations:
expected_clicks: number
expected_conversions: number
expected_revenue: number
benchmark: string
context:
niche: string
Chaining context: If S6.3 (performance-report) was run in the same conversation, pull KPIs directly. If S1-S5 outputs exist in context, reference them for gap analysis.
Workflow
Step 1: Establish Baseline
Collect campaign description and results. If numbers are missing, work with whatever is available. State assumptions clearly: "You didn't share click data, so I'll focus on qualitative analysis."
Step 2: Compare Results vs Expectations
Calculate gaps:
- Traffic gap: Expected vs actual impressions/visits
- Click gap: Expected vs actual CTR
- Conversion gap: Expected vs actual conversion rate
- Revenue gap: Expected vs actual earnings
Use industry benchmarks if user doesn't have expectations:
- Affiliate blog CTR: 2-5%
- Affiliate conversion rate: 1-3%
- Social post engagement: 1-3% of impressions
- Email click rate: 2-5%
Step 3: Diagnose Root Causes
Apply affiliate-specific diagnostic frameworks:
Offer-Market Fit: Is the product right for the audience?
- Wrong audience for the product
- Product too expensive for the audience's budget
- Product solves a problem the audience doesn't have
Traffic-Content Match: Is the traffic source aligned with the content?
- Blog content promoted on TikTok (format mismatch)
- Reddit post that reads like an ad (platform mismatch)
- Cold traffic sent to a hard sell (temperature mismatch)
Funnel Leaks: Where do people drop off?
- High impressions but low clicks → weak headline/hook
- High clicks but low conversions → landing page or product issue
- High conversions but low revenue → wrong product (low commission)
Step 4: Prioritize Improvements
Rank each improvement by:
- Impact: How much would this change move the needle? (1-5)
- Effort: How hard is it to implement? (1-5)
- Priority: Impact / Effort ratio
Step 5: Create Iteration Plan
For each top improvement, specify:
- What to change
- Which Affitor skill to re-run
- Exact prompt modification for better results
- Expected improvement (realistic estimate)
Step 6: Self-Validation
Before presenting output, verify:
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"
retrospective:
campaign: string
period: string
overall_assessment: string
gaps:
- metric: string
expected: string
actual: string
gap: string
diagnosis:
root_causes:
- cause: string
evidence: string
severity: string
improvements:
- action: string
skill: string
prompt: string
impact: number
effort: number
Output Format
- Campaign Summary — what was done, results achieved
- Gap Analysis — table comparing expected vs actual metrics
- Root Cause Diagnosis — what's causing the gaps, with evidence
- Improvement Actions — prioritized table with action, skill, impact, effort
- Next Iteration Plan — ordered steps with timeline and success metrics
Error Handling
- No results data at all: "I need at least one data point to diagnose. Do you have: clicks, conversions, revenue, or even qualitative feedback (comments, reactions)? Even 'I got zero conversions' is useful data."
- Only qualitative data: Shift to qualitative analysis. "Without numbers, I'll focus on content quality, offer fit, and platform alignment. Here's what I can diagnose from your description."
- Unrealistic expectations: "You expected 100 sales from a single blog post in week 1. Industry average conversion rate is 1-3%, so 100 sales would require 3,000-10,000 clicks. Let me recalibrate your expectations and plan from there."
Examples
Example 1: Blog campaign with low conversions
User: "I wrote 3 blog reviews of AI tools last month. Got 2,000 visitors but only 2 conversions ($14 total). What went wrong?"
Action: Conversion rate 0.1% vs benchmark 1-3%. Diagnose: possible funnel leak (weak CTAs? disclosure too prominent? wrong products for audience?). Check traffic sources (SEO cold traffic needs more warming). Recommend: S6 (ab-test-generator) on CTAs, S6 (seo-audit) on content quality, S4 (landing-page-creator) as intermediate step.
Example 2: Social campaign with zero clicks
User: "Posted 10 LinkedIn posts about Semrush. Lots of likes but nobody clicked my link."
Action: Traffic-content mismatch. LinkedIn engagement ≠ clicks. Diagnose: link placement (probably in comments where nobody looks), content may be too educational without clear CTA, audience may not be in buying mode on LinkedIn. Recommend: S2 (viral-post-writer) with CTA-focused brief, S3 (affiliate-blog-builder) to create destination content, S7 (content-repurposer) to adapt for click-friendly platforms.
Example 3: Chained from performance-report
Context: S6.3 performance-report shows EPC of $0.02 across 5 programs, with one program at $0.15 EPC.
User: "How do I improve these numbers?"
Action: One program is 7x more profitable. Diagnose: concentrate effort on the winner. For the four underperformers, check offer-market fit (are these the wrong products?). Recommend: S7 (multi-program-manager) to restructure portfolio, S7 (content-repurposer) to create more content for the winning program, S6 (ab-test-generator) to optimize existing content.
References
shared/references/ftc-compliance.md — Referenced when reviewing content quality. Read in Step 3.
docs/affiliate-funnel-overview.md — Funnel stage definitions for gap analysis. Read in Step 3.
shared/references/flywheel-connections.md — master flywheel connection map
Flywheel Connections
Feeds Into
- All skills —
improvement_suggestions drive quality upgrades across the system
Fed By
performance-report (S6) — performance data revealing what needs improvement
conversion-tracker (S6) — conversion trends for diagnosis
compliance-checker (S8) — compliance issues to address
Feedback Loop
- Each improvement cycle feeds back into the next self-improver run → track improvement trajectory over time
chain_metadata:
skill_slug: "self-improver"
stage: "meta"
timestamp: string
suggested_next:
- "funnel-planner"
- "performance-report"
- "skill-finder"