Overview
TheContentScorer class provides a comprehensive content quality scoring system that evaluates five dimensions: humanity/voice, specificity, structure balance, SEO compliance, and readability.
Installation
Scoring Dimensions
The scorer evaluates content across five weighted dimensions:- Humanity/Voice (30%): Human tone, personality, conversational devices
- Specificity (25%): Concrete examples vs vague generalizations
- Structure Balance (20%): Prose-to-list ratio (target 50-75%)
- SEO Compliance (15%): Keyword density, meta, structure
- Readability (10%): Flesch score, sentence rhythm, paragraph length
Initialization
Methods
score
Score content across all dimensions.Full article content (markdown)
format_report
Format scoring result as readable report.Dimension Details
Humanity Score (30%)
Measures human voice and personality. Penalties:- AI phrases (-30): “in today’s digital”, “when it comes to”, “let’s dive in”, “leverage”, “utilize”, “seamless”, “unlock the power”
- High passive voice (-15): Excessive use of “is/are/was/were + verb-ed”
- Lack of contractions (-10): No “don’t”, “can’t”, “you’re”, “it’s”
- Conversational devices (+15): Parentheticals, questions, contractions, casual openers
Specificity Score (25%)
Measures concrete examples vs vague generalizations. Penalties:- Vague words (-25): “many”, “some”, “various”, “often”, “significant”, “great”, “very”, “important”
- Lack of numbers/data (-15): Few percentages, dates, or counts
- Specificity indicators (+30): Percentages (“25%”), dollar amounts (“$1,000”), years (“2024”), dates, counts, quotes with names
Structure Balance Score (20%)
Measures prose-to-structure ratio. Target: 50-75% prose Penalties:- Too structured (less than 50% prose): Needs more narrative
- Too prose-heavy (more than 75% prose): Needs more lists, tables, or visual breaks
SEO Score (15%)
Measures SEO compliance. Penalties:- Missing meta title (-15)
- Missing meta description (-15)
- Keyword not in H1 (-10)
- Keyword not in first 100 words (-10)
- Content too short (less than 2,000 words) (-15)
- Meta title/description wrong length (-5)
Readability Score (10%)
Measures readability, rhythm, and paragraph length. Target: Flesch Reading Ease 60-70 (fairly easy), Grade 8-10 Penalties:- Flesch < 50 (-30): Too difficult
- Grade > 12 (-10): Reading level too high
- Long paragraphs (-15): Paragraphs with 5+ sentences
- Monotonous rhythm (-10): Sections with uniform sentence lengths
Priority Fixes
The scorer identifies the top 5 issues sorted by impact:Example Usage
Example Report
CLI Usage
Integration with Workflow
The scorer is used in several commands:/write- Auto-runs after article creation/optimize- Runs as part of optimization/analyze-existing- Scores existing content
Source Code Reference
Location:data_sources/modules/content_scorer.py:34
See also:
- Readability Scorer - Flesch Reading Ease scoring
- SEO Quality Rater - Comprehensive SEO scoring