Skip to content

Agentic Content Engine

Case study

Client
Northbeam (B2B SaaS)
My role
AI Engineer
Tools
Claude CodePythonNotion API
Timeline
2026
Description

A fleet of Claude Code agents that turns campaign briefs into publish-ready drafts.

Context

A five-person content team spent most of its week on first drafts. The engine moved that work to agents, with brand-voice evals gating every draft before it reaches a human.

The problem

Most teams start with one giant prompt that tries to do everything — research, outline, draft, edit, match the brand voice. It works in the demo and falls apart in week two. Output drifts, nobody can tell why, and there is no seam to fix.

Process

  1. Turn every request into a structured Markdown brief — never a raw Slack paste.
  2. Split the work into small agents that each own one artifact: research notes, outline, draft.
  3. Score every draft against a brand-voice eval before a human ever sees it.
  4. Failed evals trigger one revision pass, then escalate to a person.
terminal
# one task, one agent, one artifact
claude -p "draft 3 LinkedIn posts from brief.md" \
  --allowedTools "Read,Write" \
  --output-format json > drafts/linkedin.json

Solution

The loop is boring on purpose: read the brief, gather context, draft, evaluate, revise, stop. Every arrow in that sentence is a place to log, cache, or swap a model.

The goal was never to remove the marketer. It was to delete the busywork between their idea and a publishable draft.

Outcome

First drafts went from a day to under an hour, and the team now spends its time on the parts that need taste. If I did it again, I would write the evals on day one instead of day thirty.

Building something like this?Let’s talk