SEO Content Brief Generator

Generate competitive SEO content briefs with per-section word counts, competitor scoring, keyword density guidance, and page-type templates.

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit AgriciDaniel/claude-seo/skills/seo-content-brief#main ~/.claude/skills/seo-content-brief

For one project only, change the path to .claude/skills/seo-content-brief.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text248 lines
seo-content-brief/SKILL.md248 lines10.3 KBpushed 63d agoRawView on GitHub

SEO Content Brief Generator

Generate research-backed content briefs that help writers produce pages capable of outranking current top results. Briefs include competitor analysis with gap scoring, per-section word count breakdowns, keyword placement rules, and page-type-specific templates.

Process

1. Determine Brief Mode

Improve mode (existing page URL provided):

  • Fetch the existing page content and structure
  • Identify what is already strong (keep it)
  • Identify missing, thin, or outdated sections
  • Distinguish "keep/strengthen" vs "add new" sections in the outline
  • Do not recommend a full rewrite when targeted improvements will win

New page mode (keyword or topic provided, no existing page):

  • Use the target site's homepage or sitemap for business context only
  • Build the brief from scratch for a new page
  • Focus on competitive gaps the new page can fill

2. Fetch Context

  • Fetch the target URL or homepage to understand the business
  • Fetch the sitemap to discover all existing pages, categories, and services
  • This context is critical for the Website Relevance Rule (see below)

3. Analyse SERPs

  • Identify the top 5 ranking pages for the target keyword
  • Filter out non-competitors (Wikipedia, Reddit, Pinterest, Amazon, YouTube, government sites, SEO tool pages, job boards, directories, news aggregators, social platforms). See references/excluded-domains.md for the full list.
  • Score each real competitor: Depth (1-10), Formatting (1-10), SEO (1-10), UX (1-10)
  • Identify three gap types:
    • Topic gaps: subtopics competitors miss entirely
    • Depth gaps: topics covered but shallow
    • Quality gaps: outdated info, no expert perspective, poor formatting
  • Calculate gap priority: Impact x Competitive Advantage / Effort

4. Classify Search Intent

  • Informational: user wants to learn (guides, how-tos, definitions)
  • Commercial: user is researching before buying (comparisons, reviews, "best X")
  • Transactional: user is ready to act (buy, book, enquire, sign up)
  • Navigational: user is looking for a specific site or page

Identify what SERP format Google rewards for this query: long-form guide, listicle, comparison table, landing page, FAQ, video, local pack.

5. Build the Brief

Apply the page-type template from references/page-type-templates.md, then customise based on competitor gaps and search intent.

Critical Rules

Website Relevance Rule

Every heading, subtopic, keyword, and FAQ you suggest must be something the target website can credibly write about based on its actual services or products.

  • Read the site's homepage and sitemap to understand what it does
  • Do not borrow competitor structure if those sections cover things this site does not offer
  • Before each suggestion, ask: "Can this website actually deliver on this content?" If no, remove it.

Site Structure Coverage Rule

When briefing a hub, overview, category, or "types of" page:

  • The outline must reference every relevant product category, service, or sub-page that exists on the site
  • Do not invent categories that don't exist, do not leave out categories that do exist
  • Each category should appear as its own section with an internal link suggestion
  • This ensures the page acts as a proper hub linking to all child pages

For non-hub pages (single service page, blog post), use site structure to suggest relevant internal links but do not force every category into the outline.

Output Language Rules

  • Never mention researcher names, framework names, or tool names in the output (no "Ben Goodey method", "Frase.io formula", "Princeton GEO", "Clearscope", "Backlinko")
  • These are internal thinking tools only. The output must read as plain, professional advice.
  • Write for a business owner or content writer, not an SEO academic

Keyword Density and Placement

Read references/keyword-density.md for the full rules. Summary:

Primary keyword use: Use the primary keyword naturally in high-value locations.

  • Do not optimize to a fixed density. Treat density checks as optional internal readability/stuffing heuristics only.
  • First 1-2 mentions help establish topic context. Diminishing returns after.
  • For a 1,000-word article, avoid forced repetition across headings, body, and alt text.

