Loading...
Loading...
SEO & content marketing automation with keyword research, audits, SERP analysis, and content strategy workflows
npx skill4agent add aradotso/marketing-skills r06-alirezarezvani-claude-code-tresor-seoSkill by ara.so — Marketing Skills collection.
# Clone the skill suite
git clone https://github.com/LairLightningDerrick/r06-alirezarezvani-claude-code-tresor-seo.git
# Copy to Claude Code skills directory
cp -r r06-alirezarezvani-claude-code-tresor-seo ~/.claude/skills/
# Or install via npm if available
npm install -g r06-alirezarezvani-claude-code-tresor-seo/read ~/.claude/skills/r06-alirezarezvani-claude-code-tresor-seo/SKILL.md# Basic keyword research
/keyword-research "project management software"
# Advanced with filters
/keyword-research "project management software" \
--min-volume 500 \
--max-difficulty 40 \
--intent commercial,transactional \
--output json╔═══════════════════════════════════════════════════╗
║ Keyword Research — "project management software" ║
╠═══════════════════════════════════════════════════╣
║ Fetching search volume … [██████████] 100% ✓ ║
║ Analyzing SERP intent … [██████████] 100% ✓ ║
║ Clustering keywords … [██████████] 100% ✓ ║
║ Scoring opportunities … [██████████] 100% ✓ ║
╚═══════════════════════════════════════════════════╝
┌──────────────────────────┬────────┬────────┬──────────┬──────────┐
│ Keyword │ Volume │ Diff. │ Intent │ Priority │
├──────────────────────────┼────────┼────────┼──────────┼──────────┤
│ project management tools │ 18,100 │ 35 │ Comm. │ 🟢 High │
│ pm software for teams │ 8,900 │ 28 │ Trans. │ 🟢 High │
│ best project tracker │ 6,400 │ 42 │ Info. │ 🟡 Med │
│ free pm software │ 4,200 │ 18 │ Trans. │ 🟢 High │
└──────────────────────────┴────────┴────────┴──────────┴──────────┘
📊 Clusters Found: 5 primary, 12 secondary
🎯 Quick Wins: 8 keywords (low difficulty, high volume)# Basic audit
/content-audit https://example.com
# Full scope with exports
/content-audit https://example.com \
--scope full \
--check-duplicates \
--check-cannibalization \
--output md,csv// If integrating with custom crawler
const contentAudit = require('r06-seo-suite/content-audit');
const results = await contentAudit.run({
domain: 'https://example.com',
scope: 'full',
options: {
checkDuplicates: true,
checkCannibalization: true,
minWordCount: 300,
maxTitleLength: 60
}
});
console.log(results.summary);
// {
// totalPages: 1204,
// duplicateContent: 47,
// cannibalizationIssues: 12,
// missingMetaDesc: 302,
// thinContent: 89,
// qualityScore: 7.2
// }# Basic technical audit
/technical-seo https://example.com
# Detailed with specific checks
/technical-seo https://example.com \
--check-cwv \
--check-schema \
--check-robots \
--check-sitemap \
--check-mobile┌─────────────────────┬──────────┬──────────┬──────────┐
│ Metric │ Current │ Target │ Status │
├─────────────────────┼──────────┼──────────┼──────────┤
│ Crawlable pages │ 1,204 │ 1,505 │ ⚠ 80% │
│ Pages w/ title tag │ 1,180 │ 1,204 │ ✓ 98% │
│ Core Web Vitals │ Good │ Good │ ✓ Pass │
│ Schema markup │ 342 │ 1,204 │ ✗ 28% │
│ Mobile-friendly │ 97 │ 100 │ ⚠ 97% │
└─────────────────────┴──────────┴──────────┴──────────┘
🔴 Critical Issues (3)
• 301 pages blocked by robots.txt
• Sitemap contains 124 404 URLs
• 18 pages with duplicate H1 tags
🟠 Warnings (8)
• 302 pages missing meta descriptions
• LCP > 2.5s on 23% of pages
• 89 pages with thin content (<300 words)# Compare against competitors
/competitor-gap https://example.com \
--competitors competitor1.com,competitor2.com,competitor3.com \
--analyze backlinks,topics,snippets
# Focus on specific gap type
/competitor-gap https://example.com \
--competitors competitor1.com \
--gap-type backlinks \
--min-dr 40# Generate brief for target keyword
/content-brief "how to manage remote teams"
# Advanced brief with competitors
/content-brief "how to manage remote teams" \
--analyze-serp \
--competitors 5 \
--include-nlp \
--target-wordcount 2500# Content Brief: "how to manage remote teams"
## Target Metrics
- **Word Count:** 2,200-2,800 words
- **Reading Level:** Grade 8-10
- **Target Intent:** Informational + Commercial
## Outline
1. Introduction (150-200 words)
- Hook: Remote work statistics
- Problem statement
2. Core Challenges (400-500 words)
- Communication barriers
- Time zone differences
- Building trust remotely
3. Proven Strategies (800-1000 words)
- Daily standups & async updates
- Tool stack recommendations
- Performance tracking
4. Best Practices (400-500 words)
- Team culture building
- 1-on-1 check-ins
5. Conclusion & CTA (150-200 words)
## NLP Terms to Include
- remote team management
- asynchronous communication
- distributed workforce
- virtual collaboration tools
- remote employee engagement
[...25 more terms]
## SERP Analysis
Top 5 competitors average:
- Word count: 2,350
- Images: 8
- Videos: 1-2
- Internal links: 12
- External links: 8# Monitor keywords
/serp-monitor \
--keywords "keyword1,keyword2,keyword3" \
--domain example.com \
--frequency daily
# With alerts
/serp-monitor \
--keywords-file keywords.csv \
--alert-threshold 3 \
--notify email# Find link prospects
/link-prospecting \
--niche "project management" \
--min-dr 30 \
--max-results 100 \
--include-contacts
# With outreach templates
/link-prospecting \
--niche "project management" \
--generate-templates \
--output csv# Analyze page speed
/page-speed-seo https://example.com/page
# Multiple pages
/page-speed-seo \
--sitemap https://example.com/sitemap.xml \
--top-pages 20 \
--mobile# Local SEO check
/local-seo \
--business "Example Corp" \
--location "New York, NY" \
--check-nap \
--check-gbp \
--check-citations# Generate calendar
/content-calendar \
--niche "project management" \
--duration 90 \
--frequency weekly \
--include-trending
# Export to tools
/content-calendar \
--niche "project management" \
--export notion,airtable,trello/workflows:full-seo-sprint https://example.com \
--scope full \
--duration 30days/workflows:launch-seo https://newsite.com \
--pre-launch \
--check-all/workflows:content-refresh https://example.com \
--min-age 180days \
--traffic-drop 30%/workflows:authority-building \
--niche "project management" \
--target-dr 50 \
--duration 90days/workflows:ai-content-pipeline \
--keywords-file keywords.csv \
--auto-publish false \
--review-mode true~/.r06-seo/config.json{
"api": {
"semrush_key": "${SEMRUSH_API_KEY}",
"ahrefs_key": "${AHREFS_API_KEY}",
"serpapi_key": "${SERPAPI_KEY}",
"openai_key": "${OPENAI_API_KEY}"
},
"defaults": {
"country": "US",
"language": "en",
"search_engine": "google.com",
"mobile_first": true
},
"thresholds": {
"min_word_count": 300,
"max_title_length": 60,
"max_meta_desc_length": 160,
"target_cwv_lcp": 2.5,
"target_cwv_fid": 100,
"target_cwv_cls": 0.1
},
"notifications": {
"email": "${NOTIFICATION_EMAIL}",
"slack_webhook": "${SLACK_WEBHOOK_URL}",
"enabled": true
}
}export SEMRUSH_API_KEY="your-key-here"
export AHREFS_API_KEY="your-key-here"
export SERPAPI_KEY="your-key-here"
export OPENAI_API_KEY="your-key-here"
export NOTIFICATION_EMAIL="alerts@example.com"
export SLACK_WEBHOOK_URL="https://hooks.slack.com/..."# .github/workflows/seo-monitor.yml
name: Daily SEO Monitor
on:
schedule:
- cron: '0 9 * * *'
jobs:
seo-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run SEO audit
run: |
npx r06-seo-suite technical-seo https://example.com \
--output json > audit-results.json
- name: Check for critical issues
run: |
node scripts/check-critical.js audit-results.json
- name: Notify on failures
if: failure()
run: |
curl -X POST ${{ secrets.SLACK_WEBHOOK }} \
-d '{"text":"SEO audit found critical issues"}'const SEOSuite = require('r06-seo-suite');
const suite = new SEOSuite({
apiKey: process.env.SEMRUSH_API_KEY,
config: {
country: 'US',
language: 'en'
}
});
// Keyword research
const keywords = await suite.keywordResearch({
seed: 'project management software',
minVolume: 500,
maxDifficulty: 40
});
// Content audit
const audit = await suite.contentAudit({
domain: 'https://example.com',
scope: 'full',
options: {
checkDuplicates: true,
checkCannibalization: true
}
});
// Generate content brief
const brief = await suite.contentBrief({
keyword: 'how to manage remote teams',
analyzeSERP: true,
competitors: 5,
targetWordCount: 2500
});
console.log(brief.outline);
console.log(brief.nlpTerms);# Process multiple domains
cat domains.txt | while read domain; do
/technical-seo "$domain" --output json > "results/${domain//\//_}.json"
done
# Bulk keyword research
/keyword-research \
--seeds-file keywords.txt \
--batch-size 50 \
--output csv > keyword-report.csvconst { generateReport } = require('r06-seo-suite/reporting');
const data = {
technicalAudit: await suite.technicalSEO('https://example.com'),
contentAudit: await suite.contentAudit('https://example.com'),
keywordData: await suite.keywordResearch({ seed: 'main topic' })
};
const report = await generateReport({
data,
template: 'executive-summary',
format: 'pdf',
includeCharts: true
});
await report.save('monthly-seo-report.pdf');# Check current rate limit status
/debug:rate-limits
# Configure retry with backoff
export SEO_SUITE_RETRY_COUNT=3
export SEO_SUITE_RETRY_DELAY=5000# Limit concurrent requests
/technical-seo https://example.com \
--concurrent 5 \
--delay 1000
# Crawl specific sections
/content-audit https://example.com \
--path "/blog/*" \
--exclude "/archive/*"# Install all optional dependencies
npm install r06-seo-suite --include=optional
# Specific tools
npm install puppeteer # For page speed tests
npm install cheerio # For content parsing# Verify API keys
/debug:check-auth
# Test individual APIs
curl -H "Authorization: Bearer ${SEMRUSH_API_KEY}" \
"https://api.semrush.com/analytics/v1/?key=${SEMRUSH_API_KEY}&type=domain_ranks&domain=example.com"# Force specific output format
/keyword-research "topic" --output json --pretty
# Validate output schema
/keyword-research "topic" --validate-output
# Debug mode for detailed logs
DEBUG=r06-seo:* /technical-seo https://example.com