Loading...
Loading...
SEO & content marketing command suite with keyword research, content audits, technical SEO, competitor analysis, and automated workflows for AI-powered optimization
npx skill4agent add aradotso/marketing-skills splitflucover93-r12-seo-content-marketing-suiteSkill by ara.so — Marketing Skills collection.
# Clone the repository
git clone https://github.com/Splitflucover93/r12-vincenthopf-my-claude-code-seo.git
# Copy to Claude skills directory
mkdir -p ~/.claude/skills
cp -r r12-vincenthopf-my-claude-code-seo ~/.claude/skills/seo-content-marketing
# Register in Claude Code session
# In Claude Code:
/read ~/.claude/skills/seo-content-marketing/SKILL.mdcd ~/.claude/skills
git clone https://github.com/Splitflucover93/r12-vincenthopf-my-claude-code-seo.git seo-content-marketing# In Claude Code session:
/skills list
# Should show: seo-content-marketing# Basic keyword research
/keyword-research "project management software"
# Advanced with filters
/keyword-research "saas analytics" --min-volume 500 --max-difficulty 60 --intent commercial
# Export results
/keyword-research "email marketing" --output clusters.json --format json# Full site audit
/content-audit --scope full --url https://example.com
# Specific section
/content-audit --scope /blog/* --url https://example.com
# With export
/content-audit --scope full --url https://example.com --output audit-report.md# Full technical audit
/technical-seo https://example.com
# Specific checks
/technical-seo https://example.com --checks crawl,vitals,schema
# With detailed output
/technical-seo https://example.com --verbose --output tech-audit.json# Backlink gap
/competitor-gap backlinks --primary https://mysite.com --competitors https://competitor1.com,https://competitor2.com
# Topic gap
/competitor-gap topics --primary https://mysite.com --competitors https://competitor1.com --min-traffic 1000
# Featured snippet opportunities
/competitor-gap snippets --primary https://mysite.com --competitors https://competitor1.com,https://competitor2.com# Generate SEO content brief
/content-brief "how to improve email deliverability"
# With target word count and competitors
/content-brief "b2b lead generation strategies" --words 2500 --competitors https://hubspot.com/blog/lead-generation,https://salesforce.com/blog/b2b-leads
# Export as template
/content-brief "conversion rate optimization guide" --output brief.md --template detailed# Track keyword rankings
/serp-monitor --keywords "seo tools,keyword research,backlink checker" --url https://example.com
# With daily alerts
/serp-monitor --keywords keywords.txt --url https://example.com --alert-threshold 3 --frequency daily
# Historical comparison
/serp-monitor --keywords keywords.txt --url https://example.com --compare 2026-04-01# Find link prospects
/link-prospecting "marketing automation" --da-min 30 --dr-min 25 --limit 100
# With outreach context
/link-prospecting "content marketing" --context "We published a study on B2B content performance" --output prospects.csv
# Filtered by type
/link-prospecting "seo" --types guest-post,resource-page,broken-link --da-min 40# Analyze page speed impact
/page-speed-seo https://example.com/landing-page
# With mobile focus
/page-speed-seo https://example.com --device mobile --output speed-report.json
# Multiple pages
/page-speed-seo --urls sitemap.xml --threshold 3.0# Full local audit
/local-seo "My Business Name" --location "New York, NY"
# NAP consistency check
/local-seo "My Business Name" --checks nap-consistency --citations 50
# GBP optimization
/local-seo "My Business Name" --checks gbp --output local-audit.md# Generate data-driven calendar
/content-calendar --topics "seo,content marketing,link building" --months 3
# With search seasonality
/content-calendar --topics topics.txt --months 6 --include-seasonality --output calendar.csv
# Prioritized by opportunity
/content-calendar --topics keywords.json --months 3 --sort opportunity --min-volume 500/workflows:full-seo-sprint https://example.com --output sprint-report//workflows:launch-seo https://staging.example.com --checklist detailed/workflows:content-refresh https://example.com --pages underperforming --threshold -20/workflows:authority-building --domain example.com --target-da 50 --timeline 6-months/workflows:ai-content-pipeline --keywords keywords.csv --output-dir content-pipeline/# Required API keys (use your own services)
export AHREFS_API_KEY="your-key-here"
export SEMRUSH_API_KEY="your-key-here"
export GOOGLE_SEARCH_CONSOLE_CREDENTIALS="/path/to/credentials.json"
export SCREAMING_FROG_LICENSE="your-license-key"
# Optional integrations
export OPENAI_API_KEY="your-key-here" # For AI content generation
export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/YOUR/WEBHOOK" # For alerts~/.claude/skills/seo-content-marketing/config.yaml# Default settings
defaults:
output_format: markdown
progress_display: true
auto_export: false
# Command-specific settings
keyword_research:
default_volume_min: 100
default_difficulty_max: 70
cluster_algorithm: semantic
serp_depth: 10
content_audit:
quality_threshold: 70
thin_content_words: 300
duplicate_similarity: 0.85
technical_seo:
cwv_thresholds:
lcp: 2.5
fid: 100
cls: 0.1
crawl_depth: 5
# API rate limits
rate_limits:
ahrefs: 500 # requests per day
semrush: 10000 # requests per month
# Export settings
export:
default_dir: ./seo-reports
timestamp_files: true
formats: [markdown, json, csv]~/.claude/skills/seo-content-marketing/workflows/custom.yamlmy_saas_audit:
name: "SaaS Product SEO Audit"
steps:
- command: technical-seo
args: ["--checks", "all"]
- command: keyword-research
args: ["--intent", "commercial,transactional"]
- command: competitor-gap
args: ["--focus", "features"]
- command: content-brief
args: ["--template", "product-comparison"]
output: saas-audit-report.md/workflows:my_saas_audit https://my-saas-product.com# Step 1: Pre-launch validation
/workflows:launch-seo https://staging.newsite.com --output launch-checklist.md
# Step 2: Initial keyword research
/keyword-research "primary product category" --min-volume 500 --output keywords.json
# Step 3: Generate content calendar
/content-calendar --topics keywords.json --months 6 --output calendar.csv
# Step 4: Create first content briefs
/content-brief "top keyword from research" --output briefs/article-1.md# Step 1: Technical health check
/technical-seo https://example.com --output monthly-reports/$(date +%Y-%m)-tech.json
# Step 2: Ranking changes
/serp-monitor --keywords tracked-keywords.txt --url https://example.com --compare 30-days
# Step 3: Content performance
/content-audit --scope full --url https://example.com --output monthly-reports/$(date +%Y-%m)-content.md
# Step 4: New opportunities
/keyword-research "core topic" --discover-new --min-volume 300 --output new-opportunities.json# Step 1: Identify competitor
export COMPETITOR_URL="https://topcompetitor.com"
# Step 2: Gap analysis
/competitor-gap topics --primary https://mysite.com --competitors $COMPETITOR_URL --output gaps.json
# Step 3: Backlink opportunities
/competitor-gap backlinks --primary https://mysite.com --competitors $COMPETITOR_URL --da-min 30
# Step 4: Content strategy
/content-calendar --topics gaps.json --months 3 --sort opportunity
# Step 5: Content production
/workflows:ai-content-pipeline --keywords gaps.json --output-dir competitor-content/# Step 1: Identify declining pages
/serp-monitor --keywords all-keywords.txt --url https://example.com --alert-threshold -5 --output declining.json
# Step 2: Content refresh workflow
/workflows:content-refresh https://example.com --pages declining.json
# Step 3: Technical issues check
/technical-seo https://example.com --focus declining-urls.txt
# Step 4: Backlink health
/link-prospecting "core topics" --context "We're updating our content" --output refresh-links.csv# Step 1: Local audit
/local-seo "Business Name" --location "City, State" --output local-audit.md
# Step 2: Citation building
/link-prospecting "industry + location" --types local-directory --output local-citations.csv
# Step 3: Local content calendar
/content-calendar --topics "local keywords" --include-seasonality --local "City, State" --months 12
# Step 4: GBP optimization
/local-seo "Business Name" --checks gbp --recommendations detailed# Generate report
/keyword-research "topic" --output report.json
# Use gsheet integration (if configured)
/export report.json --to google-sheets --sheet "SEO Research 2026"# Enable alerts for rank changes
/serp-monitor --keywords keywords.txt --url https://example.com --alert slack --threshold 3.github/workflows/seo-monitor.ymlname: Daily SEO Monitor
on:
schedule:
- cron: '0 9 * * *' # Daily at 9 AM UTC
jobs:
seo-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run SEO Monitor
env:
AHREFS_API_KEY: ${{ secrets.AHREFS_API_KEY }}
run: |
/serp-monitor --keywords keywords.txt --url https://example.com --output reports/$(date +%Y-%m-%d).json
- name: Commit Report
run: |
git config user.name "SEO Bot"
git add reports/
git commit -m "Daily SEO report $(date +%Y-%m-%d)"
git push# Verify skill installation
ls ~/.claude/skills/seo-content-marketing/
# Re-register skill
/read ~/.claude/skills/seo-content-marketing/SKILL.md
# Check skills list
/skills list# Check current usage
/status api-usage
# Adjust rate limits in config.yaml
rate_limits:
ahrefs: 400 # Reduce if hitting limits
# Use caching to reduce API calls
cache:
enabled: true
ttl: 3600 # 1 hour# Reduce crawl depth
/technical-seo https://example.com --max-depth 3
# Limit keyword research scope
/keyword-research "topic" --max-keywords 500 --serp-depth 5
# Use parallel processing
/content-audit --scope full --url https://example.com --parallel 4# Install required Python packages
pip install beautifulsoup4 requests pandas numpy
# Install Node.js dependencies (if using JS integrations)
npm install cheerio axios
# Verify integrations
/diagnose --check-dependencies# Check output directory permissions
mkdir -p ./seo-reports
chmod 755 ./seo-reports
# Specify absolute paths
/keyword-research "topic" --output /full/path/to/report.json
# Validate JSON output
cat report.json | python -m json.tool# Verify API keys are set
env | grep API_KEY
# Test connection
/test-connection ahrefs
/test-connection semrush
# Re-authenticate Google Search Console
gcloud auth application-default loginOpportunity = (Search Volume × Relevance Score) / (Difficulty × 10)
High opportunity: > 100
Medium opportunity: 50-100
Low opportunity: < 50Quality = (Word Count × 0.2) + (Readability × 0.3) + (Originality × 0.3) + (Optimization × 0.2)
Excellent: 90-100
Good: 70-89
Fair: 50-69
Poor: < 50# Process multiple domains
for domain in site1.com site2.com site3.com; do
/technical-seo https://$domain --output reports/$domain-audit.json
done
# Batch keyword research from file
while read keyword; do
/keyword-research "$keyword" --output keywords/$keyword.json
done < keyword-list.txt~/.claude/skills/seo-content-marketing/scoring.pydef custom_opportunity_score(volume, difficulty, relevance):
"""Custom opportunity calculation for niche market"""
if volume < 100:
return 0 # Ignore very low volume
base_score = (volume * relevance) / (difficulty * 10)
# Bonus for low difficulty in your niche
if difficulty < 30 and relevance > 0.7:
base_score *= 1.5
return round(base_score, 2)import requests
import os
def export_to_dashboard(report_path):
"""Send SEO report to custom dashboard"""
with open(report_path) as f:
report_data = json.load(f)
response = requests.post(
'https://dashboard.example.com/api/seo-reports',
headers={'Authorization': f'Bearer {os.getenv("DASHBOARD_API_KEY")}'},
json=report_data
)
return response.json()