agentleFS
Solnest-AISolnest-AI/solnest-seo-aeo/skills/seo-content-brief/SKILL.md

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

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.
  • amirjahfar1Skill

    seo-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-AgencySkill

    seo-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

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
  1. Distinctive:

    Do not recommend a full rewrite when targeted improvements will win

    line 33
  2. Distinctive:

    Use the target site's homepage or sitemap for business context only

    line 36
  3. Distinctive:

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

    line 74
  4. Distinctive:

    Read the site's homepage and sitemap to understand what it does

    line 76
  5. Distinctive:

    Do not borrow competitor structure if those sections cover things this site does not offer

    line 77
  6. Distinctive:

    Before each suggestion, ask: "Can this website actually deliver on this content?" If no, remove it.

    line 78
  7. Distinctive:

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

    line 82
  8. Distinctive:

    Do not invent categories that don't exist, do not leave out categories that do exist

    line 84
  9. Distinctive:

    Never mention researcher names, framework names, or tool names in the output (no "Ben Goodey method", "Frase.io formula", "Princeton GEO", …

    line 92
  10. Distinctive:

    Write for a business owner or content writer, not an SEO academic

    line 94
  11. Very specific:

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

    line 98
  12. Distinctive:

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

    line 100
  13. Distinctive:

    Do not optimize to a fixed density.

    line 101
  14. Distinctive:

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

    line 114
  15. Distinctive:

    Every paragraph or section

    line 115
  16. Distinctive:

    Use in H2-H6 subheadings where natural

    line 120
  17. Distinctive:

    No brand name at the end (it's already in the title)

    line 142
  18. Distinctive:

    No quotes (Google truncates at quotes)

    line 143
  19. Distinctive:

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

    line 147
  20. Distinctive:

    Use the site structure from the sitemap to find real link targets

    line 167
  21. Distinctive:

    Always output in this exact structure:

    line 171
  22. Distinctive:

    When the user asks for "just an outline" or "content outline" instead of a full brief, skip the Competitor Analysis table, Content Gaps …

    line 219
  23. Very specific:

    If DataForSEO MCP tools are available, use serp_organic_live_advanced for real SERP data and competitor analysis, …

    line 233
  24. Very specific:

    If Ahrefs MCP tools are available, use keywords-explorer-overview for keyword volume and difficulty, serp-overview for SERP analysis, …

    line 237

“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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 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

ScenarioAction
Target URL unreachableReport the error. Do not guess page content. Ask the user to verify the URL.
No competitors found after filteringBroaden the search to include partial-match competitors. Note the thin competitive landscape in the brief.
Sitemap not foundProceed without site structure context. Note that internal linking suggestions may be incomplete.
Page type not specifiedAuto-detect from the keyword intent and SERP format. State the detected type in the brief.
Target word count not specifiedUse competitor average as the baseline. Note this in the outline.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.