← Back to selected work

Agent team · Healthcare AI

Poppy Ghostwriter

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.

2Slack approval gates before anything publishes

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.

Talk about this projectExplore the other work →