Install
$ agentstack add skill-openclaudia-openclaudia-skills-content-gap-analysis ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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:
- Crawl the sitemap — Fetch
{domain}/sitemap.xmlto list all published pages - Categorize pages by type: blog posts, landing pages, product pages, docs, case studies
- 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:
- Fetch competitor sitemaps —
{competitor}/sitemap.xml - List their blog/resource pages
- Categorize their content by topic cluster
If SemRush API is available:
# 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:
# 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 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)
- {Action} — {Why this is a quick win}
- {Action} — {Why}
- {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.
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [OpenClaudia](https://github.com/OpenClaudia)
- **Source:** [OpenClaudia/openclaudia-skills](https://github.com/OpenClaudia/openclaudia-skills)
- **License:** MIT
- **Homepage:** https://openclaudia.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.