home / skills / cdeistopened / opened-vault / seo-content-production

seo-content-production skill

/.claude/skills/seo-content-production

This skill orchestrates SEO content production from research to publication, delivering optimized articles with structured briefs, QA, and CMS publishing.

npx playbooks add skill cdeistopened/opened-vault --skill seo-content-production

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
7.1 KB
---
name: seo-content-production
description: End-to-end workflow for creating SEO-optimized content from topic selection through publication. This skill should be used when writing comparison articles, curriculum guides, pillar content, or any article targeting search keywords. Orchestrates seomachine (data), quality-loop (QA), and webflow-publish (CMS).
---

# SEO Content Production

Complete workflow from keyword research to publication. This skill orchestrates other skills - it does not duplicate their functionality.

## Workflow Overview

```
RESEARCH → STRUCTURE → SOURCES → DRAFT → QUALITY → PUBLISH
    │           │          │        │        │         │
seomachine   outline   proprietary  write   quality   webflow
                       content              -loop     -publish
```

---

## Phase 1: Research

### Use `seomachine` for Data

All SEO data comes from the `seomachine` skill. DO NOT hardcode credentials.

**Credentials:** Stored in vault `.env` file:
- `DATAFORSEO_LOGIN`, `DATAFORSEO_PASSWORD` - Keyword research
- `GA4_PROPERTY_ID`, `GOOGLE_SERVICE_ACCOUNT_PATH` - Traffic data
- `GSC_SITE_URL` - Search Console data

**Common research tasks:**

```python
# Keyword research
import sys
sys.path.insert(0, ".claude/skills/seomachine/modules")
from dataforseo import DataForSEO

dfs = DataForSEO()
ideas = dfs.get_keyword_ideas("waldorf vs montessori", limit=50)
questions = dfs.get_questions("homeschool curriculum", limit=20)
serp = dfs.get_serp_data("best homeschool math curriculum")
```

```bash
# Generate content brief with competitor analysis
python3 .claude/skills/seomachine/scripts/content_brief_generator.py "keyword phrase"

# Find keyword gaps vs competitors
python3 .claude/skills/seomachine/scripts/competitor_gap_finder.py --batch --min-volume 200
```

### Validation Criteria

Before proceeding:
- [ ] Search volume > 500/month
- [ ] Keyword difficulty < 30 (winnable)
- [ ] Topic aligns with OpenEd expertise
- [ ] We have (or can create) proprietary perspective

---

## Phase 2: Structure

### Identify OpenEd's Unique Angle

Before outlining, answer:
1. What does OpenEd believe about this topic? (Check `opened-identity` skill)
2. What can we say that competitors can't? (Podcast quotes, staff expertise)
3. What do most articles get wrong or avoid?

### Content Type Templates

Templates are in `references/content-templates.md`. Common types:

| Type | Length | When to Use |
|------|--------|-------------|
| Comparison | 2000-3000 | X vs Y searches |
| Pillar Guide | 2500-3500 | "Complete guide to X" |
| How-To | 2000-2500 | "How to X" searches |
| Listicle | 1500-2500 | "Best X for Y" searches |

---

## Phase 3: Source Compilation

### Search Order (Priority)

1. **OpenEd Book** - `.claude/references/OpenEdBook/`
2. **Published Content** - Search Master Content Index
3. **Podcast Transcripts** - Grep `Published Content/Podcasts/`
4. **Staff Knowledge** - Tag relevant team members
5. **External Research** - Fill remaining gaps

### Source Search Commands

```bash
# Search published content
grep -rli "topic" "Published Content/" | head -20

# Check Master Content Index
grep -B5 "Tags:.*homeschool" ".claude/references/Master_Content_Index.md"
```

---

## Phase 4: Draft

### Before Writing

- [ ] Research brief complete (from seomachine)
- [ ] Unique angle identified
- [ ] Sources compiled
- [ ] Internal links planned (3+ minimum)

### Writing Constraints

Apply these skills automatically:
- `ai-tells` - Patterns to avoid
- `ghostwriter` - Authentic voice techniques

**Key rules:**
- Hook first (not definitions)
- Table early (for skimmers)
- 5+ internal links, 2-3 external
- Use spaced hyphens - not em dashes

### AI-isms to Eliminate

See `references/ai-tells-quick-reference.md` for full list.

**Kill words:** delve, comprehensive, crucial, leverage, landscape, navigate, foster, facilitate, realm, paradigm, journey, tapestry, myriad, seamless

**Kill patterns:**
- "It's not just X - it's Y" (correlative constructions)
- "In today's fast-paced world..."
- "Let's dive in..."
- "The best part? ..."

---

## Phase 5: Quality Control

### Use `quality-loop` Skill

Run every draft through 5 judges:

| Judge | Type | Checks |
|-------|------|--------|
| Human Detector | BLOCKING | AI tells, correlative constructions |
| Accuracy Checker | BLOCKING | Facts verified against sources |
| OpenEd Voice | BLOCKING | Brand alignment, not preachy |
| Reader Advocate | BLOCKING | Engaging, logical flow |
| SEO Advisor | ADVISORY | Keywords, links, meta elements |

