Topical authority mapper

Map complete topic clusters for any subject area — hub pages, spoke articles, supporting content, internal linking architecture.

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/seo/composites/topical-authority-mapper#main ~/.claude/skills/topical-authority-mapper

For one project only, change the path to .claude/skills/topical-authority-mapper.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text420 lines
topical-authority-mapper/SKILL.md420 lines15.2 KBpushed 96d agoRawView on GitHub

Topical Authority Mapper

Most content strategies are just keyword lists turned into blog posts. Real topical authority requires a structured map: pillar pages that own broad topics, cluster pages that go deep on subtopics, and an internal linking architecture that tells Google "we comprehensively cover this subject." This skill builds that map.

Core principle: Google rewards topical depth, not random keyword coverage. A site with 15 interlinked articles that thoroughly cover "sales automation" will outrank a site with 50 unrelated blog posts that happen to mention the phrase. This skill builds the cluster architecture that creates genuine authority.

When to Use

  • "What content should we create to dominate [topic]?"
  • "Build a topic cluster strategy for our blog"
  • "Map out our topical authority for [category]"
  • "Create a content calendar based on topic clusters"
  • "What content gaps do we have?"

Tool Enhancement (Optional)

Topic cluster mapping is significantly better with keyword data that shows search volume, difficulty, and semantic relationships across hundreds of subtopic variations.

Agent Prompt to User

"I can build a comprehensive topical authority map using competitive analysis and content gap identification. For the most precise results — especially accurate volume data and keyword clustering at scale — I'd recommend connecting a keyword data API."

Recommended: DataForSEO (pay-per-use, ~$0.01/keyword, no monthly minimum)

  • Sign up at dataforseo.com → get API login + password
  • Set DATAFORSEO_LOGIN and DATAFORSEO_PASSWORD env vars

Alternatives that also work:

  • Keywords Everywhere API ($1 per 10 credits = 100K keywords, very cheap) → set KEYWORDS_EVERYWHERE_API_KEY
  • SEMrush API (if you have a subscription) → set SEMRUSH_API_KEY
  • Ahrefs API (if you have a subscription) → set AHREFS_API_TOKEN

"Want to use one of these, or should I proceed with baseline mode? Baseline uses our existing SEO tools and web research — still produces a strong topic map, but with less granular volume data per subtopic."

Mode Selection

  • Enhanced mode — Bulk keyword data via DataForSEO / Keywords Everywhere / SEMrush / Ahrefs. Gets search volume, difficulty, and semantic grouping for every subtopic. Enables data-driven prioritization and precise gap identification. Also supports keyword clustering APIs that automatically group related terms.
  • Baseline mode — Uses seo-domain-analyzer for domain metrics, web_search for topic research, reddit-post-finder for question mining, competitor analysis via site-content-catalog. Topic mapping and cluster architecture are equally strong. Volume estimates are directional rather than exact.

