Skip to content
ISSUE 001·LIVE·13:44 IL
← Journal/2026-09-14·9 min·ai workflow

How I Automate My Entire Content Pipeline With AI Agents

A practitioner's breakdown of how I replaced hours of weekly content work with a 5-agent autonomous pipeline — topic research, writing, editing, publishing, and distribution handled without me in the loop.

By Harel Asaf·AI Builder·Tel Aviv

Here's the honest version: I used to spend about four hours every week on content. Writing, editing, posting, scheduling, tracking what landed and what didn't. Four hours that should have gone to building prototypes or talking to clients. I knew I was going to automate this eventually — I just didn't know it would work this well.

Today my content pipeline runs without me. An article ships every weekday. LinkedIn posts go out. Emails land in inboxes. I see the results in my WhatsApp — a summary from Aria at 7:30 AM telling me what went live and where. I don't write the briefs. I don't approve drafts. I don't hit publish.

Let me show you exactly how it works.


The Problem With "AI-Assisted" Content

Most content automation stops at drafting. You prompt ChatGPT, get a wall of text, spend 40 minutes editing it into something that sounds like you, then manually publish it. That's not automation — that's a different kind of labor. You traded the blank page for the red pen.

The gap nobody talks about: voice consistency, editorial judgment, publishing, and distribution are all still manual. The hard parts didn't go away — they just moved.

I wanted to close that gap completely. So I built a pipeline where five agents handle five distinct stages, each with its own memory, its own constraints, and its own output format. No agent knows more than it needs to.


The Five Agents and What They Actually Do

1. Vision — The Orchestrator

Vision is the only agent I talk to directly about content strategy. It reads a weekly brief I write (once, on Sunday, maybe 200 words) and converts it into a content queue: ranked topics, target keywords, suggested angles, slug names. It writes this to a shared file — aria-content-queue.md — that the other agents read.

Vision doesn't write content. It doesn't edit. It decides what to build and why, then gets out of the way.

The queue format matters a lot. It includes a target keyword, a specific angle (not just "write about X" but "write about X from the perspective of someone who ran into Y problem"), and a priority score. Aria reads this queue every morning at 06:30 and picks the top item.

2. Aria — The Web Agent

Aria is my senior web designer and SEO specialist. She's the one who runs the daily article. Every weekday morning she:

1. Reads the content queue

2. Checks the dedup gate — a list of already-published keywords so she never covers the same ground twice

