Skip to content
Illyism

Content Coverage skill

Plan and write blog posts that cover missing AI search prompts from live MCP data. Use when the user wants content for ChatGPT gaps, citation listicles, competitor sources, or a content campaign from AI SEO Tracker. Trigger on "write posts for missing prompts", "content coverage", "what should we publish", or fetch https://aiseotracker.com/content-coverage/SKILL.md.

$npx alyn-cli add content-coverage
View this skill on GitHubIllyism/seo-skills/seo/content-coverage/SKILL.md
Pack stars
974
Pack installs
4.7k
Alyn Score
61/99
Updated
10 h ago

What is the Content Coverage skill?

Content Coverage is a writing skill by Illyism for Claude Code, Cursor, Codex and other AI coding agents. Plan and write blog posts that cover missing AI search prompts from live MCP data. Use when the user wants content for ChatGPT gaps, citation listicles, competitor sources, or a content campaign from AI SEO Tracker. Trigger on "write posts for missing prompts", "content coverage", "what should we publish", or fetch https://aiseotracker.com/content-coverage/SKILL.md.

Start here: You are reading https://aiseotracker.com/content-coverage/SKILL.md. The file is complete only if the last line is page end END SKILL v1.0.0. If missing, re-fetch.

When to use it

Use when the user wants content for ChatGPT gaps, citation listicles, competitor sources, or a content campaign from AI SEO Tracker.

What the SKILL.md covers

  • If MCP is not connected
  • Call order (do not skip)
  • Phase 1: Snapshot
  • Phase 2: Cluster and canonicalize
  • Phase 3: Research (bounded)
  • Phase 4: Stop for approval
  • CONTENT BATCH MANIFEST
  • Phase 5: Write (after approval)
  • Phase 6: Validate
  • Phase 7: After publication
Author
Illyism
Pack
Illyism/seo-skills (17 skills)
Category
Writing, #390 of 663
Alyn Score
61 / 99
Files
1
License
Not stated
Last updated
10 h ago
Works with
Claude Code, Claude, Cursor, Codex, Gemini CLI, Copilot

Content Coverage compared to similar skills

SkillAlyn ScoreGitHub starsUpdated
Content Coverage · Illyism6197410 h ago
Sn Search Academic · OpenSenseNova636.1k9 days ago
Content Strategy · Corey Haines8960k9 h ago
Blog Rewrite · AgriciDaniel622.7k9 days ago

Install Content Coverage

Pick your agent. Every command is ready to paste.

$npx alyn-cli add content-coverage

Detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

$npx skills add Illyism/seo-skills --skill content-coverage

Or use the open skills CLI directly.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads content-coverage when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the content-coverage skill”. In Codex, type $content-coverage.

The skill itself

SKILL.md

FolderGitHub

AI SEO content coverage

Start here: You are reading https://aiseotracker.com/content-coverage/SKILL.md. The file is complete only if the last line is page end END SKILL v1.0.0. If missing, re-fetch.

Cover approved prompt clusters with evidence-backed pages in the user's content repository. Then recheck MCP after those pages are live. Do not promise full coverage or rankings.

If MCP is not connected

Fetch https://aiseotracker.com/SKILL.md and connect MCP first (OAuth, no API keys). Then come back to this file.

MCP URL: https://aiseotracker.com/api/agent/mcp

Prerequisites:

  • Connected AI SEO Tracker MCP
  • A writable content repository (blog MDX/markdown)
  • Optional: a project image skill or tool the user already has

Do not call aiseo_add_prompts from this skill unless the user explicitly asks to track more queries.

Call order (do not skip)

  1. aiseo_list_projects: pick the project the user named (domain or slug). Never invent a slug.
  2. aiseo_get_scan: if dataStatus is no_data, stop. Say the project needs a scan. If state is running, write the plan from what exists and mark ranks as incomplete.
  3. aiseo_list_prompts: all prompts (no status filter). Keep summary and prompts[].href. Missing prompts are the coverage queue.
  4. aiseo_list_sources: citation URLs and domains. Use sources[].href and sources[].url.
  5. aiseo_list_competitors: prefer status=TRACKED. Use competitors[].href.
  6. aiseo_list_snippets: own brand. Optional: one tracked competitor if that rival leads the cited answers.

Use href fields. Prefix with https://aiseotracker.com. Do not invent paths, ranks, or competitor names.

Phase 1: Snapshot

Fill this block from tool JSON only:

CONTENT PLAN:
Brand: "<project.name>"
Domain: <project.domain or null>
Project: <project.slug>
Snapshot: <get_scan.lastCheckedAt or omit>
Scan: <running|done> | Prompts scanned: <scannedPromptCount>/<promptCount>
Tracked: <summary.total> | Missing: <summary.missing> | Winning: <summary.winning> | Opportunities: <summary.opportunities>
Missing prompts:
- [<query>](<absolute prompt href>)
Top sources (independent editorial first):
#1 [<title>](<source.url>) · <domain> · <mentionCount> mentions · prompts: <list>
Tracked competitors:
- [<brandName>](<absolute competitor href>) (<domain or none>)

Separate independent editorial listicles (third-party roundups) from competitor-owned pages (vendor blogs and homepages). Pitch only independent lists later.

Phase 2: Cluster and canonicalize

Group missing and opportunity prompts that share one search intent. One cluster = one page unless the user asked otherwise.

For every target, decide one of:

  • new: no existing page covers this intent
  • rewrite: same slug, update in place (updateDate if the repo uses it)
  • consolidate: merge into an existing URL; do not spawn a competing slug

