Content engine

Project
0
by · 7 items · 3 scripts · 1 flow · 3 resources anthropic discord github

Write a piece, open its PR, send it to Discord

Flow
Triggers (1) disabled on import
  • schedule Fires the engine on weekdays at 9:00 Paris. There is no brief: the agent reads the content repo, decides what is worth writing, commits the piece and opens its own pull request - or records that there is nothing to say today. Ships DISABLED and with dry_run on. To go live: point anthropic / gh_auth / discord at real resources, set dry_run false, then enable. repo already defaults to the name init_content_repo creates, and sources to Windmill's changelog so a first run produces something rather than skipping - SWAP THAT for your own sources before enabling, or the schedule writes about Windmill every weekday. Weekday-only is deliberate — a schedule that also drafts on Saturday produces content nobody reviews until Monday. no_flow_overlap matters more than usual here: two concurrent runs both hold a checkout and both push, so an overlap is a race on the repo, not just a duplicate draft.
    Cron
    0 0 9 * * 1-5
    Timezone
    Europe/Paris

README

Content engine

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.

How it works

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.

Setup

1. Add three resources in Windmill

  • GitHub — a token that can create repos and write to them
  • Anthropic — your API key
  • Discord — the URL of a webhook, from a private channel

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.

Making it yours

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.