3. Runs a topic through my banned-topic filter (some keyword clusters are permanently closed once I've written a canonical piece)

4. Writes a full ~2,000-word article in my voice

5. Commits it directly to the GitHub repo for harelasaf.com

6. Emails me a formatted HTML version of the article

7. Sends me a WhatsApp summary

The key constraint I had to build: Aria can't publish until she passes what I call the Sansa gate — a pre-delivery review that checks voice, dedup, banned words, frontmatter completeness, and whether every claim is anchored to a real prototype or real number. I got burned early on by articles that cited vague "improvements" with no specifics. Now the gate won't let them through.

The GitHub commit fires a CI/CD pipeline on Vercel. The article is live in about 90 seconds. No human touched it.

3. Jams — Distribution

Jams handles social. Once an article is committed, Vision's daily cron triggers Jams to read the article and produce:

  • One LinkedIn post (my voice, no AI-detector-triggering phrases, always ends with a genuine question)
  • One repurposed tweet thread if the article is over 2,000 words
  • A brief WhatsApp summary for a couple of my professional groups

Jams doesn't invent angles. It reads the article, identifies the one most counterintuitive or concrete claim, and leads with that. This is a deliberate constraint I set after Jams' early drafts kept leading with context-setting instead of the actual point. I told it: always open on the thing that would make someone stop scrolling.

I was wrong about this for a week — I thought Jams needed full creative latitude to sound authentic. The opposite turned out to be true. Tight constraints make the output sharper.

4. Aria (again) — SEO Layer

After the article is live, Aria runs a second job: SEO integrity check. She:

  • Validates that the article has correct OpenGraph tags, FAQPage JSON-LD schema, and a canonical URL
  • Checks internal linking — does the article link to at least two related articles already published? If not, it drafts a patch commit with internal links added
  • Updates the keyword map (aria-keyword-map.md) so no future article targets the same keyword

This second Aria pass usually takes 3–4 minutes. It's a separate Cloud Run job triggered by a Pub/Sub event when the article commit lands.

5. Albert — The Numbers

Albert is my finance agent. He doesn't touch content — but he has one content-adjacent job: at the end of each month, he reads the API spend logs and produces a content-ROI table.

Last month that table showed:

  • 8 articles shipped
  • 14 LinkedIn posts generated
  • API spend for content: $11.40
  • 3 inbound inquiries that directly mentioned an article they'd read

I look at that table and decide if the content mix needs to shift. Last month I told Vision to deprioritize long-form technical articles in favor of more personal "how I think about X" pieces. That instruction took me 30 seconds. The pipeline adjusted.


The Memory Layer That Makes It Work

The thing that separates this from a set of disconnected prompt scripts: shared memory.

Every agent reads and writes to a small set of shared files in the repo:

  • aria-published-index.json — machine-readable list of every article ever published (slug, target keyword, URL). Aria checks this before writing. Non-negotiable.
  • aria-keyword-map.md — human-readable version of the same. Vision reads this when building the queue so it doesn't suggest topics we've already covered.
  • learning-log.md — lessons any agent wants future runs to know. Aria writes to this when she notices patterns. "Articles under 1,800 words get 40% less organic traffic" ended up here after we had enough data.
  • aria-citation-log.md — whether ChatGPT, Claude, Perplexity, or Gemini are surfacing harelasaf.com for our target queries. Aria runs a weekly citation check and logs results here.

Without this shared memory layer, the agents are blind to each other. You'd get duplicates, contradictions, and no compounding effect. The memory layer is what makes the whole system feel like a team rather than a set of scripts that don't talk to each other.


The Prototype Numbers That Made Me Build This

Before I built the pipeline, I tracked my content manually for one month. Here's what I found:

  • I spent 3.8 hours/week on content (drafting, editing, posting, scheduling)
  • I published 2 articles/month on average
  • I wrote 5–6 LinkedIn posts/month
  • My per-word output cost (time × my effective hourly rate) worked out to roughly $0.42/word

After building the pipeline:

  • I spend under 30 minutes/week on content (Sunday brief + reviewing flagged items)
  • 8 articles/month ship reliably
  • 14 LinkedIn posts/month
  • My per-word LLM cost: $0.003/word

The 140x cost reduction is real. Scratch that — cost isn't even the main point. The main point is that the volume went from 2 articles/month to 8, and the quality held because of the voice constraints and the Sansa gate.

ctxauditor — my context relevance tool — runs on every Aria draft. It checks what percentage of the article's context window is low-relevance filler. Early drafts averaged 38% low-relevance content. After tuning Aria's system prompt with tighter constraints, that dropped to 11%. The articles got tighter. The SEO scores went up.

LLM Cost Lens monitors API spend in real time. I have an alert at $4/day. We've hit that twice — both times Aria was in a retry loop on a malformed commit. The alerts let me catch it within minutes instead of finding a surprise invoice.


What I Don't Automate (And Why)

The Sunday brief. That's mine.

I write 200 words every Sunday morning about what I'm thinking about, what I noticed in conversations with clients, what technical problems I'm working through. Vision turns that into a queue. But the raw thinking — the thing that makes the articles actually interesting to read — that has to come from me.

The moment I tried to automate the brief (I tested it for two weeks — Vision generating its own queue from pure SEO data), the articles got technically correct and completely dull. They sounded like content, not like me thinking out loud. The brief is the thing I can't hand off.

Everything else: I hand off.


Building Something Like This

If you're looking to replicate this, I'd start with three things:

First, nail the voice layer before you automate anything. I have a 1,200-word voice DNA document that every agent reads as part of its system context. It covers sentence length patterns, words I never use, how I handle technical claims, how I open articles. Without that, the agents write in a house style that sounds like nobody.

Second, build the dedup gate early. Nothing tanks credibility faster than publishing two articles on the same topic six weeks apart. The published index and keyword map cost me one afternoon to set up. They've prevented at least a dozen embarrassing duplicates.

Third, start with one agent, not five. I built Aria first. Just the article writer. For two months, that's all I had. I got the voice right, got the commit pipeline working, got the SEO layer stable. Then I added Jams for distribution. Then Albert for the numbers. The system grew because individual pieces worked, not because I architected the whole thing upfront.

The pipeline I have today is the sixth version. The first five had critical failures I had to learn from. The current one has been running reliably for nine weeks.


Sources

These are technical references, not independent verification of the personal costs, timings, architecture or results reported in this essay. Those historical figures require the underlying records; do not use them as a current budget or benchmark.

FAQ

What does it actually cost to run a content automation pipeline like this?

For my 5-agent setup, the monthly LLM API cost for content is around $11–$14. Cloud Run for the scheduled jobs adds another $8–$12. Total content pipeline cost: under $30/month. For 8 articles and 14 LinkedIn posts, that's well under $2 per piece of published content.

Do AI-written articles actually rank on Google?

Mine do — but only because of three things working together: a strong voice layer that makes the articles genuinely distinct, a consistent internal linking structure, and FAQPage schema on every article. Generic AI content with no voice layer doesn't rank. That's the differentiation.

How do you make sure the articles sound like you and not like ChatGPT?

I have a 1,200-word voice DNA document that Aria reads as part of her system context on every run. It covers sentence patterns, banned words and phrases, how I handle uncertainty, how I open and close pieces. Aria also runs an AI-detection check internally and targets an AI score of 15% or under before committing.

What happens when an agent makes a mistake?

The Sansa gate catches most issues before commit. If something slips through — wrong URL, a claim that doesn't check out — I see the WhatsApp summary every morning and can flag it. Aria then patches the commit. The worst case I've had was a wrong slug in the canonical tag, caught and fixed in under 10 minutes.

How long did it take to build the pipeline?

The first version of Aria (just article writing + GitHub commit) took about three days. Getting the voice right took another two weeks of iteration. The full 5-agent pipeline with shared memory, distribution, and SEO validation took about six weeks total. Most of that time was in the voice constraints and the dedup logic, not the infrastructure.

Can a solo operator run this without being a developer?

Honestly, you need to be comfortable with YAML, basic JSON, and understand how webhooks work. You don't need to write backend code from scratch, but you need to understand how pieces connect. If you've deployed a Next.js site and set up a cron job before, you can build something like this.

Which LLM runs the content agents?

I use Claude 3.5 Sonnet for Aria's writing — it holds voice constraints better than alternatives I've tested, and the output requires less post-processing. Vision runs on Claude 3.5 Haiku for speed (it's mostly routing and queue management). Albert runs Haiku too. I save Sonnet for the actual content work.

Is the content pipeline something you help other people build?

Yes — it's one of the core things I do as an AI builder consultant. The setup varies a lot depending on whether someone already has a site, what their existing tools look like, and how much of the pipeline they want to own versus hand off. Best starting point is reaching out via the contact page.

Related reading

The build log

Follow the work.

New essays and prototypes, in your feed reader. Email subscriptions are paused while I connect a working delivery service. No email is collected here.

Follow via RSS