---
title: "Poppy Ghostwriter case study"
description: "A practice blog that researches and writes itself, then waits for the doctor before anything goes live."
canonical: "https://www.dataacrobat.com/work/poppy-ghostwriter"
last-updated: "2026-10-20"
---
# Poppy Ghostwriter

Agent team · Healthcare AI

A practice blog that researches and writes itself, then waits for the doctor before anything goes live.

## My contribution

I designed and built the agent team, its Slack approval gates, and the host-side tools that publish only after approval.

## The problem

A pediatric dental practice needs a steady stream of accurate, kid-friendly articles, and the doctor has no time to research and write them. The articles are health guidance for parents, so every claim needs a real source, every image has to stay gentle and on-brand, and nothing can go live without her sign-off.

## How it works

1. A Claude Managed Agents orchestrator proposes three topics to Dr. Andrea in a Slack DM, the first approval gate, and she picks one.
2. A deep-research subagent gathers AAPD, ADA and peer-reviewed sources, the orchestrator drafts in the practice's voice using a Ghost Writer skill, and a proofreader subagent reviews the draft.
3. A creative director subagent designs an on-brand hero image and generates it with OpenAI's gpt-image-2 through a host-side tool, so no API key ever enters the agent session.
4. The draft becomes a pull request with a Vercel preview link, sent to Dr. Andrea as the second gate. Her approval merges it and the post goes live; edits revise the same draft, and a reject closes it.

## What changed

The ghostwriter runs on a GitHub Actions schedule, every other Monday plus on-demand requests, and publishes to poppykidsdental.com. The agent can only stage, publish, list, read and close drafts: there is no delete, no unpublish and no direct write to the live site, and every publish is checked against an open approval. Approved posts can also cross-post to Google Business Profile and X.

## Source and context

Published posts are live on the Poppy Kids blog. The agent code, Slack threads, and drafts are private.

[Portfolio context](https://www.dataacrobat.comhttps://www.poppykidsdental.com/blog)

[Email Jay](mailto:jayozer@gmail.com)
