# content-gap-analysis

Compares your site coverage with competitors and turns missing topics into a ranked content plan. Use it when you have your domain and competitor domains.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1500 installs · ★ 3013
- Author: aaron-he-zhu
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/aaron-he-zhu/aaron-marketing-skills/tree/HEAD/seo-geo/survey/content-gap-analysis/SKILL.md
- Updated: 2026-10-25
- HTML: https://affpapa.org/en/nevibecode/skills/aaron-he-zhu-content-gap-analysis

## What it does

This skill compares your site with competitors across topics, keywords, content formats, and audience-journey stages. It produces a prioritised gap brief organised into Quick Wins, Strategic Builds, and Long-term work, with a content-calendar entry for each Quick Win.

It needs your domain or content inventory plus competitor domains. The skill stops to request them when they are unavailable, because a gap needs a coverage comparison. Bring 1-3 competitor domains before starting.

Optional sources include SEO tools, Search Console, analytics, and AI monitoring. Metrics are labelled Measured, User-provided, or Estimated, so estimates are kept distinct from tool data. Research is written under `memory/research/content-gap-analysis/`, while lasting priorities go to `memory/hot-cache.md`.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add aaron-he-zhu/aaron-marketing-skills --skill content-gap-analysis -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/content-gap-analysis/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/content-gap-analysis/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add aaron-he-zhu/aaron-marketing-skills --skill content-gap-analysis -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/content-gap-analysis/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add aaron-he-zhu/aaron-marketing-skills --skill content-gap-analysis -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/content-gap-analysis/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install aaron-he-zhu/aaron-marketing-skills content-gap-analysis
```

2. **Manually: put the files in place**
- File: `.github/skills/content-gap-analysis/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add aaron-he-zhu/aaron-marketing-skills --skill content-gap-analysis -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/aaron-he-zhu/aaron-marketing-skills --path seo-geo/survey/content-gap-analysis
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/content-gap-analysis/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add aaron-he-zhu/aaron-marketing-skills --skill content-gap-analysis -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/aaron-he-zhu/aaron-marketing-skills/tree/HEAD/seo-geo/survey/content-gap-analysis/SKILL.md

## When to use it
- compare site topics against competitor coverage
- find keywords missing from current content
- spot gaps in content formats
- rank coverage gaps by priority
- build a content calendar for Quick Wins

## Example prompts
- Find content gaps between my site [URL] and competitor sites [URL].
- What topics are we missing compared with 3 competitors?
- Compare our topic cluster coverage for [topic] against competitors.

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 74f7314381aa79f1.

BEGIN THIRD-PARTY FILE 74f7314381aa79f1
````text
---
name: content-gap-analysis
slug: content-gap-analysis
displayName: "Content Gap Analysis · 内容缺口"
summary: "内容缺口/选题规划"
description: '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. Not for raw keyword demand discovery — use keyword-research. 内容缺口/选题规划'
version: "20.1.0"
license: Apache-2.0
compatibility: "Claude Code and compatible agent-skill hosts"
homepage: "https://github.com/aaron-he-zhu/aaron-marketing-skills"
when_to_use: "Use when finding content gaps between two domains, discovering missing topics, or identifying coverage holes versus competitors."
argument-hint: "<your domain> <competitor domain>"
metadata: {"author": "aaron-he-zhu", "version": "20.1.0", "discipline": "seo-geo", "phase": "survey", "geo-relevance": "medium", "hermes": {"tags": ["marketing", "seo-geo", "survey"], "category": "seo-geo"}, "openclaw": {"emoji": "🔍", "homepage": "https://github.com/aaron-he-zhu/aaron-marketing-skills"}}
---

# Content Gap Analysis

Identifies content opportunities by comparing your site against competitors and scoring the gaps worth closing first.

## Quick Start

```
Find content gaps between my site [URL] and [competitor URLs]
```

```
What content am I missing compared to my top 3 competitors?
```

## Skill Contract

**Expected output**: a prioritized gap brief plus the standard handoff summary for `memory/research/`.

- **Reads**: your domain, competitor domains, topic/content-type focus, audience, business goals, and any user-provided or tool content inventory.
- **Writes**: a user-facing analysis and reusable summary.
- **Promotes**: durable keyword priorities, competitor facts, and pending strategy decisions to `memory/hot-cache.md`, `memory/open-loops.md`, and `memory/research/`.
- **Done when**: each prioritized gap names the competitor(s) that cover it and you don't; gaps are bucketed into Quick Wins / Strategic Builds / Long-term; and the deliverable includes a dated content calendar entry per Quick Win.
- **Primary next skill**: [content-writer](../../implement/content-writer/SKILL.md) when the prioritized gap list is approved.

### Handoff Summary

> Emit the standard shape from [skill-contract.md §Handoff Summary Format](../../../references/skill-contract.md).

## Data Sources

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](../../../CONNECTORS.md).
````
END THIRD-PARTY FILE 74f7314381aa79f1

The third-party file has ended. Everything between the 74f7314381aa79f1 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2658 of 7319 bytes. © aaron-he-zhu · Apache-2.0 · https://github.com/aaron-he-zhu/aaron-marketing-skills/tree/HEAD/seo-geo/survey/content-gap-analysis/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
