Skip to main content
I Let an AI Agent Run My Blog for 30 Days. Here's What It Actually Did.

I Let an AI Agent Run My Blog for 30 Days. Here's What It Actually Did.

How I configured OpenClaw to study my writing voice, handle SEO/AEO/GEO, and publish blog posts autonomously with a single Telegram approval.

Chudi Nnorukam
Chudi Nnorukam
Feb 20, 2026 10 min read

I have ADHD. The gap between “I have a great idea for a post” and “that post is live on my blog” is where most of my content goes to die.

The idea fires. The dopamine hits. I open a new file. Then the blank page, the context-switching cost, the forty-seven tabs I opened while “researching” — and the idea either ships three weeks late or never.

OpenClaw changed this. Not by making me more disciplined. By removing me from the publishing loop almost entirely.

Here’s the system I built: OpenClaw studies my writing, monitors my SEO gaps, drafts posts in my voice, and pings me on Telegram with a single yes/no decision. I reply “publish.” The post goes live. I never opened a text editor.


What Is OpenClaw and How Does It Work?

OpenClaw is an open-source autonomous AI agent that runs locally on your machine and connects to whatever LLM you choose. Unlike chat tools that answer questions, OpenClaw does things and reports back — reading and writing files, executing shell commands, browsing the web, and triggering scheduled cron jobs. It accepts instructions via Telegram, WhatsApp, Discord, or Slack.

What OpenClaw Actually Is

OpenClaw (formerly Clawdbot) is an open-source autonomous AI agent that runs locally on your machine. Built by Austrian developer Peter Steinberger and launched in November 2025, it gained over 100,000 GitHub stars in under a week in late January 2026 — one of the fastest-growing open-source repositories in GitHub history.

The pitch is simple: “eyes and hands at a desk, 24 hours a day.”

OpenClaw connects to whatever LLM you choose (Claude, GPT, DeepSeek, local models), runs as a background process on your machine, and accepts instructions via chat apps you already use — Telegram, WhatsApp, Discord, Slack. It can:

  • Read and write files anywhere on your system
  • Execute shell commands and run scripts
  • Browse the web and extract data
  • Trigger cron jobs on a schedule
  • Install ClawHub skills — community-built automation workflows

The key distinction from ChatGPT or Claude.ai: OpenClaw doesn’t just answer questions. It does things and reports back.


Why Does a Blog Need an Agent Instead of an AI Writing Tool?

AI writing tools make drafting faster but leave system problems unsolved: someone still has to decide what to write, ensure it ranks, and publish it. An autonomous agent handles the full workflow — keyword research, drafting, SEO optimization, and deploy — while a human reviews and approves at the final gate. For neurodivergent builders, collapsing that activation cost matters most.

Why a Blog Needs an Autonomous Agent, Not Just AI Writing Tools

Most AI writing tools solve the wrong problem. They make drafting faster, but they don’t solve the system problem:

  • Who decides what to write? (Keyword research + striking distance analysis)
  • Who makes sure the post ranks? (SEO, AEO, GEO optimization)
  • Who actually publishes it? (Git commit, frontmatter, deploy)
  • Who updates old posts when rankings drop? (Continuous improvement)

An AI writing tool is a faster keyboard. An agent is a junior editor who handles the entire workflow while you review and approve.

The distinction matters especially for neurodivergent builders. According to CDC research on ADHD, task initiation and follow-through are among the most impaired executive functions. An autonomous agent doesn’t just speed up a step — it removes the initiation cost entirely.


The Architecture: Five Skills, One Orchestrator

My OpenClaw blog system runs as five coordinated skills:

1. blog-voice-learner — Building the Voice DNA

Before OpenClaw can write anything, it needs to study how I write.

