datalocastle-r03-anthropics-skills-seo
SEO & Content Marketing skill suite with keyword research, content audits, SERP analysis, technical SEO commands and multi-step workflows
Install
npx skills add https://github.com/reason-machines/marketing-skills --skill datalocastle-r03-anthropics-skills-seoš SEO & Content Marketing Skills Suite
Skill by ara.so ā Marketing Skills collection.
This skill suite provides 10 specialized SEO commands and 5 multi-step workflows derived from anthropics/skills. It enables AI coding agents to perform comprehensive SEO analysis, content audits, keyword research, and technical optimization with consistent structured output.
What This Project Does
The r03-anthropics-skills-seo suite delivers:
- Keyword Research ā clustering, opportunity scoring, SERP intent mapping
- Content Audits ā quality scores, duplication detection, cannibalization reports
- Technical SEO ā crawl budget, Core Web Vitals, schema markup, indexability
- Competitor Analysis ā backlink gaps, topic gaps, featured snippet opportunities
- Content Strategy ā AI-generated briefs, editorial calendars, refresh workflows
- Local SEO ā NAP consistency, Google Business Profile optimization
- Link Building ā prospect lists, outreach templates, authority building
All commands follow a consistent 5-step interaction pattern with visual progress tracking and prioritized action plans.
Installation
Clone the Skill
# Clone to Claude Code skills directory
mkdir -p ~/.claude/skills
cd ~/.claude/skills
git clone https://github.com/Datalocastle/r03-anthropics-skills-seo.git
# Or manually copy
cp -r /path/to/r03-anthropics-skills-seo ~/.claude/skills/
Register in Claude Code
In a Claude Code session:
/read ~/.claude/skills/r03-anthropics-skills-seo/SKILL.md
Or configure in your ~/.claude/config.yml:
skills:
- path: ~/.claude/skills/r03-anthropics-skills-seo
enabled: true
Core Commands
1. Keyword Research
Deep keyword clustering with intent mapping and opportunity scoring.
/keyword-research <target>
/keyword-research "email marketing tools" --depth extensive
/keyword-research "seo" --scope commercial --output json
Parameters:
<target>ā seed keyword or topic--depthāquick|standard|extensive(default: standard)--scopeāinformational|commercial|transactional|all(default: all)--outputāmd|json|csv(default: md)
Output Structure:
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Keyword Research ā email marketing tools ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā£
ā Gathering seeds ⦠[āāāāāāāāāā] 100% ā Done ā
ā Expanding clusters ⦠[āāāāāāāāāā] 100% ā Done ā
ā Analyzing SERP intent ⦠[āāāāāāāāāā] 80% 342/428 ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
āāāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāā¬āāāāā¬āāāāāāāāā¬āāāāāāāāāāāāāāā
ā Keyword ā Volume ā KD ā Intent ā Opportunity ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāā¼āāāāā¼āāāāāāāāā¼āāāāāāāāāāāāāāā¤
ā email marketing software ā 12 100 ā 78 ā šµ COM ā š¢ High ā
ā best email tools ā 8 900 ā 65 ā šµ COM ā š¢ High ā
ā email automation ā 6 700 ā 58 ā š” MIX ā š” Medium ā
ā mailchimp alternatives ā 4 200 ā 52 ā šµ COM ā š¢ High ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāā“āāāāāāāāā“āāāāā“āāāāāāāāā“āāāāāāāāāāāāāāā
Action Plan:
š¢ Quick Wins (0-2 weeks)
ā” Target "mailchimp alternatives" ā low KD, high commercial intent
ā” Create comparison table content for "best email tools"
š” Medium-Term (2-8 weeks)
ā” Build topic cluster around "email automation"
ā” Develop feature comparison pages
2. Content Audit
Full-site content quality analysis with duplication and cannibalization detection.
/content-audit --scope full --output md
/content-audit --url https://example.com --scope pages --filter /blog/*
/content-audit --scope full --min-words 300 --export audit-report.csv
Parameters:
--scopeāfull|pages|posts|category:<name>--urlā target domain (optional if in project context)--filterā URL pattern to include (glob syntax)--min-wordsā minimum word count threshold (default: 100)--exportā export path for CSV/JSON report
Output Structure:
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Content Audit ā example.com ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā£
ā Crawling pages ⦠[āāāāāāāāāā] 100% ā 1 204 ā
ā Analyzing quality ⦠[āāāāāāāāāā] 100% ā Done ā
ā Checking duplication ⦠[āāāāāāāāāā] 100% ā Done ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Quality Score Distribution:
š¢ Excellent (80-100): 342 pages (28%)
š” Good (60-79): 568 pages (47%)
š Fair (40-59): 234 pages (19%)
š“ Poor (0-39): 60 pages ( 5%)
Top Issues:
š“ Critical (60 pages)
⢠Thin content (<300 words): 42 pages
⢠Missing meta descriptions: 18 pages
š Warning (234 pages)
⢠Low word count (300-500): 156 pages
⢠Keyword cannibalization: 78 page pairs
Action Plan:
š“ Immediate (this week)
ā” Add meta descriptions to 18 critical pages
ā” Merge or 301 redirect 12 duplicate product pages
š High Priority (2 weeks)
ā” Expand 42 thin content pages to 800+ words
ā” Resolve cannibalization for "pricing" queries (6 pages)
3. Technical SEO Audit
Crawl budget, Core Web Vitals, schema markup, and indexability analysis.
/technical-seo <url>
/technical-seo https://example.com --depth full --include-vitals
/technical-seo --url https://example.com --crawl-limit 5000
Parameters:
<url>ā target domain--depthābasic|standard|full(default: standard)--include-vitalsā run Core Web Vitals analysis--crawl-limitā max pages to crawl (default: 10000)
Output Structure:
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Technical SEO Audit ā example.com ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā£
ā Crawling site ⦠[āāāāāāāāāā] 100% ā 1 204 ā
ā Checking indexability ⦠[āāāāāāāāāā] 100% ā Done ā
ā Validating schema ⦠[āāāāāāāāāā] 80% 962/1204 ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
āāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāā¬āāāāāāāāāāā¬āāāāāāāāāāā
ā Metric ā Current ā Target ā Status ā
āāāāāāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāā¼āāāāāāāāāāā¼āāāāāāāāāāā¤
ā Crawlable pages ā 1 204 ā 1 505 ā ā 80 % ā
ā Pages w/ title tag ā 1 180 ā 1 204 ā ā 98 % ā
ā Pages w/ meta desc ā 902 ā 1 204 ā ā 75 % ā
ā Core Web Vitals ā Good ā Good ā ā Pass ā
ā Mobile-friendly ā 97 ā 100 ā ā 97 % ā
ā Valid schema markup ā 645 ā 1 204 ā ā 54 % ā
ā HTTPS coverage ā 1 204 ā 1 204 ā ā 100 % ā
āāāāāāāāāāāāāāāāāāāāāāāāāāā“āāāāāāāāāāā“āāāāāāāāāāā“āāāāāāāāāāā
Issues Found:
š“ Critical (24 issues)
⢠301 redirect chains (12 pages) ā avg 3.4 hops
⢠Mixed content warnings (8 pages)
⢠Orphaned pages (4 pages) ā no internal links
š Warning (156 issues)
⢠Missing canonical tags (89 pages)
⢠Duplicate title tags (45 pages)
⢠Missing schema markup (22 pages)
4. Competitor Gap Analysis
Backlink gap, topic gap, and featured snippet opportunity analysis.
/competitor-gap <target> <competitor1> <competitor2> ...
/competitor-gap example.com competitor1.com competitor2.com --gap-type all
/competitor-gap example.com competitor.com --gap-type backlinks --min-dr 40
Parameters:
<target>ā your domain<competitor1>... ā competitor domains--gap-typeābacklinks|topics|snippets|all(default: all)--min-drā minimum Domain Rating filter for backlinks (default: 20)
5. SEO Content Brief Generator
AI-generated content brief with outline, NLP terms, and word count targets.
/content-brief <keyword>
/content-brief "best email marketing software" --format long
/content-brief "seo tools" --include-serp --competitor-count 10
Parameters:
<keyword>ā target keyword--formatāshort|long|comprehensive(default: long)--include-serpā include SERP analysis--competitor-countā number of top-ranking pages to analyze (default: 5)
Output Structure:
# Content Brief: "best email marketing software"
## Target Keyword Metrics
- Primary Keyword: best email marketing software
- Search Volume: 12,100/month
- Keyword Difficulty: 78/100
- Search Intent: Commercial + Comparison
- Current Rank: Not ranking
## SERP Analysis (Top 10)
- Avg Word Count: 3,450 words
- Avg Images: 12
- Common Content Type: Comparison list + detailed reviews
- Featured Snippet: Yes (comparison table)
- People Also Ask: 8 questions
## Recommended Outline
1. Introduction (150-200 words)
- Hook: email marketing ROI statistics
- Brief overview of selection criteria
2. Quick Comparison Table
- 10-12 tools, 5-7 key features
3. Detailed Reviews (2,400-2,800 words)
- Tool #1: [Name] (300-350 words each)
- Key features
- Pricing
- Pros/cons
- Best for
[Repeat for 8-10 tools]
4. Buying Guide (400-500 words)
- How to choose
- Key features explained
- Pricing considerations
## NLP Terms to Include
Must-have (use 5+ times):
- email campaigns, automation, templates, subscribers, analytics
Should-have (use 2-4 times):
- deliverability, segmentation, A/B testing, integrations, CRM
## Technical Requirements
- Target Word Count: 3,200-3,800 words
- Images: 10-15 (screenshots, comparison graphics)
- Internal Links: 4-6
- External Links: 8-12 (to official tool sites)
- Schema: Article + FAQPage
6. SERP Monitoring
Daily rank tracking with volatility alerts and CTR optimization.
/serp-monitor --keywords keywords.csv --frequency daily
/serp-monitor --domain example.com --auto-discover
7. Link Prospecting
Quality backlink prospect list with DA/DR filters and outreach templates.
/link-prospecting <topic> --min-da 30 --limit 50
/link-prospecting "marketing tools" --type guest-post --export prospects.csv
8. Page Speed SEO Analysis
Render-blocking, LCP, CLS, FID diagnosis mapped to ranking impact.
/page-speed-seo <url>
/page-speed-seo https://example.com/page --device mobile
9. Local SEO Audit
NAP consistency, Google Business Profile optimization, local citation audit.
/local-seo <business-name> --location "New York, NY"
/local-seo "Joe's Pizza" --location "Brooklyn" --check-citations
10. Content Calendar Generator
Data-driven editorial calendar from search demand and seasonality.
/content-calendar --topic "email marketing" --months 3
/content-calendar --keywords keywords.csv --start 2026-06-01 --export calendar.csv
Multi-Step Workflows
Full SEO Sprint (12-step workflow)
Comprehensive SEO audit ā keyword mapping ā content plan ā technical fixes.
/workflows:full-seo-sprint <domain> --scope full
/workflows:full-seo-sprint example.com --duration 4-weeks --export sprint-report/
Workflow Steps:
- Technical SEO audit
- Content quality audit
- Competitor gap analysis
- Keyword research & clustering
- SERP intent mapping
- Content cannibalization fix
- Schema markup implementation
- Page speed optimization
- Internal linking strategy
- Content brief generation
- Editorial calendar creation
- Rank tracking setup
Launch SEO Workflow
Pre-launch SEO checklist with canonical, hreflang, and sitemap validation.
/workflows:launch-seo <domain> --checklist full
/workflows:launch-seo staging.example.com --export launch-checklist.md
Content Refresh Workflow
Identify and refresh underperforming pages to recover lost rankings.
/workflows:content-refresh --domain example.com --rank-drop 5+
/workflows:content-refresh --url-list declining-pages.csv
Authority Building Workflow
End-to-end digital PR and link-building campaign.
/workflows:authority-building <domain> --campaign-type guest-post
/workflows:authority-building example.com --target-dr 50+ --duration 12-weeks
AI Content Pipeline
Keyword ā brief ā draft ā optimize ā publish automation.
/workflows:ai-content-pipeline --keywords keywords.csv --auto-publish false
/workflows:ai-content-pipeline --topic "seo tools" --count 10
Configuration
Create a .seo-config.yml file in your project root:
# SEO Suite Configuration
domain: example.com
analytics:
google_analytics_id: ${GA_MEASUREMENT_ID}
google_search_console: ${GSC_PROPERTY_URL}
search_data:
api_provider: semrush # semrush | ahrefs | moz
api_key: ${SEO_API_KEY}
crawl_settings:
max_pages: 10000
user_agent: "SEO-Skills-Bot/1.0"
respect_robots: true
crawl_delay_ms: 100
content_audit:
min_word_count: 300
quality_thresholds:
excellent: 80
good: 60
fair: 40
reporting:
output_format: markdown # markdown | json | csv
export_path: ./seo-reports/
include_screenshots: true
Environment Variables
Set these in your .env file:
# Required for keyword research
SEO_API_KEY=your_semrush_or_ahrefs_key
# Optional: Google Search Console API
GSC_PROPERTY_URL=https://example.com/
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
# Optional: Google Analytics
GA_MEASUREMENT_ID=G-XXXXXXXXXX
Common Patterns
Pattern 1: Monthly SEO Health Check
# Run comprehensive monthly audit
/technical-seo https://example.com --depth full --include-vitals
/content-audit --scope full --min-words 300
/serp-monitor --keywords top-keywords.csv --compare-last-month
# Generate report
/workflows:full-seo-sprint example.com --scope audit-only --export monthly-report/
Pattern 2: New Content Creation Workflow
# 1. Research keywords
/keyword-research "target topic" --depth extensive --output csv
# 2. Generate content brief
/content-brief "chosen keyword" --format comprehensive --include-serp
# 3. Create content calendar
/content-calendar --keywords selected-keywords.csv --months 3
# 4. Generate first draft (using brief)
# ... write content ...
# 5. Pre-publish SEO check
/technical-seo <draft-url> --depth basic
Pattern 3: Competitor Outranking Strategy
# 1. Identify competitor gaps
/competitor-gap example.com competitor1.com competitor2.com --gap-type all
# 2. Find keyword opportunities
/keyword-research "competitor topic" --scope commercial
# 3. Build better content
/content-brief "target keyword" --competitor-count 10
# 4. Get backlinks
/link-prospecting "topic" --min-da 40 --type guest-post
Pattern 4: Recovering from Traffic Drop
# 1. Identify declining pages
/serp-monitor --domain example.com --rank-drop 5+ --last-30-days
# 2. Audit affected pages
/content-audit --url-list declining-pages.csv
# 3. Run refresh workflow
/workflows:content-refresh --url-list declining-pages.csv
# 4. Check technical issues
/technical-seo https://example.com --depth full
Programmatic Usage
Using as a Library
If you need to integrate commands into your own scripts:
# Python example (requires Python bindings)
from seo_skills import KeywordResearch, ContentAudit
# Keyword research
kr = KeywordResearch(api_key=os.getenv('SEO_API_KEY'))
results = kr.analyze(
seed_keyword="email marketing",
depth="extensive",
intent_filter="commercial"
)
for keyword in results.opportunities:
print(f"{keyword.term}: {keyword.volume} vol, {keyword.difficulty} KD")
# Content audit
audit = ContentAudit(domain="example.com")
report = audit.run(scope="full", min_words=300)
print(f"Quality distribution: {report.quality_distribution}")
print(f"Critical issues: {len(report.critical_issues)}")
CLI Batch Processing
# Process multiple keywords from CSV
cat keywords.csv | while read keyword; do
/content-brief "$keyword" --format long --export "briefs/${keyword}.md"
done
# Audit multiple domains
for domain in $(cat domains.txt); do
/technical-seo "$domain" --export "audits/${domain}.json"
done
Troubleshooting
Issue: "API rate limit exceeded"
Solution: Configure crawl delay or reduce batch size:
# .seo-config.yml
crawl_settings:
crawl_delay_ms: 500 # Increase delay
concurrent_requests: 2 # Reduce concurrency
Issue: "No keyword data returned"
Check:
- API key is valid:
echo $SEO_API_KEY - API provider configured correctly in
.seo-config.yml - Keyword has sufficient search volume (try broader terms)
Issue: "Crawl blocked by robots.txt"
Solution:
# .seo-config.yml
crawl_settings:
respect_robots: false # Only for your own sites!
# Or add your user agent to robots.txt:
# User-agent: SEO-Skills-Bot
# Allow: /
Issue: "Schema validation failing"
Debug:
# Run schema-only check
/technical-seo https://example.com --check-schema-only --verbose
# Test specific page
curl -s https://example.com/page | grep -o '<script type="application/ld+json">.*</script>'
Issue: "Duplicate content false positives"
Tune similarity threshold:
# .seo-config.yml
content_audit:
similarity_threshold: 85 # Default: 75 (increase to reduce false positives)
ignore_boilerplate: true # Ignore headers/footers/sidebars
Advanced Features
Custom Command Aliases
Create shortcuts in ~/.claude/aliases.yml:
aliases:
quick-seo: "technical-seo {0} --depth basic && content-audit --url {0} --scope pages"
content-sprint: "workflows:ai-content-pipeline --topic {0} --count 5"
rank-check: "serp-monitor --keywords {0} --frequency daily"
Usage:
/quick-seo https://example.com
/content-sprint "email marketing"
/rank-check top-keywords.csv
Integration with CI/CD
GitHub Actions example:
# .github/workflows/seo-audit.yml
name: Weekly SEO Audit
on:
schedule:
- cron: '0 9 * * 1' # Every Monday at 9 AM
jobs:
seo-audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run SEO audit
env:
SEO_API_KEY: ${{ secrets.SEO_API_KEY }}
run: |
/technical-seo https://example.com --depth full --export audit.json
/content-audit --scope full --export content-audit.csv
- name: Upload reports
uses: actions/upload-artifact@v3
with:
name: seo-reports
path: |
audit.json
content-audit.csv
Webhook Notifications
Configure Slack/Discord alerts in .seo-config.yml:
notifications:
webhook_url: ${SLACK_WEBHOOK_URL}
alert_on:
- rank_drop: 5 # Alert if any keyword drops 5+ positions
- critical_issues: true
- core_vitals_fail: true
Next Steps
- Install the skill following the Installation section
- Run your first audit:
/technical-seo <your-domain> - Explore workflows:
/workflows:full-seo-sprint <your-domain> --scope full - Set up monitoring:
/serp-monitor --domain <your-domain> --auto-discover
For more examples and updates, visit the GitHub repository.