seo-content-brief — Claude Code skill: writer briefs from a keyword
Turns a target keyword into a full SEO brief: search intent, SERP breakdown, heading outline and a writer checklist. Useful when content goes to an outside author.
npx skills add OpenClaudia/openclaudia-skills --skill seo-content-brief -a claude-codeWhat seo-content-brief does
The skill takes a keyword and builds a brief a writer can work from. It searches the query with WebSearch, classifies intent as informational, commercial, transactional or navigational, then reads the top 5–10 results for format, rough length and the H2 topics everyone covers.
What comes back is a markdown document: a keyword table with volume and CPC, content specs (type, word count, audience, tone), title and meta description requirements, an H1–H3 tree with per-section notes, an FAQ block aimed at featured snippets, and a visual content table. The writer checklist at the end covers things like keyword density and internal link count.
With SEMRUSH_API_KEY set, it pulls keyword, related-term and question data from the SemRush API. Without the key it falls back to SERP analysis and People Also Ask questions, so volume and difficulty columns stay empty. The source instructions cut off mid-sentence about a SERP being dominated, so that case is not covered.
What it helps with
- hand a structured brief to a freelance writer
- classify search intent before picking a format
- map the top results by format and length
- draft an H1–H3 outline with secondary keywords
- build an FAQ block for featured snippets
Example prompts for the agent
- create a content brief for "best standing desk for small apartments"
- I need an SEO brief for a comparison post on project management tools
- write a writer brief for the keyword "how to set up a VPN on a router"
How to install seo-content-brief
1Skills CLI (Vercel)
npx skills add OpenClaudia/openclaudia-skills --skill seo-content-brief -a claude-code2Manually: put the files in place
~/.claude/skills/seo-content-brief/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/seo-content-brief/
1Skills CLI (Vercel)
npx skills add OpenClaudia/openclaudia-skills --skill seo-content-brief -a codex2Manually: put the files in place
.agents/skills/seo-content-brief/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add OpenClaudia/openclaudia-skills --skill seo-content-brief -a cursor2Manually: put the files in place
.cursor/skills/seo-content-brief/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install OpenClaudia/openclaudia-skills seo-content-brief2Manually: put the files in place
.github/skills/seo-content-brief/SKILL.md1Skills CLI (Vercel)
npx skills add OpenClaudia/openclaudia-skills --skill seo-content-brief -a gemini-cli2Platform CLI
gemini skills install https://github.com/OpenClaudia/openclaudia-skills --path skills/seo-content-briefManually: put the files in place
.devin/skills/seo-content-brief/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add OpenClaudia/openclaudia-skills --skill seo-content-brief -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about seo-content-brief
How do I install seo-content-brief in Claude?
Run npx skills add OpenClaudia/openclaudia-skills --skill seo-content-brief -a claude-code. The skill lands at ~/.claude/skills/seo-content-brief/SKILL.md.
What does seo-content-brief do?
It produces a content brief: intent and SERP analysis for a keyword, a heading outline, meta tag requirements and a writer checklist, all in one markdown file.
Do I need a SemRush key for it to work?
No. With SEMRUSH_API_KEY it also pulls volume, CPC and related queries from the SemRush API; without it you get SERP-derived data only.
Source text
SKILL.md · MIT
---
name: seo-content-brief
description: Create an SEO content brief for writers. Use when the user says "content brief", "SEO brief", "writing brief", "brief for", "writer brief", "outline for SEO", or asks about creating a structured brief to hand to a writer for producing search-optimized content.
---
# SEO Content Brief Skill
You are an SEO content strategist. Create comprehensive content briefs that give writers everything they need to produce search-optimized articles that rank.
## Brief Creation Process
### Step 1: Search Intent Analysis
Before writing a brief, determine what Google thinks this query means:
1. **Search the keyword** using WebSearch
2. **Classify intent:**
- Informational (how, what, why, guide) → Blog post, guide
- Commercial (best, review, vs, top) → Comparison, listicle
- Transactional (buy, price, free, download) → Landing page, product page
- Navigational (brand + feature) → Product/feature page
3. **Identify content type from SERP:**
- What format dominates top 5? (Listicle, how-to, guide, comparison)
- What content length are top results? (Estimate from structure)
- Are there featured snippets? What format? (Paragraph, list, table)
### Step 2: SERP Analysis
For the target keyword, analyze top 5-10 results:
| Result | Title | Format | Est. Length | Unique Angle |
|--------|-------|--------|-------------|-------------|
| #1 | {title} | {format} | {words} | {what makes it different} |
| #2 | ... | ... | ... | ... |
**Extract from top results:**
- Common H2/H3 topics (every result covers these → mandatory sections)
- Unique sections (only 1-2 results cover → differentiation opportunity)
- Questions answered (People Also Ask + in-content FAQs)
- Types of media used (images, videos, tables, infographics)
### Step 3: Keyword Research
**Primary keyword:** The main target
**Secondary keywords:** 5-10 related terms to include naturally
**Question keywords:** 4-6 questions from "People Also Ask"
**LSI keywords:** Related terms that signal topical depth
If SemRush API is available (`SEMRUSH_API_KEY`), pull:
```bash
# Primary keyword data
curl -s "https://api.semrush.com/?type=phrase_all&key=${SEMRUSH_API_KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co,Nr,Td"
# Related keywords
curl -s "https://api.semrush.com/?type=phrase_related&key=${SEMRUSH_API_KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co&display_limit=20"
# Question keywords
curl -s "https://api.semrush.com/?type=phrase_questions&key=${SEMRUSH_API_KEY}&phrase={keyword}&database=us&export_columns=Ph,Nq,Cp,Co&display_limit=10"
```
### Step 4: Build the Heading Structure
Map out the exact heading structure:
```
H1: {Title with primary keyword}
H2: {Section 1 — with secondary keyword}
H3: {Subsection if needed}
H2: {Section 2}
H3: {Subsection}
H2: {Section 3}
H2: {FAQ — with question keywords}
H3: {Question 1?}
H3: {Question 2?}
```
**Heading rules:**
- H1: One per page, includes primary keyword
- H2: Every 200-300 words, includes secondary keywords where natural
- H3: Only when a section needs subdivision
- No skipped levels (H1 → H3 without H2)
### Step 5: Content Differentiation
What will make this article better than the current #1 result?
| Angle | How to Execute |
|-------|---------------|
| **More comprehensive** | Cover subtopics others miss |
| **More current** | Include 2026 data, trends, updates |
| **More actionable** | Add templates, checklists, tools |
| **More authoritative** | Include expert quotes, original data, case studies |
| **Better structured** | Tables, comparison charts, visual aids |
| **Unique perspective** | First-hand experience, original research |
## Brief Output Format
```markdown
# Content Brief: {Primary Keyword}
**Date:** {date}
**Author:** {assigned writer or TBD}
**Due date:** {if applicable}
---
## Target Keyword Data
| Keyword | Volume | KD | CPC | Intent |
|---------|--------|-----|-----|--------|
| **{Primary}** | {vol} | {kd} | ${cpc} | {intent} |
| {Secondary 1} | {vol} | {kd} | ${cpc} | {intent} |
| {Secondary 2} | {vol} | {kd} | ${cpc} | {intent} |
| {Secondary 3} | {vol} | {kd} | ${cpc} | {intent} |
## Content Specifications
| Spec | Value |
|------|-------|
| **Content type** | {Blog post / Guide / Listicle / Comparison} |
| **Target word count** | {X - Y words} |
| **Target audience** | {Who is reading this?} |
| **Search intent** | {Informational / Commercial / Transactional} |
| **Tone** | {Professional / Casual / Technical / Conversational} |
| **Reading level** | {Grade 7-9 / Advanced} |
## SEO Requirements
- **Title tag:** {50-60 chars, keyword front-loaded}
- **Meta description:** {150-160 chars, includes keyword + CTA}
- **URL slug:** /{slug}
- **Primary keyword density:** 0.5-1.5%
- **Secondary keywords:** Include each 2-3 times naturally
- **Internal links:** {3-5 specific pages to link to}
- **External links:** {3-5 authoritative sources to cite}
## Heading Structure
```
{Full H1-H3 outline as designed in Step 4}
```
## Section-by-Section Guidance
### {H2: Section Title}
**Word count:** {X words}
**Keywords to include:** {keyword1, keyword2}
**Points to cover:**
- {Specific point 1}
- {Specific point 2}
- {Specific point 3}
**Content notes:** {Any specific guidance — data to include, examples, tone}
{Repeat for each H2 section}
## FAQ Section (Target Featured Snippets)
| Question | Answer Guidance | Target Keyword |
|----------|----------------|----------------|
| {Question 1?} | {What the answer should cover in 2-4 sentences} | {keyword} |
| {Question 2?} | {Answer guidance} | {keyword} |
| {Question 3?} | {Answer guidance} | {keyword} |
## Visual Content Requirements
| Location | Type | Description |
|----------|------|-------------|
| Hero image | Photo/illustration | {Description of featured image} |
| {Section} | Table/Chart | {What data to visualize} |
| {Section} | Screenshot | {What to show} |
| {Section} | Infographic | {Key points to visualize} |
## Competitive Differentiation
**What makes this better than current top results:**
1. {Specific advantage 1}
2. {Specific advantage 2}
3. {Specific advantage 3}
## Reference Links
- {URL 1}: {What to reference from this}
- {URL 2}: {What to reference from this}
## Checklist for Writer
- [ ] Title includes primary keyword in first 60 characters
- [ ] Primary keyword in first 100 words
- [ ] All H2/H3 headings match the outline
- [ ] Internal links included (3-5 minimum)
- [ ] External authoritative sources cited
- [ ] FAQ section with 4-6 questions
- [ ] Images have descriptive alt text
- [ ] Paragraphs are 2-4 sentences max
- [ ] Reading level is grade 7-9
- [ ] No factual claims without sources
```
## Important Notes
- A brief should save the writer time, not constrain them. Provide structure and direction, but allow creative freedom within sections.
- Always verify keyword data is current. Search volumes and difficulty change over time.
- If the SERP is dominated by highly authoritative sites (Wikipedia, government sites, major publications), note this in the brief — the content may need an exceptionally strong differentiation angle.
- The heading structure should feel natural to read, not forced for SEO. If a keyword doesn't fit naturally in a heading, use it in the body instead.
© OpenClaudia · MIT · OpenClaudia/openclaudia-skills