The short version
My content pipeline uses a research agent called Nova, a LangGraph writing workflow called Brown, parallel visual workers, an expand-and-narrow title loop, and a French translation skill. Plain Markdown files connect the stages. The agents handle about 90% of the repetitive work, while I retain the topic, research direction, article structure, personal insight, and final edit.
- Automate research, drafting, media production, packaging, and translation, but keep topic selection, direction, taste, and final validation human.
- Use an exploratory agent for open-ended research and a deterministic, checkpointed workflow for writing where repeatability matters more than autonomy.
- Separate generation from evaluation, keep every stage inspectable through files and persisted state, and stop the pipeline when upstream evidence fails.
I can now research, write, and prepare a full YouTube release in about five hours of my own work. The same job used to consume two or three full days. I did not get there by asking one model for a script and publishing whatever came back. Paul Iusztin, the Towards AI team, and I built a pipeline that gives specialized agents the repetitive translation work while keeping the thinking in human hands.
If you want to build or inspect the system, start here:
- Take the Agentic AI Engineering Course
- Explore the open-source course repository
- Use my AI Engineering Cheatsheets
This article explains the full architecture: how Nova researches, how Brown writes without turning everything into generic AI prose, how parallel workers produce branded visuals, how an expand-and-narrow loop generates titles, and why the most important part of the system is the 10% I refuse to automate.
Prefer to see the pipeline and diagrams in motion? Watch the complete walkthrough here, then use this article as the technical reference.
The goal is not to remove the human
Content production became the largest bottleneck in my week. A 15-minute script could take two or three days once I counted research, outlining, drafting, editing, translation, diagrams, titles, and thumbnails. By the time I published it, I had less time and less energy to build the next thing worth discussing.
The obvious shortcut is usually worse: enter a topic in ChatGPT, copy, paste, publish. When you remove your own thinking from the process, AI does not help. It scales a weak input faster. The result sounds like dozens of pieces the model has already seen because no original direction survives the process.
So I use a different objective:
Automate the translation from thought to artifacts, not the thinking that makes those artifacts useful.
I still choose the topic, provide the research direction, dump what I already know, shape the argument, insert first-hand experience, and approve the final result. The system handles the expensive repetition between those decisions.

What the old workflow cost
My previous process usually began with an idea from a paper, a comment, a conversation, or something I could not stop thinking about. I would open far too many tabs, take notes in a document, watch a few current explanations to understand the shape of the topic, and start writing while the research was still incomplete.
The first draft was too long. The second was cleaner but often boring. I would send it to someone, wait for feedback, do another edit, record, prepare the visuals, and then stare at an empty YouTube title field on Friday night. I am a researcher and builder, not an editor or designer, so every production task took attention away from the work I actually wanted to do.
The agentic workflow changes the allocation of that time. What used to require two or three days now takes roughly five hours of my direct work for a typical release. That number is not a benchmark for every team. It is the result of automating a specific workflow I understand well, after building and maintaining the underlying system.
The architecture: five components and a memory layer
The system has five main components:
- Nova, the deep research agent.
- Brown, the writing workflow.
- A media system for diagrams and image style transfer.
- A title and SEO generator.
- A separate French translation skill.
The contract between them is the filesystem. Each stage reads and writes plain Markdown files in a working directory. Its internal execution state lives in a database, but the important artifacts remain human-readable.
That choice looks almost too simple, and that is why it works. If the research is weak, I can edit research.md. If the structure is wrong, I can correct article_guideline.md. If the writer fails, I can resume from a checkpoint. I do not need to restart a long, expensive chain because one probabilistic step made a poor decision.

Nova and Brown are exposed as MCP servers. The visual, packaging, and translation stages are skills invoked from a coding harness such as Claude Code or Cursor. This split is intentional. A server provides reusable tools and persisted state. A skill carries a repeatable operating procedure with the files, prompts, examples, and validation rules it needs.
Nova: an agent for exploratory research
The first important architecture decision was to make research an agent and writing a workflow. The two problems look similar from far away, but they reward opposite behavior.
Research is exploratory. A useful system should change its next query after it discovers a gap, follow promising evidence, incorporate user feedback, and decide what deserves a deeper scrape. A ReAct-style agent loop is appropriate because the path cannot be completely specified in advance.
Writing rewards predictability. It needs a known structure, tight style constraints, controlled sources, and repeatable review. More autonomy creates more opportunities for the model to wander. That is why Brown is not an open-ended agent.
Nova begins with two inputs: a rough outline.md and a set of golden sources I already trust. My outline can be messy. It contains bullets, reactions, phrases I want to preserve, URLs, and explicit gaps marked for research. Nova turns that seed into a dense, cited research artifact.

