๐ SEO & Content Marketing Skills Suite
Skill by 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
# 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:
/read ~/.claude/skills/seo-content-marketing/SKILL.md
Or add to your ~/.claude/config.yml:
skills:
- path: ~/.claude/skills/seo-content-marketing
enabled: true
Core Commands
1. Keyword Research
Deep keyword clustering with intent mapping and opportunity scoring.
/keyword-research "saas marketing automation"
Options:
/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.
/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.
/technical-seo https://example.com
Configuration:
Create .seo-config.json in project root:
{
"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.
/competitor-gap \
--target https://yoursite.com \
--competitors https://competitor1.com,https://competitor2.com
Example Usage:
/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.
/content-brief "best project management tools for remote teams"
Output Structure:
# 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.
/serp-monitor \
--keywords keywords.csv \
--location "United States" \
--device desktop
keywords.csv format:
keyword,target_url
"saas analytics",https://example.com/analytics
"product metrics",https://example.com/metrics
Environment Variables:
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.
/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.
/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.
/local-seo \
--business-name "Acme Coffee Shop" \
--location "San Francisco, CA"
Configuration in .seo-config.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.
/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):
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:
/workflows:full-seo-sprint https://example.com --scope full
Steps:
- Technical audit
- Content audit
- Keyword research
- Competitor analysis
- Content gap identification
- Link profile analysis
- On-page optimization recommendations
- Content brief generation
- Internal linking suggestions
- Schema markup recommendations
- Priority action plan
- Implementation roadmap
Launch SEO
Pre-launch SEO validation:
/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:
/workflows:content-refresh --min-rank 11 --max-rank 30
Process:
- Find pages ranking positions 11-30
- Analyze SERP competition
- Identify content gaps
- Generate refresh brief
- Create optimization checklist
- Schedule re-publication
Authority Building
End-to-end link building campaign:
/workflows:authority-building \
--topic "saas analytics" \
--duration 90days \
--target-links 20
Stages:
- Link prospect research
- Contact discovery
- Outreach template generation
- Personalization guide
- Follow-up sequence
- Tracking spreadsheet creation
- Progress monitoring
AI Content Pipeline
Keyword โ brief โ draft โ optimize โ publish:
/workflows:ai-content-pipeline \
--keywords keywords.csv \
--auto-draft true \
--review-required true
Environment Variables:
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
# Process multiple seed keywords
cat seeds.txt | while read keyword; do
/keyword-research "$keyword" --output json >> results.jsonl
done
Scheduled SERP Monitoring
# 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
# 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
# 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)
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)
{
"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:
# config.yml
seo_tools:
rate_limit_delay: 2.0 # seconds between requests
Or use environment variable:
export SEO_API_DELAY=2.0
"Crawl blocked by robots.txt"
Check your user agent configuration:
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:
{
"technical_seo": {
"lighthouse_timeout": 60000
}
}
"Missing API credentials"
Set required environment variables:
export SERP_API_KEY=your_key
export AHREFS_API_KEY=your_key
export OPENAI_API_KEY=your_key
Check which APIs are needed:
/check-config --show-required-keys
"Content audit incomplete"
Large sites may timeout. Use sampling:
/content-audit https://example.com --scope sample --max-pages 100
Or increase crawl timeout:
{
"content_audit": {
"timeout": 300,
"max_pages": 1000
}
}
Code Examples
Custom Keyword Filter Script
# 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:
/keyword-research "saas tools" --output jsonl | python filter_keywords.py 500 50
Automated Content Brief Generation
#!/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
# .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:
/<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:
// 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 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
- Always set realistic crawl delays to avoid overwhelming target servers
- Use environment variables for API keys, never commit them
- Start with sample audits on large sites before running full crawls
- Export results to CSV/JSON for further analysis in spreadsheets
- Schedule SERP monitoring via cron for consistent tracking
- Combine commands in workflows for comprehensive analysis
- Review generated briefs before content creation โ AI is a starting point
- 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