Phase 0: Intake

  1. Your site URL — For existing content audit
  2. Target topics — 1-5 broad topic areas you want authority in (e.g., "sales automation", "content marketing", "data privacy")
  3. Competitors — 2-5 competitor URLs who rank well for these topics
  4. ICP — Who reads your content? (role, pain, goal)
  5. Content capacity — How many articles can your team produce per month?
  6. Existing content — Do you have a blog? How many articles? (we'll audit it)
  7. Time horizon — 3-month plan? 6-month? 12-month?
  8. Tool preference — Enhanced mode with keyword API, or baseline? (see Tool Enhancement above)

Phase 1: Current State Audit

1A: Your Existing Content

Run site-content-catalog on your site:

python3 skills/site-content-catalog/scripts/catalog_content.py \
  --url "<your_site_url>" \
  --output json

Map all existing content:

  • Blog posts by topic
  • Resource pages, guides, glossary
  • Landing pages with content
  • Identify which topics you already have content for
  • Note: thin pages, outdated content, orphan pages (no internal links)

1B: Competitor Content Mapping

For each competitor, run site-content-catalog:

python3 skills/site-content-catalog/scripts/catalog_content.py \
  --url "<competitor_url>" \
  --output json

Map their content architecture:

  • How do they structure topic clusters?
  • Which topics have pillar pages?
  • How deep do their clusters go?
  • Internal linking patterns
  • Content freshness (update dates)

1C: Domain Authority Baseline

Run seo-domain-analyzer for your site and competitors:

  • Your domain authority vs. competitors
  • Keyword overlap analysis
  • Where competitors rank that you don't

Phase 2: Topic Universe Expansion

2A: Subtopic Discovery

For each target topic area, generate the full subtopic universe:

Enhanced mode (DataForSEO / Keywords Everywhere):

# DataForSEO keyword suggestions
POST /v3/dataforseo_labs/google/keyword_suggestions/live
{
  "keyword": "<topic>",
  "limit": 500
}

# DataForSEO related keywords
POST /v3/dataforseo_labs/google/related_keywords/live
{
  "keyword": "<topic>",
  "limit": 500
}

Extract:

  • All related keywords and questions
  • Search volumes per keyword
  • Keyword difficulty scores
  • Semantic groups (auto-clustered by meaning)

Baseline mode:

Use multiple sources to build the subtopic list:

  • web_search for "topic + [what/how/why/best/vs/guide/examples]"
  • reddit-post-finder for questions people ask about the topic
  • Google autocomplete patterns (via web search)
  • Competitor content titles (from Phase 1B)
  • PAA questions from search results

2B: Question Mining

Run reddit-post-finder for each topic area:

python3 skills/reddit-post-finder/scripts/search_reddit.py \
  --subreddit "<relevant_subs>" \
  --keywords "<topic>" \
  --days 365 --sort top --time year

Extract:

  • Questions people ask (→ individual article topics)
  • Recurring themes (→ cluster pillars)
  • Misconceptions (→ myth-busting content)
  • Comparisons people make (→ vs/ content)
  • Use cases discussed (→ use-case content)

2C: Keyword Clustering

Group all discovered keywords/subtopics into semantic clusters:

Enhanced mode: Use DataForSEO keyword clustering API or group by SERP overlap (keywords that share 3+ ranking URLs likely belong to the same cluster).

Baseline mode: Manual semantic grouping based on:

  • Shared root concepts
  • User intent alignment (informational / commercial / navigational)
  • Topic hierarchy (broad → specific)

Phase 3: Cluster Architecture

3A: Pillar-Cluster Mapping

For each topic area, design the cluster hierarchy:

PILLAR: [Broad Topic] — "The Complete Guide to [Topic]"
│
├── CLUSTER 1: [Subtopic Group A]
│   ├── Article: [Specific subtopic A1]
│   ├── Article: [Specific subtopic A2]
│   └── Article: [Specific subtopic A3]
│
├── CLUSTER 2: [Subtopic Group B]
│   ├── Article: [Specific subtopic B1]
│   ├── Article: [Specific subtopic B2]
│   └── Article: [Specific subtopic B3]
│
├── CLUSTER 3: [Subtopic Group C]
│   ├── Article: [Specific subtopic C1]
│   └── Article: [Specific subtopic C2]
│
└── SUPPORTING: [Glossary terms, FAQs, tools]
    ├── Glossary: [Term 1]
    ├── Glossary: [Term 2]
    └── FAQ: [Common questions]

3B: Content Type Assignment

For each piece in the cluster:

Content Type When to Use Typical Word Count
Pillar page Broad topic overview, links to all cluster content 3,000-5,000+
Cluster article Deep dive on subtopic 1,500-3,000
Comparison post vs/ or alternatives content 2,000-3,500
How-to guide Step-by-step instruction 1,500-2,500
Glossary entry Definition + context 500-1,000
Tool/Calculator Interactive resource 500 + tool
Case study Proof point 1,000-2,000
Listicle Curated collection 1,500-3,000

3C: Internal Linking Architecture

Design the linking structure:

  1. Pillar → All cluster articles (every cluster article gets a link from the pillar)
  2. Cluster articles → Pillar (every article links back to the pillar)
  3. Cluster articles ↔ Related cluster articles (cross-links within the cluster)
  4. Cross-cluster links where topics overlap
  5. Supporting content → Relevant cluster articles (glossary terms link to articles that explain them in depth)

Map specific anchor text for each link.

Phase 4: Gap Analysis & Prioritization

4A: Coverage Gap Matrix

Subtopic Your Content Competitor A Competitor B Volume Difficulty Gap?
[subtopic 1] ✗ None ✓ Pillar page ✓ Blog post [vol] [diff] ✓ High priority
[subtopic 2] ✓ Thin post ✓ Deep guide ✗ None [vol] [diff] ✓ Update needed
[subtopic 3] ✓ Strong guide ✓ Similar ✓ Similar [vol] [diff] ✗ Covered
[subtopic 4] ✗ None ✗ None ✗ None [vol] [diff] ✓ White space

4B: Priority Scoring

Score each content piece to create:

Factor Weight Description
Search volume 25% Monthly search demand
Competitive gap 25% How much better can you be than what exists?
Intent alignment 20% Does the searcher match your ICP?
Cluster completeness 15% Does this fill a critical gap in a cluster?
Effort 15% How much work to create high-quality content?

4C: Content Calendar

Based on content capacity and priority scores:

Month 1: Build [N] pillar foundations

  • [Pillar 1] — [rationale]
  • [3-5 highest-priority cluster articles]

Month 2: Deepen Cluster 1, start Cluster 2

  • [5-8 articles] — [rationale]

Month 3: Complete Cluster 2, begin Cluster 3

  • [5-8 articles] — [rationale]

Months 4-6: Expansion

  • [Continue pattern based on capacity]

Phase 5: Output

# Topical Authority Map — [Site/Client] — [DATE]

## Executive Summary
- Topic areas mapped: [N]
- Total content pieces identified: [N] (pillars: [N], clusters: [N], supporting: [N])
- Existing content: [N] pages ([N] strong, [N] need updates, [N] gaps)
- Net new content needed: [N] pages
- Estimated timeline to full coverage: [N] months at [N] articles/month

---

## Topic Map: [Topic Area 1]

### Cluster Architecture
[Visual tree structure per Phase 3A]

### Pillar Page
- **Target keyword:** [keyword] ([volume]/mo, [difficulty])
- **Title:** [recommended title]
- **Content type:** Comprehensive guide
- **Word count target:** [X]-[Y]
- **Links to:** [all cluster articles listed]
- **Status:** [Exists — needs update / New — priority [P0/P1/P2]]

### Cluster: [Subtopic Group A]

#### Article: [Subtopic A1]
- **Target keyword:** [keyword] ([volume]/mo, [difficulty])
- **Content type:** [how-to / comparison / listicle / etc.]
- **Word count target:** [X]-[Y]
- **Links to:** Pillar + [related articles]
- **Links from:** Pillar + [related articles]
- **Priority:** [P0/P1/P2]
- **Anchor text:** "[anchor]" from pillar, "[anchor]" from [related article]

#### Article: [Subtopic A2]
...

### Cluster: [Subtopic Group B]
...

---

## Topic Map: [Topic Area 2]
...

---

## Internal Linking Matrix

| From ↓ / To → | Pillar | Article A1 | Article A2 | Article B1 | ... |
|----------------|--------|-----------|-----------|-----------|-----|
| **Pillar** | — | ✓ "[anchor]" | ✓ "[anchor]" | ✓ "[anchor]" | |
| **Article A1** | ✓ "[anchor]" | — | ✓ "[anchor]" | | |
| **Article A2** | ✓ "[anchor]" | ✓ "[anchor]" | — | | |
| **Article B1** | ✓ "[anchor]" | | | — | |

---

## Content Calendar

### Month 1: Foundation
| Week | Content Piece | Type | Cluster | Keywords | Priority |
|------|--------------|------|---------|----------|----------|
| W1 | [Pillar: Topic 1] | Pillar page | — | [kw] ([vol]) | P0 |
| W1 | [Article A1] | Cluster article | A | [kw] ([vol]) | P0 |
| W2 | [Article A2] | Cluster article | A | [kw] ([vol]) | P0 |
| W2 | [Article B1] | Cluster article | B | [kw] ([vol]) | P0 |

### Month 2: Depth
...

### Month 3: Expansion
...

---

## Coverage Gap Report

### High Priority (Competitors rank, you don't)
| Topic | Competitor Coverage | Your Status | Volume | Recommended Action |
|-------|-------------------|-------------|--------|--------------------|
| [topic] | A: Pillar, B: Blog post | None | [vol] | Create [content type] |

### Medium Priority (Weak coverage)
| Topic | Your Current Page | Issue | Volume | Recommended Action |
|-------|------------------|-------|--------|--------------------|
| [topic] | [URL] | Thin (400 words) | [vol] | Expand to [X] words, add [sections] |

### Existing Content Updates Needed
| URL | Issue | Action Required | Effort |
|-----|-------|----------------|--------|
| [url] | Outdated (2023 data) | Update stats, refresh examples | 2 hours |
| [url] | No internal links | Add [N] links to cluster articles | 30 min |
| [url] | Missing from pillar | Add link from pillar with "[anchor]" | 15 min |

---

## Metrics to Track
- **Topical coverage %** — Articles created vs. total identified
- **Internal link density** — Avg links per article within cluster
- **Cluster ranking velocity** — Time from publish to page 1 per cluster
- **Pillar page rankings** — Position for head terms
- **Organic traffic by cluster** — Traffic attributed to each topic cluster

Save to the current working directory or wherever the user prefers.

For large topic maps (3+ topic areas), also export a summary CSV: content-calendar-[YYYY-MM-DD].csv

Cost

Component Cost
Site catalog (your site, once) ~$0.05-0.10
Site catalog per competitor ~$0.05-0.10
SEO domain analyzer ~$0.10-0.20
Reddit scraper (per topic area) ~$0.05-0.10
DataForSEO keyword data (enhanced) ~$0.50-3.00 (depending on keyword count)
Keywords Everywhere (enhanced alt) ~$0.01-0.10
Page fetches (competitor content analysis) ~$0.01-0.05
Analysis Free (LLM reasoning)
Total per topic area (baseline) ~$0.25-0.50
Total per topic area (enhanced) ~$0.75-3.50
3 topic areas (baseline) ~$0.75-1.50
3 topic areas (enhanced) ~$2.25-10.50

Tools Required

  • Apify API tokenAPIFY_API_TOKEN env var
  • Upstream skills: site-content-catalog, seo-domain-analyzer, reddit-post-finder, fetch_webpage
  • Optional (enhanced): DataForSEO (DATAFORSEO_LOGIN + DATAFORSEO_PASSWORD), Keywords Everywhere (KEYWORDS_EVERYWHERE_API_KEY), SEMrush (SEMRUSH_API_KEY), or Ahrefs (AHREFS_API_TOKEN)

Scheduling

For ongoing topical authority tracking:

  • Run quarterly to reassess coverage gaps
  • Monthly: check for new subtopics emerging in the space
  • After each content batch: update the map with published URLs and internal links

Trigger Phrases

  • "Map our topical authority for [topic]"
  • "Build a topic cluster strategy"
  • "What content gaps do we have?"
  • "Create a content calendar for SEO"
  • "How do we build authority in [topic area]?"
  • "Plan our content architecture"
1---
2name: topical-authority-mapper
3description: >
4 Map complete topic clusters for any subject area — hub pages, spoke articles,
5 supporting content, internal linking architecture. Identifies content gaps,
6 priority order, and builds a structured content calendar. Produces topic maps
7 that build genuine topical authority, not random blog posts.
8tags: [seo]
9---
10 
11# Topical Authority Mapper
12 
13Most content strategies are just keyword lists turned into blog posts. Real topical authority requires a structured map: pillar pages that own broad topics, cluster pages that go deep on subtopics, and an internal linking architecture that tells Google "we comprehensively cover this subject." This skill builds that map.
14 
15**Core principle:** Google rewards topical depth, not random keyword coverage. A site with 15 interlinked articles that thoroughly cover "sales automation" will outrank a site with 50 unrelated blog posts that happen to mention the phrase. This skill builds the cluster architecture that creates genuine authority.
16 
17## When to Use
18 
19- "What content should we create to dominate [topic]?"
20- "Build a topic cluster strategy for our blog"
21- "Map out our topical authority for [category]"
22- "Create a content calendar based on topic clusters"
23- "What content gaps do we have?"
24 
25## Tool Enhancement (Optional)
26 
27Topic cluster mapping is significantly better with keyword data that shows search volume, difficulty, and semantic relationships across hundreds of subtopic variations.
28 
29### Agent Prompt to User
30 
31> "I can build a comprehensive topical authority map using competitive analysis and content gap identification. For the most precise results — especially accurate volume data and keyword clustering at scale — I'd recommend connecting a keyword data API."
32>
33> **Recommended: DataForSEO** (pay-per-use, ~$0.01/keyword, no monthly minimum)
34> - Sign up at dataforseo.com → get API login + password
35> - Set `DATAFORSEO_LOGIN` and `DATAFORSEO_PASSWORD` env vars
36>
37> **Alternatives that also work:**
38> - **Keywords Everywhere API** ($1 per 10 credits = 100K keywords, very cheap) → set `KEYWORDS_EVERYWHERE_API_KEY`
39> - **SEMrush API** (if you have a subscription) → set `SEMRUSH_API_KEY`
40> - **Ahrefs API** (if you have a subscription) → set `AHREFS_API_TOKEN`
41>
42> "Want to use one of these, or should I proceed with baseline mode? Baseline uses our existing SEO tools and web research — still produces a strong topic map, but with less granular volume data per subtopic."
43 
44### Mode Selection
45 
46- **Enhanced mode** — Bulk keyword data via DataForSEO / Keywords Everywhere / SEMrush / Ahrefs. Gets search volume, difficulty, and semantic grouping for every subtopic. Enables data-driven prioritization and precise gap identification. Also supports keyword clustering APIs that automatically group related terms.
47- **Baseline mode** — Uses `seo-domain-analyzer` for domain metrics, `web_search` for topic research, `reddit-post-finder` for question mining, competitor analysis via `site-content-catalog`. Topic mapping and cluster architecture are equally strong. Volume estimates are directional rather than exact.
48 
49## Phase 0: Intake
50 
511. **Your site URL** — For existing content audit
522. **Target topics** — 1-5 broad topic areas you want authority in (e.g., "sales automation", "content marketing", "data privacy")
533. **Competitors** — 2-5 competitor URLs who rank well for these topics
544. **ICP** — Who reads your content? (role, pain, goal)
555. **Content capacity** — How many articles can your team produce per month?
566. **Existing content** — Do you have a blog? How many articles? (we'll audit it)
577. **Time horizon** — 3-month plan? 6-month? 12-month?
588. **Tool preference** — Enhanced mode with keyword API, or baseline? (see Tool Enhancement above)
59 
60## Phase 1: Current State Audit
61 
62### 1A: Your Existing Content
63 
64Run `site-content-catalog` on your site:
65 
66```bash
67python3 skills/site-content-catalog/scripts/catalog_content.py \
68 --url "<your_site_url>" \
69 --output json
70```
71 
72Map all existing content:
73- Blog posts by topic
74- Resource pages, guides, glossary
75- Landing pages with content
76- Identify which topics you already have content for
77- Note: thin pages, outdated content, orphan pages (no internal links)
78 
79### 1B: Competitor Content Mapping
80 
81For each competitor, run `site-content-catalog`:
82 
83```bash
84python3 skills/site-content-catalog/scripts/catalog_content.py \
85 --url "<competitor_url>" \
86 --output json
87```
88 
89Map their content architecture:
90- How do they structure topic clusters?
91- Which topics have pillar pages?
92- How deep do their clusters go?
93- Internal linking patterns
94- Content freshness (update dates)
95 
96### 1C: Domain Authority Baseline
97 
98Run `seo-domain-analyzer` for your site and competitors:
99 
100- Your domain authority vs. competitors
101- Keyword overlap analysis
102- Where competitors rank that you don't
103 
104## Phase 2: Topic Universe Expansion
105 
106### 2A: Subtopic Discovery
107 
108For each target topic area, generate the full subtopic universe:
109 
110**Enhanced mode (DataForSEO / Keywords Everywhere):**
111 
112```
113# DataForSEO keyword suggestions
114POST /v3/dataforseo_labs/google/keyword_suggestions/live
115{
116 "keyword": "<topic>",
117 "limit": 500
118}
119 
120# DataForSEO related keywords
121POST /v3/dataforseo_labs/google/related_keywords/live
122{
123 "keyword": "<topic>",
124 "limit": 500
125}
126```
127 
128Extract:
129- All related keywords and questions
130- Search volumes per keyword
131- Keyword difficulty scores
132- Semantic groups (auto-clustered by meaning)
133 
134**Baseline mode:**
135 
136Use multiple sources to build the subtopic list:
137- `web_search` for "topic + [what/how/why/best/vs/guide/examples]"
138- `reddit-post-finder` for questions people ask about the topic
139- Google autocomplete patterns (via web search)
140- Competitor content titles (from Phase 1B)
141- PAA questions from search results
142 
143### 2B: Question Mining
144 
145Run `reddit-post-finder` for each topic area:
146 
147```bash
148python3 skills/reddit-post-finder/scripts/search_reddit.py \
149 --subreddit "<relevant_subs>" \
150 --keywords "<topic>" \
151 --days 365 --sort top --time year
152```
153 
154Extract:
155- Questions people ask (→ individual article topics)
156- Recurring themes (→ cluster pillars)
157- Misconceptions (→ myth-busting content)
158- Comparisons people make (→ vs/ content)
159- Use cases discussed (→ use-case content)
160 
161### 2C: Keyword Clustering
162 
163Group all discovered keywords/subtopics into semantic clusters:
164 
165**Enhanced mode:** Use DataForSEO keyword clustering API or group by SERP overlap (keywords that share 3+ ranking URLs likely belong to the same cluster).
166 
167**Baseline mode:** Manual semantic grouping based on:
168- Shared root concepts
169- User intent alignment (informational / commercial / navigational)
170- Topic hierarchy (broad → specific)
171 
172## Phase 3: Cluster Architecture
173 
174### 3A: Pillar-Cluster Mapping
175 
176For each topic area, design the cluster hierarchy:
177 
178```
179PILLAR: [Broad Topic] — "The Complete Guide to [Topic]"
180
181├── CLUSTER 1: [Subtopic Group A]
182│ ├── Article: [Specific subtopic A1]
183│ ├── Article: [Specific subtopic A2]
184│ └── Article: [Specific subtopic A3]
185
186├── CLUSTER 2: [Subtopic Group B]
187│ ├── Article: [Specific subtopic B1]
188│ ├── Article: [Specific subtopic B2]
189│ └── Article: [Specific subtopic B3]
190
191├── CLUSTER 3: [Subtopic Group C]
192│ ├── Article: [Specific subtopic C1]
193│ └── Article: [Specific subtopic C2]
194
195└── SUPPORTING: [Glossary terms, FAQs, tools]
196 ├── Glossary: [Term 1]
197 ├── Glossary: [Term 2]
198 └── FAQ: [Common questions]
199```
200 
201### 3B: Content Type Assignment
202 
203For each piece in the cluster:
204 
205| Content Type | When to Use | Typical Word Count |
206|-------------|-------------|-------------------|
207| **Pillar page** | Broad topic overview, links to all cluster content | 3,000-5,000+ |
208| **Cluster article** | Deep dive on subtopic | 1,500-3,000 |
209| **Comparison post** | vs/ or alternatives content | 2,000-3,500 |
210| **How-to guide** | Step-by-step instruction | 1,500-2,500 |
211| **Glossary entry** | Definition + context | 500-1,000 |
212| **Tool/Calculator** | Interactive resource | 500 + tool |
213| **Case study** | Proof point | 1,000-2,000 |
214| **Listicle** | Curated collection | 1,500-3,000 |
215 
216### 3C: Internal Linking Architecture
217 
218Design the linking structure:
219 
2201. **Pillar → All cluster articles** (every cluster article gets a link from the pillar)
2212. **Cluster articles → Pillar** (every article links back to the pillar)
2223. **Cluster articles ↔ Related cluster articles** (cross-links within the cluster)
2234. **Cross-cluster links** where topics overlap
2245. **Supporting content → Relevant cluster articles** (glossary terms link to articles that explain them in depth)
225 
226Map specific anchor text for each link.
227 
228## Phase 4: Gap Analysis & Prioritization
229 
230### 4A: Coverage Gap Matrix
231 
232| Subtopic | Your Content | Competitor A | Competitor B | Volume | Difficulty | Gap? |
233|----------|-------------|-------------|-------------|--------|-----------|------|
234| [subtopic 1] | ✗ None | ✓ Pillar page | ✓ Blog post | [vol] | [diff] | ✓ High priority |
235| [subtopic 2] | ✓ Thin post | ✓ Deep guide | ✗ None | [vol] | [diff] | ✓ Update needed |
236| [subtopic 3] | ✓ Strong guide | ✓ Similar | ✓ Similar | [vol] | [diff] | ✗ Covered |
237| [subtopic 4] | ✗ None | ✗ None | ✗ None | [vol] | [diff] | ✓ White space |
238 
239### 4B: Priority Scoring
240 
241Score each content piece to create:
242 
243| Factor | Weight | Description |
244|--------|--------|-------------|
245| **Search volume** | 25% | Monthly search demand |
246| **Competitive gap** | 25% | How much better can you be than what exists? |
247| **Intent alignment** | 20% | Does the searcher match your ICP? |
248| **Cluster completeness** | 15% | Does this fill a critical gap in a cluster? |
249| **Effort** | 15% | How much work to create high-quality content? |
250 
251### 4C: Content Calendar
252 
253Based on content capacity and priority scores:
254 
255**Month 1:** Build [N] pillar foundations
256- [Pillar 1] — [rationale]
257- [3-5 highest-priority cluster articles]
258 
259**Month 2:** Deepen Cluster 1, start Cluster 2
260- [5-8 articles] — [rationale]
261 
262**Month 3:** Complete Cluster 2, begin Cluster 3
263- [5-8 articles] — [rationale]
264 
265**Months 4-6:** Expansion
266- [Continue pattern based on capacity]
267 
268## Phase 5: Output
269 
270```markdown
271# Topical Authority Map — [Site/Client] — [DATE]
272 
273## Executive Summary
274- Topic areas mapped: [N]
275- Total content pieces identified: [N] (pillars: [N], clusters: [N], supporting: [N])
276- Existing content: [N] pages ([N] strong, [N] need updates, [N] gaps)
277- Net new content needed: [N] pages
278- Estimated timeline to full coverage: [N] months at [N] articles/month
279 
280---
281 
282## Topic Map: [Topic Area 1]
283 
284### Cluster Architecture
285[Visual tree structure per Phase 3A]
286 
287### Pillar Page
288- **Target keyword:** [keyword] ([volume]/mo, [difficulty])
289- **Title:** [recommended title]
290- **Content type:** Comprehensive guide
291- **Word count target:** [X]-[Y]
292- **Links to:** [all cluster articles listed]
293- **Status:** [Exists — needs update / New — priority [P0/P1/P2]]
294 
295### Cluster: [Subtopic Group A]
296 
297#### Article: [Subtopic A1]
298- **Target keyword:** [keyword] ([volume]/mo, [difficulty])
299- **Content type:** [how-to / comparison / listicle / etc.]
300- **Word count target:** [X]-[Y]
301- **Links to:** Pillar + [related articles]
302- **Links from:** Pillar + [related articles]
303- **Priority:** [P0/P1/P2]
304- **Anchor text:** "[anchor]" from pillar, "[anchor]" from [related article]
305 
306#### Article: [Subtopic A2]
307...
308 
309### Cluster: [Subtopic Group B]
310...
311 
312---
313 
314## Topic Map: [Topic Area 2]
315...
316 
317---
318 
319## Internal Linking Matrix
320 
321| From ↓ / To → | Pillar | Article A1 | Article A2 | Article B1 | ... |
322|----------------|--------|-----------|-----------|-----------|-----|
323| **Pillar** | — | ✓ "[anchor]" | ✓ "[anchor]" | ✓ "[anchor]" | |
324| **Article A1** | ✓ "[anchor]" | — | ✓ "[anchor]" | | |
325| **Article A2** | ✓ "[anchor]" | ✓ "[anchor]" | — | | |
326| **Article B1** | ✓ "[anchor]" | | | — | |
327 
328---
329 
330## Content Calendar
331 
332### Month 1: Foundation
333| Week | Content Piece | Type | Cluster | Keywords | Priority |
334|------|--------------|------|---------|----------|----------|
335| W1 | [Pillar: Topic 1] | Pillar page | — | [kw] ([vol]) | P0 |
336| W1 | [Article A1] | Cluster article | A | [kw] ([vol]) | P0 |
337| W2 | [Article A2] | Cluster article | A | [kw] ([vol]) | P0 |
338| W2 | [Article B1] | Cluster article | B | [kw] ([vol]) | P0 |
339 
340### Month 2: Depth
341...
342 
343### Month 3: Expansion
344...
345 
346---
347 
348## Coverage Gap Report
349 
350### High Priority (Competitors rank, you don't)
351| Topic | Competitor Coverage | Your Status | Volume | Recommended Action |
352|-------|-------------------|-------------|--------|--------------------|
353| [topic] | A: Pillar, B: Blog post | None | [vol] | Create [content type] |
354 
355### Medium Priority (Weak coverage)
356| Topic | Your Current Page | Issue | Volume | Recommended Action |
357|-------|------------------|-------|--------|--------------------|
358| [topic] | [URL] | Thin (400 words) | [vol] | Expand to [X] words, add [sections] |
359 
360### Existing Content Updates Needed
361| URL | Issue | Action Required | Effort |
362|-----|-------|----------------|--------|
363| [url] | Outdated (2023 data) | Update stats, refresh examples | 2 hours |
364| [url] | No internal links | Add [N] links to cluster articles | 30 min |
365| [url] | Missing from pillar | Add link from pillar with "[anchor]" | 15 min |
366 
367---
368 
369## Metrics to Track
370- **Topical coverage %** — Articles created vs. total identified
371- **Internal link density** — Avg links per article within cluster
372- **Cluster ranking velocity** — Time from publish to page 1 per cluster
373- **Pillar page rankings** — Position for head terms
374- **Organic traffic by cluster** — Traffic attributed to each topic cluster
375```
376 
377Save to the current working directory or wherever the user prefers.
378 
379For large topic maps (3+ topic areas), also export a summary CSV:
380`content-calendar-[YYYY-MM-DD].csv`
381 
382## Cost
383 
384| Component | Cost |
385|-----------|------|
386| Site catalog (your site, once) | ~$0.05-0.10 |
387| Site catalog per competitor | ~$0.05-0.10 |
388| SEO domain analyzer | ~$0.10-0.20 |
389| Reddit scraper (per topic area) | ~$0.05-0.10 |
390| DataForSEO keyword data (enhanced) | ~$0.50-3.00 (depending on keyword count) |
391| Keywords Everywhere (enhanced alt) | ~$0.01-0.10 |
392| Page fetches (competitor content analysis) | ~$0.01-0.05 |
393| Analysis | Free (LLM reasoning) |
394| **Total per topic area (baseline)** | **~$0.25-0.50** |
395| **Total per topic area (enhanced)** | **~$0.75-3.50** |
396| **3 topic areas (baseline)** | **~$0.75-1.50** |
397| **3 topic areas (enhanced)** | **~$2.25-10.50** |
398 
399## Tools Required
400 
401- **Apify API token**`APIFY_API_TOKEN` env var
402- **Upstream skills:** `site-content-catalog`, `seo-domain-analyzer`, `reddit-post-finder`, `fetch_webpage`
403- **Optional (enhanced):** DataForSEO (`DATAFORSEO_LOGIN` + `DATAFORSEO_PASSWORD`), Keywords Everywhere (`KEYWORDS_EVERYWHERE_API_KEY`), SEMrush (`SEMRUSH_API_KEY`), or Ahrefs (`AHREFS_API_TOKEN`)
404 
405## Scheduling
406 
407For ongoing topical authority tracking:
408- Run quarterly to reassess coverage gaps
409- Monthly: check for new subtopics emerging in the space
410- After each content batch: update the map with published URLs and internal links
411 
412## Trigger Phrases
413 
414- "Map our topical authority for [topic]"
415- "Build a topic cluster strategy"
416- "What content gaps do we have?"
417- "Create a content calendar for SEO"
418- "How do we build authority in [topic area]?"
419- "Plan our content architecture"
420 

Discussion

Alternatives

Also in SEO & keywords