The Voice DNA skill reads all my existing posts (content/posts/*.md) and extracts patterns into a voice-dna.json file. It analyzes:

  • Sentence structure: average length, variation rhythm, how often I use fragments
  • Opening patterns: how I start posts (usually a personal anecdote or a single stark sentence)
  • Transition fingerprints: the specific phrases I use to move between sections
  • Technical register: how I balance jargon with plain language
  • Quirks: what makes my writing mine — the rhetorical questions, the parenthetical asides, the numbered lists that break into prose

This runs once to build the baseline, then updates whenever I publish three or more new posts. According to research on few-shot learning with LLMs, 25-30 diverse examples are sufficient to establish reliable style consistency — enough for every post to feel authored rather than generated.

2. blog-seo-monitor — Finding What’s Worth Writing

I don’t pick topics randomly. The SEO Monitor skill polls the Google Search Console API on a weekly schedule and surfaces:

  • Striking distance queries: queries where I rank positions 4-15 with meaningful impressions — a small content improvement could push them to page 1
  • Impression spikes: queries gaining impressions without clicks (featured snippet opportunity)
  • Topic gaps: high-volume queries in my content pillars with zero current coverage

It then scores each opportunity by: impressions × (1/position) × topic_relevance. The top 5 become a prioritized brief for the content creator.

3. blog-content-creator — Drafting in My Voice

This is the core. Given a brief from the SEO monitor, the content creator:

  1. Loads voice-dna.json as a style guide
  2. Loads the 5 most relevant existing posts as structural examples
  3. Drafts a 1,800-2,500 word post following the chudi.dev content structure:
    • First 100 words answer the primary question directly (AEO gate)
    • H2/H3 subheadings in question format where possible
    • 40-60 word answer capsules under key headings (featured snippet targets)
    • 2-3 inline citations to authoritative sources
    • FAQ section with 4-5 questions (FAQPage schema)
  4. Runs a voice consistency check: scores the draft against voice-dna.json on 6 dimensions. If any score falls below 0.7, it rewrites that section before flagging for review.

The GEO-optimal passage density — 134-167 words per H2 section — is baked into the content creator’s constraints. Every section is self-contained enough to be retrieved by an AI system answering a related question.

4. blog-publisher — Frontmatter, Commit, Deploy

Once I approve a draft via Telegram, the publisher handles everything else:

  1. Writes the complete markdown file with correct frontmatter (title, description, date, tags, image path, FAQ)
  2. Generates a matching OG image name (my image pipeline handles the actual generation separately)
  3. Runs pnpm build — if it fails, it messages me with the error and stops
  4. git add content/posts/[slug].md
  5. git commit -m "feat(content): [title]"
  6. git push origin main
  7. Vercel auto-deploys from main → post is live in ~30 seconds
  8. Calls the GSC URL Inspection API to request indexing

Total time from “publish approved” to live URL: under 2 minutes. Zero manual steps.

5. blog-orchestrator — The Coordinator

The orchestrator is what makes this a system rather than five separate scripts. It:

  • Schedules the SEO monitor to run every Sunday night
  • Routes high-priority opportunities to content creation automatically (impressions > 500 and position > 8 = auto-brief)
  • Batches low-priority items into a weekly digest I review
  • Notifies me at every approval gate via Telegram
  • Logs every action to a blog-agent.log for my review

The Telegram conversation looks like:

OpenClaw: Ready to draft: “ADHD Working Memory and Distributed Systems State Management” (GSC: 340 impressions, avg pos 11.2, no current post). Brief attached. Reply GO or SKIP.

Me: GO

OpenClaw: Draft complete. 1,847 words. Voice score: 0.84/1.0. FAQ: 5 questions. Preview: [link]. Reply PUBLISH or REVISE.

Me: PUBLISH

OpenClaw: Live at chudi.dev/blog/adhd-working-memory-distributed-systems. GSC indexing requested.

That’s the entire interaction. Everything else is automated.


How Does GEO Differ from Traditional SEO?

SEO targets Google rankings through keywords, backlinks, and Core Web Vitals. GEO — Generative Engine Optimization — targets citation by AI systems like ChatGPT and Perplexity. GEO requires self-contained passages retrievable by AI, structured citations to authoritative sources, FAQ schema, and question-format headings with 40–60 word answer capsules directly below each one.

The GEO Layer: Optimizing for AI Discovery

SEO gets you into Google. GEO gets you cited when someone asks Claude or Perplexity a question.

Agentic SEO systems in 2026 are moving toward “living assets” — content that updates itself when new information becomes available or when rankings drop. My blog-seo-monitor checks, on a monthly schedule:

  1. Which posts have dropped more than 3 positions since last month
  2. Which posts are getting impressions without AI citations (using manual spot-checks I flag)
  3. Which posts are missing FAQ schema, answer capsules, or inline citations

For posts that fail the check, it creates a revision brief and messages me: “Post [X] dropped from position 6 to 9. Missing: answer capsule under ‘H2: What is X’. Estimated fix: add 60-word direct answer. Auto-revise?”

If I say yes, it patches the post, commits, and pushes without drafting an entire new piece.


Setting This Up: The Three-Day Path

Day 1 — OpenClaw setup and voice training

Install OpenClaw via the one-liner installer from github.com/openclaw/openclaw. Connect it to your Anthropic API key (Claude Sonnet is the best price-performance ratio for long-form drafting). Connect your Telegram bot.

Run the voice learner manually the first time: point it at your posts directory, let it build voice-dna.json. Read the output — it will surface patterns about your writing you haven’t consciously noticed.

Day 2 — SEO and content skills

Set up the GSC API credentials (Google Cloud Console → Search Console API → service account). Configure the SEO monitor cron job: 0 22 * * 0 (Sunday 10pm). Let it run once manually to confirm data is flowing.

Build the content creator prompt with your voice-dna.json loaded as a system constraint. Run it against a topic you’d normally write — compare the output to your actual posts and tune the voice score thresholds.

Day 3 — Publisher and human gates

Wire the Telegram approval gates. The key design decision: always require human approval before git push. The autonomy happens before publication (research, drafting, optimization). The human gate happens at the last mile.

Run the full pipeline end-to-end on a test post. Verify the frontmatter, the build, the deploy. Once it works once, it works every time.


What Does Running an Autonomous Blog Agent Actually Change?

The change is compounding publishing rate, not individual post quality. Manual effort produces one post every ten to fourteen days due to ADHD context-switching. With OpenClaw handling research, drafting, and deploy, the bottleneck shifts to Telegram approval response time. Three posts that would take a month ship over a weekend — and volume compounds faster than any single on-page optimization.

What This Changes

The compounding effect is what matters. Not any single post — the rate of publishing.

With full manual effort, I can reliably ship one post every 10-14 days (accounting for ADHD, context-switching, life). With OpenClaw, the bottleneck is my Telegram approval response time. A batch of three posts that would have taken a month ships over a weekend.

The NIMH notes that for people with ADHD, the executive function deficit isn’t a capability gap — it’s an activation gap. The knowledge is there. The skill is there. The initiation is broken.

An autonomous agent doesn’t fix ADHD. But it collapses the activation cost of publishing to almost zero. One Telegram message. That’s it.

At 0→10k monthly sessions, volume compounds faster than any single on-page optimization. An agent that consistently ships quality content in your voice at 4x your manual rate isn’t a writing tool. It’s a growth engine.


The OpenClaw skill files for this blog system are published on ClawHub. Search “chudi-blog” in the ClawHub directory.

FAQ

What is OpenClaw?

OpenClaw is an open-source autonomous AI agent that runs locally on your machine. It can execute shell commands, browse the web, read and write files, and connect to chat apps like Telegram and WhatsApp. It uses Claude, OpenAI, or other LLMs as its reasoning engine and supports 3,000+ community skills via ClawHub.

Can OpenClaw actually write blog posts that sound like me?

Yes — through a technique called Voice DNA. You feed it 25-30 representative passages from your existing posts. The agent extracts patterns: sentence length, transition words, how you open sections, your quirks. Future posts are generated against that template and scored before publishing.

Does OpenClaw post automatically without me reviewing?

Not in my setup. Every draft triggers a Telegram message with a preview. I reply 'publish' or 'revise'. The agent only pushes to GitHub — and Vercel deploys — after I approve. Autonomy with a human gate.

What's the difference between SEO, AEO, and GEO in this system?

SEO targets Google rankings (keywords, backlinks, Core Web Vitals). AEO targets featured snippets and AI Overviews (40-60 word answer capsules, FAQ schema, question-format headings). GEO targets generative AI like ChatGPT and Perplexity (structured passages, citations, llms.txt). OpenClaw optimizes for all three in every post.

How much does running OpenClaw cost?

OpenClaw itself is free and open-source. You pay for API calls to your LLM of choice. Using Claude Sonnet as the backbone, a full post draft (1,800 words, SEO analysis, voice scoring) runs roughly $0.20-0.40 per post depending on context window usage.

Sources & Further Reading

Further Reading

Discussion

Comments powered by GitHub Discussions coming soon.