About this template
Your newsletter, drafted and already sitting in listmonk
If you self-host listmonk and your writing workflow is still "Google Doc, then copy-paste at 11pm," this Claude Code agent closes that gap: it drafts the issue and creates the campaign over listmonk's admin API.
Draft. Test-send. Schedule.
What the listmonk skill actually does
The listmonk skill talks to your instance's admin REST API.
That means lists, subscribers, campaigns, templates, and test sends are things the agent reads and creates — not things it describes to you in chat. newsletter-write handles the craft: subject lines, structure, and the markdown or HTML body. campaign-ship runs the last mile — create the draft, test-send, schedule or start, then report status back.
You still press the button on the real send.
What lands in your fork
Five skills, wired together:
listmonk— admin REST API: lists, subscribers, campaigns, templates, test sendsnewsletter-write— subject lines, structure, markdown/HTML bodycampaign-ship— draft, test-send, schedule or start, report statusemails— welcome, drip, re-engagement and lifecycle sequencescopywriting— headlines, CTAs and page copy when an issue needs a landing page
What you supply (BYOK)
Three things, none of them baked into the template:
- Claude Code credentials — the harness runtime
- Your listmonk base URL and an admin API token
- Sending infrastructure, configured on your listmonk instance (its SMTP, not ours)
You wire all three in yourself after forking, on your own VM.
Your first five minutes
Fork it, then open Claude Code on the VM.
Point the listmonk skill at your base URL and admin token. Ask for something specific:
Draft this week's issue about . Create a listmonk draft campaign and test-send it to me.
The proof is not the chat reply. It's a draft campaign sitting in your listmonk admin, and a test send in your inbox.
Honest limits
This template assumes listmonk.
There is no beehiiv, Substack or Mailchimp path in here — if you don't self-host listmonk, or won't, skip it. It runs on Claude Code, not another harness. And it stops short of autopilot on purpose: a human approves the real send, because an agent holding your whole list with no review step is how you burn a sending domain.
Your listmonk host and your model spend stay yours.
Risk
30-day money-back on your first jurniti purchase.
Fork it. Wire listmonk. Test-send one issue tonight.