SEO Content Brief
Generate competitive SEO content briefs with per-section word counts, competitor scoring, keyword density guidance, and page-type templates.
Writes an editor-ready content brief from what the top results cover: format, length, must-cover subtopics, questions, terms and internal links.
Listed ·Updated
$ npx skills add https://seoskills.sh --skill content-brief-writerContent Brief Writer is an SEO Content Writing skill for AI agents, published in the seoskills.sh catalog. Reach for it when your work involves content briefs from SERP intent, editorial planning, and SEO writing. Install it with one command and it runs inside your own agent, so the work happens in your workflow, not a separate SEO tool.
AGENT ROLE: Autonomous content-strategy agent. Collect the top results, run the script, emit the JSON in references/output.schema.json, then write the brief an editor or writer can use without further research.
Give the writer one page that answers: what does the searcher expect (format and depth), what must the piece cover to compete, what can it add that the current results lack, and how should it be titled, structured, linked and marked up.
keyword (REQUIRED via --keyword): the primary keyword.urls (REQUIRED unless --serp, via --urls, repeatable or comma-separated, 3 to 10): the top organic results for the keyword. Get them with your web search tool, skipping ads, videos, forums and the user's own site.serp (OPTIONAL flag): fetch Google's top 10, People Also Ask, related searches and SERP features from SerpApi instead. Needs env SERP_API_KEY.site (OPTIONAL via --site): the user's site, to find pages that already target the keyword and internal link candidates from its sitemap.country, language (OPTIONAL, default us, en).--serp: SerpApi's Google results (SERP_API_KEY).--site: the site's XML sitemaps (robots.txt first, then /sitemap.xml).--serp).scripts/content_brief.py --keyword "local seo audit" --urls https://a.com/x,https://b.com/y,https://c.com/z [--site https://example.com].STEP 1: READ each competing page's main content (article or main element, without navigation and footer): title, meta description, H1, H2 and H3 headings (numbering stripped; share, newsletter, related-posts and conclusion headings dropped), word count, images, tables, lists, video embeds, schema types, newest date and author markup. Pages under 150 words or not readable as HTML are skipped.
STEP 2: FORMAT: label each page from its H1 or title (comparison, listicle, how-to, review, definition, product or category page, else guide) and take the majority. LENGTH: the middle half of the word counts (25th to 75th percentile), rounded to hundreds.
STEP 3: SUBTOPICS: group headings from all pages, across H2 and H3, when their topic words (no stop words, no generic verbs like check or review) overlap by half or more. must_cover means at least 40% of pages, in their usual order. should_cover means two or more pages. unique_angles means H2s only one page has.
STEP 4: QUESTIONS: merge People Also Ask, Autocomplete questions and competitors' question headings. pages_answering counts the pages with a heading that matches, so a question asked often but answered by few pages is a gap.
STEP 5: TERMS: two- and three-word phrases, then single words, used by at least half the pages (generic words removed). Treat them as coverage hints, not a keyword-density target.
STEP 6: SITE: sitemap URLs whose path holds all the keyword's words are existing_pages_for_keyword. IF any exist THEN recommend updating that page instead of writing a new one. URLs sharing a third or more of the words are internal link candidates.
STEP 7: WRITE THE BRIEF, in this order:
must_cover subtopic in its usual position, the strongest should_cover ones, and one or two angles the others lack, with a line on what each section must say.ymyl is true.freshness_matters is true, show an updated date and plan a refresh.INPUT_INVALID. IF fewer than 2 pages are readable THEN STOP TOO_FEW_PAGES and list each page's status. A 403 usually means the site blocks automated requests, so swap in the next result.--serp without SERP_API_KEY STOPs AUTH_MISSING_API_KEY; a SerpApi error STOPs SERP_FAILED.One JSON object per references/output.schema.json, then the written brief as above.
scripts/content_brief.py: page reading, format and length, subtopic grouping, question merging, term counting, sitemap matching and SerpApi support.references/output.schema.json: output contract.Not using the CLI? Copy the SKILL.md and paste it straight into ChatGPT, Claude, or any agent.
$ npx skills add https://seoskills.sh --skill content-brief-writer -a claude-codeGenerate competitive SEO content briefs with per-section word counts, competitor scoring, keyword density guidance, and page-type templates.
Optimize YouTube videos for search, create video descriptions, or improve channel visibility.
Analyzes provided content for quality, E-E-A-T signals, and SEO best practices.
Builds your internal link graph, finds closely related pages that aren't linked yet, and suggests contextual links with anchor text.
Expert SEO content strategy for SaaS and B2B sites.
Formats content to be eligible for featured snippets and SERP features.