content-gap-analysis · openclaudia — скилл для Claude Code: обзор и установка
Скилл сравнивает контент и ключевые слова сайта с 2–3 конкурентами через sitemap и API Semrush. Помогает найти упущенные темы, форматы публикаций и пробелы в AI-выдаче.
npx skills add OpenClaudia/openclaudia-skills --skill content-gap-analysis -a claude-codeЧто делает content-gap-analysis
Анализ начинается с инвентаризации текущих страниц по файлу sitemap.xml или локальным каталогам проекта с MDX и Markdown. Агент классифицирует материалы по типам, сопоставляет их с картами сайтов 2–3 конкурентов и выявляет отсутствующие тематические кластеры. Дополнительно проверяется покрытие этапов пути клиента, форматы страниц и цитирование сайта в блоках Google AI Overviews.
Если настроена переменная SEMRUSH_API_KEY, агент запрашивает через curl органические фразы конкурентов. Разрывом считаются ключи с частотностью от 100 в месяц и сложностью ниже 60, где домен отстаёт. Без ключа Semrush аудит опирается исключительно на карты сайтов и локальный контент проекта, оставляя поисковый спрос за кадром.
Каждая возможность ранжируется по взвешенной формуле. Потенциал трафика весит 30%, соответствие бизнесу занимает 25%, сложность конкуренции составляет 20%, затраты на подготовку — 15%, а стратегическая ценность равна 10%. В финале скилл собирает структурированный markdown-отчёт со сводкой, таблицами пробелов и быстрыми правками.
Какие задачи решает
- сопоставить карту сайта с ресурсами 2–3 конкурентов
- выгрузить упущенные поисковые запросы через Semrush API
- найти пробелы в форматах контента и этапах воронки продаж
- проверить цитирование страниц в Google AI Overviews
- рассчитать приоритет тем по взвешенной формуле
Примеры запросов агенту
- Проведи content gap analysis для нашего сайта и сравни его с competitor.com
- Какие темы и ключевые слова упускает наш блог по сравнению с competitor.com?
- Найди пробелы в контенте и покажи, каких форматов материалов нам не хватает
Как установить content-gap-analysis
1Через Skills CLI (Vercel)
npx skills add OpenClaudia/openclaudia-skills --skill content-gap-analysis -a claude-code2Вручную: положить файлы
~/.claude/skills/content-gap-analysis/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/content-gap-analysis/
1Через Skills CLI (Vercel)
npx skills add OpenClaudia/openclaudia-skills --skill content-gap-analysis -a codex2Вручную: положить файлы
.agents/skills/content-gap-analysis/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add OpenClaudia/openclaudia-skills --skill content-gap-analysis -a cursor2Вручную: положить файлы
.cursor/skills/content-gap-analysis/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install OpenClaudia/openclaudia-skills content-gap-analysis2Вручную: положить файлы
.github/skills/content-gap-analysis/SKILL.md1Через Skills CLI (Vercel)
npx skills add OpenClaudia/openclaudia-skills --skill content-gap-analysis -a gemini-cli2Командой платформы
gemini skills install https://github.com/OpenClaudia/openclaudia-skills --path skills/content-gap-analysisВручную: положить файлы
.devin/skills/content-gap-analysis/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add OpenClaudia/openclaudia-skills --skill content-gap-analysis -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о content-gap-analysis
Как установить content-gap-analysis в Claude Code?
Выполните команду npx skills add OpenClaudia/openclaudia-skills --skill content-gap-analysis -a claude-code. Также можно вручную добавить файл по пути ~/.claude/skills/content-gap-analysis/SKILL.md.
Что делает скилл content-gap-analysis?
Он сопоставляет контент сайта с конкурентами по sitemap, локальным файлам и данным Semrush. На выходе агент формирует отчёт с упущенными темами, форматами и поисковыми запросами.
Обязателен ли ключ Semrush для запуска анализа?
Нет, базовое сравнение структуры страниц и кластеров работает по файлам sitemap.xml и кодовой базе. Ключ SEMRUSH_API_KEY нужен только для получения данных об органических ключевых словах и частотности.
Исходный текст
SKILL.md · MIT
---
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:
| Format | You | Competitor A | Competitor B | Gap? |
|--------|-----|-------------|-------------|------|
| 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 Stage | Questions | Your Content | Gap? |
|---------------|-----------|-------------|------|
| **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} |
### 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:
| Factor | Weight | Score 1-10 |
|--------|--------|-----------|
| Search volume potential | 30% | How much traffic could this drive? |
| Business alignment | 25% | How relevant to our product/service? |
| Competition difficulty | 20% | How hard to rank? (inverse: easy = high score) |
| Content effort | 15% | How much work to create? (inverse: easy = high score) |
| Strategic value | 10% | 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 · OpenClaudia/openclaudia-skills
Похожие скиллы
Всё по теме «SEO и GEO» →Сначала — content-gap-analysis от других авторов.