
Content Writer Agent
Generate SEO-optimized blog posts, social captions, and marketing copy at scale.
Description
✍️ ContentBot — OpenClaw AI Content Writing Agent
ContentBot is an autonomous OpenClaw content writing agent that produces high-quality, SEO-optimized content at scale — blog posts, landing pages, product descriptions, email newsletters, and social media batches — in your exact brand voice, queued and reviewed before anything goes live.
It is not a template filler. It is not a keyword-stuffing machine. It is a professional writer that reads your brand guide, understands your audience's awareness level, applies SEO rules invisibly, and writes pieces that are worth reading — at a production volume no human team can match alone.
Nothing publishes automatically. Every draft is saved locally and optionally pushed to WordPress/Mailchimp/ConvertKit/Buffer as a draft. A human reviews and approves before anything reaches readers.
What It Produces
Blog Posts & Articles
Long-form editorial content from 1,200 to 3,500 words. How-to guides, listicles, thought leadership, comparisons, and trend pieces. Every post includes: a structured HTML outline, properly placed primary and secondary keywords, internal link placeholders, external link suggestions, schema markup comments, a meta description, and a <!-- more --> read-more break for WordPress.
Landing Pages Conversion-focused copy with headline variants, benefit sections, feature-to-benefit conversions, FAQ copy, and CTA variants. Written for a specific audience and awareness level. Includes meta title and description.
Product Descriptions Short (150 words) and extended (400–800 words) versions per product. Opens with the primary benefit — not the product name. Converts features into customer outcomes. Includes schema hints.
Email Newsletters Subject line variants (A/B/C), preview text, story-driven body copy, a single CTA, and an optional PS line. Pushed directly to Mailchimp or ConvertKit as a draft campaign — never auto-sent.
Social Media Batches Multi-post batches adapted per platform. LinkedIn: professional, story-led, mobile-formatted. Twitter/X: single tweets or threads, each self-contained. Instagram: hook-led captions with hashtags. Queued to Buffer with optional scheduling.
Content Repurposing Takes existing content (URL or file) and restructures it for a new format — blog to email, report to listicle, podcast to article. Not copy-paste — a full rewrite in the new format's native structure.
File Overview
content-agent/
├── AGENTS.md ← 6 content pipelines, quality standards, SEO rules, output format
├── SOUL.md ← Writer's character and philosophy
├── BRAND.md ← ★ Voice, prohibited phrases, per-type style rules, CTA library
├── AUDIENCE.md ← ★ Reader personas (3 defaults) + 5 awareness levels (Schwartz model)
├── SEO_CONFIG.md ← ★ Keyword placement rules, meta specs, heading structure, E-E-A-T
├── QUEUE.md ← ★ Active content queue — add items here, ContentBot picks them up
├── HEARTBEAT.md ← Hourly queue check, daily brief, weekly audit
├── MEMORY.md ← Content history, published topics, deduplication
├── TOOLS.md ← Integration CLI reference
├── IDENTITY.md ← Agent name and message format
├── drafts/ ← All generated content saved here (Markdown + YAML frontmatter)
├── published/ ← Move pieces here after they go live (for tracking)
└── skills/content-hub/scripts/
├── wp-publish.js ← WordPress REST API — posts + pages as drafts only
├── research.js ← Pre-writing research brief via Serper
├── email-publish.js ← Mailchimp campaigns + ConvertKit broadcasts as drafts
├── social-publish.js ← Buffer queue for multi-platform social batches
└── log-content.js ← Updates MEMORY.md, QUEUE.md, and daily activity log
The Three Files That Define Content Quality
BRAND.md is where ContentBot gets its voice. It contains a 20+ term prohibited phrases list (no "leverage", no "synergy", no "In today's digital landscape..."), per-content-type style rules for every format, CTA library, and specific instructions for tone, formality, sentence length, and person. The more specific this file is, the more the output sounds like your best human writer.
AUDIENCE.md tells ContentBot who it's writing for. Three default personas (Overwhelmed Manager, Evaluating Buyer, Learning Professional) with pain points, goals, vocabulary level, and default awareness level. The five Eugene Schwartz awareness levels determine how much explaining to do, what CTA to use, and how much product mention is appropriate.
QUEUE.md is the production backlog. Add content items in YAML format with type, keyword, audience, awareness level, word count target, and any special instructions. ContentBot picks up the highest-priority pending item on each heartbeat cycle and processes the full pipeline.
Key Design Decisions
Quality over volume. The SOUL.md and AGENTS.md both have explicit rules against padding, filler sections, and generic openers. ContentBot is instructed to cut rather than extend, and to write the conclusion before the body on complex topics to prevent drift.
Awareness level determines the entire piece. An unaware reader gets education with no product mentions. A most-aware reader gets proof, comparisons, and a direct CTA. Getting this wrong is the most common content marketing mistake — ContentBot applies it structurally, not as an afterthought.
SEO is built in, not added on. The SEO_CONFIG.md contains precise keyword placement rules (primary keyword: H1 + first 100 words + 2–4x naturally), anti-patterns to avoid, featured snippet optimization formats, and E-E-A-T signal requirements. SEO is structural, not a final "optimization pass."
Research before writing. For blog posts and landing pages, research.js runs a content brief that surfaces the SERP top-10, People Also Ask questions, related searches, and recent news — before ContentBot writes a single word. This prevents producing content that just rehashes what already ranks.
Nothing publishes live. wp-publish.js has a hardcoded guard that refuses status: publish. Mailchimp campaigns are created with status: save. ConvertKit broadcasts are marked as drafts. Buffer posts are queued, not published. Every piece waits for human approval.
Integrations
| Integration | Purpose | Required? |
|---|---|---|
| WordPress | Primary CMS — posts and pages as drafts | Optional (drafts saved locally if absent) |
| Serper | Pre-writing research — SERP + PAA + news | Optional (skip research step if absent) |
| Mailchimp | Email campaign drafts | Optional |
| ConvertKit | Email broadcast drafts (alternative to Mailchimp) | Optional |
| Buffer | Social media queue scheduling | Optional |
ContentBot works without any integrations — it saves all drafts as Markdown files locally. The integrations add convenience, not capability.
Content Output Format
Every draft is a Markdown file with YAML frontmatter:
---
type: blog
title: "How to Build a Project Management System That Actually Works"
slug: project-management-system-guide
primary_keyword: "project management system"
secondary_keywords: ["project management tools", "team workflow", "project tracking"]
meta_description: "Build a project management system your team will actually use. Here's the framework that works — and the 3 failure modes to avoid."
word_count: 2150
status: draft
created: 2026-03-21T10:00:00Z
wp_category: "Productivity"
wp_tags: ["project management", "team collaboration"]
---
<!-- SCHEMA: Article -->
[Full HTML content with internal link placeholders, structured headings,
and SEO-integrated copy]
Included Files
File contents are only accessible after purchase.
Required API Keys
WP_BASE_URLWP_USERNAMEWP_APP_PASSWORDSERPER_API_KEYMAILCHIMP_API_KEYMAILCHIMP_SERVER_PREFIXMAILCHIMP_FROM_EMAILMAILCHIMP_FROM_NAMECONVERTKIT_API_KEYCONVERTKIT_API_SECRETBUFFER_ACCESS_TOKENReviews (0)
Purchase this agent to leave a review.
No reviews yet. Be the first!