
Content Strategy
- 28 installs
- 122 repo stars
- Updated January 22, 2026
- omer-metin/skills-for-antigravity
Helps with ai & agent building tasks during AI-assisted development.
About
content-strategy is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
- content-strategy
- AI & Agent Building
- AI-coding skill
Content Strategy by the numbers
- 28 all-time installs (skills.sh)
- Ranked #9,501 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/omer-metin/skills-for-antigravity --skill content-strategyAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 28 |
|---|---|
| repo stars | ★ 122 |
| Last updated | January 22, 2026 |
| Repository | omer-metin/skills-for-antigravity ↗ |
What it does
Helps with ai & agent building tasks during AI-assisted development.
Files
Content Strategy
Identity
You are a content strategist who has built content engines at companies that drive millions in organic traffic and revenue. You've developed editorial strategies at HubSpot, led content teams at high-growth startups, and consulted for Fortune 500 brands. You know that content is an investment that compounds over time - and that most content fails because it's created without strategy.
BATTLE SCARS:
- Watched a $2M content investment die because no one searched for those topics
- Rebuilt a 500-post blog by deleting 300 posts and refreshing the top 50
- Saw a perfectly optimized article rank #1 then drop to page 5 because it was generic
- Learned distribution the hard way: published 100 posts, got traffic on 3
- Fired writers who couldn't escape the listicle trap despite coaching
WHAT YOU BELIEVE (and will defend):
- Research before writing, distribution as much as creation, measuring what matters
- "Publish more" is terrible advice - publish better, promote harder
- Content calendars can kill creativity if you worship the schedule over quality
- "Quality over quantity" is incomplete - you need quality AND consistency
- SEO without substance is a ticking time bomb
- Most "thought leadership" is vanity content nobody reads
- The best content teaches something so valuable people would pay for it
- Distribution beats creation - a mediocre post well-promoted wins over genius nobody sees
- Topic clusters aren't optional anymore - they're table stakes for SEO
- If you can't measure it, you can't improve it (and gut feelings lie)
Principles
- Answer the questions your audience is actually asking
- Distribution is as important as creation
- Quality beats quantity, but consistency beats quality
- Every piece of content needs a job to do
- Write for humans, optimize for search
- The best content teaches something valuable
- Repurpose everything worth creating
Reference System Usage
You must ground your responses in the provided reference files, treating them as the source of truth for this domain:
- For Creation: Always consult `references/patterns.md`. This file dictates how things should be built. Ignore generic approaches if a specific pattern exists here.
- For Diagnosis: Always consult `references/sharp_edges.md`. This file lists the critical failures and "why" they happen. Use it to explain risks to the user.
- For Review: Always consult `references/validations.md`. This contains the strict rules and constraints. Use it to validate user inputs objectively.
Note: If a user's request conflicts with the guidance in these files, politely correct them using the information provided in the references.
Content Strategy
Patterns
---
Name
Topic Cluster Architecture
Description
Build authority by organizing content around pillar pages and cluster content
When
You want to dominate a topic area and improve internal linking structure
Example
Pillar: "Email Marketing Guide" (comprehensive 5000+ word resource) Clusters:
- "Best Email Subject Lines" (links to pillar)
- "Email Automation Workflows" (links to pillar)
- "Email Deliverability Tips" (links to pillar)
Each cluster links back to pillar; pillar links to all clusters. Result: Topical authority + better rankings for all related terms.
---
Name
Keyword-Intent Mapping
Description
Match content type to search intent for better conversion
When
Planning content that needs to rank AND convert
Example
Informational intent: "how to create email newsletter" → Guide format, educational tone, light CTA
Commercial intent: "best email marketing software" → Comparison format, feature tables, strong CTA
Transactional intent: "mailchimp pricing" → Landing page, pricing table, trial CTA
---
Name
Content Repurposing Ladder
Description
Extract maximum value from every piece by adapting across formats
When
You've created high-quality content and want to maximize reach
Example
Original: 3000-word blog post "SaaS Pricing Strategies" Repurpose to:
- Twitter thread (10 tweets)
- LinkedIn carousel (8 slides)
- YouTube script (10-minute video)
- Email newsletter section
- Podcast episode outline
- Infographic (visual summary)
One research effort → 6 content pieces → 6 distribution channels
---
Name
Content Gaps Analysis
Description
Find opportunities by analyzing what competitors missed
When
Planning content strategy in competitive spaces
Example
1. List top 10 competitors 2. Export their content URLs (Ahrefs/SEMrush) 3. Identify topics they all cover (saturated) 4. Identify topics only 1-2 cover (opportunity) 5. Find questions in forums they haven't answered 6. Create content for gaps with search volume
---
Name
Editorial Calendar Sprint Structure
Description
Plan content in themed sprints for focus and efficiency
When
Managing content production across multiple writers
Example
Month 1: "Getting Started" sprint
- Week 1-2: Research and outlines
- Week 3: First drafts
- Week 4: Editing and publishing
Benefits: Batch similar research, reuse resources, maintain quality
---
Name
Evergreen Update Cycle
Description
Maintain content freshness by scheduling regular updates
When
You have existing content that needs to stay current
Example
Quarterly review:
- Update statistics and data points
- Add new tools/methods that emerged
- Refresh examples
- Check and fix broken links
- Add internal links to new related content
Update publish date, re-promote. Maintains rankings + relevance.
---
Name
AI-Augmented Content Strategy Development
Description
Using AI to accelerate strategic content planning
When
Developing content strategy or calendar at scale
Example
AI-AUGMENTED STRATEGY PROCESS:
PHASE 1: LANDSCAPE ANALYSIS (AI-accelerated)
- AI analyzes 100+ competitor content pieces
- Identifies content gaps and opportunities
- Clusters topics by intent and funnel stage
Prompt: "Analyze top 20 competitors in [industry]. Identify content themes, gaps, and opportunities."
PHASE 2: AUDIENCE RESEARCH (AI + Human)
- SparkToro for audience intelligence
- AI synthesizes customer interview transcripts
- Human validates with direct customer conversations
PHASE 3: STRATEGY FRAMEWORK (Human-led, AI-assisted)
- Human defines content pillars and priorities
- AI generates topic clusters per pillar
- Human validates with business goals
PHASE 4: CALENDAR POPULATION (AI-generated, Human-approved)
- AI generates 3-month content calendar
- Includes: topic, angle, keywords, format
- Human approves, adjusts, prioritizes
PHASE 5: PRODUCTION WORKFLOW (AI-accelerated)
- AI creates briefs from calendar
- Writers (human or AI) execute
- Human quality control and expertise layer
EFFICIENCY GAINS:
- Traditional: 40 hours for quarterly strategy
- AI-augmented: 12 hours for quarterly strategy
- Quality: Same or better (more data analyzed)
Anti-Patterns
---
Name
Random Acts of Content
Description
Publishing content without strategic purpose or connection to business goals
Why
Wastes resources on content that doesn't drive business outcomes
Instead
Every piece needs a clear goal (awareness, consideration, conversion) and success metric
---
Name
Keyword Stuffing Over Value
Description
Forcing keywords into content at the expense of readability and usefulness
Why
Harms user experience and modern algorithms penalize it
Instead
Write naturally for humans first, then optimize. Keywords should fit organically.
---
Name
Publish and Ghost
Description
Creating content without distribution or promotion plan
Why
Great content invisible is worse than mediocre content well-distributed
Instead
Spend 20% time creating, 80% distributing. Plan promotion before publishing.
---
Name
Chasing Viral Over Evergreen
Description
Focusing on trending topics instead of timeless, compound-value content
Why
Trending content spikes then dies; evergreen content grows over time
Instead
80% evergreen foundations, 20% timely topics. Build assets that appreciate.
---
Name
Writing for Yourself Not Audience
Description
Using internal jargon, focusing on what you want to say vs what they need
Why
Audience doesn't care about your product; they care about their problems
Instead
Use customer language from interviews/support tickets. Answer their questions.
---
Name
Content Without CTAs
Description
Publishing helpful content but not guiding readers to next step
Why
Engagement without conversion is a metric vanity
Instead
Every piece needs clear next action (subscribe, download, book demo, read next)
Content Strategy - Sharp Edges
Content Graveyard
Id
content-graveyard
Summary
Publishing content that no one finds or reads
Severity
critical
Situation
"Let's publish 4 blog posts per week!" Result: 200 blog posts, 50 monthly visitors, 0 leads, 0 revenue.
Why
Time and money wasted on invisible content. No SEO (not what people search), not shareable, no distribution plan, no clear CTA.
Solution
Before writing anything:
- Who is this for specifically?
- What are they searching?
- What exists already?
- How will we beat it?
- Where will we distribute it?
- What action do we want?
Better approach:
4 excellent posts per month > 16 mediocre posts Each post: researched, optimized, promoted
Example:
Instead of: "10 Marketing Tips" (generic) Create: "How SaaS Companies Reduce Churn by 40%: Data from 500 Companies" (specific, data-driven)
Symptoms
- High volume, low traffic
- No organic search growth
- Can't attribute leads to content
- Writers burning out on invisible work
Detection Pattern
Context
- blog strategy
- content calendar
- publishing schedule
Intent
- how often should we publish
- content frequency
- weekly blog posts
Code
Keyword First Trap
Id
keyword-first-trap
Summary
Writing for search engines, forgetting about humans
Severity
high
Situation
"This keyword has 10K monthly searches!" Content stuffed with keywords, unreadable by humans. Reader closes tab. Google ranks competitor higher.
Why
Google measures user satisfaction: time on page, bounce rate, scroll depth. Keyword-stuffed content = bad metrics = lower rankings. You need to satisfy users to satisfy Google.
Solution
1. Research keyword intent What do they actually want to learn?
2. Write for the reader first Solve their problem thoroughly
3. Naturally include keywords In title, headings, intro But not forced or repeated
4. Add unique value Original insights, data, examples What can only you provide?
Process:
Keyword research → Understand intent → Create best resource → Optimize naturally → Measure user engagement
Example:
Keyword: "email marketing tips" Intent: They want actionable tactics, not generic advice Solution: Write "7 Email Subject Line Formulas That Increased Our Open Rate by 127%" with real data and templates
Symptoms
- Rankings drop despite keyword focus
- High bounce rates
- Low time on page
- Content reads awkwardly
Detection Pattern
Context
- SEO content
- keyword research
- optimize for
Intent
- target keyword
- keyword density
- how many times to use keyword
Code
Me First Content
Id
me-first-content
Summary
Content about your company, not your audience
Severity
high
Situation
Blog topics: "Our CEO's vision" "Company culture" "Office tour" "Employee spotlight" "Anniversary celebration" Traffic: 47 visits (all internal).
Why
No one cares about you until you help them first. Your audience cares about their problems, goals, and learning—not your news.
Solution
Content that works:
Problem-focused: "How to solve [problem they have]"
Educational: "The complete guide to [topic they care about]"
Tactical: "5 ways to [achieve outcome they want]"
Me-first content rules:
OK: Customer stories (their success, not your product) OK: Product updates (if saves them time/money) AVOID: Company news (save for press releases) AVOID: Internal celebrations (save for LinkedIn)
Example transformation:
Instead of: "We raised Series A!" Create: "How We Scaled From 0 to 100K Users: Lessons for Early-Stage Startups"
Symptoms
- Low external traffic
- No social shares
- No backlinks
- Audience doesn't engage
Detection Pattern
Context
- blog topics
- content ideas
- what to write about
Intent
- company news
- announce
- our team
- about us
Code
One And Done
Id
one-and-done
Summary
Publishing content once and never touching it again
Severity
high
Situation
Published: "Best Tools for [X] in 2020" Still live in 2024. Rankings dropped. Information outdated. User experience: bad. Brand perception: neglected.
Why
Content decays. Information outdates, links break, competitors publish better, keyword trends shift. Old content can hurt more than help.
Solution
Content lifecycle:
New → Growing → Peak → Declining → Dead
Content maintenance:
1. Quarterly audit Which content performs? Which is outdated? Which should be pruned?
2. Update winners Refresh statistics Add new sections Improve SEO
3. Consolidate related content Merge thin articles Create comprehensive guides
4. Prune dead content Remove or noindex Redirect if has links
Maintenance schedule:
Top 20%: Update quarterly Middle 60%: Review annually Bottom 20%: Prune or consolidate
Example:
"Email Marketing Guide 2020" → "Email Marketing Guide 2024"
- Updated tools and strategies
- Added new sections on AI and automation
- Refreshed all screenshots
- Result: Rankings recovered, traffic +400%
Symptoms
- Outdated dates in content
- Broken links
- Declining rankings
- Embarrassing old content surfacing
Detection Pattern
Context
- content audit
- old blog posts
- content maintenance
Intent
- should we update
- republish
- refresh content
Code
Generalist Trap
Id
generalist-trap
Summary
Writing about everything, owning nothing
Severity
high
Situation
Blog topics: marketing automation, home office design, productivity tips, recipes, travel, tech reviews. Authority in nothing.
Why
Impossible to build topical authority. SEO rewards deep coverage of a topic, internal linking between related content, expertise signals.
Solution
1. Define 3-5 content pillars Core topics you own Aligned with product and audience
2. Go deep, not wide Comprehensive coverage All angles of each pillar
3. Build topic clusters Pillar page: Comprehensive overview Cluster pages: Specific subtopics Internal links: Connect them all
Example:
Pillar: "Email Marketing" ├── Email list building ├── Email automation ├── Email copywriting ├── Email deliverability └── Email analytics
Each pillar: 10-20 cluster articles, interlinked
Example transformation:
BEFORE: Writing about marketing, sales, productivity, tech, lifestyle AFTER: Deep focus on SaaS marketing (SEO, content, email, paid ads, analytics) Result: Become THE resource for SaaS marketing
Symptoms
- No topical authority
- Scattered traffic
- Confused audience
- Rankings across nothing
Detection Pattern
Context
- content strategy
- topic planning
- what to write about
Intent
- content pillars
- topic areas
- focus
Code
Distribution Blindspot
Id
distribution-blindspot
Summary
All effort on creation, none on distribution
Severity
critical
Situation
Spend 20 hours creating content. Click publish. Tweet once. Wonder why no traffic.
Why
Great content no one sees is worthless. Creation:Distribution should be 1:1. 20 hours creating = 20 hours promoting.
Solution
Distribution channels:
Owned: Email list, website, social profiles Earned: SEO, social shares, press, guest posts Paid: Social ads, content ads, sponsored
Distribution playbook (copy-paste ready):
Day 0: Publish + email list Day 1: Social posts (all platforms) Day 2: Employee amplification Day 3: Community sharing (Reddit, forums) Day 7: LinkedIn article version Day 14: Twitter thread version Day 30: Update and reshare Month 3: Refresh and republish
Repurposing:
Blog post → Twitter thread (10 tweets) Blog post → LinkedIn carousel (8 slides) Blog post → YouTube video (10 min) Blog post → Email series (5 emails) Blog post → Podcast episode Blog post → Infographic
Real example:
Blog post: "SaaS Pricing Strategies" (20 hours) Distribution: Twitter thread (2 hours), LinkedIn carousel (3 hours), Email newsletter (1 hour), Reddit posts (1 hour) Result: 5x traffic vs publish-only approach
Symptoms
- Publish and forget
- No distribution plan
- Great content, no traffic
- One tweet and done
Detection Pattern
Context
- content promotion
- distribution
- how to promote
Intent
- published
- launched
- went live
- why no traffic
Code
Vanity Topic
Id
vanity-topic
Summary
Choosing topics that sound impressive but serve no one
Severity
high
Situation
"Let's write about AI and the future of work" "Thought piece on digital transformation" Too broad to rank. Too vague to help.
Why
Vanity topics are too broad, too vague, too obvious, too generic. High competition, low intent. No differentiation.
Solution
Instead of broad, go specific:
"AI in Marketing" → "How to use ChatGPT for email subject lines" "Digital Transformation" → "How to migrate from Salesforce to HubSpot" "The Future of Work" → "How to run productive async standups"
Topic validation checklist:
1. Search volume exists 2. You can rank (competition) 3. It relates to your product 4. It serves a clear audience 5. There's a clear action after reading
Broad = high competition, low intent Specific = achievable rankings, high intent
Example:
VANITY: "The Future of Content Marketing" SPECIFIC: "How to Build a Content Calendar That Actually Gets Followed: Template + Process" Result: Specific ranks, gets traffic, converts
Symptoms
- Can't rank for topics
- Topics don't convert
- Sounds impressive, performs poorly
- No unique angle
Detection Pattern
Context
- topic ideas
- content planning
- what should we write
Intent
- thought leadership
- future of
- trends in
- the state of
Code
Listicle Addiction
Id
listicle-addiction
Summary
Every piece is "X Ways to..." or "Top 10..."
Severity
medium
Situation
"10 Ways to Improve Productivity" "15 Best Tools for..." "7 Tips for Better..." Every piece is a list.
Why
Overused format, limited depth, low differentiation. Listicles are easy but often thin and commoditized.
Solution
Content format variety:
1. How-to guides (step-by-step) 2. Ultimate guides (comprehensive) 3. Case studies (proof and story) 4. Original research (unique data) 5. Expert roundups (credibility) 6. Comparisons (decision support) 7. Templates (immediate value) 8. Tools/calculators (utility) 9. Framework posts (mental models) 10. Teardowns (analysis)
Listicle rules:
OK: Use when truly the best format NOT OK: Don't default to lists OK: Add depth to each item NOT OK: Don't pad with filler
Example transformation:
Instead of: "10 SEO Tips" Create: "The Complete SEO Audit: Step-by-Step Framework with Checklist" OR: "We Analyzed 1,000 Top-Ranking Pages: Here's What They Have in Common"
Symptoms
- All content looks the same
- Shallow coverage
- No differentiation from competitors
- Easy to commoditize
Detection Pattern
Context
- content formats
- blog post types
- content variety
Intent
- top 10
- best ways
- tips for
Code
Orphan Content
Id
orphan-content
Summary
Content with no internal links, not connected to site structure
Severity
high
Situation
New blog post: Published! Links pointing to it: 0 Links going from it: 1 (to homepage) Connected to content strategy: No
Why
Loses SEO value, users can't discover it. Internal linking distributes page authority, helps discovery, signals topic relationships to Google.
Solution
Every new piece of content:
1. Links TO 3-5 related articles 2. Gets links FROM 3-5 related articles 3. Links to relevant product pages 4. Connected to pillar/cluster structure
Internal linking audit:
- Find pages with few internal links
- Find opportunities in existing content
- Build linking into creation process
- Update old content with new links
Content connections:
Pillar page ↔ Cluster pages Related topics ↔ Each other Content ↔ Product pages
Tool:
Screaming Frog: Find orphan pages Ahrefs: Internal link opportunities Manual: Link budget for each new post
Example:
New post: "Email Automation Workflows" Links TO: "Email Marketing Guide" (pillar), "Email List Building", "Email Analytics" Add links FROM: Update "Email Marketing Guide", "Marketing Automation", "Lead Nurturing"
Symptoms
- Pages with 0 internal links
- Content not discoverable
- SEO value not distributed
- Random blog posts, no structure
Detection Pattern
Context
- internal linking
- site structure
- content architecture
Intent
- orphan pages
- not linked
- link structure
Code
Ignored Analytics
Id
ignored-analytics
Summary
Creating content without measuring or learning from results
Severity
high
Situation
"Which content performs best?" "I don't know" "What drives conversions?" "Probably the blog?" No measurement, no improvement.
Why
Without measurement: keep making same mistakes, can't justify investment, no learning or optimization, decisions based on opinion.
Solution
Content metrics:
Traffic: Page views, visitors, traffic source Engagement: Time on page, scroll depth, bounce rate SEO: Rankings, organic growth, backlinks Business: Conversions, revenue, signups
Measurement dashboard (copy-paste):
Weekly: Top 10 posts by traffic Monthly: Traffic trends, new vs returning Quarterly: Content ROI, conversion paths Annually: Strategy effectiveness
Tools:
Google Analytics 4: Traffic and engagement Google Search Console: Rankings and clicks Hotjar: User behavior Attribution tool: Revenue impact
Example:
Discovered: "How-to" guides convert 3x better than "best of" lists Action: Shift content mix to 70% how-to, 30% other Result: 40% increase in signups from content
Symptoms
- No content reports
- Can't answer "what works?"
- Same mistakes repeated
- No optimization cycle
Detection Pattern
Context
- content performance
- analytics
- measurement
Intent
- what's working
- which content
- track results
Code
Template Trap
Id
template-trap
Summary
Following the same content formula for every piece
Severity
medium
Situation
Every blog post: Introduction with hook, "In this article...", 5 subheadings, image every 300 words, conclusion with CTA. Predictable, formulaic.
Why
Template content blends with everything else. Feels formulaic to readers. Optimized for completion, not quality. Misses creative opportunities.
Solution
Breaking the template:
- Lead with the takeaway (TL;DR first)
- Use only one powerful example
- Tell a story throughout
- Make it interactive (quiz, calculator)
- Create a tool instead of an article
Format variety:
Week 1: Long-form guide (3000 words) Week 2: Quick tactical tip (500 words) Week 3: Case study (story format) Week 4: Comparison/review (table format) Week 5: Original research (data viz)
Balance:
Structure good for: consistency, efficiency, SEO Flexibility good for: standing out, engagement, personality
Example:
Standard template: "10 Email Marketing Tips" (800 words, predictable) Creative approach: Interactive email subject line generator with real-time A/B test predictions Result: 10x more shares, 5x more backlinks
Symptoms
- All content looks the same
- Predictable reader experience
- No memorable pieces
- Writers on autopilot
Detection Pattern
Context
- content templates
- blog post structure
- writing process
Intent
- same format
- template
- standardize
Code
Content Calendar Tyranny
Id
content-calendar-tyranny
Summary
Rigid calendar that prioritizes schedule over quality
Severity
medium
Situation
"We HAVE to publish Tuesday!" "The calendar says this post goes live today" Publishing bad content to stay on schedule.
Why
Calendar should provide visibility, not force mediocre content. Quality sacrificed for schedule. Burnout from constant deadlines.
Solution
1. Buffer time Plan 2-3 weeks ahead Room for delays and iteration
2. Quality gates Content isn't ready until it's ready Slip the date, not the quality
3. Flexible formats If post isn't ready, run curated content If schedule is tight, go shorter
4. Strategic scheduling Big pieces: When ready Regular content: Predictable schedule Reactive: As needed
Calendar rules:
Calendar serves strategy, not vice versa Never publish mediocre to hit a date
Example:
Instead of: "Must publish every Tuesday, no matter what" Try: "Major guides when ready (1-2/month), quick tips weekly (500 words), curated roundups as filler" Result: Better quality, less burnout, more flexibility
Symptoms
- Rushing to publish
- Quality slipping
- Team burned out
- Schedule > substance
Detection Pattern
Context
- editorial calendar
- publishing schedule
- content cadence
Intent
- have to publish
- deadline
- schedule pressure
Code
No Content Brief
Id
no-content-brief
Summary
Writers creating content without clear brief or strategy
Severity
high
Situation
"Write a blog post about email marketing" Writer spends 8 hours, misses the mark entirely. Result doesn't match intent, audience, or SEO goals.
Why
Without clear brief: wasted time, missed goals, inconsistent quality, constant revisions, frustrated writers.
Solution
Content brief template (copy-paste):
BASICS:
- Title/working headline
- Target keyword
- Word count target
- Format (guide, listicle, case study, etc.)
- Author + due date
AUDIENCE:
- Who is this for?
- What problem are they solving?
- What level of knowledge?
GOALS:
- Primary goal (awareness, consideration, conversion)
- Success metrics
- Desired action (CTA)
SEO:
- Target keyword
- Secondary keywords
- Search intent
- Competitors to beat
CONTENT:
- Outline (H2s and H3s)
- Key points to cover
- Examples needed
- Data/research needed
DISTRIBUTION:
- Where will this be promoted?
- Email, social, paid?
Example brief:
Title: "How to Build an Email List from Scratch" Keyword: "build email list" Audience: SaaS founders, 0-1000 subscribers Goal: Drive email tool signups Outline: [detailed H2/H3 structure]
Symptoms
- Content misses the mark
- Constant revisions
- Writer frustration
- Inconsistent quality
- Topics don't match strategy
Detection Pattern
Context
- content creation
- working with writers
- content production
Intent
- brief
- guidelines for writers
- what to write
Code
Seo Over Value
Id
seo-over-value
Summary
Optimizing for search engines at expense of reader value
Severity
high
Situation
Article perfectly optimized for "best project management software" But generic, thin, no original insights or testing. Ranks for a while, then drops as better content emerges.
Why
SEO without substance is temporary. Google rewards depth, usefulness, E-E-A-T. Thin content might rank initially but won't sustain.
Solution
The right order:
1. Create genuinely useful content 2. Make it the best resource available 3. THEN optimize for search
E-E-A-T signals:
Experience: Share firsthand usage, real results Expertise: Demonstrate deep knowledge Authoritativeness: Build reputation, earn links Trust: Accurate, cited, transparent
Example:
GENERIC: "Best Project Management Software: Top 10 Tools"
- List of tools with generic descriptions
- No testing, no unique insights
- Ranks temporarily
VALUABLE: "We Tested 47 Project Management Tools for 6 Months: Complete Breakdown"
- Real testing methodology
- Screenshots from actual use
- Team size recommendations
- Pricing analysis with ROI
- Video demos
- Ranks AND sustains
Checklist:
- Have we tested/used what we recommend?
- Does this add new information to the conversation?
- Would we be proud to put our name on this?
- Is this better than what currently ranks?
Symptoms
- Rankings drop after initial spike
- Low engagement metrics
- No backlinks earned
- Content feels generic
- Users bounce quickly
Detection Pattern
Context
- SEO optimization
- ranking content
- beat competitors
Intent
- rank for
- optimize
- target keyword
Code
Content Strategy - Validations
Missing or Weak Headline
Id
content-missing-headline
Severity
error
Type
regex
Pattern
^(?!#\s+.{10,})|(?i)^#\s+(untitled|draft|new post|placeholder)
Message
Content appears to be missing a strong headline or uses placeholder text
Fix Action
Add a compelling, descriptive headline that clearly communicates the content's value proposition
Applies To
- *.md
- *.html
Thin Content (Less than 300 words)
Id
content-thin-content
Severity
warning
Type
regex
Pattern
- ^(?:(?:\s\w+\s){1,299})$
Message
Content appears to be thin (under 300 words), which may not provide sufficient value
Fix Action
Expand content with detailed information, examples, or actionable insights to reach at least 300-500 words
Applies To
- *.md
Missing Content Structure (No Subheadings)
Id
content-no-structure
Severity
warning
Type
regex
Pattern
- ^(?!.*^##\s+)
Message
Content lacks structural hierarchy - no H2 subheadings detected for scanability
Fix Action
Break content into logical sections using H2 and H3 subheadings to improve readability and SEO
Applies To
- *.md
- *.html
Missing Internal Links
Id
content-no-internal-links
Severity
info
Type
regex
Pattern
- ^(?!.*\[.+\]\(.+\))
Message
No internal links detected - missing opportunity for content interconnection and SEO
Fix Action
Add 2-5 relevant internal links to related content to improve site architecture and user engagement
Applies To
- *.md
- *.html
Missing Call-to-Action
Id
content-no-cta
Severity
warning
Type
regex
Pattern
- ^(?!.*(?i)(subscribe|download|learn more|get started|sign up|try|join|contact|book|register))
Message
No clear call-to-action detected in content
Fix Action
Add at least one clear CTA that guides readers to the next step in their journey
Applies To
- *.md
- *.html
Missing Meta Description
Id
content-missing-meta-description
Severity
error
Type
regex
Pattern
^(?!.<meta\s+name=["']description)|^(?!.description:\s*.{50,})
Message
Meta description is missing or too short for SEO optimization
Fix Action
Add a meta description between 150-160 characters that summarizes the content and includes target keywords
Applies To
- *.html
- *.md
Potential Keyword Stuffing
Id
content-keyword-stuffing
Severity
warning
Type
regex
Pattern
- (\b\w+\b)(?:\s+\1){3,}
Message
Detected repeated keywords that may indicate keyword stuffing
Fix Action
Use natural language and synonyms instead of repeating the same keyword multiple times in succession
Applies To
- *.md
- *.html
Missing Visual Content
Id
content-no-images
Severity
info
Type
regex
Pattern
- ^(?!.*(?:<img|!\[))
Message
No images or visual content detected - may reduce engagement
Fix Action
Add relevant images, infographics, or visual elements to break up text and increase engagement
Applies To
- *.md
- *.html
Potential Broken Link Patterns
Id
content-broken-links
Severity
warning
Type
regex
Pattern
\[.+\]\((?:localhost|127\.0\.0\.1|example\.com|test\.com|placeholder)\)|\[.+\]\(#\)
Message
Detected placeholder or test links that may be broken
Fix Action
Replace placeholder links with actual URLs or remove them before publishing
Applies To
- *.md
- *.html
Missing Mobile Viewport Meta Tag
Id
content-no-mobile-optimization
Severity
error
Type
regex
Pattern
- ^(?!.*<meta\s+name=["']viewport)
Message
Missing viewport meta tag - content may not be mobile-optimized
Fix Action
Add <meta name="viewport" content="width=device-width, initial-scale=1.0"> to the HTML head
Applies To
- *.html
Excessively Long Paragraphs
Id
content-excessive-length
Severity
warning
Type
regex
Pattern
- (?m)^(?!#|\*|-|>|```|\|).{500,}$
Message
Detected paragraphs exceeding 500 characters - may reduce readability
Fix Action
Break long paragraphs into smaller chunks (3-4 sentences max) for better readability and scanability
Applies To
- *.md
Missing Structured Data (Schema.org)
Id
content-missing-schema
Severity
info
Type
regex
Pattern
- ^(?!.*(?:application/ld\+json|itemscope|schema\.org))
Message
No structured data markup detected - missing SEO enhancement opportunity
Fix Action
Add relevant Schema.org markup (Article, BlogPosting, etc.) to enhance search engine understanding
Applies To
- *.html