About This Skill
# SEO Content Quality Gate
Catch the on-page SEO issues **before** you hit publish. This skill audits your article draft against 60+ ranking factors, scores it 0-100, and tells you exactly what to fix.
## What it does
A single pass through your markdown / HTML article that checks:
- **Keyword optimization** — title tag, H1, H2s, first 100 words, density, LSI keywords
- **Structure** — heading hierarchy, paragraph length, list/table usage
- **Metadata** — title length, meta description, OG tags, Twitter cards
- **Links** — internal links (count + quality), external links (no-follow balance), broken anchors
- **Readability** — Flesch reading ease, sentence length, passive voice, transition words
- **Schema.org** — Article, BreadcrumbList, FAQPage, HowTo detection
- **Media** — image alt text, captions, compression hints
- **Technical** — canonical URL, robots meta, hreflang, mobile-friendly signals
Returns a **0-100 score** with a prioritized fix list and an "expected rank boost" estimate per fix.
## When to use it
- You publish content regularly and want a consistent quality bar
- Your traffic plateaued and you don't know what's wrong
- You use AI to draft articles and need a quality filter
- You're submitting guest posts and want to maximize acceptance
- Your agency delivers content to clients and wants a sign-off report
## Why it's better than ad-hoc prompting
Most "review my article for SEO" prompts give 3 generic tips. This skill is different:
- **Quantitative** — every check has a threshold and a score, not a feeling
- **Comprehensive** — 60+ checks, not 5
- **Actionable** — every failure has a copy-paste fix
- **Prioritized** — ranks fixes by expected traffic impact
- **Reproducible** — same article → same score
## Architecture
```
┌─────────────────────────────────────────────────────────┐
│ Agent (Claude/Cursor) │
│ - Reads article file + target keyword │
│ - Calls audit script │
│ - Synthesizes fix list │
└───────────────┬─────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ skills/seo-content-quality-gate/ │
│ scripts/ │
│ ├── audit.py # Main auditor (all checks) │
│ ├── readability.py # Flesch, sentence stats │
│ ├── link_checker.py # Internal/external link scan │
│ ├── schema_validator.py # JSON-LD validation │
│ └── scorer.py # 0-100 scoring + report │
│ references/ │
│ ├── checklist-2026.md # 60+ checks explained │
│ ├── keyword-strategy.md │
│ └── schema-templates.md │
│ data/ │
│ └── stop_words.json # For keyword density │
└─────────────────────────────────────────────────────────┘
```
## Quick start
```bash
# 1. Install
pip install beautifulsoup4 lxml
# 2. Audit a markdown article
python scripts/audit.py article.md --keyword "rf frontend design"
# 3. Audit HTML with full metadata
python scripts/audit.py article.html --keyword "seo audit" --format markdown > report.md
# 4. Score only
python scripts/scorer.py article.md --keyword "..."
```
## Sample output (excerpt)
```
# SEO Content Quality Gate — Report
**Article**: article.md
**Target keyword**: "rf frontend design"
**Word count**: 2,847
**Score**: 78/100 (Good — publish after fixing 4 issues)
## Critical (must fix)
- ❌ H1 missing target keyword (impact: +18% organic traffic)
- ❌ Meta description missing entirely (impact: +12% CTR)
- ❌ No internal links in first 500 words (impact: +8% crawl depth)
## Important (should fix)
- ⚠️ Title tag is 68 chars (target 50-60) — will truncate in SERP
- ⚠️ Only 1 external link; add 2-3 to authority domains
- ⚠️ No schema.org markup (add Article + BreadcrumbList)
- ⚠️ 12 images without alt text
## Nice to have
- 💡 First paragraph is 89 words — break into 2
- 💡 4 sentences over 30 words — split for readability
- 💡 Add a FAQ section with 3-5 Q&A → FAQPage schema
## Expected post-fix score: 92/100
## Expected traffic lift: +30-45% over 90 days
```
## The 60+ checks (categories)
### Keyword optimization (8 checks)
- Title tag contains keyword, length 50-60
- H1 contains keyword (and matches title)
- H2s use semantic variations
- First 100 words mention keyword
- Keyword density 0.5-2.5% (not stuffed)
- LSI keywords present (top 3-5 from SERP)
- Keyword in URL slug
- Keyword in meta description
### Structure (10 checks)
- Single H1, no skipped heading levels
- 3+ H2 sections
- Paragraphs < 150 words average
- Lists/tables for scannable content
- Table of contents for > 2000 words
- Conclusion/summary section
- FAQ section for informational queries
- Bullet points for features/steps
- Quote/callout blocks for emphasis
- Reading time / word count visible
### Metadata (10 checks)
- Title tag 50-60 chars, unique
- Meta description 150-160 chars
- OG title, description, image, type
- Twitter card meta (summary_large_image)
- Canonical URL set
- Author markup
- Published / modified date
- Article schema JSON-LD
- BreadcrumbList schema
- OpenSearch / favicon
### Links (8 checks)
- 2-5 internal links per 1000 words
- 1-3 external links to authority sites
- Nofollow on user-generated / paid links
- No broken anchor text (empty)
- Descriptive anchor text (not "click here")
- Deep links (not just homepage)
- No 404s (requires live crawl)
- Link to related content
### Readability (10 checks)
- Flesch reading ease 60+ (8th grade level)
- Avg sentence length < 20 words
- No sentences > 30 words
- Passive voice < 10%
- Transition words every 3-4 sentences
- Subheadings every 300 words
- Active voice dominant
- Concrete nouns over abstract
- Concrete examples / numbers
- Conversational tone (contractions OK)
### Media (8 checks)
- All images have alt text
- Alt text descriptive, not "image"
- Captions on key images
- File names descriptive (not IMG_1234)
- Compression / next-gen formats
- Width/height attrs set
- Lazy loading for below-fold
- WebP or AVIF format
### Technical (8 checks)
- Mobile-friendly viewport meta
- HTTPS canonical
- Hreflang for multi-language
- Structured data validates
- No render-blocking JS in head
- No orphan pages (no internal links pointing in)
- URL is clean (no params, no session IDs)
- 404/410 handling for removed content
## Pricing
Single-purchase, lifetime access. $7.00.
Includes:
- 5 Python audit scripts
- 60+ check reference (with thresholds)
- 3 reference docs (checklist, keyword strategy, schema templates)
- Stop-word list for density calc
- Future updates for the same major version
## Example usage
> "Here's a draft about 'RF frontend design for IoT'. Audit it for SEO."
The skill will:
1. Read the markdown
2. Run all 60+ checks
3. Score the article 0-100
4. List critical/important/nice-to-have fixes
5. Estimate traffic lift per fix
6. Output `report.md` you can attach to your content calendar
## Compatibility
Works with any agent that supports the SKILL.md standard and can execute Python: Claude Code, OpenClaw, Codex CLI, Cursor, Gemini CLI, Cline, Windsurf, Aider. Tested on Linux, macOS, Windows. Supports both Markdown and HTML input.
## Tags
seo, content, audit, on-page, schema-org, readability, meta-tags, content-marketing, technical-seo