Scholar HeistScholar Heist
← All skills
SEOv1.0.0 · 2026-08-07

Topical Authority Check

Runs before a single word is written. Search rewards topical authority — a site that covers one subject completely — so a topic that does not strengthen an existing pillar *dilutes the site*.

Download skill

What it does

  • Pull the evidence
  • Score the topical fit
  • Return one of three verdicts
  • Handle the data-source realities
SKILL.md
---
name: topical-authority-check
description: The gatekeeper that runs before a word is written — score a proposed topic against your existing pillars and keyword data, and return proceed, refine, or skip. Use when asked whether to write about a topic, validate a blog topic, check topical fit, decide if a post strengthens or dilutes the site, stop writing posts that never rank, or someone says 'should we cover this'. For planning the whole site's structure, see site-architecture. For the research data itself, see keyword-research.
metadata:
  version: 1.0.0
---

# Topical authority check

Runs **before a single word is written**. Search rewards topical authority — a
site that covers one subject completely — so a topic that does not strengthen an
existing pillar *dilutes the site*.

**Saying no is the highest-value thing this agent does.** Every skipped bad
topic saves the full writing, publishing, and ranking-nowhere cost downstream.

## Before you start

| Input | Why |
| --- | --- |
| The proposed topic | The thing on trial |
| Your existing pillars and the site's one subject | Fit is judged against these, not in the abstract |
| Keyword data access — Semrush, or the free stack | Volume, difficulty, and who ranks are the evidence |
| Your current rankings for related terms | The cannibalisation check needs them |

## Step 1 — Pull the evidence

For the topic and its close variants:

1. **Volume and difficulty** — from Semrush, or the free stack (Keyword Planner
   for volume, Search Console for what you already half-rank for).
2. **Who currently ranks in the top 5** — you are asking whether you can join
   them.
3. **Your own existing rankings** — will this post *cannibalise* an old one that
   already ranks for the term?

## Step 2 — Score the topical fit

| Question | Signal |
| --- | --- |
| Does it strengthen an existing pillar? | Fits under one pillar as a cluster post → strong |
| Does it fit the site's one subject? | Off-subject → dilution, however good the volume |
| Does an existing post already target it? | Yes → this is a refresh or a merge, not a new post |
| Can this site realistically join the top 5? | All top spots are giants and you are new → refine the angle |

## Step 3 — Return one of three verdicts

| Verdict | Meaning | What follows |
| --- | --- | --- |
| **PROCEED** | Strengthens a pillar, no cannibalisation, winnable | Straight to the pipeline (blog-content-writer) |
| **REFINE** | Right subject, wrong shape — too broad, too hard, or duplicative | The suggested version that does fit, stated concretely |
| **SKIP** | Dilutes the site or duplicates a ranking post | Said plainly, with the reason — never softened to "maybe later" |

On REFINE, always give the alternative: *"If the topic dilutes your clusters,
give the version of this topic that does not."*

## Step 4 — Handle the data-source realities

- **Semrush quota exhausted mid-check**: do not let the agent retry blindly — it
  will burn the rest of the quota on the same failing call. Detect, log, fall
  back to the free stack, and say so.
- **No paid tools at all**: the free stack runs the entire check — Search
  Console + Keyword Planner + AlsoAsked + Trends. *"Swap the data source, keep
  the system."* You lose competitor depth, not correctness.

## Output

```
# Topical check: "<topic>"

Verdict: PROCEED / REFINE / SKIP

Evidence:
  Volume: <n or range> (<source>)   Difficulty: <n or unknown>
  Top 5 now: <who — pattern, not full list>
  Pillar fit: <which pillar it strengthens, or NONE>
  Cannibalisation: <none / conflicts with <url>, ranked #<n>>

If REFINE → the version that fits: "<concrete alternative topic>"
If SKIP   → reason in one line
Data source: <semrush / free stack — and any quota fallback used>
```

## When it breaks

| What you see | What it means | The fix |
| --- | --- | --- |
| Every check returns PROCEED | The gate is rubber-stamping | A gate that never says no is not a gate; re-score against the pillar list honestly |
| Posts rank but traffic means nothing | Volume worshipped over fit | Fit first: strengthens-a-pillar outranks big-number topics |
| New post outranked your old post | Cannibalisation check skipped | Check your own rankings before every new topic |
| Quota burned by lunch | Blind retries on a failing call | Detect the quota response, fall back, report |
| Check blocks everything | Site's subject defined too narrowly | Revisit the subject definition in site-architecture |
| Verdicts flip-flop between runs | Judgement without recorded evidence | The output's evidence block is mandatory, not decoration |
| "But the client wants this topic" | Authority argument vs preference | Show the dilution cost; write it as REFINE with the fitting version |

Never skip the check because the topic "obviously" fits. The obvious topics are
where cannibalisation hides — the site already covered the obvious ones.

## Rules

- **The check runs before writing, every time**, because its entire value is the
  downstream cost it prevents.
- **Saying no is the job**, because a topic that dilutes the site costs more
  than the post it would have produced.
- **Cannibalisation is checked against your own rankings**, because outranking
  yourself is a loss dressed as a win.
- **Quota failures fall back, never retry blindly**, because the retry burns the
  budget on the same failing call.
- **REFINE always ships an alternative**, because "no" without "here's what
  would work" just moves the argument to next week.

## Related skills

- **keyword-research** — the data layer this check reads.
- **site-architecture** — the pillar map fit is judged against.
- **blog-content-writer** — where PROCEED topics go next.
- **content-refresher** — where duplicate-topic verdicts route instead.

Reviews

Sign in to leave a review.