Primary keyword must appear in:

  1. Title tag (near the front)
  2. H1 tag (near the front)
  3. URL slug
  4. Meta description
  5. First paragraph / first 100 words
  6. At least one image alt text

Primary keyword does NOT need to appear in:

  • Every H2 or H3 (subtopics carry context naturally if H1 covers it)
  • Every paragraph or section

Secondary keywords:

  • 5-8 closely related supporting terms distributed through body content
  • 10-15 broader semantic terms covering related concepts
  • Use in H2-H6 subheadings where natural
  • Synonyms improve readability and do NOT count toward keyword density

Per-section keyword guidance: For each section in the outline, specify:

  • Which keyword (primary or secondary) belongs in the heading
  • Whether the body should include the primary keyword or a variation
  • Example: "Use secondary keyword 'structural drafting services' in H2. Body: mention primary keyword once."

Distribution: Spread the primary keyword evenly. Do not front-load or cluster in one section.

Meta Tag Rules

Title tag:

  • 50-60 characters (never under 50, never over 60)
  • Primary keyword first, brand name last
  • Separate brand with a pipe or dash (match the site's existing pattern)
  • Lead with outcomes, numbers, or specifics when possible

Meta description:

  • 130-150 characters (never under 130, never over 150)
  • Active voice, expand on the title with USPs and specifics
  • End with a call to action
  • No brand name at the end (it's already in the title)
  • No quotes (Google truncates at quotes)

Information Gain (non-negotiable)

Every brief must specify EXACTLY what new value this content adds that no current ranking page provides. Must be specific:

  • Proprietary data or original research
  • Case studies with real outcomes
  • Expert quotes or first-hand experience
  • Original synthesis or unique framework
  • NOT "more detail" or "better formatting"

E-E-A-T Requirements

List the exact trust signals this content needs:

  • Author credentials and bio relevant to the topic
  • Expert quotes or citations from authoritative sources
  • Cited studies, data, or statistics with dates
  • Last updated date
  • Especially critical for YMYL topics (health, finance, legal, safety)

Internal Linking

  • Suggest 3-5 specific internal link opportunities with anchor text
  • Specify whether the page is a hub (links out to cluster pages) or spoke (links to pillar page)
  • Use the site structure from the sitemap to find real link targets

Output Format

Always output in this exact structure:

## Content Brief: [Primary Keyword]

### Search Intent
[Intent type, SERP format rewarded, target audience and knowledge level. 3-4 lines.]

### Competitor Analysis
| # | URL | Key H2 Sections | Est. Words | Score | Main Gap |
|---|-----|-----------------|------------|-------|----------|
| 1 | ... | ...             | ...        | X/40  | ...      |

### Content Gaps and Opportunities
[Bullet list: topic gaps, depth gaps, quality gaps with specifics]

### Winning Outline

**H1:** [H1 with primary keyword]
**URL Slug:** /[slug]
**Target Word Count:** ~[X] words (competitor avg: ~[X] words)

[Full H2/H3 outline with:
- Word count per section
- Content format notes (bullet list, table, definition box, etc.)
- Featured Snippet targets marked with "FS target"
- Per-section keyword guidance]

### Recommended Meta Tags

**Title**
[title, 60 chars max]

**Meta Description**
[description, 150 chars max]

### Unique Angle and Information Gain
[Specific paragraph: what exact new value this piece adds]

### E-E-A-T Requirements
[Bullet list of exact trust signals needed]

### Internal Linking Opportunities
[3-5 suggestions with anchor text and target URL]

Outline-Only Mode

When the user asks for "just an outline" or "content outline" instead of a full brief, skip the Competitor Analysis table, Content Gaps section, Information Gain section, and E-E-A-T section. Output only:

## Content Outline: [Primary Keyword]

**H1:** [H1 with primary keyword]
**URL Slug:** /[slug]
**Target Word Count:** ~[X] words (competitor avg: ~[X] words)

[Full H2/H3 outline with word counts, format notes, FS targets, keyword guidance, and a 1-2 sentence writing note per section]

DataForSEO Integration (Optional)

If DataForSEO MCP tools are available, use serp_organic_live_advanced for real SERP data and competitor analysis, kw_data_google_ads_search_volume for keyword volume, dataforseo_labs_bulk_keyword_difficulty for difficulty scores, dataforseo_labs_search_intent for intent classification, and on_page_content_parsing_live for competitor content extraction.

Ahrefs Integration (Optional)

If Ahrefs MCP tools are available, use keywords-explorer-overview for keyword volume and difficulty, serp-overview for SERP analysis, site-explorer-organic-keywords for existing keyword rankings, and site-explorer-top-pages for competitor page performance.

Error Handling

Scenario Action
Target URL unreachable Report the error. Do not guess page content. Ask the user to verify the URL.
No competitors found after filtering Broaden the search to include partial-match competitors. Note the thin competitive landscape in the brief.
Sitemap not found Proceed without site structure context. Note that internal linking suggestions may be incomplete.
Page type not specified Auto-detect from the keyword intent and SERP format. State the detected type in the brief.
Target word count not specified Use competitor average as the baseline. Note this in the outline.
1---
2name: seo-content-brief
3description: >
4 Generate competitive SEO content briefs with per-section word counts,
5 competitor scoring, keyword density guidance, and page-type templates.
6 Supports both new page briefs and improve-existing-page briefs.
7 Use when user says "content brief", "write a brief", "content outline",
8 "blog brief", "service page brief", "brief for", "writing brief",
9 "content plan", or "outline for".
10user-invocable: true
11argument-hint: "[url-or-keyword] [page-type]"
12license: MIT
13metadata:
14 author: puneetindersingh
15 original_author: puneetindersingh
16 version: "1.0.0"
17 category: seo
18---
19 
20# SEO Content Brief Generator
21 
22Generate research-backed content briefs that help writers produce pages capable of outranking current top results. Briefs include competitor analysis with gap scoring, per-section word count breakdowns, keyword placement rules, and page-type-specific templates.
23 
24## Process
25 
26### 1. Determine Brief Mode
27 
28**Improve mode** (existing page URL provided):
29- Fetch the existing page content and structure
30- Identify what is already strong (keep it)
31- Identify missing, thin, or outdated sections
32- Distinguish "keep/strengthen" vs "add new" sections in the outline
33- Do not recommend a full rewrite when targeted improvements will win
34 
35**New page mode** (keyword or topic provided, no existing page):
36- Use the target site's homepage or sitemap for business context only
37- Build the brief from scratch for a new page
38- Focus on competitive gaps the new page can fill
39 
40### 2. Fetch Context
41 
42- Fetch the target URL or homepage to understand the business
43- Fetch the sitemap to discover all existing pages, categories, and services
44- This context is critical for the Website Relevance Rule (see below)
45 
46### 3. Analyse SERPs
47 
48- Identify the top 5 ranking pages for the target keyword
49- Filter out non-competitors (Wikipedia, Reddit, Pinterest, Amazon, YouTube, government sites, SEO tool pages, job boards, directories, news aggregators, social platforms). See `references/excluded-domains.md` for the full list.
50- Score each real competitor: Depth (1-10), Formatting (1-10), SEO (1-10), UX (1-10)
51- Identify three gap types:
52 - **Topic gaps:** subtopics competitors miss entirely
53 - **Depth gaps:** topics covered but shallow
54 - **Quality gaps:** outdated info, no expert perspective, poor formatting
55- Calculate gap priority: `Impact x Competitive Advantage / Effort`
56 
57### 4. Classify Search Intent
58 
59- **Informational:** user wants to learn (guides, how-tos, definitions)
60- **Commercial:** user is researching before buying (comparisons, reviews, "best X")
61- **Transactional:** user is ready to act (buy, book, enquire, sign up)
62- **Navigational:** user is looking for a specific site or page
63 
64Identify what SERP format Google rewards for this query: long-form guide, listicle, comparison table, landing page, FAQ, video, local pack.
65 
66### 5. Build the Brief
67 
68Apply the page-type template from `references/page-type-templates.md`, then customise based on competitor gaps and search intent.
69 
70## Critical Rules
71 
72### Website Relevance Rule
73 
74Every heading, subtopic, keyword, and FAQ you suggest must be something the target website can credibly write about based on its actual services or products.
75 
76- Read the site's homepage and sitemap to understand what it does
77- Do not borrow competitor structure if those sections cover things this site does not offer
78- Before each suggestion, ask: "Can this website actually deliver on this content?" If no, remove it.
79 
80### Site Structure Coverage Rule
81 
82When briefing a hub, overview, category, or "types of" page:
83- The outline must reference every relevant product category, service, or sub-page that exists on the site
84- Do not invent categories that don't exist, do not leave out categories that do exist
85- Each category should appear as its own section with an internal link suggestion
86- This ensures the page acts as a proper hub linking to all child pages
87 
88For non-hub pages (single service page, blog post), use site structure to suggest relevant internal links but do not force every category into the outline.
89 
90### Output Language Rules
91 
92- Never mention researcher names, framework names, or tool names in the output (no "Ben Goodey method", "Frase.io formula", "Princeton GEO", "Clearscope", "Backlinko")
93- These are internal thinking tools only. The output must read as plain, professional advice.
94- Write for a business owner or content writer, not an SEO academic
95 
96## Keyword Density and Placement
97 
98Read `references/keyword-density.md` for the full rules. Summary:
99 
100**Primary keyword use:** Use the primary keyword naturally in high-value locations.
101- Do not optimize to a fixed density. Treat density checks as optional internal readability/stuffing heuristics only.
102- First 1-2 mentions help establish topic context. Diminishing returns after.
103- For a 1,000-word article, avoid forced repetition across headings, body, and alt text.
104 
105**Primary keyword must appear in:**
1061. Title tag (near the front)
1072. H1 tag (near the front)
1083. URL slug
1094. Meta description
1105. First paragraph / first 100 words
1116. At least one image alt text
112 
113**Primary keyword does NOT need to appear in:**
114- Every H2 or H3 (subtopics carry context naturally if H1 covers it)
115- Every paragraph or section
116 
117**Secondary keywords:**
118- 5-8 closely related supporting terms distributed through body content
119- 10-15 broader semantic terms covering related concepts
120- Use in H2-H6 subheadings where natural
121- Synonyms improve readability and do NOT count toward keyword density
122 
123**Per-section keyword guidance:** For each section in the outline, specify:
124- Which keyword (primary or secondary) belongs in the heading
125- Whether the body should include the primary keyword or a variation
126- Example: "Use secondary keyword 'structural drafting services' in H2. Body: mention primary keyword once."
127 
128**Distribution:** Spread the primary keyword evenly. Do not front-load or cluster in one section.
129 
130## Meta Tag Rules
131 
132**Title tag:**
133- 50-60 characters (never under 50, never over 60)
134- Primary keyword first, brand name last
135- Separate brand with a pipe or dash (match the site's existing pattern)
136- Lead with outcomes, numbers, or specifics when possible
137 
138**Meta description:**
139- 130-150 characters (never under 130, never over 150)
140- Active voice, expand on the title with USPs and specifics
141- End with a call to action
142- No brand name at the end (it's already in the title)
143- No quotes (Google truncates at quotes)
144 
145## Information Gain (non-negotiable)
146 
147Every brief must specify EXACTLY what new value this content adds that no current ranking page provides. Must be specific:
148- Proprietary data or original research
149- Case studies with real outcomes
150- Expert quotes or first-hand experience
151- Original synthesis or unique framework
152- NOT "more detail" or "better formatting"
153 
154## E-E-A-T Requirements
155 
156List the exact trust signals this content needs:
157- Author credentials and bio relevant to the topic
158- Expert quotes or citations from authoritative sources
159- Cited studies, data, or statistics with dates
160- Last updated date
161- Especially critical for YMYL topics (health, finance, legal, safety)
162 
163## Internal Linking
164 
165- Suggest 3-5 specific internal link opportunities with anchor text
166- Specify whether the page is a hub (links out to cluster pages) or spoke (links to pillar page)
167- Use the site structure from the sitemap to find real link targets
168 
169## Output Format
170 
171Always output in this exact structure:
172 
173```
174## Content Brief: [Primary Keyword]
175 
176### Search Intent
177[Intent type, SERP format rewarded, target audience and knowledge level. 3-4 lines.]
178 
179### Competitor Analysis
180| # | URL | Key H2 Sections | Est. Words | Score | Main Gap |
181|---|-----|-----------------|------------|-------|----------|
182| 1 | ... | ... | ... | X/40 | ... |
183 
184### Content Gaps and Opportunities
185[Bullet list: topic gaps, depth gaps, quality gaps with specifics]
186 
187### Winning Outline
188 
189**H1:** [H1 with primary keyword]
190**URL Slug:** /[slug]
191**Target Word Count:** ~[X] words (competitor avg: ~[X] words)
192 
193[Full H2/H3 outline with:
194- Word count per section
195- Content format notes (bullet list, table, definition box, etc.)
196- Featured Snippet targets marked with "FS target"
197- Per-section keyword guidance]
198 
199### Recommended Meta Tags
200 
201**Title**
202[title, 60 chars max]
203 
204**Meta Description**
205[description, 150 chars max]
206 
207### Unique Angle and Information Gain
208[Specific paragraph: what exact new value this piece adds]
209 
210### E-E-A-T Requirements
211[Bullet list of exact trust signals needed]
212 
213### Internal Linking Opportunities
214[3-5 suggestions with anchor text and target URL]
215```
216 
217## Outline-Only Mode
218 
219When the user asks for "just an outline" or "content outline" instead of a full brief, skip the Competitor Analysis table, Content Gaps section, Information Gain section, and E-E-A-T section. Output only:
220 
221```
222## Content Outline: [Primary Keyword]
223 
224**H1:** [H1 with primary keyword]
225**URL Slug:** /[slug]
226**Target Word Count:** ~[X] words (competitor avg: ~[X] words)
227 
228[Full H2/H3 outline with word counts, format notes, FS targets, keyword guidance, and a 1-2 sentence writing note per section]
229```
230 
231## DataForSEO Integration (Optional)
232 
233If DataForSEO MCP tools are available, use `serp_organic_live_advanced` for real SERP data and competitor analysis, `kw_data_google_ads_search_volume` for keyword volume, `dataforseo_labs_bulk_keyword_difficulty` for difficulty scores, `dataforseo_labs_search_intent` for intent classification, and `on_page_content_parsing_live` for competitor content extraction.
234 
235## Ahrefs Integration (Optional)
236 
237If Ahrefs MCP tools are available, use `keywords-explorer-overview` for keyword volume and difficulty, `serp-overview` for SERP analysis, `site-explorer-organic-keywords` for existing keyword rankings, and `site-explorer-top-pages` for competitor page performance.
238 
239## Error Handling
240 
241| Scenario | Action |
242|----------|--------|
243| Target URL unreachable | Report the error. Do not guess page content. Ask the user to verify the URL. |
244| No competitors found after filtering | Broaden the search to include partial-match competitors. Note the thin competitive landscape in the brief. |
245| Sitemap not found | Proceed without site structure context. Note that internal linking suggestions may be incomplete. |
246| Page type not specified | Auto-detect from the keyword intent and SERP format. State the detected type in the brief. |
247| Target word count not specified | Use competitor average as the baseline. Note this in the outline. |
248 

Discussion

Alternatives

Also in SEO & keywords