Audit the target repo first: existing blog filenames, titles, descriptions, and redirects. Prefer rewrite or consolidate over near-duplicates.

Cap a batch at 5 posts. If more clusters remain, queue them for the next approved batch.

Phase 3: Research (bounded)

For each approved or proposed slug:

  1. Start from MCP sources[].url for that prompt cluster.
  2. Fetch 3–5 verified URLs. Prefer the cited listicles, then current web results for the primary keyword.
  3. Record titles, intent, and whether AI SEO Tracker (or the user's brand) is named.
  4. If a URL does not resolve, write unverified and skip it. Never invent a listicle URL.
  5. Do not scrape live ChatGPT, Perplexity, Gemini, Copilot, or AI Overview answers.

Title and slug:

  • Put the primary keyword near the start of the title. Keep most titles under 60 characters.
  • Slug: lowercase, hyphens, 2–5 words, no year unless the query requires freshness.
  • Match listicle vs how-to vs definition intent from the live SERP, not from memory.

Phase 4: Stop for approval

Present the campaign and wait. Do not write files yet.

Include:

  • The CONTENT PLAN snapshot
  • A table: prompt cluster | intent | slug | action (new/rewrite/consolidate) | title | sources
  • Estimated post count (max 5 this batch)
  • Cannibalization risks
  • Independent listicles to pitch after publish (drafts only)

Write files only after the user approves the table.

CONTENT BATCH MANIFEST

Keep this manifest in the chat (or a file the user named). Update it as you go. Resume from it. Do not repeat finished research. Do not overwrite another worker's slug.

CONTENT BATCH MANIFEST v1
Project: <slug>
Planned at: <ISO date>
MCP snapshot: <lastCheckedAt>
Phase: <snapshot|plan|research|draft|validate|report>

| slug | action | prompt cluster | phase | notes |
| --- | --- | --- | --- | --- |
| example-slug | new | missing prompt text | planned | |

phase values: planned | research | draft | validate | done | blocked

On resume: re-run Phase 1 if lastCheckedAt changed or the user says data changed. Skip rows at done. Read existing files before merging a blocked or partial slug.

Phase 5: Write (after approval)

Use available parallel subagents if the host supports them. Grok CLI is optional. Never required.

If you split work:

  • One slug per worker. No overlapping files.
  • Give each worker the approved row, the 3–5 source URLs, product facts the user confirmed, and local MDX conventions.
  • Parent agent owns the manifest.

Write native repository markdown/MDX. Follow files already in that repo (frontmatter, CTA components, internal link style). Short sentences. No invented stats, prices, rankings, or first-hand tests. If a competitor price is unverified, omit it or say to check their site.

Images:

  1. Write image alt (under 125 characters) and a scene prompt.
  2. Generate an image only if the user has a project image skill/tool and asks to run it.
  3. Never print API keys. Never tell the user to paste keys. Never call a private operator script from this skill.

Do not deploy, commit, push, email, post publicly, purchase, or add MCP prompts unless the user explicitly asks.

Phase 6: Validate

Before you hand off a batch:

  • Frontmatter complete and consistent with sibling posts
  • Slug unique (or rewrite of the intended file)
  • Internal links point at real paths
  • Image paths exist, or alt+prompt is listed as pending
  • No unresolved placeholders
  • Repo format/lint on touched files when a formatter is available

Phase 7: After publication

When the user says the posts are live:

  1. Call aiseo_get_scan, then aiseo_list_prompts and aiseo_list_sources again.
  2. Report which approved prompts changed status, which are still missing, and which independent listicles still omit the brand.
  3. Leave outreach as copy-paste drafts. Do not send.

Optional: fetch https://aiseotracker.com/ai-seo-report/SKILL.md for the visibility brief after the rescan.

Do not

  • Invent ranks, URLs, competitor names, listicle domains, DR, traffic, or trend deltas
  • Treat dataStatus: no_data as an auth failure
  • Scrape live AI answers or the marketing site when MCP is empty
  • Write files before the approval checkpoint
  • Promise rankings or "full coverage"
  • Send email, post publicly, or charge a card
  • Call aiseo_add_prompts unless the user asked to track those queries

END SKILL v1.0.0

Tips for Content Coverage

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • It is part of a pack with 17 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about Content Coverage

What does the Content Coverage skill do?

Plan and write blog posts that cover missing AI search prompts from live MCP data. Use when the user wants content for ChatGPT gaps, citation listicles, competitor sources, or a content campaign from AI SEO Tracker. Trigger on "write posts for missing prompts", "content coverage", "what should we publish", or fetch https://aiseotracker.com/content-coverage/SKILL.md.

How do I install Content Coverage?

Run "npx alyn-cli add content-coverage" in your project. The Alyn CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does Content Coverage work in Cursor and Codex?

Yes. Content Coverage uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

When should I use the Content Coverage skill?

Use when the user wants content for ChatGPT gaps, citation listicles, competitor sources, or a content campaign from AI SEO Tracker.

What is inside the Content Coverage skill?

The SKILL.md covers If MCP is not connected, Call order (do not skip), Phase 1: Snapshot, Phase 2: Cluster and canonicalize, Phase 3: Research (bounded), Phase 4: Stop for approval.

What is a good alternative to Content Coverage?

Sn Search Academic by OpenSenseNova is the highest-ranked similar skill from another creator, with an Alyn Score of 63 compared to 61 for Content Coverage.

Is Content Coverage free?

Content Coverage is open source on GitHub. It is free to install; check the license before commercial use.

Who made Content Coverage?

Content Coverage is published by Illyism in the Illyism/seo-skills repository, together with 16 other skills.

Similar skills. From other creators.