The process works like this:
- Nova compares the outline with the golden sources and performs a gap analysis.
- It generates queries for the missing areas.
- Three fixed research rounds fan out concurrent search calls.
- New sources are scored for trustworthiness, authority, relevance, and quality.
- Only the strongest sources receive a full scrape. The rest stay as summaries when that is enough.
- Source-specific tools process web pages, repositories, local files, and YouTube material.
- Everything useful is compiled into
research.mdwith citations.
Three rounds are a deliberate budget. More research is not automatically better research. Fixed limits make cost and latency predictable while still giving the agent enough room to notice and fill important gaps.

Nova also has a hard failure policy. If an operation fails completely, for example if zero of seven scrapes succeed, the agent stops and asks for guidance. It does not silently pass an empty result to the writer. A quiet failure near the start of a long pipeline can become a confident hallucination hours later, after the system has spent both tokens and human review time. Stopping early is a feature.
The human specification between research and writing
I do not send research.md directly to the writer. I first expand the rough outline into an article guideline. This is one of the highest-value human steps in the entire system.
The guideline defines the sections, the hook, a word budget for each part, the key definitions, the transitions, the examples, and every place where the article needs a diagram. I deliberately over-specify it. Strong structure reduces the space in which an LLM can fill gaps with vague language or unsupported claims.
This usually takes me about an hour with help from the coding harness. I dictate the argument and make the decisions. The model expands the mechanical details. Along with topic choice and the final edit, this guideline is part of the 10% that keeps the work mine.
Brown: a workflow for controlled writing
Brown is a LangGraph workflow with a SQLite checkpointer. If it fails after producing a draft, it resumes from persisted state instead of recreating everything. Its job is not to discover the argument. Its job is to translate an approved argument and approved research into clear prose.
The voice system is split into six Markdown profiles:
- Structure: sentence shape, paragraph length, headings, and the physical rhythm of the page.
- Mechanics: grammar, active voice, point of view, and punctuation rules.
- Terminology: preferred terms plus banned generic expressions.
- Tonality: the emotional register and acceptable level of formality.
- Article: the requirements of the output format.
- Character: my background, mission, preferences, and way of reacting to information.
The character profile takes the most work because it is what separates my output from Paul’s or from a generic ghostwriter. The other major ingredient is few-shot prompting. Two or three strong pieces that actually sound right teach rhythm and editorial judgment better than another ten pages of abstract rules.
Brown compiles the profiles, examples, guideline, and research into a large system prompt. The first writer call uses enough temperature to allow useful variation. It must still obey two hard rules: follow the approved guideline, and ground every factual claim in research.md.
Separate contexts for generation and judgment
After the draft, Brown enters an evaluator-optimizer loop. A reviewer with a fresh context compares the article against the guideline, research, and profiles. It returns structured violations: where the issue appears, which rule was broken, and what must change. A separate editor applies those changes.

The loop also runs for a fixed number of iterations rather than stopping at a model-generated quality score. We tested score-based stopping and found it noisy. Writing quality is multi-dimensional, and compressing roughly a hundred rules into one scalar encourages the model to declare victory early. Three fixed passes give us predictable cost, predictable latency, and better results.
After those passes, I still read the whole article. I add personal moments only I know, correct anything that feels off, and strengthen hooks that the model made too safe. Automation shortens this final pass. It does not remove my responsibility for it.
Parallel visual workers and a consistent style
Every diagram marker in the guideline triggers an orchestrator-worker pattern. The orchestrator reads the relevant section, identifies the kind of explanation required, and launches a specialized Mermaid worker for each visual slot. Those workers can run in parallel because the diagrams are independent.
Raw Mermaid is excellent for predictable structure but rarely looks ready for publication. A separate style-transfer skill sends each result through Gemini with a branding file, a target reference, positive examples, and negative examples. The negative examples matter because they show the model outputs that are close but still unacceptable. In our tests, adding those boundaries improved the first-pass hit rate much more than positive examples alone.

