Build an AI Content Pipeline with OpenClaw: From Idea to Published Post

How to set up an automated content pipeline using OpenClaw — research, write, edit, and publish blog posts with AI agents. Includes the actual configuration we use at MayaWorks.

By Maya

Build an AI Content Pipeline with OpenClaw: From Idea to Published Post

I write this blog using an AI agent. Not "I typed a prompt into ChatGPT and pasted the output" — I built a multi-step pipeline that researches topics, drafts posts, edits for quality, and publishes to our CMS.

The pipeline produces about 10 posts per week. Each one goes through keyword research, drafting, humanization (removing AI writing patterns), editorial review, and deployment. Total human involvement per post: about 5 minutes for a final read-through.

Here's how to build the same thing.

The Pipeline Architecture

Keyword Research → Topic Selection → Drafting → Humanization → Review → Publishing
     (Agent 1)      (Agent 1)       (Agent 2)   (Agent 3)    (Agent 4)  (Agent 5)

Each stage is handled by a sub-agent with specific instructions. The main agent orchestrates — spawns sub-agents, passes results between them, and handles failures.

You don't need five separate agents. A single agent can do everything sequentially. But splitting the work means each agent gets a fresh context window and focused instructions. That produces better results than one agent trying to do everything in one session.

Step 1: Keyword Research Agent

This agent searches for trending topics, checks search volume indicators, and identifies gaps in your existing content.

Create a file at content-pipeline/research-prompt.md:

You are a keyword researcher for a tech blog about AI agents and automation.

Tasks:
1. Search for trending topics related to: AI agents, OpenClaw, AI automation, autonomous AI
2. Identify 10-15 long-tail keywords with low competition
3. Check which topics our blog already covers (read content/ directory)
4. Return a ranked list of 10 topics with: keyword, estimated interest level, suggested angle

Focus on practical "how to" and comparison keywords. Skip generic terms like "AI future" or "what is machine learning".

The research agent uses web search to gauge what people are looking for, then cross-references against your existing posts to avoid duplicates.

Step 2: Drafting Agent

For each selected topic, spawn a writing agent:

You are a technical writer for mayaworks.ai. Write a blog post about: {TOPIC}

Requirements:
- 1500-2500 words for tutorials, 1000-1500 for guides
- Include code examples where relevant (bash, json, yaml)
- Write like a senior developer explaining to a competent colleague
- Use specific numbers, real tool names, and actual commands
- No filler phrases: "", "It's worth noting", etc.
- Include 2-3 internal links to other blog posts
- Add one natural CTA
- Generate frontmatter: title, description, date, slug, keywords

Tone: direct, practical, slightly opinionated. If something is bad, say it's bad.

The key instruction here is specificity. Generic AI output reads like a press release. Good technical content includes actual commands, real version numbers, and honest trade-offs.

Step 3: Humanization Pass

This is where most AI content pipelines fall short. Raw LLM output has tells — specific vocabulary patterns, uniform sentence length, vague attributions. Readers notice, and search engines are getting better at noticing too.

The humanization agent applies rules from our humanizer skill:

You are an editor who removes AI writing patterns.

Check for and fix:
- AI vocabulary: "delve", "mix", "important", "strong", "smooth" — replace with normal words
- Uniform sentence length — vary between short and long
- Copula avoidance — if the text says "is" when "is" works, fix it
- Significance inflation — "marking a key moment" → just state the fact
- Generic conclusions — "Things look promising" → cut it entirely or add a specific prediction
- Filler phrases — "In order to" → "to", "Due to the fact that" → "because"

Add personality: opinions, reactions to facts, acknowledgment of complexity.
Preserve all technical accuracy and code examples.

After this pass, the text should read like a human with opinions wrote it, not like a language model extruded it.

Step 4: Review Agent

A separate agent checks the post against quality criteria:

Review this blog post for:

1. Technical accuracy — are commands correct? Do code examples work?
2. SEO basics — does the title include the target keyword? Is the meta description under 160 chars?
3. Internal links — are there 2-3 links to other blog posts?
4. Readability — can a developer with 2 years of experience follow this?
5. AI tells — scan for remaining AI vocabulary or patterns

Score: PASS, REWORK (with specific issues), or FAIL (with reasons).

If the review returns REWORK, the drafting agent gets the specific feedback and revises. Maximum two revision cycles before escalation.

Step 5: Publishing

The final agent handles the mechanical publishing work:

# Save the post
cp draft.md projects/mayaworks-blog/content/en/{slug}.md

# Validate frontmatter
grep -c "^title:" projects/mayaworks-blog/content/en/{slug}.md

# Git commit
cd projects/mayaworks-blog
git add content/en/{slug}.md
git commit -m "content: add {title}"
git push origin main

If your blog auto-deploys from git (Vercel, Netlify, etc.), the push triggers deployment automatically.

Putting It All Together

Here's how the orchestration works in practice. Your main agent (or a cron job) kicks off the pipeline:

1. Spawn research agent → get 10 topics
2. For each topic:
   a. Spawn writing agent → get draft
   b. Spawn humanizer agent → get cleaned draft
   c. Spawn review agent → get score
   d. If REWORK: send feedback to writer, repeat (max 2x)
   e. If PASS: publish
3. Log results to content-log.json

A cron job can trigger this on a schedule:

openclaw cron add \
  --name "Content Pipeline" \
  --schedule "0 3 * * 1,4" \
  --message "Run the content pipeline. Research 5 new topics, write and publish posts."

Monday and Thursday at 3 AM. By the time you check in the morning, new posts are live.

Quality vs Volume Trade-offs

You can optimize this pipeline for speed or quality. Here's what I've found:

  • Using Haiku for drafts + Sonnet for editing produces acceptable quality at lower cost. Good for high-volume content like documentation or product descriptions.
  • Using Sonnet for everything is the sweet spot for blog content. Good enough quality, reasonable cost.
  • Using Opus for drafts + Sonnet for review produces the best writing but costs 3-5x more. Worth it for flagship content pieces.

At 10 posts per week with Sonnet, our content pipeline costs about $15-25/week in API fees. That's roughly $80-100/month for 40+ published posts.

Common Pitfalls

Skipping humanization. Raw AI output is increasingly detectable by both readers and algorithms. The extra pass pays for itself.

No deduplication. Without checking existing content, your pipeline will eventually produce two articles about the same topic with different titles. Keep a content log.

Ignoring review failures. If the review agent says FAIL, don't override it. The post probably has factual errors or reads like marketing copy.

Over-automating. Some content needs a human eye. Controversial opinions, company announcements, anything with legal implications — review those yourself.

Results

Since building this pipeline, MayaWorks has published consistently without writer burnout (because there is no writer to burn out). Traffic from organic search has grown because we're consistently targeting long-tail keywords and publishing frequently.

The pipeline isn't perfect. Maybe 1 in 10 posts needs manual editing beyond what the review agent catches. But 9 out of 10 going from idea to published with minimal human intervention? That's a solid return on the setup investment.

Get the free OpenClaw setup guide at mayaworks.ai to start building your own content pipeline. For the technical foundation, start with our VPS setup guide and then add cron jobs for scheduling.