/content-moat-calculator
Estimate pages needed for topical authority. Go/no-go decision before investing months in content. Triggers on: "how much content do I need", "topical authority estimate", "content moat", "how many articles", "content gap analysis", "can I compete in this niche", "content
$ npx -y skills add Affitor/affiliate-skills --skill content-moat-calculator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/content-moat-calculator
Context preview
The summary Claude sees to decide when to auto-load this skill.
Estimate pages needed for topical authority. Go/no-go decision before investing months in content. Triggers on: "how much content do I need", "topical authority estimate", "content moat", "how many articles", "content gap analysis", "can I compete in this niche", "content
SKILL.md
content-moat-calculator.SKILL.mdname: content-moat-calculator
description: >
Estimate pages needed for topical authority. Go/no-go decision before investing months in content.
Triggers on: "how much content do I need", "topical authority estimate", "content moat",
"how many articles", "content gap analysis", "can I compete in this niche",
"content investment calculator", "is this niche worth the effort", "SEO feasibility",
"how many pages to rank", "content volume needed", "competitive content analysis",
"moat calculation", "authority gap", "should I invest in this niche".
license: MIT
version: "1.0.0"
tags: ["affiliate-marketing", "blogging", "seo", "content-writing", "content-moat", "authority"]
compatibility: "Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent"
metadata:
author: affitor
version: "1.0"
stage: S3-Blog
Content Moat Calculator
Estimate the total content investment needed to establish topical authority in a niche. Analyzes competitors' content volume and quality to give you a go/no-go decision before investing months of work. Answers the question: "How many pages do I need to dominate this topic?"
Stage
S3: Blog & SEO — This decides what blog content to build. It's the feasibility check that saves you from starting a content strategy you can't finish.
When to Use
- User is deciding whether to invest in a niche/topic
- User asks "how many articles do I need to rank?"
- User wants to understand the content investment required
- User says "content moat", "topical authority", "feasibility", "content gap"
- After `keyword-cluster-architect` to estimate effort for the planned clusters
- Before committing to a major content initiative
Input Schema
niche: string # REQUIRED — the topic to analyze
# e.g., "AI video tools", "email marketing for SaaS"
hub_keyword: string # OPTIONAL — main keyword to analyze competitors for
# Default: inferred from niche
your_current_pages: number # OPTIONAL — how many pages you already have on this topic
# Default: 0
publishing_capacity: string # OPTIONAL — "1/week" | "2/week" | "3/week" | "5/week"
# Default: "2/week"**Chaining from S3 keyword-cluster-architect**: Use `keyword_clusters.total_clusters` and `keyword_clusters.hub.keyword`.
Workflow
Step 1: Analyze Top Competitors
Read `shared/references/seo-strategy.md` for moat calculation methodology.
1. `web_search` for `[hub_keyword]` or main niche keyword 2. Identify top 5 ranking sites (exclude giants like Wikipedia, Reddit) 3. For each competitor:
- `web_search`: `site:[competitor.com] [niche topic]` — count pages on this topic
- Note: content depth (word count), content freshness (publish dates), content types (blog, comparison, tutorial)
Step 2: Calculate Moat
Average competitor pages = sum(competitor_pages) / number_of_competitors
Your moat target = Average × 1.5 (need MORE than average to break through)
Content gap = Moat target - your_current_pages
Step 3: Feasibility Assessment
Based on moat target and publishing capacity:
Weeks to moat = Content gap / publishing_capacity_per_week
| Moat Target | Assessment | Recommendation | |---|---|---| | < 20 pages | GREEN — Achievable | Go for it. 2-3 months at 2/week. | | 20-50 pages | YELLOW — Significant | Commit or don't. 3-6 months at 2/week. | | 50-100 pages | ORANGE — Major investment | Consider narrowing niche. 6-12 months. | | 100+ pages | RED — Very high barrier | Find a sub-niche or different angle. |
Step 4: Competitive Advantage Analysis
Identify ways to build moat FASTER: 1. **Quality over quantity**: Can you beat thin content with fewer, deeper pages? 2. **Unique data**: Can you add proprietary data competitors don't have? (→ `proprietary-data-generator`) 3. **Format advantage**: Can you use formats competitors don't? (video, interactive, tools) 4. **Update velocity**: Can you refresh content faster than competitors?
Step 5: Timeline and Roadmap
Create realistic timeline:
- Phase 1: Foundation content (hub + core spokes)
- Phase 2: Supporting content (additional spokes, long-tail)
- Phase 3: Authority content (original research, data, comprehensive guides)
- Phase 4: Maintenance (refresh, update, expand)
Step 6: Self-Validation
- [ ] Competitor analysis uses real data (not estimates)
- [ ] Moat calculation is transparent and logical
- [ ] Feasibility assessment is honest (not overly optimistic)
- [ ] Competitive advantages are realistic
- [ ] Timeline accounts for quality, not just quantity
Output Schema
output_schema_version: "1.0.0"
content_moat:
niche: string
hub_keyword: string
competitors_analyzed: number
average_competitor_pages: number
moat_target: number
your_current_pages: number
content_gap: number
feasibility: string # "green" | "yellow" | "orange" | "red"
weeks_to_moat: number
assessment: string # Go/no-go summary
competitors:
- domain: string
pages_on_topic: number
content_quality: string # "thin" | "average" | "deep"
freshness: string # "stale" | "recent" | "actively updated"
authority_gaps: string[] # What competitors have that you don't
competitive_advantages: string[] # Ways to build moat faster
chain_metadata:
skill_slug: "content-moat-calculator"
stage: "blog"
timestamp: string
suggested_next:
- "affiliate-blog-builder"
- "keyword-cluster-architect"
- "proprietary-data-generator"
- "content-decay-detector"Output Format
## Content Moat Analysis: [Niche]
### Competitor Landscape
| Competitor | Pages on Topic | Quality | Freshness |
|---|---|---|---|
| [domain] | XX | [thin/average/deep] | [stale/recent/active] |
### Moat Calculation
- **Average competitor pages:** XX
- **Your moat target (1.5x):** XX pages
- **Your current
Read more
name: content-moat-calculator description: > Estimate pages needed for topical authority. Go/no-go decision before investing months in content. Triggers on: "how much content do I need", "topical authority estimate", "content moat", "how many articles", "content gap analysis", "can I compete in this niche", "content investment calculator", "is this niche worth the effort", "SEO feasibility", "how many pages to rank", "content volume needed", "competitive content analysis", "moat calculation", "authority gap", "should I invest in this niche". license: MIT version: "1.0.0" tags: ["affiliate-marketing", "blogging", "seo", "content-writing", "content-moat", "authority"] compatibility: "Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent" metadata: author: affitor version: "1.0" stage: S3-Blog
Content Moat Calculator
Estimate the total content investment needed to establish topical authority in a niche. Analyzes competitors' content volume and quality to give you a go/no-go decision before investing months of work. Answers the question: "How many pages do I need to dominate this topic?"
Stage
S3: Blog & SEO — This decides what blog content to build. It's the feasibility check that saves you from starting a content strategy you can't finish.
When to Use
- User is deciding whether to invest in a niche/topic
- User asks "how many articles do I need to rank?"
- User wants to understand the content investment required
- User says "content moat", "topical authority", "feasibility", "content gap"
- After `keyword-cluster-architect` to estimate effort for the planned clusters
- Before committing to a major content initiative
Input Schema
niche: string # REQUIRED — the topic to analyze
# e.g., "AI video tools", "email marketing for SaaS"
hub_keyword: string # OPTIONAL — main keyword to analyze competitors for
# Default: inferred from niche
your_current_pages: number # OPTIONAL — how many pages you already have on this topic
# Default: 0
publishing_capacity: string # OPTIONAL — "1/week" | "2/week" | "3/week" | "5/week"
# Default: "2/week"**Chaining from S3 keyword-cluster-architect**: Use `keyword_clusters.total_clusters` and `keyword_clusters.hub.keyword`.
Workflow
Step 1: Analyze Top Competitors
Read `shared/references/seo-strategy.md` for moat calculation methodology.
1. `web_search` for `[hub_keyword]` or main niche keyword 2. Identify top 5 ranking sites (exclude giants like Wikipedia, Reddit) 3. For each competitor:
- `web_search`: `site:[competitor.com] [niche topic]` — count pages on this topic
- Note: content depth (word count), content freshness (publish dates), content types (blog, comparison, tutorial)
Step 2: Calculate Moat
Average competitor pages = sum(competitor_pages) / number_of_competitors Your moat target = Average × 1.5 (need MORE than average to break through) Content gap = Moat target - your_current_pages
Step 3: Feasibility Assessment
Based on moat target and publishing capacity:
Weeks to moat = Content gap / publishing_capacity_per_week
| Moat Target | Assessment | Recommendation | |---|---|---| | < 20 pages | GREEN — Achievable | Go for it. 2-3 months at 2/week. | | 20-50 pages | YELLOW — Significant | Commit or don't. 3-6 months at 2/week. | | 50-100 pages | ORANGE — Major investment | Consider narrowing niche. 6-12 months. | | 100+ pages | RED — Very high barrier | Find a sub-niche or different angle. |
Step 4: Competitive Advantage Analysis
Identify ways to build moat FASTER: 1. **Quality over quantity**: Can you beat thin content with fewer, deeper pages? 2. **Unique data**: Can you add proprietary data competitors don't have? (→ `proprietary-data-generator`) 3. **Format advantage**: Can you use formats competitors don't? (video, interactive, tools) 4. **Update velocity**: Can you refresh content faster than competitors?
Step 5: Timeline and Roadmap
Create realistic timeline:
- Phase 1: Foundation content (hub + core spokes)
- Phase 2: Supporting content (additional spokes, long-tail)
- Phase 3: Authority content (original research, data, comprehensive guides)
- Phase 4: Maintenance (refresh, update, expand)
Step 6: Self-Validation
- [ ] Competitor analysis uses real data (not estimates)
- [ ] Moat calculation is transparent and logical
- [ ] Feasibility assessment is honest (not overly optimistic)
- [ ] Competitive advantages are realistic
- [ ] Timeline accounts for quality, not just quantity
Output Schema
output_schema_version: "1.0.0"
content_moat:
niche: string
hub_keyword: string
competitors_analyzed: number
average_competitor_pages: number
moat_target: number
your_current_pages: number
content_gap: number
feasibility: string # "green" | "yellow" | "orange" | "red"
weeks_to_moat: number
assessment: string # Go/no-go summary
competitors:
- domain: string
pages_on_topic: number
content_quality: string # "thin" | "average" | "deep"
freshness: string # "stale" | "recent" | "actively updated"
authority_gaps: string[] # What competitors have that you don't
competitive_advantages: string[] # Ways to build moat faster
chain_metadata:
skill_slug: "content-moat-calculator"
stage: "blog"
timestamp: string
suggested_next:
- "affiliate-blog-builder"
- "keyword-cluster-architect"
- "proprietary-data-generator"
- "content-decay-detector"Output Format
## Content Moat Analysis: [Niche] ### Competitor Landscape | Competitor | Pages on Topic | Quality | Freshness | |---|---|---|---| | [domain] | XX | [thin/average/deep] | [stale/recent/active] | ### Moat Calculation - **Average competitor pages:** XX - **Your moat target (1.5x):** XX pages - **Your current
Turn any AI into your affiliate marketing team. 52 AI-powered skills across 8 stages with a closed-loop flywheel.
Other skills on affiliate-skills.
- /ab-test-generator
Generate A/B test variants for affiliate content. Triggers on: "create A/B test", "test my headline", "optimize my CTA", "generate variants", "split test ideas", "improve click-through rate", "test my landing page copy", "headline alternatives", "CTA variations", "which version
Open skill - /conversion-tracker
Set up affiliate conversion tracking with UTM parameters and link tagging. Triggers on: "set up tracking", "create UTM links", "track my affiliate links", "tracking pixels", "click attribution", "organize my links", "UTM parameters", "tag my links", "campaign tracking", "link
Open skill - /internal-linking-optimizer
Analyze site's internal link structure and optimize for hub-and-spoke SEO architecture. Triggers on: "optimize internal links", "internal linking", "link structure", "hub and spoke links", "orphan pages", "link equity", "internal link audit", "fix my internal links", "link
Open skill - /performance-report
Generate 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
Open skill - /seo-audit
Audit affiliate blog posts and landing pages for SEO issues. Triggers on: "audit my blog post for SEO", "check my SEO", "SEO review", "improve my rankings", "SEO checklist", "on-page SEO audit", "keyword optimization check", "why isn't my page ranking", "SEO score", "content
Open skill - /content-repurposer
Repurpose one piece of affiliate content into multiple formats. Triggers on: "repurpose my content", "turn my blog into tweets", "cross-post this", "content recycling", "convert to newsletter", "make a tweet thread from this", "adapt for TikTok", "omnichannel content", "scale my
Open skill

