Agent skill

Content Gap Analysis

by OpenClaudia in OpenClaudia/openclaudia-skills

Identify content gaps between your site and competitors. An agent skill from OpenClaudia/openclaudia-skills.

MITAuto-check passedWriting & Content

Install Content Gap Analysis

skills CLI
$ npx skills add OpenClaudia/openclaudia-skills --skill content-gap-analysis -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OpenClaudia/openclaudia-skills content-gap-analysis --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OpenClaudia/openclaudia-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/content-gap-analysis .claude/skills/content-gap-analysis && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
content-gap-analysis
GitHub stars
711
Token cost
~1.9k tokens
SKILL.md length
503 words
Files
1
Skills in repo
74
Repo updated
First seen
Licence
MIT

At a glance

Identify content gaps between your site and competitors. An agent skill from OpenClaudia/openclaudia-skills.

  • Works in 8 steps: Audit Existing Content → Competitor Content Audit → Keyword Gap Analysis → …
  • The user says content gaps
  • SKILL.md covers Analysis Process, Output Format and Important Notes
  • Calls curl; reaches api.semrush.com; needs SEMRUSH_API_KEY

What it does

Content Gap Analysis is an agent skill from OpenClaudia/openclaudia-skills. Identify content gaps between your site and competitors. Use when the user says "content gaps", "what am I missing", "competitor content", "content opportunities", "topics I should cover", "content gap analysis", or asks about finding topics and keywords their site doesn't cover but competitors do.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Writing & Content. The repository describes itself as: 77 open-source marketing skills for Claude Code, Codex, and other AI coding agents. SEO, content, email, ads, analytics, and growth. The licence is MIT.

When your agent uses it

  • The user says content gaps
  • What am I missing
  • Competitor content
  • Content opportunities

Example prompts

  • “content gaps”
  • “what am I missing”
  • “competitor content”
  • “/content-gap-analysis”

Requirements

  • A credential in SEMRUSH_API_KEY

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Audit Existing Content
  2. Competitor Content Audit
  3. Keyword Gap Analysis
  4. Topic Cluster Gap Analysis
  5. Content Format Gap Analysis
  6. Audience Journey Gap Analysis
  7. AI/GEO Gap Analysis
  8. Prioritize Opportunities

What it can do on your machine

Read from SKILL.md and the folder at commit 28bf209. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.semrush.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SEMRUSH_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Content Gap Analysis loads about 1.9k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 503 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from OpenClaudia/openclaudia-skills at commit 28bf209, republished under its MIT licence (© OpenClaudia). 503 words, ~1,891 tokens.

