seo-content-brief
Skill0 starsChanged 5 months agoMITView on GitHub
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".
32 other projects use a version of this, 13 of them edited.
Adopted by
Most recently taken up by
- oivanfelipe/claude-skillstheir own version, first seen Nov 8, 2026
- seranking/seo-skillstheir own version, first seen Nov 8, 2026
- nisarth/claude-skills-storetheir own version, first seen Nov 8, 2026
- alpit-patel/seo-aeo-geo-kitedited, first seen Nov 8, 2026
- Gallyan/trouvabletheir own version, first seen Nov 1, 2026
- zhtyyx/codex-seoedited, first seen Nov 1, 2026
Used with
Projects with it also use seo-firecrawl and seo-internal-linking.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
amirjahfar1Skillseo-firecrawl
Ad-hoc web scraping, site mapping, and full-site crawling via Firecrawl MCP. Returns raw HTML, parsed metadata (og:*, twitter:*, JSON-LD, canonical, robots), JS-rendered DOM, and screenshots that WebFetch cannot. Distinct from the DataForSEO skills (which give keyword/traffic/SERP data) and from WebFetch (which gives markdown prose only). Use when the user says "scrape this page", "crawl this site", "map this site", "find all pages on", "get the OG tags", "get the JSON-LD", "render this JS-heavy page", or any task where raw `<head>` metadata, structured-data scripts, or post-JS DOM are the actual deliverable. Also invoked as a sub-step from other skills that need raw HTML.
Also in 3 projects that use this
Teapot-AgencySkillseo-internal-linking
AI-powered internal linking recommendations z brief + site map. Reads brief.json (z $seo-content-brief) + site_map.json (z $seo-site-crawler), AI-skóruje candidate URLs by semantic relevance to brief topic + secondary KWs, outputs ranked top 5-10 s anchor suggestions a reasoning. Auto-fired počas $seo-content-brief Section 7. Triggers - "navrhni internal linky pre brief XYZ", "internal linking pre <slug>", "linking suggestions pre brief". Pre site URL discovery (zdroj data) use $seo-site-crawler. Pre brief generation use $seo-content-brief.
Also in 3 projects that use this
Other versions32 projects use a version of this.
Word for word · 0
None found.
Edited · 13
- AgriciDaniel/claude-seo★ 20k94% same
- zhtyyx/codex-seo★ 15293% same
- joaoguirunas/team-os★ 696% same
- avalonreset/legends-seo-dungeon★ 498% same
- alpit-patel/seo-aeo-geo-kit★ 292% same
- agrivisionai/claude-skills★ 196% same
- mahiunfiltered/claude-code-skills★ 196% same
- ahmedaminsa/aljazeera360-mcp-server★ 0100% same
- bbeliso/belisodw-★ 096% same
- Biznomad/claude-skills★ 096% same
3 more not listed
Wrote their own version · 19
- OpenClaudia/openclaudia-skills★ 731same name
- seranking/seo-skills★ 201same name
- whyashthakker/agent-skills-marketing★ 15same name
- prosyo-ai/gtm-skill★ 13same name
- ZachArticulateV/designer-pro-and-seo★ 10same name
- marketingskills/seo★ 7same name
- 01clauding/claude-seo-skill★ 4same name
- creativedeals/free-claude-skill-seo-content-brief★ 4same name
- amirjahfar1/automate-seo-with-claude★ 2same name
- datacas/seo-agent-toolkit★ 1same name
9 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository28 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- seo-aeoSkill
- seo-agenticSkill
- seo-auditSkill
- seo-backlinksSkill
- seo-clusterSkill
- seo-competitor-pagesSkill
- seo-contentSkill
- seo-dataforseoSkill
- seo-driftSkill
- seo-ecommerceSkill
- seo-flowSkill
- seo-geoSkill
- seo-googleSkill
- seo-hreflangSkill
- seo-image-genSkill
- seo-imagesSkill
- seo-localSkill
- seo-mapsSkill
- seo-pageSkill
- seo-planSkill
- seo-programmaticSkill
- seo-schemaSkill
- seo-sitemapSkill
- seoSkill
- seo-sxoSkill
- seo-technicalSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
24 rules. 0 are common, 21 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 31 edited versions we read keep these.
21
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 33
Do not recommend a full rewrite when targeted improvements will win
- Distinctive: line 36
Use the target site's homepage or sitemap for business context only
- Distinctive: line 74
Every heading, subtopic, keyword, and FAQ you suggest must be something the target website can credibly write about based on its actual …
- Distinctive: line 76
Read the site's homepage and sitemap to understand what it does
- Distinctive: line 77
Do not borrow competitor structure if those sections cover things this site does not offer
- Distinctive: line 78
Before each suggestion, ask: "Can this website actually deliver on this content?" If no, remove it.
- Distinctive: line 82
When briefing a hub, overview, category, or "types of" page:
- Distinctive: line 84
Do not invent categories that don't exist, do not leave out categories that do exist
- Distinctive: line 92
Never mention researcher names, framework names, or tool names in the output (no "Ben Goodey method", "Frase.io formula", "Princeton GEO", …
- Distinctive: line 94
Write for a business owner or content writer, not an SEO academic
- Very specific: line 98
Read references/keyword-density.md for the full rules.
- Distinctive: line 100
Primary keyword use: Use the primary keyword naturally in high-value locations.
- Distinctive: line 101
Do not optimize to a fixed density.
- Distinctive: line 114
Every H2 or H3 (subtopics carry context naturally if H1 covers it)
- Distinctive: line 115
Every paragraph or section
- Distinctive: line 120
Use in H2-H6 subheadings where natural
- Distinctive: line 142
No brand name at the end (it's already in the title)
- Distinctive: line 143
No quotes (Google truncates at quotes)
- Distinctive: line 147
Every brief must specify EXACTLY what new value this content adds that no current ranking page provides.
- Distinctive: line 167
Use the site structure from the sitemap to find real link targets
- Distinctive: line 171
Always output in this exact structure:
- Distinctive: line 219
When the user asks for "just an outline" or "content outline" instead of a full brief, skip the Competitor Analysis table, Content Gaps …
- Very specific: line 233
If DataForSEO MCP tools are available, use serp_organic_live_advanced for real SERP data and competitor analysis, …
- Very specific: line 237
If Ahrefs MCP tools are available, use keywords-explorer-overview for keyword volume and difficulty, serp-overview for SERP analysis, …
“Common” is measured: kept by at least 6 in 10 of the 31 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
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.mdfor 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:
- Title tag (near the front)
- H1 tag (near the front)
- URL slug
- Meta description
- First paragraph / first 100 words
- 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 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. |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

