> "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".
npx skills add https://github.com/Affitor/affiliate-skills --skill 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.
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.
campaign:
description: string # REQUIRED — what was done (e.g., "Published 3 blog reviews
# of AI video tools, shared on LinkedIn and Reddit")
duration: string # OPTIONAL — how long (e.g., "2 weeks", "1 month")
skills_used: string[] # OPTIONAL — which Affitor skills were used
channels: string[] # OPTIONAL — where content was distributed
results:
clicks: number # OPTIONAL — total clicks on affiliate links
conversions: number # OPTIONAL — total signups/purchases
revenue: number # OPTIONAL — total commission earned
traffic: number # OPTIONAL — total page views / impressions
feedback: string # OPTIONAL — qualitative feedback received
expectations:
expected_clicks: number # OPTIONAL — what was expected
expected_conversions: number # OPTIONAL
expected_revenue: number # OPTIONAL
benchmark: string # OPTIONAL — "industry average" or specific number
context:
niche: string # OPTIONAL — product category
experience: string # OPTIONAL — "first campaign" | "experienced"
budget: string # OPTIONAL — money spent (if any)
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.
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."
Calculate gaps:
Use industry benchmarks if user doesn't have expectations:
Apply affiliate-specific diagnostic frameworks:
Offer-Market Fit: Is the product right for the audience?
Traffic-Content Match: Is the traffic source aligned with the content?
Funnel Leaks: Where do people drop off?
Rank each improvement by:
For each top improvement, specify:
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_version: "1.0.0" # Semver — bump major on breaking changes
retrospective:
campaign: string
period: string
overall_assessment: string # "strong" | "average" | "needs_work" | "failing"
gaps:
- metric: string # e.g., "conversion_rate"
expected: string
actual: string
gap: string # e.g., "-2.5%"
diagnosis:
root_causes:
- cause: string # e.g., "Traffic-content mismatch"
evidence: string # what indicates this
severity: string # "high" | "medium" | "low"
improvements:
- action: string # what to do
skill: string # which Affitor skill to use
prompt: string # exact prompt for the skill
impact: number # 1-5
effort: number # 1-5
priority: number # impact / effort
iteration_plan:
next_steps: string[] # ordered list of actions
timeline: string # e.g., "1 week"
success_metric: string # how to measure improvement
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.
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.
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.
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 mapimprovement_suggestions drive quality upgrades across the systemperformance-report (S6) — performance data revealing what needs improvementconversion-tracker (S6) — conversion trends for diagnosiscompliance-checker (S8) — compliance issues to addresschain_metadata:
skill_slug: "self-improver"
stage: "meta"
timestamp: string
suggested_next:
- "funnel-planner"
- "performance-report"
- "skill-finder"
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take affitor/self-improver from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.