Tools: I Trained OpenClaw to Run My Blog: Voice DNA, Agentic SEO, and the End of Manual Publishing

Tools: I Trained OpenClaw to Run My Blog: Voice DNA, Agentic SEO, and the End of Manual Publishing

Source: Dev.to

What OpenClaw Actually Is ## Why a Blog Needs an Autonomous Agent, Not Just AI Writing Tools ## The Architecture: Five Skills, One Orchestrator ## 1. blog-voice-learner — Building the Voice DNA ## 2. blog-seo-monitor — Finding What's Worth Writing ## 3. blog-content-creator — Drafting in My Voice ## 4. blog-publisher — Frontmatter, Commit, Deploy ## 5. blog-orchestrator — The Coordinator ## The GEO Layer: Optimizing for AI Discovery ## Setting This Up: The Three-Day Path ## What This Changes Originally published at chudi.dev 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. 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: The key distinction from ChatGPT or Claude.ai: OpenClaw doesn't just answer questions. It does things and reports back. Most AI writing tools solve the wrong problem. They make drafting faster, but they don't solve the system problem: 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. My OpenClaw blog system runs as five coordinated skills: 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: 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. I don't pick topics randomly. The SEO Monitor skill polls the Google Search Console API on a weekly schedule and surfaces: It then scores each opportunity by: impressions × (1/position) × topic_relevance. The top 5 become a prioritized brief for the content creator. This is the core. Given a brief from the SEO monitor, the content creator: 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. Once I approve a draft via Telegram, the publisher handles everything else: Total time from "publish approved" to live URL: under 2 minutes. Zero manual steps. The orchestrator is what makes this a system rather than five separate scripts. It: 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. OpenClaw: Draft complete. 1,847 words. Voice score: 0.84/1.0. FAQ: 5 questions. Preview: [link]. Reply PUBLISH or REVISE. OpenClaw: Live at chudi.dev/blog/adhd-working-memory-distributed-systems. GSC indexing requested. That's the entire interaction. Everything else is automated. 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: 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. 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. 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. Templates let you quickly answer FAQs or store snippets for re-use. Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse - 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 - 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) - 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 - 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 - Loads voice-dna.json as a style guide - Loads the 5 most relevant existing posts as structural examples - 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) - 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) - 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. - 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) - Writes the complete markdown file with correct frontmatter (title, description, date, tags, image path, FAQ) - Generates a matching OG image name (my image pipeline handles the actual generation separately) - Runs pnpm build — if it fails, it messages me with the error and stops - git add content/posts/[slug].md - git commit -m "feat(content): [title]" - git push origin main - Vercel auto-deploys from main → post is live in ~30 seconds - Calls the GSC URL Inspection API to request indexing - 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 - Which posts have dropped more than 3 positions since last month - Which posts are getting impressions without AI citations (using manual spot-checks I flag) - Which posts are missing FAQ schema, answer capsules, or inline citations