SEO Content Brief
Create data-driven content briefs via inference.sh CLI.
Quick Start
Requires inference.sh CLI (infsh). Get installation instructions: npx skills add inference-sh/skills@agent-tools
infsh login
# Research target keyword
infsh app run tavily/search-assistant --input '{
"query": "best project management tools for small teams 2024"
}'
# Analyze top-ranking content
infsh app run exa/search --input '{
"query": "project management tools small teams comparison guide"
}'
Content Brief Template
Every brief should answer these questions before writing begins:
# Content Brief: [Working Title]
## Target
- **Primary keyword:** [exact keyword]
- **Secondary keywords:** [3-5 related terms]
- **Search intent:** [informational / commercial / transactional / navigational]
- **Target word count:** [X,XXX words]
- **Target URL:** /blog/[slug]
## Search Intent Analysis
- What is the searcher trying to accomplish?
- What format do top results use? (listicle, guide, comparison, tutorial)
- What questions need answering?
## Outline
H1: [Title with primary keyword]
H2: [Section 1]
H3: [Subsection]
H2: [Section 2]
...
## Competitors to Beat
1. [URL] — [word count] — [what they do well] — [gap/weakness]
2. [URL] — [word count] — [what they do well] — [gap/weakness]
3. [URL] — [word count] — [what they do well] — [gap/weakness]
## Unique Angle
What makes this piece different/better than what already ranks?
## Internal Links
- Link TO: [existing pages to link to from this article]
- Link FROM: [existing pages that should link to this new article]
Search Intent Types
| Intent |
What Searcher Wants |
Content Format |
Example Query |
| Informational |
Learn something |
Guide, tutorial, explainer |
"what is CI/CD" |
| Commercial |
Compare before buying |
Comparison, listicle, review |
"best CI/CD tools 2024" |
| Transactional |
Buy/sign up |
Product page, pricing page |
"GitHub Actions pricing" |
| Navigational |
Find a specific page |
— (don't target these) |
"GitHub login" |
Match format to intent. If top 10 results are all listicles, write a listicle. If they're all tutorials, write a tutorial. Fighting the SERP format loses.
SERP Analysis Process
# Step 1: See what currently ranks
infsh app run tavily/search-assistant --input '{
"query": "[your target keyword]"
}'
# Step 2: Analyze top-ranking content
infsh app run tavily/extract --input '{
"urls": ["https://top-result-1.com/article", "https://top-result-2.com/article"]
}'
# Step 3: Find related questions (People Also Ask)
infsh app run tavily/search-assistant --input '{
"query": "[keyword] questions people ask FAQ"
}'
# Step 4: Find content gaps
infsh app run exa/search --input '{
"query": "[keyword] [subtopic competitors miss]"
}'
What to Extract from Top Results
| Data Point |
Why |
| Word count |
Sets your minimum (match or exceed top 3) |
| Heading structure |
Shows what Google considers complete coverage |
| Topics covered |
Every topic they cover, you must cover |
| Topics missed |
Your opportunity to be more comprehensive |
| Content format |
Listicle, guide, tutorial, comparison |
| Media used |
Images, videos, tables, infographics |
| Internal/external links |
Reference quality signals |
Keyword Research
Keyword Metrics
| Metric |
What It Means |
Target |
| Search volume |
Monthly searches |
Depends on niche (100+ for long-tail) |
| Keyword difficulty |
Competition level |
< 30 for new sites, < 50 for established |
| CPC |
What advertisers pay |
Higher CPC = more commercial value |
| Search intent |
What users want |
Must match your content type |
Finding Keywords
# Seed keyword research
infsh app run tavily/search-assistant --input '{
"query": "project management software long tail keywords related searches"
}'
# Find question-based keywords
infsh app run exa/search --input '{
"query": "questions about project management tools for startups"
}'
# Competitor keyword analysis
infsh app run tavily/search-assistant --input '{
"query": "site:competitor.com/blog top performing pages topics"
}'
Keyword Clustering
Group related keywords into one piece of content:
Primary: "best project management tools for small teams"
Cluster:
- "project management software small business"
- "project management tools comparison"
- "simple project management app"
- "project management for startups"
- "affordable project management software"
One page per keyword cluster. Don't create separate pages for each variation — that's keyword cannibalization.
Heading Structure
Rules
| Rule |
Why |
| One H1 per page |
SEO standard, contains primary keyword |
| H2s = main sections |
Each should target a secondary keyword or question |
| H3s = subsections |
Break up long H2 sections |
| Primary keyword in H1 |
Direct ranking signal |
| Secondary keywords in H2s |
Topical coverage signal |
| Question format for some H2s |
Targets "People Also Ask" |
| Logical hierarchy |
Never skip levels (H1 → H3 without H2) |
Example Structure
H1: Best Project Management Tools for Small Teams (2025)
H2: How We Evaluated These Tools
H2: Top 10 Project Management Tools Compared
H3: 1. Tool A — Best for [use case]
H3: 2. Tool B — Best for [use case]
...
H2: Feature Comparison Table
H2: How to Choose the Right Tool for Your Team
H3: Team Size Considerations
H3: Budget Considerations
H2: Frequently Asked Questions
H3: What is the easiest project management tool?
H3: Do small teams need project management software?
H2: Conclusion
Word Count Targets
| Content Type |
Word Count |
When |
| Short-form blog |
800-1,200 |
News, updates, opinions |
| Standard blog |
1,500-2,000 |
How-tos, tutorials |
| Long-form guide |
2,500-4,000 |
Comprehensive guides, comparisons |
| Pillar content |
4,000-7,000 |
Definitive guides, hub pages |
| Glossary/definition |
300-800 |
Quick reference terms |
Rule: match or exceed the average word count of the top 3 ranking results. Don't pad — every word should add value.
On-Page SEO Checklist
| Element |
Rule |
| Title tag |
Primary keyword + compelling hook, 50-60 characters |
| Meta description |
Includes keyword, 150-160 characters, includes CTA |
| URL slug |
Short, keyword-rich: /best-project-management-tools |
| H1 |
Primary keyword, matches search intent |
| First 100 words |
Include primary keyword naturally |
| Image alt text |
Descriptive, includes keyword where natural |
| Internal links |
3-5 links to related content |
| External links |
2-3 authoritative sources |
| Schema markup |
FAQ, HowTo, or Article schema where applicable |
Content Differentiation
Unique Angles
| Angle |
Example |
| Original data |
"We surveyed 500 PMs — here's what they use" |
| Expert quotes |
Interview practitioners for original insights |
| Real examples |
Screenshots, case studies, not just descriptions |
| More comprehensive |
Cover subtopics competitors skip |
| More current |
Updated data, newer tools, recent changes |
| Better visuals |
Comparison tables, infographics, decision trees |
# Generate comparison infographic
infsh app run infsh/html-to-image --input '{
"html": "<div style=\"width:1200px;height:800px;background:white;padding:40px;font-family:system-ui\"><h2 style=\"font-size:28px;color:#1e293b;text-align:center;margin-bottom:30px\">Project Management Tools Comparison</h2><table style=\"width:100%;border-collapse:collapse;font-size:16px\"><tr style=\"background:#f1f5f9\"><th style=\"padding:12px;text-align:left;border-bottom:2px solid #cbd5e1\">Feature</th><th style=\"padding:12px;text-align:center;border-bottom:2px solid #cbd5e1\">Tool A</th><th style=\"padding:12px;text-align:center;border-bottom:2px solid #cbd5e1\">Tool B</th><th style=\"padding:12px;text-align:center;border-bottom:2px solid #cbd5e1\">Tool C</th></tr><tr><td style=\"padding:12px;border-bottom:1px solid #e2e8f0\">Free tier</td><td style=\"padding:12px;text-align:center;border-bottom:1px solid #e2e8f0\">✅</td><td style=\"padding:12px;text-align:center;border-bottom:1px solid #e2e8f0\">✅</td><td style=\"padding:12px;text-align:center;border-bottom:1px solid #e2e8f0\">❌</td></tr></table></div>"
}'
Internal Linking Strategy
| Type |
Purpose |
| Hub → Spoke |
Pillar page links to all subtopic articles |
| Spoke → Hub |
Subtopic articles link back to pillar page |
| Spoke → Spoke |
Related articles cross-link to each other |
| Contextual |
Natural in-text links where topic is mentioned |
Rules
- 3-5 internal links minimum per article
- Anchor text should be descriptive (not "click here")
- Link to relevant pages, not random ones
- Update old articles to link to new ones
- Most important pages should have the most internal links
Common Mistakes
| Mistake |
Problem |
Fix |
| No SERP analysis |
Writing blind, wrong format |
Always analyze top 3-5 before writing |
| Wrong intent match |
Guide when they want comparison, or vice versa |
Match SERP format exactly |
| Keyword stuffing |
Penalized, reads poorly |
Use naturally, 1-2% density max |
| Ignoring "People Also Ask" |
Missing easy ranking opportunities |
Answer PAA questions in your content |
| Too short |
Can't compete with comprehensive results |
Match or exceed top 3 word count |
| No unique angle |
Just another "me too" article |
Original data, expert quotes, better visuals |
| Keyword cannibalization |
Multiple pages competing |
One page per keyword cluster |
| No internal links |
Wasted link equity, poor site structure |
3-5 internal links per article |
| Missing meta description |
Google generates one (often poorly) |
Write compelling meta with keyword + CTA |
Related Skills
npx skills add inference-sh/skills@seo
npx skills add inference-sh/skills@technical-blog-writing
npx skills add inference-sh/skills@web-search
Browse all apps: infsh app list
1---2name: seo-content-brief3description: SEO content brief creation with keyword research, search intent analysis, and content structure. Covers SERP analysis, heading hierarchy, word count targets, and internal linking strategy. Use for: content briefs, SEO writing, blog strategy, content planning, keyword targeting. Triggers: seo content brief, content brief, seo brief, keyword research, search intent, content strategy, blog brief, seo writing, content planning, keyword targeting, serp analysis, content outline, seo article, blog seo4---56# SEO Content Brief78Create data-driven content briefs via [inference.sh](https://inference.sh) CLI.910## Quick Start1112> Requires inference.sh CLI (`infsh`). Get installation instructions: `npx skills add inference-sh/skills@agent-tools`1314```bash15infsh login1617# Research target keyword18infsh app run tavily/search-assistant --input '{19 "query": "best project management tools for small teams 2024"20}'2122# Analyze top-ranking content23infsh app run exa/search --input '{24 "query": "project management tools small teams comparison guide"25}'26```272829## Content Brief Template3031Every brief should answer these questions before writing begins:3233```markdown34# Content Brief: [Working Title]3536## Target37- **Primary keyword:** [exact keyword]38- **Secondary keywords:** [3-5 related terms]39- **Search intent:** [informational / commercial / transactional / navigational]40- **Target word count:** [X,XXX words]41- **Target URL:** /blog/[slug]4243## Search Intent Analysis44- What is the searcher trying to accomplish?45- What format do top results use? (listicle, guide, comparison, tutorial)46- What questions need answering?4748## Outline49H1: [Title with primary keyword]50 H2: [Section 1]51 H3: [Subsection]52 H2: [Section 2]53 ...5455## Competitors to Beat561. [URL] — [word count] — [what they do well] — [gap/weakness]572. [URL] — [word count] — [what they do well] — [gap/weakness]583. [URL] — [word count] — [what they do well] — [gap/weakness]5960## Unique Angle61What makes this piece different/better than what already ranks?6263## Internal Links64- Link TO: [existing pages to link to from this article]65- Link FROM: [existing pages that should link to this new article]66```6768## Search Intent Types6970| Intent | What Searcher Wants | Content Format | Example Query |71|--------|-------------------|----------------|--------------|72| **Informational** | Learn something | Guide, tutorial, explainer | "what is CI/CD" |73| **Commercial** | Compare before buying | Comparison, listicle, review | "best CI/CD tools 2024" |74| **Transactional** | Buy/sign up | Product page, pricing page | "GitHub Actions pricing" |75| **Navigational** | Find a specific page | — (don't target these) | "GitHub login" |7677**Match format to intent.** If top 10 results are all listicles, write a listicle. If they're all tutorials, write a tutorial. Fighting the SERP format loses.7879## SERP Analysis Process8081```bash82# Step 1: See what currently ranks83infsh app run tavily/search-assistant --input '{84 "query": "[your target keyword]"85}'8687# Step 2: Analyze top-ranking content88infsh app run tavily/extract --input '{89 "urls": ["https://top-result-1.com/article", "https://top-result-2.com/article"]90}'9192# Step 3: Find related questions (People Also Ask)93infsh app run tavily/search-assistant --input '{94 "query": "[keyword] questions people ask FAQ"95}'9697# Step 4: Find content gaps98infsh app run exa/search --input '{99 "query": "[keyword] [subtopic competitors miss]"100}'101```102103### What to Extract from Top Results104105| Data Point | Why |106|-----------|-----|107| **Word count** | Sets your minimum (match or exceed top 3) |108| **Heading structure** | Shows what Google considers complete coverage |109| **Topics covered** | Every topic they cover, you must cover |110| **Topics missed** | Your opportunity to be more comprehensive |111| **Content format** | Listicle, guide, tutorial, comparison |112| **Media used** | Images, videos, tables, infographics |113| **Internal/external links** | Reference quality signals |114115## Keyword Research116117### Keyword Metrics118119| Metric | What It Means | Target |120|--------|--------------|--------|121| **Search volume** | Monthly searches | Depends on niche (100+ for long-tail) |122| **Keyword difficulty** | Competition level | < 30 for new sites, < 50 for established |123| **CPC** | What advertisers pay | Higher CPC = more commercial value |124| **Search intent** | What users want | Must match your content type |125126### Finding Keywords127128```bash129# Seed keyword research130infsh app run tavily/search-assistant --input '{131 "query": "project management software long tail keywords related searches"132}'133134# Find question-based keywords135infsh app run exa/search --input '{136 "query": "questions about project management tools for startups"137}'138139# Competitor keyword analysis140infsh app run tavily/search-assistant --input '{141 "query": "site:competitor.com/blog top performing pages topics"142}'143```144145### Keyword Clustering146147Group related keywords into one piece of content:148149```150Primary: "best project management tools for small teams"151Cluster:152 - "project management software small business"153 - "project management tools comparison"154 - "simple project management app"155 - "project management for startups"156 - "affordable project management software"157```158159**One page per keyword cluster.** Don't create separate pages for each variation — that's keyword cannibalization.160161## Heading Structure162163### Rules164165| Rule | Why |166|------|-----|167| One H1 per page | SEO standard, contains primary keyword |168| H2s = main sections | Each should target a secondary keyword or question |169| H3s = subsections | Break up long H2 sections |170| Primary keyword in H1 | Direct ranking signal |171| Secondary keywords in H2s | Topical coverage signal |172| Question format for some H2s | Targets "People Also Ask" |173| Logical hierarchy | Never skip levels (H1 → H3 without H2) |174175### Example Structure176177```178H1: Best Project Management Tools for Small Teams (2025)179 H2: How We Evaluated These Tools180 H2: Top 10 Project Management Tools Compared181 H3: 1. Tool A — Best for [use case]182 H3: 2. Tool B — Best for [use case]183 ...184 H2: Feature Comparison Table185 H2: How to Choose the Right Tool for Your Team186 H3: Team Size Considerations187 H3: Budget Considerations188 H2: Frequently Asked Questions189 H3: What is the easiest project management tool?190 H3: Do small teams need project management software?191 H2: Conclusion192```193194## Word Count Targets195196| Content Type | Word Count | When |197|-------------|-----------|------|198| Short-form blog | 800-1,200 | News, updates, opinions |199| Standard blog | 1,500-2,000 | How-tos, tutorials |200| Long-form guide | 2,500-4,000 | Comprehensive guides, comparisons |201| Pillar content | 4,000-7,000 | Definitive guides, hub pages |202| Glossary/definition | 300-800 | Quick reference terms |203204**Rule: match or exceed the average word count of the top 3 ranking results.** Don't pad — every word should add value.205206## On-Page SEO Checklist207208| Element | Rule |209|---------|------|210| **Title tag** | Primary keyword + compelling hook, 50-60 characters |211| **Meta description** | Includes keyword, 150-160 characters, includes CTA |212| **URL slug** | Short, keyword-rich: `/best-project-management-tools` |213| **H1** | Primary keyword, matches search intent |214| **First 100 words** | Include primary keyword naturally |215| **Image alt text** | Descriptive, includes keyword where natural |216| **Internal links** | 3-5 links to related content |217| **External links** | 2-3 authoritative sources |218| **Schema markup** | FAQ, HowTo, or Article schema where applicable |219220## Content Differentiation221222### Unique Angles223224| Angle | Example |225|-------|---------|226| **Original data** | "We surveyed 500 PMs — here's what they use" |227| **Expert quotes** | Interview practitioners for original insights |228| **Real examples** | Screenshots, case studies, not just descriptions |229| **More comprehensive** | Cover subtopics competitors skip |230| **More current** | Updated data, newer tools, recent changes |231| **Better visuals** | Comparison tables, infographics, decision trees |232233```bash234# Generate comparison infographic235infsh app run infsh/html-to-image --input '{236 "html": "<div style=\"width:1200px;height:800px;background:white;padding:40px;font-family:system-ui\"><h2 style=\"font-size:28px;color:#1e293b;text-align:center;margin-bottom:30px\">Project Management Tools Comparison</h2><table style=\"width:100%;border-collapse:collapse;font-size:16px\"><tr style=\"background:#f1f5f9\"><th style=\"padding:12px;text-align:left;border-bottom:2px solid #cbd5e1\">Feature</th><th style=\"padding:12px;text-align:center;border-bottom:2px solid #cbd5e1\">Tool A</th><th style=\"padding:12px;text-align:center;border-bottom:2px solid #cbd5e1\">Tool B</th><th style=\"padding:12px;text-align:center;border-bottom:2px solid #cbd5e1\">Tool C</th></tr><tr><td style=\"padding:12px;border-bottom:1px solid #e2e8f0\">Free tier</td><td style=\"padding:12px;text-align:center;border-bottom:1px solid #e2e8f0\">✅</td><td style=\"padding:12px;text-align:center;border-bottom:1px solid #e2e8f0\">✅</td><td style=\"padding:12px;text-align:center;border-bottom:1px solid #e2e8f0\">❌</td></tr></table></div>"237}'238```239240## Internal Linking Strategy241242| Type | Purpose |243|------|---------|244| **Hub → Spoke** | Pillar page links to all subtopic articles |245| **Spoke → Hub** | Subtopic articles link back to pillar page |246| **Spoke → Spoke** | Related articles cross-link to each other |247| **Contextual** | Natural in-text links where topic is mentioned |248249### Rules250251- 3-5 internal links minimum per article252- Anchor text should be descriptive (not "click here")253- Link to relevant pages, not random ones254- Update old articles to link to new ones255- Most important pages should have the most internal links256257## Common Mistakes258259| Mistake | Problem | Fix |260|---------|---------|-----|261| No SERP analysis | Writing blind, wrong format | Always analyze top 3-5 before writing |262| Wrong intent match | Guide when they want comparison, or vice versa | Match SERP format exactly |263| Keyword stuffing | Penalized, reads poorly | Use naturally, 1-2% density max |264| Ignoring "People Also Ask" | Missing easy ranking opportunities | Answer PAA questions in your content |265| Too short | Can't compete with comprehensive results | Match or exceed top 3 word count |266| No unique angle | Just another "me too" article | Original data, expert quotes, better visuals |267| Keyword cannibalization | Multiple pages competing | One page per keyword cluster |268| No internal links | Wasted link equity, poor site structure | 3-5 internal links per article |269| Missing meta description | Google generates one (often poorly) | Write compelling meta with keyword + CTA |270271## Related Skills272273```bash274npx skills add inference-sh/skills@seo275npx skills add inference-sh/skills@technical-blog-writing276npx skills add inference-sh/skills@web-search277```278279Browse all apps: `infsh app list`280