/seo-content -- Publication-Ready SEO Content
SEO content has a reputation problem. Most of it is low-value -- keyword-stuffed,
AI-sounding, says nothing new. It ranks for a month, then dies.
This skill creates content that ranks AND builds trust. Content that sounds like
an expert sharing what they know, not a content mill churning out filler.
The goal: Would someone bookmark this? Would they share it? Would they come back?
If yes, Google will reward it. If no, no amount of optimization saves it.
On Activation
- Read
brand/ directory: load voice-profile.md, keyword-plan.md,
audience.md, positioning.md, competitors.md, learnings.md if present.
- Show what loaded:
Brand context loaded:
├── Voice Profile ✓ "{tone summary}"
├── Keyword Plan ✓ {N} pillars, {N} briefs
├── Audience ✓ "{audience summary}"
├── Positioning ✓ "{primary angle}"
├── Competitors ✓ {N} competitors profiled
└── Learnings ✓ {N} entries
- If files missing, note suggestions at the end (e.g., run /brand-voice).
- Check for existing content file at
./campaigns/content/{keyword-slug}.md.
- If exists --> Content Refresh Mode (see below).
- If not --> Full Creation Mode.
- Determine mode: Single article or Scale mode (programmatic SEO).
- Read
brand/landscape.md if it exists — check the Claims Blacklist before making ecosystem or competitive claims. If stale (>14 days) or missing, warn that market claims may be outdated.
Prioritization (defer to seo-machine's publishing order)
When the user asks "what should I write next?" — the answer follows seo-machine's conversion-intent-first publishing order, not "whatever has highest volume":
| Order |
Pattern |
Why |
| 1 |
/alternatives/[competitor] |
Highest conversion intent — reader is already in market |
| 2 |
/compare/[a]-vs-[b] |
Be the third option in any two-vendor comparison |
| 3 |
/for/[use-case] and /for/[audience] |
JTBD without competitor name — high TP/volume ratio |
| 4 |
Long-form playbooks (this skill's wheelhouse) |
Authority + AI-citation + inbound link draw |
| 5 |
Generic blog posts |
Lowest conversion — defer until ~10 indexed pages exist |
If docs/seo-machine.md exists at the project root, route the user to that skill's Resume mode instead of writing standalone articles — the roadmap there already encodes the priority order. seo-content is the right tool for single articles and playbook-pattern long-form; alternatives/compare/use-case pages belong in seo-machine's programmatic sprint.
Brand Memory
Reads (if they exist)
| File |
What it provides |
How it shapes output |
| voice-profile.md |
Tone, personality, vocabulary, rhythm |
Directly shapes writing style |
| keyword-plan.md |
Prioritized keywords, content briefs, SERP data |
Target keyword, cluster, intent, content type |
| audience.md |
Buyer profiles, sophistication level, pain points |
How technical to write, what examples to use |
| positioning.md |
Market angles, differentiators |
Unique angle for the piece |
| competitors.md |
Named competitors, their positioning |
What angle competitors take |
| learnings.md |
Past performance data |
What content approaches worked before |
Writes
| File |
What it contains |
| ./campaigns/content/{keyword-slug}.md |
Publication-ready article with frontmatter |
| ./brand/assets.md |
Appends entry for the created content piece |
| ./brand/learnings.md |
Appends findings after feedback collection |
Required Inputs
- Target keyword -- Primary keyword to rank for
- Keyword cluster -- Related keywords to include naturally
- Search intent -- Informational / Commercial / Transactional
- Content type -- Pillar guide / How-to / Comparison / Listicle / etc.
- Brand voice profile -- (from voice-profile.md, if available)
- Unique angle -- What perspective makes this different?
Pre-fill from brand memory when available. Ask the user only for what's missing.
The Workflow (Single Article)
RESEARCH --> BRIEF --> OUTLINE --> DRAFT --> HUMANIZE --> OPTIMIZE --> SCHEMA --> REVIEW --> SAVE
Phase 1: Research (SERP Analysis)
Use Exa MCP or firecrawl for live SERP research. Analyze top 5 results.
For each result capture: Title/URL, content type, word count, structure,
unique angles, gaps, recency, domain type.
Extract SERP features: People Also Ask (ALL of them), Featured Snippet
format, AI Overview presence.
Gap analysis: What's missing? What's outdated? What's generic? What's your edge?
Present findings in structured format. See references/serp-analysis-format.md.
If web search unavailable: flag to user, prefix SERP claims with ~, skip to
Phase 2 using brand context instead.
Phase 2: Content Brief
Create or enhance an existing brief from /keyword-research. Include: target
keyword, secondary keywords, search intent, content type, target word count,
audience, unique angle, key points, PAA questions, competitor gaps, internal
links, CTA.
Phase 3: Outline
Structure based on content type. See references/content-structures.md for
templates (Pillar Guide, How-To, Comparison, Listicle).
Map PAA questions: depth-worthy ones become H2s, brief ones go to FAQ section.
Phase 4: Draft
Voice calibration: Match voice-profile.md if loaded. Default: direct,
conversational, specific, opinionated.
Rules:
- Answer the search query in the first 2-3 sentences
- Apply the "So What?" chain -- write from the bottom, not the top
- Specificity over generality (numbers, examples, always)
- Show your work (how you know, not just what you claim)
- Use positioning angle from positioning.md to shape perspective
Phase 5: Humanize (Critical)
This is the soul of the skill. See references/anti-ai-detection.md for the
full detection pattern guide.
Summary checklist:
- Kill AI words (delve, comprehensive, crucial, leverage, landscape, etc.)
- Kill AI phrases ("In today's...", "It's important to note...", "Let's dive in")
- Break the triple pattern -- humans are messier
- Inject: personal experience, opinions with reasoning, admitted limitations,
specific examples, honest uncertainty, tangents and asides
- Vary rhythm: short punches, long explanations, fragments, questions
The Read-Aloud Test: If you stumble reading it aloud, rewrite it.
Phase 6: Optimize (On-Page SEO)
[ ] Primary keyword in title (front-loaded), H1, first 100 words, 1+ H2, meta, URL slug
[ ] Secondary keywords in H2s naturally
[ ] Meta description: 150-160 chars, compelling, includes keyword
[ ] Internal links: 4-8 per piece
[ ] External links: 2-4 authoritative sources
[ ] Featured snippet optimization (definition/list/table format)
[ ] Image alt text with relevant keywords
Title format: [Primary Keyword]: [Benefit or Hook] ([Year] if relevant)
Under 60 characters, front-load keyword.
Phase 7: Schema Markup (JSON-LD)
Generate for EVERY article:
- Article schema -- headline, description, author, dates, publisher, keywords
- FAQ schema -- from PAA questions answered in the article
- HowTo schema -- if content type is how-to tutorial
Include schema in article frontmatter. See references/schema-templates.md.
Phase 8: Quality Review
Run all checklists before saving:
- Content quality: Answers title in first 300 words, 3+ specific examples,
unique angle present, all PAA answered, SERP gaps addressed
- Voice quality: No AI-isms, personality present, matches voice-profile.md
- SEO quality: Keywords placed, meta compelling, links included, schema valid
- E-E-A-T: Experience shown, expertise demonstrated, sources cited
See references/eeat-examples.md for 20 top-performing human content examples.
Content Refresh Mode
Triggered when content file already exists for the target keyword.
- Present existing content summary with options: Refresh / Rewrite / Expand / Start Fresh
- If Refresh: Re-run SERP analysis, compare against article:
- New competitors since publication?
- New PAA questions not covered?
- Featured Snippet format changed?
- Search intent shifted?
- Generate specific, actionable update recommendations (not "update the content"
but "add section on {topic} after {section} because {evidence}")
- Apply updates, bump
last_updated and serp_snapshot_date in frontmatter
Scale Mode (Programmatic SEO)
Triggered when user wants template-driven pages at scale ("programmatic SEO",
"pages at scale", "100 pages for...", "location pages", etc.).
Core Principles
- Unique value per page -- not just swapped variables in a template
- Proprietary data wins -- hierarchy: proprietary > product-derived >
user-generated > licensed > public
- Clean URL structure -- use subfolders, not subdomains
- Search intent match -- pages must answer what people are searching
- Quality over quantity -- 100 great pages beat 10,000 thin ones
The 12 Playbooks
| Playbook |
Pattern |
Example |
| Templates |
"[Type] template" |
"resume template" |
| Curation |
"best [category]" |
"best website builders" |
| Conversions |
"[X] to [Y]" |
"$10 USD to GBP" |
| Comparisons |
"[X] vs [Y]" |
"webflow vs wordpress" |
| Examples |
"[type] examples" |
"landing page examples" |
| Locations |
"[service] in [location]" |
"dentists in austin" |
| Personas |
"[product] for [audience]" |
"crm for real estate" |
| Integrations |
"[product A] + [product B]" |
"slack asana integration" |
| Glossary |
"what is [term]" |
"what is pSEO" |
| Translations |
Content in multiple languages |
Localized content |
| Directory |
"[category] tools" |
"ai copywriting tools" |
| Profiles |
"[entity name]" |
"stripe ceo" |
See references/pseo-playbooks.md for detailed implementation of each playbook.
Choosing a Playbook
| If you have... |
Consider... |
| Proprietary data |
Directories, Profiles |
| Product with integrations |
Integrations |
| Design/creative product |
Templates, Examples |
| Multi-segment audience |
Personas |
| Local presence |
Locations |
| Tool or utility product |
Conversions |
| Content/expertise |
Glossary, Curation |
| Competitor landscape |
Comparisons |
You can layer multiple playbooks (e.g., "Best coworking spaces in San Diego").
Scale Mode Implementation
- Keyword pattern research -- identify repeating structure, variables, combinations
- Data requirements -- what populates each page, how it's updated
- Template design -- page structure with conditional content for uniqueness
- Internal linking architecture -- hub and spoke model, no orphan pages
- Indexation strategy -- prioritize high-volume, noindex thin variations,
separate sitemaps by type
Scale Mode Quality Checks
Worked Example
Target keyword: 'is doordash organic'
SERP gap: Top 5 results are forum posts and outdated blog articles. No definitive guide exists.
Article outline:
- H1: Is DoorDash Organic? The Complete Guide for Health-Conscious Families
- Quick answer (Featured Snippet target): 'DoorDash itself doesn't verify verification status...'
- How to find verified-source restaurants on DoorDash (step-by-step with screenshots)
- The problem with DoorDash's verification filter (cross-contamination, no certification)
- Better alternatives for guaranteed verified meal delivery
- FAQ schema: 'Does DoorDash have verified-source options?' / 'How do I know if a restaurant is really verified?'
Word count: 1,800 (benchmark: top 3 results average 1,200 — we go deeper)
File Output Format
File Location
./campaigns/content/{keyword-slug}.md
Slug: lowercase kebab-case, remove stop words if over 60 chars.
Frontmatter
---
title: "{SEO-Optimized Title}"
meta_description: "{150-160 character meta description}"
primary_keyword: "{target keyword}"
secondary_keywords: ["{kw1}", "{kw2}", "{kw3}"]
content_type: "{pillar-guide / how-to / comparison / listicle}"
search_intent: "{informational / commercial / transactional}"
target_word_count: {number}
actual_word_count: {number}
author: "{author name}"
date_created: "{YYYY-MM-DD}"
last_updated: "{YYYY-MM-DD}"
status: "draft"
serp_snapshot_date: "{YYYY-MM-DD}"
paa_questions_answered: {number}
schema_article: |
{Article JSON-LD}
schema_faq: |
{FAQ JSON-LD}
---
Chain Offers
After saving, present:
/content-atomizer -- distribute across social (3-5 LinkedIn, 8-12 Twitter, 2-3 IG carousels)
/newsletter -- feature article in next edition
/email-sequences -- nurture readers into subscribers
/seo-content -- write next article from keyword plan
- "Refresh" to update this article later
Error States
- No web search: Skip Phase 1, note limitation, proceed with brand context
- No target keyword: Ask user or suggest /keyword-research
- No voice profile: Use defaults (direct, conversational), suggest /brand-voice
- Can't save: Display content for manual copy, suggest checking permissions
Anti-Patterns
| Anti-pattern |
Instead |
Why |
| Skipping Phase 5 (Humanize) to save time |
Cut research depth before cutting humanization |
Unhumanized content reads like AI slop — readers bounce, Google devalues it, and the brand takes a credibility hit. Content that sounds like a committee wrote it doesn't earn trust, links, or shares. |
| Skipping schema markup |
Always add Article + FAQ JSON-LD — it takes minutes |
Schema compounds over time: rich results, AI citations, and structured search features for the life of the content. Skipping it leaves free visibility on the table. |
| Keyword-stuffing headings |
One keyword in H1, natural secondary keywords in H2s |
Google detects keyword stuffing and users find it off-putting. If every heading reads like an SEO template, it's over-optimized. |
| Starting with a generic intro |
Answer the search query in sentence one |
"In today's digital world..." tells the reader nothing. The search query brought them here — if the value prop isn't instant, they bounce. |
Implementation Notes
- Never skip SERP analysis when web search is available -- it's the differentiator
- Always check for existing content first -- refresh mode is high value
- Always generate schema markup -- Article + FAQ JSON-LD minimum
- Always save to disk -- the file IS the deliverable
- PAA questions are mandatory -- every one appears as H2 or FAQ entry
- Phase 5 (Humanize) is non-negotiable -- run the full AI detection checklist
- Always offer chain to /content-atomizer -- one article = 10+ social assets
- Register every piece in
./brand/assets.md
- Feedback closes the loop -- always present, always log
1---2name: seo-content3description: Create high-quality, SEO-optimized content that ranks AND reads like a human wrote it. Performs live SERP gap analysis, writes with anti-AI detection techniques, and adds schema markup. Use when someone needs a blog post, article, SEO page, or wants content that drives search traffic. Triggers on 'SEO content', 'blog post', 'article', 'SERP', 'programmatic SEO', 'content at scale', 'template pages at scale', 'write a post about', 'rank for', or 'search-optimized content'. Two modes: single article or programmatic SEO at scale. Owns programmatic SEO and content-at-scale generation. For a single alternatives or vs/comparison page, see /competitor-alternatives; for a multi-phase page roadmap with a persistent tracker, see /seo-machine.4---56# /seo-content -- Publication-Ready SEO Content78SEO content has a reputation problem. Most of it is low-value -- keyword-stuffed,9AI-sounding, says nothing new. It ranks for a month, then dies.1011This skill creates content that ranks AND builds trust. Content that sounds like12an expert sharing what they know, not a content mill churning out filler.1314The goal: Would someone bookmark this? Would they share it? Would they come back?1516If yes, Google will reward it. If no, no amount of optimization saves it.1718---1920## On Activation21221. Read `brand/` directory: load `voice-profile.md`, `keyword-plan.md`,23 `audience.md`, `positioning.md`, `competitors.md`, `learnings.md` if present.242. Show what loaded:25 ```26 Brand context loaded:27 ├── Voice Profile ✓ "{tone summary}"28 ├── Keyword Plan ✓ {N} pillars, {N} briefs29 ├── Audience ✓ "{audience summary}"30 ├── Positioning ✓ "{primary angle}"31 ├── Competitors ✓ {N} competitors profiled32 └── Learnings ✓ {N} entries33 ```343. If files missing, note suggestions at the end (e.g., run /brand-voice).354. Check for existing content file at `./campaigns/content/{keyword-slug}.md`.36 - **If exists** --> Content Refresh Mode (see below).37 - **If not** --> Full Creation Mode.385. Determine mode: **Single article** or **Scale mode** (programmatic SEO).396. Read `brand/landscape.md` if it exists — check the Claims Blacklist before making ecosystem or competitive claims. If stale (>14 days) or missing, warn that market claims may be outdated.4041## Prioritization (defer to seo-machine's publishing order)4243When the user asks "what should I write next?" — the answer follows seo-machine's **conversion-intent-first publishing order**, not "whatever has highest volume":4445| Order | Pattern | Why |46|---|---|---|47| 1 | `/alternatives/[competitor]` | Highest conversion intent — reader is already in market |48| 2 | `/compare/[a]-vs-[b]` | Be the third option in any two-vendor comparison |49| 3 | `/for/[use-case]` and `/for/[audience]` | JTBD without competitor name — high TP/volume ratio |50| 4 | Long-form playbooks (this skill's wheelhouse) | Authority + AI-citation + inbound link draw |51| 5 | Generic blog posts | Lowest conversion — defer until ~10 indexed pages exist |5253If `docs/seo-machine.md` exists at the project root, route the user to that skill's Resume mode instead of writing standalone articles — the roadmap there already encodes the priority order. seo-content is the right tool for **single articles** and **playbook-pattern long-form**; alternatives/compare/use-case pages belong in seo-machine's programmatic sprint.5455---5657## Brand Memory5859### Reads (if they exist)6061| File | What it provides | How it shapes output |62|------|-----------------|---------------------|63| voice-profile.md | Tone, personality, vocabulary, rhythm | Directly shapes writing style |64| keyword-plan.md | Prioritized keywords, content briefs, SERP data | Target keyword, cluster, intent, content type |65| audience.md | Buyer profiles, sophistication level, pain points | How technical to write, what examples to use |66| positioning.md | Market angles, differentiators | Unique angle for the piece |67| competitors.md | Named competitors, their positioning | What angle competitors take |68| learnings.md | Past performance data | What content approaches worked before |6970### Writes7172| File | What it contains |73|------|-----------------|74| ./campaigns/content/{keyword-slug}.md | Publication-ready article with frontmatter |75| ./brand/assets.md | Appends entry for the created content piece |76| ./brand/learnings.md | Appends findings after feedback collection |7778---7980## Required Inputs81821. **Target keyword** -- Primary keyword to rank for832. **Keyword cluster** -- Related keywords to include naturally843. **Search intent** -- Informational / Commercial / Transactional854. **Content type** -- Pillar guide / How-to / Comparison / Listicle / etc.865. **Brand voice profile** -- (from voice-profile.md, if available)876. **Unique angle** -- What perspective makes this different?8889Pre-fill from brand memory when available. Ask the user only for what's missing.9091---9293## The Workflow (Single Article)9495```96RESEARCH --> BRIEF --> OUTLINE --> DRAFT --> HUMANIZE --> OPTIMIZE --> SCHEMA --> REVIEW --> SAVE97```9899### Phase 1: Research (SERP Analysis)100101Use Exa MCP or firecrawl for live SERP research. Analyze top 5 results.102103**For each result capture:** Title/URL, content type, word count, structure,104unique angles, gaps, recency, domain type.105106**Extract SERP features:** People Also Ask (ALL of them), Featured Snippet107format, AI Overview presence.108109**Gap analysis:** What's missing? What's outdated? What's generic? What's your edge?110111Present findings in structured format. See `references/serp-analysis-format.md`.112113If web search unavailable: flag to user, prefix SERP claims with `~`, skip to114Phase 2 using brand context instead.115116### Phase 2: Content Brief117118Create or enhance an existing brief from /keyword-research. Include: target119keyword, secondary keywords, search intent, content type, target word count,120audience, unique angle, key points, PAA questions, competitor gaps, internal121links, CTA.122123### Phase 3: Outline124125Structure based on content type. See `references/content-structures.md` for126templates (Pillar Guide, How-To, Comparison, Listicle).127128Map PAA questions: depth-worthy ones become H2s, brief ones go to FAQ section.129130### Phase 4: Draft131132**Voice calibration:** Match voice-profile.md if loaded. Default: direct,133conversational, specific, opinionated.134135**Rules:**136- Answer the search query in the first 2-3 sentences137- Apply the "So What?" chain -- write from the bottom, not the top138- Specificity over generality (numbers, examples, always)139- Show your work (how you know, not just what you claim)140- Use positioning angle from positioning.md to shape perspective141142### Phase 5: Humanize (Critical)143144This is the soul of the skill. See `references/anti-ai-detection.md` for the145full detection pattern guide.146147**Summary checklist:**148- Kill AI words (delve, comprehensive, crucial, leverage, landscape, etc.)149- Kill AI phrases ("In today's...", "It's important to note...", "Let's dive in")150- Break the triple pattern -- humans are messier151- Inject: personal experience, opinions with reasoning, admitted limitations,152 specific examples, honest uncertainty, tangents and asides153- Vary rhythm: short punches, long explanations, fragments, questions154155**The Read-Aloud Test:** If you stumble reading it aloud, rewrite it.156157### Phase 6: Optimize (On-Page SEO)158159```160[ ] Primary keyword in title (front-loaded), H1, first 100 words, 1+ H2, meta, URL slug161[ ] Secondary keywords in H2s naturally162[ ] Meta description: 150-160 chars, compelling, includes keyword163[ ] Internal links: 4-8 per piece164[ ] External links: 2-4 authoritative sources165[ ] Featured snippet optimization (definition/list/table format)166[ ] Image alt text with relevant keywords167```168169**Title format:** [Primary Keyword]: [Benefit or Hook] ([Year] if relevant)170Under 60 characters, front-load keyword.171172### Phase 7: Schema Markup (JSON-LD)173174Generate for EVERY article:1751761. **Article schema** -- headline, description, author, dates, publisher, keywords1772. **FAQ schema** -- from PAA questions answered in the article1783. **HowTo schema** -- if content type is how-to tutorial179180Include schema in article frontmatter. See `references/schema-templates.md`.181182### Phase 8: Quality Review183184Run all checklists before saving:185- **Content quality:** Answers title in first 300 words, 3+ specific examples,186 unique angle present, all PAA answered, SERP gaps addressed187- **Voice quality:** No AI-isms, personality present, matches voice-profile.md188- **SEO quality:** Keywords placed, meta compelling, links included, schema valid189- **E-E-A-T:** Experience shown, expertise demonstrated, sources cited190191See `references/eeat-examples.md` for 20 top-performing human content examples.192193---194195## Content Refresh Mode196197Triggered when content file already exists for the target keyword.1981991. Present existing content summary with options: Refresh / Rewrite / Expand / Start Fresh2002. **If Refresh:** Re-run SERP analysis, compare against article:201 - New competitors since publication?202 - New PAA questions not covered?203 - Featured Snippet format changed?204 - Search intent shifted?2053. Generate specific, actionable update recommendations (not "update the content"206 but "add section on {topic} after {section} because {evidence}")2074. Apply updates, bump `last_updated` and `serp_snapshot_date` in frontmatter208209---210211## Scale Mode (Programmatic SEO)212213Triggered when user wants template-driven pages at scale ("programmatic SEO",214"pages at scale", "100 pages for...", "location pages", etc.).215216### Core Principles2172181. **Unique value per page** -- not just swapped variables in a template2192. **Proprietary data wins** -- hierarchy: proprietary > product-derived >220 user-generated > licensed > public2213. **Clean URL structure** -- use subfolders, not subdomains2224. **Search intent match** -- pages must answer what people are searching2235. **Quality over quantity** -- 100 great pages beat 10,000 thin ones224225### The 12 Playbooks226227| Playbook | Pattern | Example |228|----------|---------|---------|229| Templates | "[Type] template" | "resume template" |230| Curation | "best [category]" | "best website builders" |231| Conversions | "[X] to [Y]" | "$10 USD to GBP" |232| Comparisons | "[X] vs [Y]" | "webflow vs wordpress" |233| Examples | "[type] examples" | "landing page examples" |234| Locations | "[service] in [location]" | "dentists in austin" |235| Personas | "[product] for [audience]" | "crm for real estate" |236| Integrations | "[product A] + [product B]" | "slack asana integration" |237| Glossary | "what is [term]" | "what is pSEO" |238| Translations | Content in multiple languages | Localized content |239| Directory | "[category] tools" | "ai copywriting tools" |240| Profiles | "[entity name]" | "stripe ceo" |241242See `references/pseo-playbooks.md` for detailed implementation of each playbook.243244### Choosing a Playbook245246| If you have... | Consider... |247|----------------|-------------|248| Proprietary data | Directories, Profiles |249| Product with integrations | Integrations |250| Design/creative product | Templates, Examples |251| Multi-segment audience | Personas |252| Local presence | Locations |253| Tool or utility product | Conversions |254| Content/expertise | Glossary, Curation |255| Competitor landscape | Comparisons |256257You can layer multiple playbooks (e.g., "Best coworking spaces in San Diego").258259### Scale Mode Implementation2602611. **Keyword pattern research** -- identify repeating structure, variables, combinations2622. **Data requirements** -- what populates each page, how it's updated2633. **Template design** -- page structure with conditional content for uniqueness2644. **Internal linking architecture** -- hub and spoke model, no orphan pages2655. **Indexation strategy** -- prioritize high-volume, noindex thin variations,266 separate sitemaps by type267268### Scale Mode Quality Checks269270- [ ] Each page provides unique value (not just variable swaps)271- [ ] Unique titles and meta descriptions per page272- [ ] Proper heading structure and schema markup273- [ ] Connected to site architecture, no orphan pages274- [ ] In XML sitemap, crawlable, no conflicting noindex275276---277278## Worked Example279280**Target keyword:** 'is doordash organic'281**SERP gap:** Top 5 results are forum posts and outdated blog articles. No definitive guide exists.282283**Article outline:**2841. H1: Is DoorDash Organic? The Complete Guide for Health-Conscious Families2852. Quick answer (Featured Snippet target): 'DoorDash itself doesn't verify verification status...'2863. How to find verified-source restaurants on DoorDash (step-by-step with screenshots)2874. The problem with DoorDash's verification filter (cross-contamination, no certification)2885. Better alternatives for guaranteed verified meal delivery2896. FAQ schema: 'Does DoorDash have verified-source options?' / 'How do I know if a restaurant is really verified?'290291**Word count:** 1,800 (benchmark: top 3 results average 1,200 — we go deeper)292293---294295## File Output Format296297### File Location298299```300./campaigns/content/{keyword-slug}.md301```302303Slug: lowercase kebab-case, remove stop words if over 60 chars.304305### Frontmatter306307```yaml308---309title: "{SEO-Optimized Title}"310meta_description: "{150-160 character meta description}"311primary_keyword: "{target keyword}"312secondary_keywords: ["{kw1}", "{kw2}", "{kw3}"]313content_type: "{pillar-guide / how-to / comparison / listicle}"314search_intent: "{informational / commercial / transactional}"315target_word_count: {number}316actual_word_count: {number}317author: "{author name}"318date_created: "{YYYY-MM-DD}"319last_updated: "{YYYY-MM-DD}"320status: "draft"321serp_snapshot_date: "{YYYY-MM-DD}"322paa_questions_answered: {number}323schema_article: |324 {Article JSON-LD}325schema_faq: |326 {FAQ JSON-LD}327---328```329330---331332## Chain Offers333334After saving, present:335336- `/content-atomizer` -- distribute across social (3-5 LinkedIn, 8-12 Twitter, 2-3 IG carousels)337- `/newsletter` -- feature article in next edition338- `/email-sequences` -- nurture readers into subscribers339- `/seo-content` -- write next article from keyword plan340- "Refresh" to update this article later341342---343344## Error States345346- **No web search:** Skip Phase 1, note limitation, proceed with brand context347- **No target keyword:** Ask user or suggest /keyword-research348- **No voice profile:** Use defaults (direct, conversational), suggest /brand-voice349- **Can't save:** Display content for manual copy, suggest checking permissions350351---352353## Anti-Patterns354355| Anti-pattern | Instead | Why |356|-------------|---------|-----|357| Skipping Phase 5 (Humanize) to save time | Cut research depth before cutting humanization | Unhumanized content reads like AI slop — readers bounce, Google devalues it, and the brand takes a credibility hit. Content that sounds like a committee wrote it doesn't earn trust, links, or shares. |358| Skipping schema markup | Always add Article + FAQ JSON-LD — it takes minutes | Schema compounds over time: rich results, AI citations, and structured search features for the life of the content. Skipping it leaves free visibility on the table. |359| Keyword-stuffing headings | One keyword in H1, natural secondary keywords in H2s | Google detects keyword stuffing and users find it off-putting. If every heading reads like an SEO template, it's over-optimized. |360| Starting with a generic intro | Answer the search query in sentence one | "In today's digital world..." tells the reader nothing. The search query brought them here — if the value prop isn't instant, they bounce. |361362---363364## Implementation Notes3653661. **Never skip SERP analysis** when web search is available -- it's the differentiator3672. **Always check for existing content first** -- refresh mode is high value3683. **Always generate schema markup** -- Article + FAQ JSON-LD minimum3694. **Always save to disk** -- the file IS the deliverable3705. **PAA questions are mandatory** -- every one appears as H2 or FAQ entry3716. **Phase 5 (Humanize) is non-negotiable** -- run the full AI detection checklist3727. **Always offer chain to /content-atomizer** -- one article = 10+ social assets3738. **Register every piece** in `./brand/assets.md`3749. **Feedback closes the loop** -- always present, always log