Best for
- Use when the user asks to "find content gaps", "竞品写了什么", or "还应该写什么"; builds a competitor-relative coverage map of missing topics, keyword gaps, and editorial-calendar opportunities.
aaron-he-zhu/aaron-marketing-skills/seo-geo/survey/content-gap-analysis/SKILL.md
Use it for marketing and research tasks; the detail page covers purpose, installation, and practical steps.
Decision brief
Identifies content opportunities by comparing your site against competitors and scoring the gaps worth closing first.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Declared | Source record | Install path and trigger |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/aaron-he-zhu/aaron-marketing-skills --skill "seo-geo/survey/content-gap-analysis"Inspect the Agent Skill "content-gap-analysis" from https://github.com/aaron-he-zhu/aaron-marketing-skills/blob/4db5e00057a47ab21a66edf8923b865fe876013e/seo-geo/survey/content-gap-analysis/SKILL.md at commit 4db5e00057a47ab21a66edf8923b865fe876013e. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Review the “Quick Start” section in the pinned source before continuing.
When a user requests content gap analysis:
Expected output: a prioritized gap brief plus the standard handoff summary for memory/research/.
Emit the standard shape from skill-contract.md §Handoff Summary Format.
Optional integrations: SEO tool, search console, analytics, AI monitor. Without tools, ask for site URL, content inventory, competitor URLs, and business goals. See CONNECTORS.md.
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 2,643 | Source | Repository attention, not individual Skill quality |
| Compatibility | 1 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Identifies content opportunities by comparing your site against competitors and scoring the gaps worth closing first.
Find content gaps between my site [URL] and [competitor URLs]
What content am I missing compared to my top 3 competitors?
Expected output: a prioritized gap brief plus the standard handoff summary for memory/research/.
memory/hot-cache.md, memory/open-loops.md, and memory/research/.Emit the standard shape from skill-contract.md §Handoff Summary Format.
Optional integrations: ~~SEO tool, ~~search console, ~~analytics, ~~AI monitor. Without tools, ask for site URL, content inventory, competitor URLs, and business goals. See CONNECTORS.md.
Trend-scout as a gap-discovery input (keyless): feed the multi-source trend scout — Google Trends RSS plus Hacker News and Reddit, via scripts/connectors/rss_monitor.py — to surface rising topics your competitors and you may both miss. Treat each hit as a candidate gap, then check it against your and competitor coverage in steps 5-7. Mark these signals Estimated. See CONNECTORS.md ~~trend database.
Keyless competitor-coverage inventory: python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/firecrawl.py" map <competitor-domain> --search "<topic>" --limit 1000 lists a competitor's URLs ordered by relevance to the topic — a fast Measured coverage inventory for steps 5-7 — and firecrawl.py scrape <url> reads any candidate page as rendered markdown. robots.txt is pre-flighted locally; a Disallow is refused per SECURITY.md §Scraping Boundaries. Firecrawl keyless free tier (~1,000 credits/mo). See scripts/connectors/README.md.
Stop and ask — gap analysis is competitor-relative and cannot run on demand alone:
CLAUDE.md or prior research → ask the user to name 1-3 competitors, OR offer to switch to keyword-research for demand-side discovery instead.Continue silently — do not stop for: which 3-5 named competitors to deep-dive (pick the closest); missing optional tool data (mark Estimated/N/A and proceed); ambiguous topic scope (analyze the full overlap and flag the broadest clusters).
When a user requests content gap analysis:
Label every metric Measured (tool/export), User-provided, or Estimated (model inference); never present an estimate as measured; if a required metric is unavailable, mark it N/A — do not invent it.
Quality bar: every gap names the competitor that covers it, its volume or traffic estimate, and why it is worth closing — never list a bare topic without that evidence.
Reference: See Analysis Templates for the compact templates used in each step.
See references/example-report.md for a full SaaS marketing sample.
Compare our topic cluster coverage for [topic] vs top 5 competitors
What content have competitors published in the last 6 months that we haven't covered?
Find gaps in our [commercial/informational] intent content
Write path: memory/research/content-gap-analysis/YYYY-MM-DD-<topic>.md; promote durable gap priorities and competitor facts to memory/hot-cache.md. See Skill Contract §Save Results Template.
Primary: content-writer.
Frequently asked questions
Identifies content opportunities by comparing your site against competitors and scoring the gaps worth closing first.
The source record exposes this install command: npx skills add https://github.com/aaron-he-zhu/aaron-marketing-skills --skill "seo-geo/survey/content-gap-analysis". Inspect the command and pinned source before running it.
The pinned source record declares support for: claude code.
Alternatives
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "run a deliverability pre-flight before I send", "check my SPF/DKIM/DMARC/BIMI", "why am I landing in spam / promotions", or "score my sender reputation and list hygiene"; runs the ONE-TIME pre-send SEND S1 authentication pre-flight and builds the SEND S (Sender-integrity / Deliverability) evidence read — DNS + DMARC-RUA auth, domain/IP reputation, inbox placement, content/link/render, and point-in-time bounce/complaint hygiene — using Pass/Partial/Fail/Unknown/N/A stat
aaron-he-zhu/aaron-marketing-skills
Use when the user asks to "analyze my target audience", "build an audience profile for influencer targeting", "research a niche community", or "deep-dive a subculture before partnering with creators"; in audience mode produces demographic/psychographic profiles, a platform-priority matrix, named personas, and an influencer-selection criteria set, and in niche mode produces a community map, culture decode (language/norms/taboos), key-voice tiers, a Brand Fit Score, and a phased entry strategy. No
aaron-he-zhu/aaron-marketing-skills
Use it for engineering and marketing tasks; the detail page covers purpose, installation, and practical steps.
aaron-he-zhu/aaron-marketing-skills
Use it for deployment and marketing tasks; the detail page covers purpose, installation, and practical steps.