A Claude agent writes a piece of content, opens it as a GitHub pull request, and sends the draft to Discord. You merge what you like and close what you don't.
Everything the writer knows lives in a GitHub repo — its skills say how to write, its folders hold everything already published. The agent reads that repo, writes, and opens a PR against it.
Merging a PR keeps a source of truth of the content you post, and the agent reads it before writing the next piece — so the more you merge, the more it sounds like you. Nothing is published anywhere: the PR is the deliverable.
1. Add three resources in Windmill
2. Run init_content_repo
Creates a dedicated GitHub repo with everything the writer needs. Set dry_run: false to actually create it.
3. Run the content_run flow
Set dry_run: false and go. You get a pull request and a Discord message. The first run takes a few minutes to warm up; the next ones are faster.
To make it daily, enable the content_run schedule — weekdays at 9am.
Edit the skills in the repo.
strategy decides what to write about, voice how it sounds, format-<channel> the shape per channel. This is where
you steer the writing.
Correct a draft before merging it. The agent reads past pieces to match the voice, so your edits become the examples it learns from.
Use Windmill AI sessions To change the engine itself — adding a channel, changing what the agent is told, adjusting the flow. Describe what you want and iterate from there.