### Quick Checks (Grep Patterns)

```bash
# Forbidden words
grep -inE "delve|comprehensive|crucial|leverage|landscape" DRAFT*.md

# Correlative constructions
grep -inE "isn't just|not just .* - it's" DRAFT*.md

# Em dashes (should be hyphens with spaces)
grep -n "—" DRAFT*.md

# Internal link count
grep -oE '\(https://opened\.co[^)]*\)|\(/[^)]*\)' DRAFT*.md | wc -l
```

---

## Phase 6: Visuals

### Use `nano-banana-image-generator` Skill

| Asset | Dimensions | Style |
|-------|------------|-------|
| Thumbnail | 16:9 | watercolor-line |
| Social card | 1:1, 4:5 | brand colors |

**Comparison article concepts:**
- Two hands offering different gifts
- Split path through two environments
- Same tree with different root systems

---

## Phase 7: Publish

### Use `webflow-publish` Skill

Pre-publish checklist:
- [ ] All blocking judges passed
- [ ] Thumbnail created
- [ ] Meta elements finalized
- [ ] Internal/external links verified

### Post-Publish

1. Update articles that should link TO this piece
2. Sync Master Content Index
3. Schedule social promotion via `newsletter-to-social`

---

## Skill Dependencies

| Phase | Primary Skill | Purpose |
|-------|---------------|---------|
| Research | `seomachine` | DataForSEO, GSC, GA4 data |
| Structure | `opened-identity` | Brand perspective |
| Draft | `ai-tells`, `ghostwriter` | Writing quality |
| Quality | `quality-loop` | 5-judge review |
| Visuals | `nano-banana-image-generator` | Thumbnails |
| Publish | `webflow-publish` | CMS upload |
| Social | `newsletter-to-social` | Derivative posts |

---

## Project Folder Structure

```
Studio/SEO Content Production/[Topic]/
├── SEO_RESEARCH_BRIEF.md   # From seomachine
├── SOURCES.md              # Compiled proprietary sources
├── OUTLINE.md              # Approved structure
├── DRAFT_v1.md             # First draft
├── DRAFT_v2.md             # Post-quality-loop
└── thumbnail-final.png     # Header image
```

---

## Quick Start

```
1. Validate topic with seomachine
   → Volume > 500, KD < 30, OpenEd has perspective

2. Create folder: Studio/SEO Content Production/[Topic]/

3. Run research: seomachine content brief + competitor gap

4. Compile sources: OpenEd book → Published → Podcasts → External

5. Get outline approved: Structure + unique angle

6. Draft with constraints: ai-tells + ghostwriter + internal links

7. Quality loop: 5 judges, fix blocking issues

8. Create thumbnail: nano-banana-image-generator

9. Publish: webflow-publish → newsletter-to-social
```

---

*Refactored: 2026-01-29 (consolidated from seo-content-writer, removed credential exposure)*

Overview

This skill orchestrates an end-to-end SEO content production workflow from keyword research through publication. It coordinates specialized tools for data, quality assurance, visuals, and CMS publishing so teams can produce targeted, brand-aligned articles efficiently. Use it to turn validated keywords into publish-ready content with built-in QA and publishing steps.

How this skill works

The skill drives a staged process: research (seomachine) → structure → source compilation → draft → quality-loop → visuals → publish (webflow-publish). It fetches SEO and traffic signals from seomachine, enforces brand and writing constraints, routes drafts through a five-judge quality loop, and triggers thumbnail generation and CMS upload. Credentials are expected to be managed securely; the skill orchestrates other specialized skills rather than duplicating their features.

When to use it

  • Writing comparison articles (X vs Y) targeting high-intent searches
  • Creating pillar guides or comprehensive curriculum guides for target keywords
  • Producing how-to articles or listicles aimed at organic traffic growth
  • Launching content pieces that require proprietary sourcing (books, podcasts, staff expertise)
  • Coordinating multi-step workflows that need automated QA and CMS publishing

Best practices

  • Validate keywords first: volume > 500/mo and difficulty < 30 before proceeding
  • Define OpenEd's unique angle and at least three internal links before drafting
  • Compile sources in priority order: OpenEd book → published content → transcripts → staff → external
  • Run every draft through the quality-loop and resolve all blocking issues before publish
  • Use short hooks, early tables for skimmers, and hyphenated dashes ( - ) per style rules

Example use cases

  • Produce a 2,500-word comparison article after seomachine identifies a winnable keyword
  • Create a pillar guide with 3+ proprietary sources and 5 internal links, then publish to Webflow
  • Turn podcast transcripts into sourced sections of an evergreen curriculum guide
  • Batch content briefs and competitor gap analyses for topic clusters prior to drafting
  • Generate branded thumbnails and social cards automatically before CMS publish

FAQ

Where do SEO and traffic signals come from?

All data is sourced via the seomachine skill which queries DataForSEO, GA4, and Search Console.

What blocks publishing?

Any blocking judge failure in the quality-loop (human detector, accuracy, brand voice, reader advocate) must be resolved before publish.