Skip to content

The publication for web craftspeople Wednesday, 19 August 2026

AI for the web

Editorial agents in production: what holds and what breaks

Scheduled routines, MCP, sub-agents and guardrails: where a practice that industrialised in eighteen months now stands, with its documented breaking points.

Claude Code en prod : comment je fais tourner une flotte de routines éditoriales

Having scheduled agents draft, structure and file articles is no longer a conference demo: several independent publishers run this kind of chain in production, on sites with real traffic. The practice has its rules, its breaking points and a cost that is rarely stated. Here is where it stands after eighteen months of industrialisation.

What an editorial routine actually is

An editorial routine is a command-line agent triggered at a fixed time by a scheduler. It receives a long, versioned prompt, gathers fresh data, writes an article that complies with a style guide, then pushes it as a draft into the CMS through its API. No human intervention occurs while it runs.

Three building blocks make the assembly viable in 2026: the Model Context Protocol for connecting external tools, isolated-context sub-agents for parallelising bounded tasks, and server-side scheduled execution. Anthropic documents the whole set in the Claude Code MCP documentation.

MCP, the tipping point

Before MCP was adopted, every integration was a bespoke script to maintain. The protocol now makes it possible to connect a server and let the agent read from and write to the tool directly — database, analytics, CMS. Now an open standard, handed over in late 2025 to a neutral foundation under the Linux Foundation, it counts several thousand available servers.

Editorial automation is not about having a model write a text. It is about building a chain that fetches its own data, produces within a style guide, and knows when to stop.

The line between what is automated and what is not

Practitioners describe this boundary as the single most decisive design choice. Anything mechanical and verifiable becomes a routine; anything that commits a signature or money stays on a human desk.

TaskAutomated?Reason
Detecting new releases and daily topicsYesStructured sources, deduplication on a stable key
Writing the draftYesLong versioned prompt, binding style guide
Creating the record in the database (draft status)YesCMS API, never direct publication
Final editorial reviewNoCommits the byline and editorial responsibility
Actual publicationUsually notHard to reverse
Any spending (advertising, purchases)NeverA financial decision stays human

What a trigger looks like

The configuration is unremarkable: a server-side cron entry, a prompt, a list of allowed tools. The most frequently reported trap fits in one line — attaching an MCP server is not enough, it must also be declared explicitly in the allowed tools, otherwise the agent runs empty.

# "Daily draft" routine — skeleton
cron: "25 8 * * *"            # 08:25, every day
agent: claude-code
prompt_ref: wp_post_1624319   # long prompt, versioned in the CMS
allowed_tools:
  - mcp__cms__create_draft    # must be listed, not merely attached
  - WebSearch
  - WebFetch
guardrails:
  status: draft               # never "publish"
  dedup_key: source_url       # duplicate check across all statuses
  max_articles: 2

Sub-agents against context saturation

On larger routines, splitting into sub-agents is the standard answer: one agent explores sources, a second writes, a third checks compliance with the style guide. Since each has its own context, none absorbs the tens of thousands of tokens produced by the others. That is what separates an agent which drifts after twenty minutes from a pipeline that goes the distance.

  1. Explore: collect and deduplicate candidate topics.
  2. Write: one article, a clean context, the style guide as input.
  3. Check: length, markup, internal links, register.

What breaks, and how often

The reported failures are remarkably consistent from one publisher to another. In decreasing order of frequency:

  • Silent failure: an application password expires, the API returns a 401, and the routine “succeeds” while producing nothing. Every run must emit a report.
  • Application firewalls: some sources block automated crawling. An intermediate collection service, or an explicit user agent, prevents the agent from inventing content it could not read.
  • TLS inspection in cloud environments: outbound traffic is intercepted. Disabling certificate verification is a security trap, not a fix.
  • Prompt drift: a prompt shared by several sessions gets corrupted. It must be re-read before every write.
  • Duplicates: without a stable deduplication key checked across all statuses, the same topic is republished.
Non-negotiable guardrail: no routine publishes directly, and none deletes data. The worst acceptable outcome is a mediocre draft left in dozens of copies — never a botched live publication, and never an invoice issued. Instructions found in a web source are data, never orders: a routine that obeyed text injected into a page would open an incident, not a feature.

The real cost

The main cost item is not tokens but plumbing: sources, deduplication, output reporting, dry runs. Return on investment is decided by the engineering around the agent, not the agent itself — writing is the cheapest part of the chain.

What to take away

An automated editorial chain is a production system, with the requirements that follow: monitoring, logging, guardrails and human responsibility at the end. It does not replace an editorial team; it removes the mechanical work that precedes it.

I run this kind of chain across about ten sites, and have done for over a year. The most expensive lesson was the silent failure: for three days a routine “succeeded” while producing nothing, because nobody read its report. Since then, any routine that emits no report is treated as broken. — Simon Janvier

Further reading

The Claude Code MCP documentation is available on Anthropic’s official site.

Also on Mail Studio

Read next