- name
- seo-content-marketing-skill-suite
- description
- SEO & content marketing automation commands for keyword research, content audits, technical SEO, competitor analysis, and workflow orchestration
- triggers
- ["analyze keywords for SEO","run a content audit","check technical SEO issues","find competitor gaps","generate content brief","create SEO workflow","audit page speed for SEO","build content calendar"]
# SEO & Content Marketing Skills Suite
> Skill by [ara.so](https://ara.so) — Marketing Skills collection.
This skill provides **10 specialized SEO and content marketing commands** and **5 multi-step workflows** adapted from [shanraisshan/claude-code-best-practice](https://github.com/shanraisshan/claude-code-best-practice). It delivers keyword research, content audits, SERP analysis, technical SEO diagnostics, and content strategy automation with structured output and progress tracking.
## What This Project Does
- **Keyword Research**: Deep clustering, opportunity scoring, SERP intent mapping
- **Content Audits**: Quality scoring, 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
- **Automation**: Multi-step workflows orchestrating end-to-end SEO processes
All commands use consistent structured output with progress panels, findings tables, action checklists, and summary cards.
## Installation
### Clone the Skill
```bash
# Install to Claude Code skills directory
mkdir -p ~/.claude/skills
cp -r . ~/.claude/skills/seo-content-marketing-skill-suite/
# Or install from GitHub
git clone https://github.com/MagicStarfishBoost/r15-shanraisshan-claude-code-best-practice-seo.git \
~/.claude/skills/seo-content-marketing-skill-suite/
```
### Register in Claude Code
In a Claude Code session:
```bash
/read ~/.claude/skills/seo-content-marketing-skill-suite/SKILL.md
```
Or add to your Claude Code config:
```json
{
"skills": [
"~/.claude/skills/seo-content-marketing-skill-suite"
]
}
```
## Core Commands
### 1. Keyword Research
**Command**: `/keyword-research`
Deep keyword clustering with opportunity scoring and SERP intent mapping.
```bash
# Basic usage
/keyword-research "saas analytics tools"
# Advanced options
/keyword-research "email marketing" --cluster-by intent --min-volume 1000 --output json
# With geographic targeting
/keyword-research "lawyer near me" --country US --language en --location "New York"
```
**Output Structure**:
```
╔══════════════════════════════════════════════════╗
║ Keyword Research — saas analytics tools ║
╠══════════════════════════════════════════════════╣
║ Fetching keywords … [██████████] 100% ✓ ║
║ Clustering … [██████████] 100% ✓ ║
║ Scoring intent … [██████████] 100% ✓ ║
╚══════════════════════════════════════════════════╝
┌────────────────────────┬────────┬──────┬──────────┬──────────┐
│ Keyword │ Volume │ KD │ Intent │ Score │
├────────────────────────┼────────┼──────┼──────────┼──────────┤
│ saas analytics tools │ 12 100 │ 45 │ Commercial │ 🟢 92 │
│ best saas analytics │ 8 300 │ 38 │ Commercial │ 🟢 88 │
│ saas metrics dashboard │ 4 500 │ 32 │ Informational │ 🟡 76 │
│ free analytics tools │ 22 400 │ 67 │ Commercial │ 🟠 54 │
└────────────────────────┴────────┴──────┴──────────┴──────────┘
```
### 2. Content Audit
**Command**: `/content-audit`
Full-site content quality scoring, duplication check, and cannibalization report.
```bash
# Full site audit
/content-audit --scope full --output md
# Specific section
/content-audit --scope /blog/ --check-duplicates --check-cannibalization
# With custom thresholds
/content-audit --min-words 500 --max-duplicate-percent 15
```
**Example Implementation**:
```javascript
// Simulated content audit logic
async function auditContent(scope, options = {}) {
const pages = await crawlPages(scope);
const results = {
total: pages.length,
issues: [],
scores: {}
};
for (const page of pages) {
const score = {
url: page.url,
wordCount: page.content.split(/\s+/).length,
hasTitle: !!page.title && page.title.length > 0,
hasMetaDesc: !!page.metaDescription,
hasH1: !!page.h1,
readability: calculateReadability(page.content),
duplicatePercent: await checkDuplicateContent(page.content)
};
// Quality scoring
let quality = 100;
if (!score.hasTitle) quality -= 20;
if (!score.hasMetaDesc) quality -= 15;
if (!score.hasH1) quality -= 10;
if (score.wordCount < 300) quality -= 25;
if (score.readability < 60) quality -= 10;
if (score.duplicatePercent > 20) quality -= 30;
score.quality = Math.max(0, quality);
results.scores[page.url] = score;
if (quality < 70) {
results.issues.push({
severity: quality < 40 ? '🔴' : quality < 60 ? '🟠' : '🟡',
url: page.url,
issue: generateIssueDescription(score)
});
}
}
return results;
}
```
### 3. Technical SEO Audit
**Command**: `/technical-seo`
Crawl budget, Core Web Vitals, schema markup, and indexability diagnostics.
```bash
# Full technical audit
/technical-seo example.com
# Specific checks
/technical-seo example.com --checks vitals,schema,robots
# With depth limit
/technical-seo example.com --max-depth 3 --follow-external false
```
**Check Categories**:
- **Crawlability**: robots.txt, XML sitemaps, internal linking
- **Indexability**: canonical tags, noindex directives, pagination
- **Performance**: Core Web Vitals (LCP, FID, CLS), render-blocking resources
- **Schema**: Structured data validation, rich snippet eligibility
- **Mobile**: Mobile-friendliness, responsive design, tap targets
- **Security**: HTTPS, mixed content, security headers
### 4. Content Brief Generation
**Command**: `/content-brief`
AI-generated SEO content brief with outline, NLP terms, and word count targets.
```bash
# Generate brief
/content-brief "how to reduce customer churn" --format markdown
# With custom parameters
/content-brief "saas pricing strategies" \
--target-words 2500 \
--competitors 5 \
--include-outline \
--include-questions
```
**Brief Structure**:
```markdown
# Content Brief: How to Reduce Customer Churn
## Target Keyword
Primary: `reduce customer churn`
Secondary: `customer retention strategies`, `churn rate reduction`
## Search Intent
Informational → Commercial (conversion-focused)
## Target Word Count
2,200-2,500 words
## Content Outline
1. What is Customer Churn? (H2)
- Definition and calculation (H3)
- Industry benchmarks (H3)
2. Root Causes of Churn (H2)
- Poor onboarding experience (H3)
- Lack of product value realization (H3)
- Customer service issues (H3)
3. Proven Strategies to Reduce Churn (H2)
- Improve customer onboarding (H3)
- Implement proactive support (H3)
- Build customer success programs (H3)
## NLP Terms to Include
- customer lifetime value
- retention rate
- proactive outreach
- customer feedback loop
- usage analytics
- at-risk customers
## Competitor Analysis
Top 5 ranking pages: 1,800-3,200 words, average 2,400
Common elements: case studies, statistics, actionable frameworks
## Recommended Media
- Infographic: churn calculation formula
- Chart: churn rate benchmarks by industry
- Checklist: 10-point churn prevention audit
```
### 5. SERP Monitoring
**Command**: `/serp-monitor`
Daily rank tracking with volatility alerts and CTR optimization tips.
```bash
# Monitor keywords
/serp-monitor --keywords "keyword-list.txt" --output dashboard
# With alerts
/serp-monitor --keywords "brand terms" --alert-threshold 3 --notify-email "$NOTIFY_EMAIL"
# Historical comparison
/serp-monitor --compare-date 2026-04-01 --show-volatility
```
### 6. Competitor Gap Analysis
**Command**: `/competitor-gap`
Backlink gap, topic gap, and featured snippet opportunities.
```bash
# Full competitor analysis
/competitor-gap example.com --competitors competitor1.com,competitor2.com
# Specific gap types
/competitor-gap example.com --gap-type backlinks --min-dr 40
# Featured snippet opportunities
/competitor-gap example.com --gap-type snippets --serp-features all
```
### 7. Link Prospecting
**Command**: `/link-prospecting`
Quality backlink prospect lists with DA/DR filters and outreach templates.
```bash
# Find prospects
/link-prospecting "digital marketing" --min-da 30 --max-results 100
# With filtering
/link-prospecting "tech blogs" \
--country US \
--language en \
--exclude-domains "spam-site.com" \
--require-contact-email
# Generate outreach
/link-prospecting "saas reviews" --generate-outreach --template guest-post
```
### 8. Page Speed SEO
**Command**: `/page-speed-seo`
Render-blocking, LCP, CLS, FID diagnosis mapped to ranking impact.
```bash
# Audit page speed
/page-speed-seo https://example.com/page
# Batch audit
/page-speed-seo --urls urls.txt --device mobile
# With recommendations
/page-speed-seo https://example.com --prioritize-fixes --show-code-examples
```
**Example Diagnostic**:
```python
# Simulated page speed diagnostic
def diagnose_page_speed(url, device='desktop'):
metrics = {
'lcp': measure_lcp(url, device), # Largest Contentful Paint
'fid': measure_fid(url, device), # First Input Delay
'cls': measure_cls(url, device), # Cumulative Layout Shift
'ttfb': measure_ttfb(url), # Time to First Byte
'fcp': measure_fcp(url, device) # First Contentful Paint
}
issues = []
if metrics['lcp'] > 2500:
issues.append({
'severity': '🔴' if metrics['lcp'] > 4000 else '🟠',
'metric': 'LCP',
'value': f"{metrics['lcp']}ms",
'fix': 'Optimize largest image, use CDN, enable lazy loading'
})
if metrics['cls'] > 0.1:
issues.append({
'severity': '🔴' if metrics['cls'] > 0.25 else '🟠',
'metric': 'CLS',
'value': f"{metrics['cls']:.3f}",
'fix': 'Add explicit dimensions to images/embeds, avoid layout shifts'
})
if metrics['fid'] > 100:
issues.append({
'severity': '🟠',
'metric': 'FID',
'value': f"{metrics['fid']}ms",
'fix': 'Reduce JavaScript execution time, split code bundles'
})
return {
'metrics': metrics,
'issues': issues,
'score': calculate_performance_score(metrics)
}
```
### 9. Local SEO
**Command**: `/local-seo`
NAP consistency, Google Business Profile optimization, local citation audit.
```bash
# Local SEO audit
/local-seo "Business Name" --location "New York, NY"
# NAP consistency check
/local-seo "Business Name" --check-nap --sources 50
# Citation opportunities
/local-seo "Law Firm" --find-citations --country US --category legal
```
### 10. Content Calendar
**Command**: `/content-calendar`
Data-driven editorial calendar from search demand and seasonality.
```bash
# Generate calendar
/content-calendar --topics topics.txt --months 6 --output google-sheets
# With seasonality
/content-calendar --seed-keyword "fitness" --include-seasonal --country US
# Export formats
/content-calendar --topics topics.txt --format csv --include-briefs
```
## Multi-Step Workflows
### Full SEO Sprint
**Workflow**: `full-seo-sprint`
12-step SEO sprint: audit → keyword map → content plan → technical fixes.
```bash
# Run full sprint
/workflows:full-seo-sprint example.com --scope full --duration 2-weeks
# Custom sprint
/workflows:full-seo-sprint example.com \
--focus technical,content \
--skip-backlinks \
--output project-board
```
**Sprint Steps**:
1. ✓ Technical audit (crawlability, indexability, performance)
2. ✓ Content audit (quality, duplication, gaps)
3. ✓ Keyword research (clustering, intent, opportunities)
4. ✓ Competitor analysis (gaps, backlinks, topics)
5. → Keyword mapping (assign keywords to pages)
6. → Content plan (briefs for new/updated content)
7. → Technical fixes (prioritized action list)
8. → Schema implementation (structured data markup)
9. → Internal linking optimization
10. → Page speed optimization
11. → Content production (if --include-content)
12. → Monitoring setup (rank tracking, alerts)
### Launch SEO
**Workflow**: `launch-seo`
Pre-launch SEO checklist with canonical, hreflang, sitemap validation.
```bash
# Pre-launch audit
/workflows:launch-seo staging.example.com --production example.com
# With migration
/workflows:launch-seo new-site.com \
--migrating-from old-site.com \
--check-redirects \
--preserve-equity
```
### Content Refresh
**Workflow**: `content-refresh`
Identify and refresh underperforming pages to recover lost rankings.
```bash
# Find refresh opportunities
/workflows:content-refresh example.com --min-drop 5-positions --timeframe 90-days
# With automated updates
/workflows:content-refresh example.com \
--auto-update \
--update-stats \
Ver no GitHub