> Write "Top N best..." listicle articles for affiliate marketing with mini-reviews, pricing, "best [product category] article", "roundup post", "listicle about [category]", "write a top tools article", "best [N] alternatives to [product]", "product roundup", "write a tools comparison list", "best software for [use case]", "top picks for [category]".
npx skills add https://github.com/Affitor/affiliate-skills --skill listicle-generator
Write "Top N Best [Category]" roundup articles that rank on Google, capture featured snippets, and drive affiliate conversions across multiple products. Each list entry is a self-contained mini-review with features, pricing, pros/cons, audience fit, and a CTA. The article is structured to win both the featured snippet and the "People Also Ask" box.
Parse the user's request for:
If no affiliate product is specified:
Use web_search to build the product list:
"best [category] tools [year]" site:g2.com OR site:capterra.com OR site:trustradius.com"best [category]" — check autocomplete for common phrasings"[category] affiliate program" — identify which products offer commissionsFor each candidate product, gather:
Affiliate prioritization rules:
Map out every section before writing:
Article structure:
10. Final Recommendation (H2)
Per-entry structure (400-600 words each):
[Rank]. [Product Name] — [One-line Value Prop]Try [Product] free →Title formula: [N] Best [Category] Tools in [Year] (Ranked and Reviewed)
Alternative: Best [Category] Software: Top [N] Picks for [Year]
Introduction (150-200 words):
"At a Glance" Table (immediately after intro, captures featured snippet):
| Tool | Best For | Starting Price | Free Plan |
|---|---|---|---|
| [Product 1] | [Use case] | $X/mo | ✅ |
| [Product 2] | [Use case] | $Y/mo | ❌ |
Evaluation Criteria (H2, before the list):
List the 4-6 criteria used to rank products. This builds credibility and explains why your #1 pick is #1.
Example criteria: ease of use, feature depth, pricing value, customer support quality, integration ecosystem, scalability.
Individual Product Entries:
Write each entry following the per-entry structure above. Vary the opening sentence — don't start every entry the same way. Include specific, verifiable details (actual feature names, real pricing tiers, concrete limitations) — not generic praise.
Master Comparison Table:
After all product entries, include a comprehensive feature matrix:
| Feature | [P1] | [P2] | [P3] | [P4] | [P5] |
|---|---|---|---|---|---|
| Free plan | ✅ | ❌ | ✅ | ⚠️ | ✅ |
| [Key feature] | ✅ | ✅ | ❌ | ✅ | ❌ |
| [Key feature] | ⭐ Best | Good | Limited | Good | Basic |
| Starting price | $X | $Y | $Z | $A | Free |
How to Choose (H2, 300-400 words):
A decision framework for readers who are still unsure after reading the list:
FAQ Section (5-7 questions):
Final Recommendation (H2):
Start with Product] — it's free to try. [Get started →Part 1: SEO Metadata
---
SEO METADATA
---
Title: [title with year and number]
Slug: best-[category-slug]-tools
Meta Description: [150-160 chars, include number + year + top product name]
Target Keyword: best [category] tools
Secondary Keywords: [category] software, [product 1] review, [product 2] alternatives, top [category] [year]
Word Count: [actual]
Format: listicle
Products: [N]
---
Part 2: Full Article
Complete markdown ready to publish.
Part 3: Supplementary Data
category: # REQUIRED — product category to cover
name: string # e.g., "AI video generators", "email marketing platforms"
tags: string[] # Optional — helps with research targeting
primary_product: # OPTIONAL but recommended — the affiliate product to feature at #1
name: string
description: string
reward_value: string
url: string # Affiliate link
reward_type: string
cookie_days: number
tags: string[]
additional_affiliates: # OPTIONAL — other affiliate products to include in the list
- name: string
url: string
reward_value: string
list_size: number # OPTIONAL — how many products (5-12). Default: auto-select.
target_audience: string # OPTIONAL — "beginners" | "enterprise" | "freelancers" | "agencies"
# Default: inferred from category
year: number # OPTIONAL — year for title/freshness. Default: current year.
target_keyword: string # OPTIONAL — override default keyword
tone: string # OPTIONAL — "conversational" | "professional". Default: "conversational"
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
article:
title: string
slug: string
meta_description: string
target_keyword: string
format: "listicle"
content: string
word_count: number
product_count: number
products_featured:
- name: string
url: string
rank: number # Position in the list (1 = top)
role: string # "affiliate-primary" | "affiliate-secondary" | "editorial"
reward_value: string
seo:
secondary_keywords: string[]
at_a_glance_table: string # Markdown table — can be extracted for featured snippet
faq_questions:
- question: string
answer: string
image_suggestions:
- description: string
alt_text: string
placement: string
update_schedule:
recommended_frequency: string # "every 6 months" for most categories
items_to_check: string[] # What to verify on next update
Present as three sections:
Target word count: 3,000-5,000 words depending on list size (aim for 400-500 words per product entry plus structural sections).
Example 1: Standard category listicle
User: "Write a top 10 best AI video tools article"
Action: category="AI video generators", list_size=10, research top tools, position user's affiliate at #1, write 4,500-word listicle targeting "best ai video tools [year]".
Example 2: Niche with specific audience
User: "Best email marketing tools for e-commerce, I'm promoting Klaviyo"
Action: category="email marketing for e-commerce", primary_product=Klaviyo, target_audience="e-commerce store owners", list_size=7, write article with Klaviyo at #1.
Example 3: Alternatives format
User: "Write a 'best alternatives to Mailchimp' article"
Action: Treat as listicle where Mailchimp is the incumbent being replaced. Title: "7 Best Mailchimp Alternatives in [Year] (Cheaper + More Powerful)". Position user's affiliate at #1 as top alternative.
Example 4: Chained from S1
User: "Now write a roundup post for the category"
Context: S1 returned Semrush in the SEO tools category
Action: category=SEO tools, primary_product=Semrush, auto-select list_size=8, write "Best SEO Tools [year]" with Semrush at #1.
shared/references/ftc-compliance.md — FTC disclosure text. Read before Step 4.shared/references/affiliate-glossary.md — Terminology reference.shared/references/flywheel-connections.md — master flywheel connection maplanding-page-creator (S4) — featured products for landing pagescontent-pillar-atomizer (S2) — listicle as pillar content to atomizeinternal-linking-optimizer (S6) — new listicle needs internal linksaffiliate-program-search (S1) — recommended_program as primary productkeyword-cluster-architect (S3) — commercial intent clusters for listicle topicsseo-audit (S6) tracks listicle rankings → identify which list formats and sizes rank bestBefore delivering output, verify:
Any NO → rewrite before delivering.
chain_metadata:
skill_slug: "listicle-generator"
stage: "blog"
timestamp: string
suggested_next:
- "landing-page-creator"
- "content-pillar-atomizer"
- "internal-linking-optimizer"
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/listicle-generator 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.