SEO & content marketing command suite for keyword research, content audits, SERP analysis, technical SEO and content strategy automation
---
name: seo-content-marketing-claude-code-skill-suite
description: SEO & content marketing command suite for keyword research, content audits, SERP analysis, technical SEO and content strategy automation
triggers:
- "run an SEO audit on this site"
- "do keyword research for this topic"
- "analyze competitor content gaps"
- "create a content brief for SEO"
- "check technical SEO issues"
- "build a content calendar based on search demand"
- "find backlink opportunities"
- "audit page speed for SEO impact"
---
# π SEO & Content Marketing Skills Suite
> Skill by [ara.so](https://ara.so) β Marketing Skills collection.
This skill suite extends Claude Code with **10 specialized SEO and content marketing commands** and **5 multi-step workflows** for comprehensive search optimization and content strategy. Built on the `anthropics/claude-code` framework, it provides structured, actionable SEO analysis with visual progress tracking and prioritized recommendations.
## What This Project Does
The SEO & Content Marketing Skills Suite automates:
- **Keyword research** with clustering, intent mapping and opportunity scoring
- **Content audits** detecting duplication, cannibalization and quality gaps
- **Technical SEO** analysis (crawl budget, Core Web Vitals, schema, indexability)
- **Competitor analysis** for backlink gaps, topic gaps and SERP features
- **Content optimization** with AI-generated briefs, outlines and NLP term extraction
- **Rank tracking** with volatility alerts and CTR optimization
- **Link prospecting** filtered by authority metrics
- **Local SEO** audits for NAP consistency and GBP optimization
All commands return structured output with progress bars, findings tables, action checklists and next-step suggestions.
## Installation
### Clone the Skill Suite
```bash
# Navigate to Claude Code skills directory
cd ~/.claude/skills/
# Clone this repository
git clone https://github.com/PrefectFlourish22/r18-anthropics-claude-code-seo.git seo-content-marketing/
# Or manually copy
cp -r /path/to/r18-anthropics-claude-code-seo ~/.claude/skills/seo-content-marketing/
```
### Register with Claude Code
In a Claude Code session:
```bash
/read ~/.claude/skills/seo-content-marketing/SKILL.md
```
Or add to your `~/.claude/config.yml`:
```yaml
skills:
- path: ~/.claude/skills/seo-content-marketing
enabled: true
```
## Core Commands
### 1. Keyword Research
Deep keyword clustering with intent mapping and opportunity scoring.
```bash
/keyword-research "saas marketing automation"
```
**Options:**
```bash
/keyword-research <seed_keyword> \
--volume-min 100 \
--difficulty-max 60 \
--output json
```
**Output Structure:**
```
βββββββββββββββββββββββββββ¬βββββββββ¬βββββββββ¬βββββββββββ¬ββββββββββ
β Keyword β Volume β Diff β Intent β Opportunity β
βββββββββββββββββββββββββββΌβββββββββΌβββββββββΌβββββββββββΌββββββββββ€
β marketing automation β 12 100 β 58 β Info β 8.2 β
β email automation tools β 4 800 β 42 β Comm β 9.1 β
β best crm for startups β 2 900 β 51 β Comm β 7.8 β
βββββββββββββββββββββββββββ΄βββββββββ΄βββββββββ΄βββββββββββ΄ββββββββββ
```
### 2. Content Audit
Full-site content quality scoring with duplication and cannibalization detection.
```bash
/content-audit https://example.com --scope full
```
**Flags:**
- `--scope full|sample` β crawl entire site or sample 100 pages
- `--output md|json|csv` β export format
- `--check-duplicates` β include content similarity matrix
**Example Output:**
```
Content Quality Distribution:
π’ Excellent (80-100): 23 pages (15%)
π‘ Good (60-79): 67 pages (44%)
π Fair (40-59): 48 pages (32%)
π΄ Poor (0-39): 14 pages (9%)
Cannibalization Issues:
"seo tools" β 4 pages competing (consolidate recommended)
"link building" β 3 pages competing
```
### 3. Technical SEO Audit
Comprehensive technical SEO check covering crawlability, indexability, Core Web Vitals and schema.
```bash
/technical-seo https://example.com
```
**Configuration:**
Create `.seo-config.json` in project root:
```json
{
"crawl_depth": 5,
"user_agent": "SEO-Audit-Bot/1.0",
"check_vitals": true,
"lighthouse_categories": ["performance", "seo", "accessibility"],
"schema_validation": true
}
```
**Output:**
```
Technical SEO Score: 78/100
Critical Issues (π΄):
- 47 pages blocked by robots.txt
- 12 pages with 4xx status
- Missing XML sitemap
Warnings (π ):
- 203 pages missing meta descriptions
- 89 pages with slow LCP (>2.5s)
Passed (π’):
- HTTPS enabled
- Mobile-friendly
- Structured data present
```
### 4. Competitor Gap Analysis
Identify backlink gaps, topic gaps and featured snippet opportunities.
```bash
/competitor-gap \
--target https://yoursite.com \
--competitors https://competitor1.com,https://competitor2.com
```
**Example Usage:**
```bash
/competitor-gap \
--target $YOUR_DOMAIN \
--competitors $COMPETITOR_DOMAINS \
--backlink-min-dr 40 \
--output md
```
**Output:**
```
Backlink Gap Analysis:
Competitor 1 has 847 linking domains you don't
Top opportunities:
- industry-blog.com (DR: 72, relevant: yes)
- tech-news-site.com (DR: 68, relevant: yes)
Topic Gap:
Missing content on:
- "automation workflow examples" (competitor ranks #3, vol: 1.2k)
- "crm integration guide" (competitor ranks #5, vol: 890)
```
### 5. Content Brief Generation
AI-generated SEO content brief with outline, NLP terms and word count targets.
```bash
/content-brief "best project management tools for remote teams"
```
**Output Structure:**
```markdown
# Content Brief: Best Project Management Tools for Remote Teams
Target Keyword: best project management tools for remote teams
Search Volume: 3,200/mo
Keyword Difficulty: 54
Intent: Commercial Investigation
## Recommended Word Count
2,800-3,200 words (competitor avg: 2,950)
## Outline
1. Introduction (200 words)
2. Top 10 Project Management Tools (1,800 words)
- Tool comparison table
- Feature breakdown
3. Selection Criteria (400 words)
4. Implementation Tips (300 words)
5. FAQ (300 words)
## NLP Terms to Include
- asynchronous collaboration
- task dependencies
- gantt charts
- time tracking
- integrations
- mobile app
- free tier
## Competitors to Beat
1. monday.com/blog/... (3,100 words, DA: 82)
2. asana.com/resources/... (2,600 words, DA: 88)
```
### 6. SERP Monitoring
Daily rank tracking with volatility alerts and CTR optimization.
```bash
/serp-monitor \
--keywords keywords.csv \
--location "United States" \
--device desktop
```
**keywords.csv format:**
```csv
keyword,target_url
"saas analytics",https://example.com/analytics
"product metrics",https://example.com/metrics
```
**Environment Variables:**
```bash
export SERP_API_KEY=your_serp_api_key
export SERP_CHECK_FREQUENCY=daily
export SERP_ALERT_THRESHOLD=5 # positions
```
### 7. Link Prospecting
Quality backlink prospect discovery with authority filters.
```bash
/link-prospecting \
--topic "content marketing" \
--min-dr 30 \
--max-results 50 \
--export prospects.csv
```
**Output:**
```
50 Link Prospects Found
Top Prospects:
ββββββββββββββββββββββββββ¬ββββββ¬ββββββ¬βββββββββββββββ
β Domain β DR β Rel β Contact β
ββββββββββββββββββββββββββΌββββββΌββββββΌβββββββββββββββ€
β marketing-blog.com β 68 β Highβ editor@... β
β industry-news.com β 72 β Med β submissions@...β
β podcast-host.com β 54 β Highβ guest@... β
ββββββββββββββββββββββββββ΄ββββββ΄ββββββ΄βββββββββββββββ
Outreach template saved to: outreach-template.md
```
### 8. Page Speed SEO Analysis
Render-blocking resource detection with ranking impact mapping.
```bash
/page-speed-seo https://example.com/page
```
**Output:**
```
Performance Score: 67/100
SEO Impact: Medium (π )
Core Web Vitals:
LCP: 3.2s (π Needs Improvement)
FID: 85ms (π’ Good)
CLS: 0.08 (π’ Good)
Ranking Impact Analysis:
- Slow LCP may reduce mobile rankings by ~5-10 positions
- Above-fold content delayed by 1.2s
Fixes (prioritized):
1. Defer non-critical CSS (impact: -1.1s LCP)
2. Optimize hero image (impact: -0.7s LCP)
3. Remove unused JavaScript (impact: -0.3s LCP)
```
### 9. Local SEO Audit
NAP consistency check, Google Business Profile optimization and citation audit.
```bash
/local-seo \
--business-name "Acme Coffee Shop" \
--location "San Francisco, CA"
```
**Configuration in `.seo-config.json`:**
```json
{
"local_seo": {
"business_name": "Acme Coffee Shop",
"address": "123 Main St, San Francisco, CA 94102",
"phone": "+1-415-555-0123",
"citation_sources": [
"yelp.com",
"yellowpages.com",
"foursquare.com"
]
}
}
```
### 10. Content Calendar Generation
Data-driven editorial calendar from search demand and seasonality.
```bash
/content-calendar \
--topics topics.txt \
--months 3 \
--output calendar.csv
```
**topics.txt:**
```
email marketing
social media strategy
seo best practices
content creation
```
**Output (calendar.csv):**
```csv
week,topic,keyword,volume,trend,priority
2026-W20,"Email Marketing Automation","email automation tools",4800,rising,high
2026-W21,"Social Media Calendar","social media content calendar",2100,stable,medium
2026-W22,"SEO for Beginners","seo basics tutorial",3400,rising,high
```
## Multi-Step Workflows
### Full SEO Sprint
12-step comprehensive SEO process:
```bash
/workflows:full-seo-sprint https://example.com --scope full
```
**Steps:**
1. Technical audit
2. Content audit
3. Keyword research
4. Competitor analysis
5. Content gap identification
6. Link profile analysis
7. On-page optimization recommendations
8. Content brief generation
9. Internal linking suggestions
10. Schema markup recommendations
11. Priority action plan
12. Implementation roadmap
### Launch SEO
Pre-launch SEO validation:
```bash
/workflows:launch-seo https://staging.example.com
```
**Checklist:**
- β Canonical tags configured
- β Hreflang tags (if multi-language)
- β XML sitemap generated and submitted
- β Robots.txt configured
- β 404 page created
- β Redirects mapped
- β Google Search Console verified
- β Google Analytics installed
- β Core Web Vitals passing
- β Mobile-friendly test passed
### Content Refresh
Identify and refresh underperforming content:
```bash
/workflows:content-refresh --min-rank 11 --max-rank 30
```
**Process:**
1. Find pages ranking positions 11-30
2. Analyze SERP competition
3. Identify content gaps
4. Generate refresh brief
5. Create optimization checklist
6. Schedule re-publication
### Authority Building
End-to-end link building campaign:
```bash
/workflows:authority-building \
--topic "saas analytics" \
--duration 90days \
--target-links 20
```
**Stages:**
1. Link prospect research
2. Contact discovery
3. Outreach template generation
4. Personalization guide
5. Follow-up sequence
6. Tracking spreadsheet creation
7. Progress monitoring
### AI Content Pipeline
Keyword β brief β draft β optimize β publish:
```bash
/workflows:ai-content-pipeline \
--keywords keywords.csv \
--auto-draft true \
--review-required true
```
**Environment Variables:**
```bash
export OPENAI_API_KEY=your_openai_key
export CONTENT_OUTPUT_DIR=./content/drafts
export REVIEW_WEBHOOK_URL=https://your-cms.com/review
```
## Common Patterns
### Batch Keyword Research
```bash
# Process multiple seed keywords
cat seeds.txt | while read keyword; do
/keyword-research "$keyword" --output json >> results.jsonl
done
```
### Scheduled SERP Monitoring
```bash
# Add to crontab for daily checks
0 9 * * * cd /path/to/project && /claude-code /serp-monitor --keywords keywords.csv --alert-email $ALERT_EMAIL
```
### Content Audit with Export
```bash
# Full audit with CSV export for spreadsheet analysis
/content-audit https://example.com \
--scope full \
--output csv \
--export-path ./audit-results.csv
```
### Competitor Tracking Loop
```bash
# Monitor competitor changes weekly
/competitor-gap \
--target $YOUR_DOMAIN \
--competitors $COMPETITORS \
--diff-since 7d \
--notify slack
```
## Configuration Reference
### Global Config (`~/.claude/skills/seo-content-marketing/config.yml`)
```yaml
seo_tools:
serp_api: serpapi # serpapi, brightdata, custom
backlink_api: ahrefs # ahrefs, semrush, moz
lighthouse_api: pagespeed_insights
defaults:
crawl_delay: 1.0 # seconds
max_concurrent: 5
user_agent: "SEO-Audit-Bot/1.0 (+https://example.com/bot)"
respect_robots_txt: true
output:
default_format: md # md, json, csv
progress_bars: true
color: true
notifications:
slack_webhook: ${SLACK_WEBHOOK_URL}
email_alerts: ${ALERT_EMAIL}
alert_on: [critical, warnings]
```
### Project Config (`.seo-config.json`)
```json
{
"target_domain": "https://example.com",
"competitors": [
"https://competitor1.com",
"https://competitor2.com"
],
"keyword_targets": {
"primary": ["saas analytics", "product metrics"],
"secondary": ["user tracking", "dashboard software"]
},
"technical_seo": {
"crawl_depth": 5,
"check_vitals": true,
"lighthouse_threshold": 80
},
"content_audit": {
"min_word_count": 800,
"check_duplicates": true,
"quality_threshold": 60
}
}
```
## Troubleshooting
### "API rate limit exceeded"
Most SERP/backlink APIs have rate limits. Configure delays:
```yaml
# config.yml
seo_tools:
rate_limit_delay: 2.0 # seconds between requests
```
Or use environment variable:
```bash
export SEO_API_DELAY=2.0
```
### "Crawl blocked by robots.txt"
Check your user agent configuration:
```yaml
defaults:
respect_robots_txt: false # Use carefully, only for owned sites
```
Or verify robots.txt allows your bot:
```
User-agent: SEO-Audit-Bot
Allow: /
```
### "Lighthouse timeout"
Increase timeout for slow pages:
```json
{
"technical_seo": {
"lighthouse_timeout": 60000
}
}
```
### "Missing API credentials"
Set required environment variables:
```bash
export SERP_API_KEY=your_key
export AHREFS_API_KEY=your_key
export OPENAI_API_KEY=your_key
```
Check which APIs are needed:
```bash
/check-config --show-required-keys
```
### "Content audit incomplete"
Large sites may timeout. Use sampling:
```bash
/content-audit https://example.com --scope sample --max-pages 100
```
Or increase crawl timeout:
```json
{
"content_audit": {
"timeout": 300,
"max_pages": 1000
}
}
```
## Code Examples
### Custom Keyword Filter Script
```python
# filter_keywords.py
import json
import sys
min_volume = int(sys.argv[1])
max_difficulty = int(sys.argv[2])
for line in sys.stdin:
kw = json.loads(line)
if kw['volume'] >= min_volume and kw['difficulty'] <= max_difficulty:
print(json.dumps(kw))
```
Usage:
```bash
/keyword-research "saas tools" --output jsonl | python filter_keywords.py 500 50
```
### Automated Content Brief Generation
```bash
#!/bin/bash
# generate_briefs.sh
KEYWORDS_FILE=$1
while IFS= read -r keyword; do
echo "Generating brief for: $keyword"
/content-brief "$keyword" --output md > "briefs/${keyword// /_}.md"
sleep 2
done < "$KEYWORDS_FILE"
```
### Integration with CI/CD
```yaml
# .github/workflows/seo-check.yml
name: SEO Check
on:
pull_request:
paths:
- 'content/**'
jobs:
seo-audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run SEO Audit
env:
SERP_API_KEY: ${{ secrets.SERP_API_KEY }}
run: |
/technical-seo https://preview.example.com \
--output json > seo-report.json
- name: Comment PR
uses: actions/github-script@v6
with:
script: |
const report = require('./seo-report.json');
github.rest.issues.createComment({
issue_number: context.issue.number,
body: `SEO Score: ${report.score}/100`
});
```
## API Reference
### Command-Line Interface
All commands follow this pattern:
```bash
/<command> <target> [options]
```
**Global Options:**
- `--output <format>` β md, json, csv, jsonl
- `--export-path <path>` β save results to file
- `--config <path>` β use custom config file
- `--verbose` β detailed logging
- `--quiet` β minimal output
- `--no-progress` β disable progress bars
### Programmatic Usage
If extending with custom scripts:
```javascript
// node example
const { runCommand } = require('@claude-skills/seo-marketing');
const results = await runCommand('keyword-research', {
seed: 'content marketing',
volumeMin: 1000,
difficultyMax: 50
});
console.log(results.keywords);
```
```python
# python example
from claude_skills.seo_marketing import SEOAudit
audit = SEOAudit(
target='https://example.com',
config_path='.seo-config.json'
)
results = audit.run_technical_audit()
print(results.critical_issues)
```
## Best Practices
1. **Always set realistic crawl delays** to avoid overwhelming target servers
2. **Use environment variables** for API keys, never commit them
3. **Start with sample audits** on large sites before running full crawls
4. **Export results** to CSV/JSON for further analysis in spreadsheets
5. **Schedule SERP monitoring** via cron for consistent tracking
6. **Combine commands** in workflows for comprehensive analysis
7. **Review generated briefs** before content creation β AI is a starting point
8. **Track changes over time** by keeping historical exports
## Additional Resources
- **Project Repository**: https://github.com/PrefectFlourish22/r18-anthropics-claude-code-seo
- **Claude Code Documentation**: https://github.com/anthropics/claude-code
- **SEO Best Practices**: https://developers.google.com/search/docs
- **Core Web Vitals Guide**: https://web.dev/vitals/
---
**License**: MIT
**Maintained by**: PrefectFlourish22
**Based on**: anthropics/claude-code
Creator's repository Β· aradotso/marketing-skills