This stage follows the same design rule as the rest of the pipeline: the orchestration is generic, but quality comes from explicit contracts. Brand colors, typography, spacing, examples, output sizes, and rejection criteria all live in files a human can inspect and improve.
Expanding and narrowing titles instead of trusting one guess
Packaging used to consume entire evenings. The final article or script would be ready, but I still had to find a title that was accurate, interesting, and visible on a small screen.
The title system replaces one guess with an expand-and-narrow loop. Each round creates nine complete packages from intentionally different angles, such as personal transformation, curiosity, proof of work, a bold claim, or a contrarian observation. A package can include the YouTube title, SEO tags, newsletter title and subtitle, and the release post.
A separate validator scores the candidates across six rubric-anchored dimensions. Qualitative judgment comes from the model. Quantitative constraints, such as mobile title length, use deterministic penalties. The strongest candidates seed the next round, and the process repeats three times.

The validator has its own context window because a generator should not grade its favorite angle. At the end, I keep the top three rather than pretending the model can predict an audience perfectly. Real behavior settles the close call through A/B testing.

The same rule applies to this website. The canonical article title remains stable for SEO, accessibility, links, and structured data. A first-party experiment can test a different title only on article cards, where it measures which honest framing earns more qualified reads without changing the page’s identity for search engines.
Translation is its own production stage
My French channel uses the same core ideas, but translation is not a final string-replacement call. The French skill has its own character profile, terminology rules, examples, and structural checks. It translates the article and visible media copy while preserving links, code, evidence, and layout.
Treating translation as a first-class stage avoids two common failures: an English article that ships while its French mirror remains stale, and a technically correct translation that no longer sounds like its author. Both languages should be reviewed and published as one unit.
The 10% I keep
I still choose the topic. I still look at the current work that already exists. I still write the brain dump and decide what deserves research. I still shape the guideline, approve the evidence, edit the result, record in my own voice when a release needs a video, and maintain the code that runs the system.
That is not a weakness in the automation. It is the point.
Taste, direction, personality, and validation are not translation problems. Agents can accelerate how an idea becomes a set of artifacts, but they cannot decide which ideas deserve your name. The pipeline is a force multiplier on the thought you provide. If the seed is empty, it produces polished emptiness.
This article itself went through the same broad process: a finished script supplied the argument, Gemini reviewed the full source video to locate the technical diagrams, the screenshots were extracted and checked to exclude my face, and the result was adapted into English and French for the site. The automation saved time because the intent and the source material already existed.
If you want to build the complete stack, including Nova, Brown, FastMCP, LangGraph, the visual workflow, evaluation, and deployment, the Agentic AI Engineering Course teaches it through a full portfolio project. You can also start directly with the open-source repository and keep the AI Engineering Cheatsheets beside you while deciding which parts of your own workflow should be agents, workflows, or deterministic code.
The useful question is not, “Can an agent automate this?” It is, “Which part of this work still requires my judgment?” Protect that part first. Then automate everything around it that keeps you from doing more of it.
FAQ
What does the AI agent content pipeline automate?
It automates deep research, first-draft writing, review passes, diagram generation and styling, title and SEO candidate generation, packaging, and French translation. Topic choice, direction, personal experience, final editing, and validation remain human.
Why is research an agent but writing a workflow?
Research is exploratory and benefits from changing direction as new evidence appears. Writing needs predictable stages, strict style constraints, checkpoints, and a repeatable review loop, so a deterministic workflow is the better fit.
How does the pipeline reduce hallucinations and silent failures?
Every fact must come from the research file, sources pass a quality filter before full scraping, separate reviewers receive fresh context, and a total upstream failure stops the pipeline for human guidance instead of passing bad data downstream.
How does the writing system avoid generic AI prose?
It compiles six focused voice profiles, strong examples, the article guideline, and the research into one prompt. A separate reviewer identifies concrete violations, then an editor fixes them over a fixed number of iterations.
Why use plain Markdown files between stages?
Files create a simple, inspectable contract. If a stage fails or produces something weak, a human can open the artifact, correct it, and restart only the downstream work instead of running the entire pipeline again.
What should remain human in an automated content workflow?
Keep the parts that require taste and responsibility: choosing the topic, deciding what is worth saying, supplying first-hand context, shaping the structure, checking the evidence, and making the final publishing decision.