Download SKILL.mdSave it as .claude/skills/content-gap-analysis/SKILL.md (or your agent's skills folder).
name
content-gap-analysis
description
Identify content gaps between your site and competitors. Use when the user says "content gaps", "what am I missing", "competitor content", "content opportunities", "topics I should cover", "content gap analysis", or asks about finding topics and keywords their site doesn't cover but competitors do.

Content Gap Analysis Skill

You are a content strategy analyst. Identify content gaps by comparing a site's content coverage against competitors, search demand, and audience journey needs.

Analysis Process

Step 1: Audit Existing Content

Inventory the user's current content:

  1. Crawl the sitemap — Fetch {domain}/sitemap.xml to list all published pages
  2. Categorize pages by type: blog posts, landing pages, product pages, docs, case studies
  3. Map topics covered — What keywords/topics does each page target?

If the user has a codebase, check:

  • Blog post files/directories
  • MDX/markdown content files
  • CMS entries or database content
Step 2: Competitor Content Audit

For 2-3 competitors, gather their content:

  1. Fetch competitor sitemaps — {competitor}/sitemap.xml
  2. List their blog/resource pages
  3. Categorize their content by topic cluster

If SemRush API is available:

bash
# Get competitor's top organic keywords
curl -s "https://api.semrush.com/?type=domain_organic&key=${SEMRUSH_API_KEY}&domain={competitor}&database=us&export_columns=Ph,Po,Nq,Cp,Co,Tr,Tc&display_limit=100"
Step 3: Keyword Gap Analysis

Compare keywords your site ranks for vs. competitors:

bash
# Your site's keywords
curl -s "https://api.semrush.com/?type=domain_organic&key=${SEMRUSH_API_KEY}&domain={your_domain}&database=us&export_columns=Ph,Po,Nq,Cp,Tr&display_limit=200"

# Competitor's keywords
curl -s "https://api.semrush.com/?type=domain_organic&key=${SEMRUSH_API_KEY}&domain={competitor}&database=us&export_columns=Ph,Po,Nq,Cp,Tr&display_limit=200"

Gap = Keywords competitors rank for that you don't.

Filter gaps by:

  • Search volume > 100/month
  • Keyword difficulty < 60 (achievable)
  • Relevant to your business
  • Not branded competitor terms
Step 4: Topic Cluster Gap Analysis

Compare topic coverage at the cluster level:

Your topic clusters:        Competitor topic clusters:
├── Cluster A: 8 articles   ├── Cluster A: 12 articles  ← Coverage gap
├── Cluster B: 5 articles   ├── Cluster B: 5 articles   ← Parity
├── Cluster C: 3 articles   ├── Cluster C: 7 articles   ← Coverage gap
│                            ├── Cluster D: 6 articles   ← Missing cluster
│                            ├── Cluster E: 4 articles   ← Missing cluster
Step 5: Content Format Gap Analysis

Check what content formats competitors use that you don't:

FormatYouCompetitor ACompetitor BGap?
Blog posts✓✓✓No
Case studies✗✓✓Yes
Comparison pages✗✓✗Partial
Templates/tools✗✓✓Yes
Video content✗✗✓Partial
Glossary/wiki✗✓✗Partial
Webinars/events✗✓✓Yes
Podcasts✗✗✓Partial
Step 6: Audience Journey Gap Analysis

Map content to the buyer journey:

Journey StageQuestionsYour ContentGap?
Awareness"What is {topic}?"{exists/missing}{Yes/No}
Consideration"Best {solution} for {use case}"{exists/missing}{Yes/No}
Decision"{You} vs {competitor}"{exists/missing}{Yes/No}
Onboarding"How to set up {product}"{exists/missing}{Yes/No}
Expansion"Advanced {feature} tips"{exists/missing}{Yes/No}
Advocacy"How {customer} achieved {result}"{exists/missing}{Yes/No}
Show full SKILL.md (225 more words)Show less
Step 7: AI/GEO Gap Analysis

Check if your content appears in AI-generated answers:

  1. Search your core keywords on Google (check AI Overviews)
  2. Check if your site is cited in AI-generated responses
  3. Note which competitors ARE cited
  4. Identify what those cited pages have that yours don't:
    • Structured data
    • Clear, concise definitions
    • Tables and comparison charts
    • FAQ sections
    • Authoritative citations
Step 8: Prioritize Opportunities

Score each gap:

FactorWeightScore 1-10
Search volume potential30%How much traffic could this drive?
Business alignment25%How relevant to our product/service?
Competition difficulty20%How hard to rank? (inverse: easy = high score)
Content effort15%How much work to create? (inverse: easy = high score)
Strategic value10%Does this fill a journey gap or unlock a cluster?

Priority Score = Weighted average

Output Format

markdown
# Content Gap Analysis: {Domain}
**Date:** {date}
**Competitors Analyzed:** {list}
**Total Gaps Found:** {count}

## Executive Summary

{2-3 sentences on the biggest opportunity areas}

## Keyword Gaps (Competitor Keywords You're Missing)

### High Priority (Volume > 1,000, KD < 40)

| Keyword | Volume | KD | Competitor | Their Position | Content Type Needed |
|---------|--------|-----|-----------|----------------|-------------------|
| {keyword} | {vol} | {kd} | {competitor} | #{pos} | {type} |

### Medium Priority (Volume 200-1,000, KD < 50)

{Same table format}

## Topic Cluster Gaps

### Missing Clusters (Competitors have, you don't)

| Cluster Topic | Competitor Coverage | Est. Total Volume | Recommended Pages |
|---------------|-------------------|-------------------|-------------------|
| {topic} | {competitor}: {X} articles | {volume} | {count} |

### Under-Covered Clusters (You have some, competitors have more)

| Cluster Topic | Your Pages | Competitor Pages | Missing Subtopics |
|---------------|-----------|-----------------|-------------------|
| {topic} | {count} | {count} | {list} |

## Content Format Gaps

| Missing Format | Competitors Using It | Recommended Action | Priority |
|---------------|---------------------|-------------------|----------|
| {format} | {who} | {action} | {H/M/L} |

## Buyer Journey Gaps

| Stage | Gap | Recommended Content | Target Keyword |
|-------|-----|-------------------|----------------|
| {stage} | {what's missing} | {content to create} | {keyword} |

## AI/GEO Gaps

| Keyword | AI Overview? | You Cited? | Fix |
|---------|-------------|-----------|-----|
| {keyword} | Yes | No | {action} |

## Prioritized Content Plan

| # | Content Piece | Type | Target Keyword | Volume | Priority Score | Gap Type |
|---|--------------|------|----------------|--------|---------------|----------|
| 1 | {title} | {blog/page/tool} | {keyword} | {vol} | {score}/10 | {keyword/topic/format/journey} |

## Quick Wins (Low Effort, High Impact)

1. **{Action}** — {Why this is a quick win}
2. **{Action}** — {Why}
3. **{Action}** — {Why}

Important Notes

  • Content gaps are opportunities, not obligations. Prioritize based on business impact, not just search volume.
  • Some gaps are intentional — competitors may cover topics outside your positioning. Don't chase irrelevant keywords just because a competitor ranks for them.
  • Check if existing content can be expanded to fill gaps before creating new pages. Updating an existing page is often more effective than creating a new one.
  • Seasonal keywords may show as gaps during off-seasons. Check trends before acting.
  • Focus on gaps where you can create genuinely better content, not just more content.

© OpenClaudia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/content-gap-analysis of OpenClaudia/openclaudia-skills.

Open the folder on GitHubat commit 28bf209

Compare with similar skills

Content Gap Analysis next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Content Gap Analysis compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Content Gap Analysis this skillOpenClaudia/openclaudia-skills711—~1.9kAutomated safety check: PassMIT
Socialcoreyhaines31/marketingskills54k4 repos~4.5kAutomated safety check: PassMIT
Benchmark Account ImporterXBuilderLAB/cheat-on-content7.2k1 repos~2.3kAutomated safety check: NotesMIT
WeChat Hot Article AnalysisSpaceZephyr/creator-buddy1.6k—~847Automated safety check: PassNone
Brand Voice Content Creatordavila7/claude-code-templates32k3 repos~1.9kAutomated safety check: PassMIT
WeChat Account Topic and Title WriterBigPengSays/bigpeng-hot-gzh265—~501Automated safety check: PassMIT

Similar skills

  • Social

    coreyhaines31/marketingskills

    When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.

    54k GitHub starsUsed in 4 repos~4.5k tokens
    Writing & ContentAuto-check passed
  • Benchmark Account Importer

    XBuilderLAB/cheat-on-content

    Imports scripts and engagement numbers from an account you want to emulate, then extracts content patterns and starting scoring signals from them.

    7.2k GitHub starsUsed in 1 repo~2.3k tokens
    Writing & ContentAuto-check: notes
  • WeChat Hot Article Analysis

    SpaceZephyr/creator-buddy

    Fetches hot WeChat Official Account articles by sector or keywords and produces a data file and an HTML report with rankings, style patterns and writing references.

    1.6k GitHub stars~847 tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Brand Voice Content Creator

    davila7/claude-code-templates

    Analyzes a brand's existing writing to lock in a consistent voice, then builds SEO blog posts and platform-specific social content around it.

    32k GitHub starsUsed in 3 repos~1.9k tokens
    Writing & ContentAuto-check passed
  • WeChat Account Topic and Title Writer

    BigPengSays/bigpeng-hot-gzh

    Produces topic directions and candidate headlines for WeChat official account articles using seven title formulas, without writing the article itself.

    265 GitHub stars~501 tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • Wb Xhs Schedule Review

    wenziai/wenzi-xhs-agent-skills

    A skill your agent uses when the user wants a Xiaohongshu posting calendar, weekly review board, first-10-post launch plan, 10-20-post positioning test, or data-based next-step plan.

    159 GitHub starsUsed in 1 repo~816 tokens
    Writing & ContentAuto-check passed

More from OpenClaudia/openclaudia-skills

All 74 skills in this repo
  • Competitor Traffic Report

    OpenClaudia/openclaudia-skills

    Build an interactive competitive-traffic report for any company and its rivals — monthly visits (SimilarWeb), organic search traffic and Domain Rating (Ahrefs) — as one self-contained HTML page with…

    711 GitHub stars~1.2k tokensUpdated 20 days ago
    Auto-check passed
  • Geo Difficulty

    OpenClaudia/openclaudia-skills

    Score how hard a keyword is to rank for in the AI-search era — page-level URL Rating of real competitors (not just domain DR), Ahrefs keyword difficulty, and whether a given site already ranks or is…

    711 GitHub stars~694 tokensUpdated 20 days ago
    Auto-check passed
  • Gsc Portfolio Audit

    OpenClaudia/openclaudia-skills

    Audit EVERY Google Search Console property at once — rank all sites by clicks and impressions with period-over-period deltas, then diff keywords per site to surface what is newly ranking, rising…

    711 GitHub stars~1k tokensUpdated 20 days ago
    Auto-check passed
  • Similarweb Traffic

    OpenClaudia/openclaudia-skills

    Fetch website traffic estimates (monthly visits, traffic sources, top countries, keywords, engagement, ranks) for any domain from SimilarWeb.

    711 GitHub stars~882 tokensUpdated 20 days ago
    Auto-check passed
  • Ahrefs Python

    OpenClaudia/openclaudia-skills

    Manages Ahrefs API usage in Python using ahrefs-python library.

    711 GitHub stars~1.9k tokensUpdated 20 days ago
    Auto-check passed
  • Ab Test Setup

    OpenClaudia/openclaudia-skills

    Design, plan, and analyze A/B tests with statistical rigor. An agent skill from OpenClaudia/openclaudia-skills.

    711 GitHub stars~1.7k tokensUpdated 20 days ago
    Auto-check passed

Questions about Content Gap Analysis

What does Content Gap Analysis do?

Identify content gaps between your site and competitors. An agent skill from OpenClaudia/openclaudia-skills. Content Gap Analysis is an agent skill from OpenClaudia/openclaudia-skills. Identify content gaps between your site and competitors.

When should I use Content Gap Analysis?

Content Gap Analysis fits situations like: the user says content gaps; what am I missing; competitor content; content opportunities.

How do I install Content Gap Analysis in Claude Code?

Run `npx skills add OpenClaudia/openclaudia-skills --skill content-gap-analysis -a claude-code`. Or copy the skill folder (skills/content-gap-analysis in OpenClaudia/openclaudia-skills) into .claude/skills/content-gap-analysis in your project. Claude Code loads it when a task matches its description.

How do I install Content Gap Analysis in Codex?

Run `npx skills add OpenClaudia/openclaudia-skills --skill content-gap-analysis -a codex`. Or copy the skill folder (skills/content-gap-analysis in OpenClaudia/openclaudia-skills) into .agents/skills/content-gap-analysis in your project. Codex loads it when a task matches its description.

Can I use Content Gap Analysis in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OpenClaudia/openclaudia-skills --skill content-gap-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/content-gap-analysis, .gemini/skills/content-gap-analysis, .github/skills/content-gap-analysis and .opencode/skills/content-gap-analysis in your project.

What does Content Gap Analysis need to run?

Going by SKILL.md and its folder, Content Gap Analysis needs the command-line tools its instructions call (curl) and credentials named SEMRUSH_API_KEY. Our summary lists: A credential in SEMRUSH_API_KEY.

Does Content Gap Analysis access the network?

SKILL.md names 1 domain. In commands or code: api.semrush.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Content Gap Analysis safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Content Gap Analysis use?

Content Gap Analysis is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Content Gap Analysis use?

About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Content Gap Analysis?

Skills that share tags, products or a category with Content Gap Analysis: Social (coreyhaines31/marketingskills, 54k stars), Benchmark Account Importer (XBuilderLAB/cheat-on-content, 7.2k stars), WeChat Hot Article Analysis (SpaceZephyr/creator-buddy, 1.6k stars) and Brand Voice Content Creator (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Content Gap Analysis?

OpenClaudia (a GitHub organization) maintains it in OpenClaudia/openclaudia-skills, which has 711 GitHub stars. The repository holds 74 skills in this directory. The repository was last updated on September 18, 2026.

Source: OpenClaudia/openclaudia-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.