AEO AND GEO SKILL
seo-content-brief
Competitive content briefs with per-section word counts, scored competitors, keyword placement rules, and a non-negotiable information-gain paragraph, in a new-page mode and an improve-existing-page mode.
by Daniel AgriciAgriciDaniel/claude-seoMIT licencev1.0.0upstream 2026-09-10read by us 11 September 2026
The brief has a fixed shape: search intent, a competitor table (H2s, word count, a 40-point score, the main gap), gaps and opportunities, the winning outline with word count and keyword guidance per section, meta tags, a unique-angle paragraph, E-E-A-T requirements, and three to five internal links from your real sitemap.
Two rules make it better than a template. The Website Relevance Rule: every heading must be something the site can credibly write about, checked against its homepage and sitemap. The Site Structure Coverage Rule: a hub page brief must reference every real child category and invent none.
It is on the AEO shelf because its outline marks featured-snippet targets and asks for direct answers per section, which is the same structure AI answer engines extract. With DataForSEO or Ahrefs MCP it pulls live SERP and volume data; without them it works from what your agent can fetch.
When to use it
The phrases that trigger it
From the skill’s own description: say any of these and an agent that has it installed will load it.
- content brief
- write a brief
- content outline
- blog brief
- service page brief
- writing brief
- content plan
What’s inside
The playbook, section by section
Improve mode versus new-page mode
An existing URL gets a keep-versus-add outline and a warning against full rewrites; a keyword gets a brief built from scratch.
Competitor scoring
Depth, formatting, SEO and UX, ten points each; non-competitors (Wikipedia, Reddit, Amazon, tool vendors, job boards) filtered by a reference list.
Keyword placement without density targets
Title, H1, slug, meta, first 100 words and one alt text; never every H2; density checks demoted to a stuffing heuristic.
Meta tag limits
Title 50 to 60 characters with the keyword first; description 130 to 150, active voice, no brand at the end, no quotation marks.
Output language rule
No framework or tool names in the brief; it must read as plain professional advice to a business owner or writer.
Reference files: excluded-domains.md keyword-density.md page-type-templates.md
See it in action
One real run, cropped
We installed the skill folder, gave it the request below, and kept what it returned. Nothing was edited; the excerpt is the first 1,284 of 19,145 characters. The full output is in our repository as research/skills/runs/seo-content-brief.md.
Write a new-page content brief for the keyword 'demand generation vs lead generation' on addition-labs.com (fetch the homepage and https://addition-labs.com/sitemap.xml for site context). We cannot pull live SERP data from here, so identify the top competitors from what you can fetch and say what you could not verify.
Content Brief: demand generation vs lead generation
Brief mode: switched from "new page" to "improve existing page". The sitemap you asked me to fetch lists https://addition-labs.com/resources/compare/demand-generation-vs-lead-generation (live, HTTP 200, published 25 Aug 2026, updated 6 Sep 2026, about 2,470 words, 11 cited sources, linked from the /resources/compare hub). Creating a second page on the same keyword would split the site's own relevance between two URLs. This brief is therefore written against the existing URL: it marks what to keep, what to strengthen, and what to add. If you still want a separate new page, tell me the intent it should serve that this one does not, and I will re-cut it.
Data caveat. No live SERP data was available. The six competitors below are the comparison pages I could fetch and read in full; I chose them because they are the direct "demand generation vs lead generation" articles that Addition's own page already cites, published by the brands that dominate this topic. I could not verify that these six are the current top results, their positions, search volume, keyword difficulty, or which SERP features show. Word counts are my own extraction from each page's article body and are approximate.
Search Intent
Cropped here. The rest continues in the same register.
What it could not do in this run
live SERP positions or confirmation that the six competitors are the current top 5; keyword volume, difficulty, intent classification and SERP-feature data (the optional DataForSEO/Ahrefs MCP tools were not available); exact competitor word counts (approximate extraction, flagged); a worked example with real figures (did not read the case study pages, so left as a conditional instruction rather than inventing numbers). The request said "new page" but the sitemap showed the page already exists, so the brief was switched to the skill's improve mode and this is stated at the top of OUTPUT.md.
Method behind it
Where we would differ, and why
Our B2B content marketing guide shows what a brief has to contain before we let a piece be written: the question, the falsifier, the source pool with its minimums, and the perspective with its alternatives. The skill produces the competitive outline; the guide adds the evidence discipline that keeps the piece honest.
- Note 1
- The skill’s information-gain rule is right and its competitor scoring is subjective: four ten-point scales assigned by the model in one pass. Use the gaps it names; do not rank competitors by its score.
- Note 2
- It targets featured snippets per section. Featured snippets have been shrinking as AI Overviews expand; the direct-answer structure still helps, the label is dated.
SKILL.md
The upstream file, as we read it
Copyright Daniel Agrici, MIT licence, commit 55c7914 of AgriciDaniel/claude-seo. Reproduced here under that licence so you can read what the agent will read; the folder’s reference files are in the repository.
Open SKILL.md (1,578 words)
---
name: seo-content-brief
description: >
Generate competitive SEO content briefs with per-section word counts,
competitor scoring, keyword density guidance, and page-type templates.
Supports both new page briefs and improve-existing-page briefs.
Use when user says "content brief", "write a brief", "content outline",
"blog brief", "service page brief", "brief for", "writing brief",
"content plan", or "outline for".
user-invocable: true
argument-hint: "[url-or-keyword] [page-type]"
license: MIT
metadata:
author: puneetindersingh
original_author: puneetindersingh
version: "1.0.0"
category: seo
---
# 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. |
Questions
Questions people ask before installing
Does it need live SERP data?
No, but it is better with it. Without DataForSEO or Ahrefs it identifies competitors from what it can fetch and is told to say what it could not verify.
Can it brief a page that already exists?
Yes, that is improve mode: it keeps what is strong, marks what is thin or missing, and does not recommend a rewrite when targeted changes will do.
Why is it on the AEO shelf and not SEO?
Because the outline it writes is answer-first per section with snippet targets, which is what answer engines extract. It is equally an SEO tool; we filed it where its structure matters most.