My AI Agent Runs 3 Newsletters. Here's the Exact Setup.
What the hell are agents actually?!
Recently, I showed you my CLAUDE.md file — the style guide that taught Claude Code to write in my voice. That article got more saves than anything I’d published.
But here’s what I didn’t tell you: since then, the system evolved. A lot.
I now run three separate newsletters — Level Up with AI, Wander Wealth, and Cozora — from one project folder. One terminal command. One agent. Three completely different voices, image styles, and audience strategies.
I didn’t plan this. I didn’t even know what an “agent” was when I started. I just kept adding files because I needed them, and one day I looked at my folder and realized: I accidentally built a content production agent.
Here’s exactly what’s inside it, how the pieces connect, and how you can build your own — even if you’ve never opened a terminal.
Learn from AI experts in Cozora
I co-founded Cozora. It’s THE AI learning community for people who want to stay on top of AI.
We built Cozora to solve a problem we all share: too much AI information, not enough implementation. Instead of static courses, you get live weekly sessions where experts show you their actual workflows in real-time.
If you’re a premium subscriber to Level Up with AI or Wander Wealth, you get 50% off. That’s $360/year saved. Join me and I’ll send you the code right away.
What “Agent” Actually Means (No Jargon, I Promise)
An agent is just an AI that has access to files and tools.
That’s it. When you use ChatGPT in the browser, it can only see what you paste into the chat window. When you use Claude Code in a terminal, it can read your files, run scripts, and follow a set of instructions you’ve written down. It doesn’t forget your preferences between sessions because they’re saved in a file it reads every time it starts.
The “agent” part isn’t some futuristic robot. It’s a text file that says “here’s who I am, here’s how I write, here’s what tools I have.” Claude reads it and acts accordingly.
My agent is a folder. Let me show you what’s in it.
The Folder Structure: My Entire System
Substack_ClaudeCode/
├── CLAUDE.md ← The brain (reads this first, every time)
├── brands/
│ ├── wander-wealth.md ← Voice + colors + CTAs for Wander Wealth
│ ├── level-up-with-ai.md ← Voice + colors + CTAs for Level Up with AI
│ └── cozora.md ← Voice + colors + CTAs for Cozora
├── tools/
│ ├── generate_image.py ← Runs Google Imagen API → header images
│ ├── generate_carousel.py ← Runs Google Imagen API → carousel slides
│ ├── generate_viral_note.py ← Notes generator with viral formulas
│ ├── notes-generator.md ← Templates based on 1000+ like Notes
│ └── outreach/ ← Creator discovery + tracking scripts
├── articles/ ← Every article ever generated, organized by date
├── backups/
│ ├── wander-wealth/ ← Exported Substack posts (voice training data)
│ └── level-up-with-ai/ ← Exported Substack posts (voice training data)
└── .env ← API key (one key, that’s it)
Every piece has a job. Nothing is decorative. Let me walk through the five layers.
Layer 1: The Brain — CLAUDE.md
This is the file Claude Code reads automatically every time you start a session. It’s the instruction manual for everything.
Mine does three critical things:
Brand routing. The first section tells Claude: when I ask you to write something, figure out which brand it’s for. If I say “write an article about Substack growth,” it knows that’s Wander Wealth. If I say “write about AI workflows,” it knows that’s Level Up with AI. If it can’t tell, it asks me.
Model routing. Different tasks need different AI models. A full article needs Opus (the most capable, best at matching voice over 2,000+ words). SEO metadata and email subject lines? Haiku handles those — it’s fast and cheap for short, formulaic outputs. Substack Notes get Sonnet — good quality for short-form without the cost of Opus.
Here’s the actual routing table from my CLAUDE.md:
| Task | Model | Why |
|------|-------|-----|
| Full article | Opus | Deep voice matching, long-form quality |
| SEO metadata + email subjects | Haiku | Short, formulaic — fast and cheap |
| Image prompts | Haiku | Template-based, quick |
| Substack Notes | Sonnet | Solid quality for short-form |
| Bulk post analysis | Haiku | Speed over depth |
| Outreach research | Sonnet | Web search + analysis |Workflow definitions. When I say “write article,” CLAUDE.md tells the agent to generate eight deliverables in one response: headline, subtitle, SEO summary, AI search optimization, header image (generated automatically via API), full article, Notes teaser, and three email subject lines. One prompt. Eight outputs.
Layer 2: Brand Profiles — The Voice Files
Each brand has its own markdown file in the `brands/` folder. These aren’t vague instructions like “be friendly.” They’re forensic breakdowns of how I write for each audience.
My Level Up with AI profile includes:
Exact hook patterns — “Uses scenario-based, real-world hooks that establish immediate tension or contrast.” With examples pulled from my actual posts.
Sentence length patterns — “More punchy and staccato than Wander Wealth. Shorter average sentence length.” With specific examples of short, medium, and parallel-structure sentences.
Tone DNA — Six specific characteristics: authoritative but not cold, framework-focused, contrast and comparison as primary teaching tool, measurement-oriented, practical over inspirational, anti-hype on AI.
Phrases to avoid — Rhetorical questions as hooks, “game-changer,” “AI will replace you,” corporate jargon.
Brand colors with hex codes — Deep Navy #002642, Crimson Red #840032, Warm Amber #E59500. These feed directly into image prompts.
Image style instructions — “Hand-drawn SKETCH style on lined notebook paper. Whiteboard/doodle aesthetic. NOT polished, NOT corporate.”
CTA templates — Ready to paste. Mid-post subscribe CTA, end-of-post comment call, P.S. with Cozora pitch.
Wander Wealth has a completely different profile. Warmer. More vulnerable. Story-driven instead of framework-driven. Different colors, different image style, different CTAs.
The agent reads the right profile for the right brand. I never have to remind it.
Layer 3: The Tools — Python Scripts That Do the Work
This is where it gets powerful. Claude Code doesn’t just write text — it runs code.
`generate_image.py` — Takes a text prompt and an article folder name. Calls Google’s Imagen API. Saves the header image directly into the article folder. The aspect ratio is locked to 16:9 (standard for Substack headers). I don’t touch Midjourney. I don’t open Canva. The image appears in my folder.
`generate_carousel.py` — Same concept, but generates 1:1 square images for carousel slides. Same API, different aspect ratio.
`generate_viral_note.py` — This one’s fun. I analyzed Notes from creators with 100K-250K subscribers — specifically Notes that got 1,000+ likes. Extracted the patterns. Built formulas. The script generates five Note options for any topic, ranked by predicted engagement, each tagged with which creator’s style it matches and which formula it uses.
`outreach/substack_finder.py` — Searches Substack’s API for newsletters in my niche, pulls subscriber counts, and saves them to a CSV for outreach tracking.
The key insight: these scripts aren’t complex. The image generator is 67 lines of Python. The carousel generator is 52 lines. You don’t need to be a developer. Claude Code wrote most of these scripts for me when I described what I wanted.
Layer 4: The Knowledge Base — Backups and Analysis
The `backups/` folder contains my raw Substack exports — every post I’ve ever published for each newsletter, exported as HTML files.
But here’s the important part: the agent doesn’t scan these every time. That would be slow and expensive. Instead, the voice patterns are pre-analyzed and baked into the brand profiles. I ran the analysis once using Opus, extracted every pattern worth keeping, and wrote it into the brand files.
The backups sit there as reference. If I need to update my voice profile after 50 more posts, I run the analysis again. Otherwise, they’re untouched.
The `tools/notes-data/` folder holds the same concept for Notes — analyzed viral patterns, extracted formulas, ready for the Notes generator to use.
Layer 5: The Output — Article Folders
Every article gets its own dated folder:
articles/2026-02-11-claude-code-agent-setup/
├── article.md ← Full article in markdown
├── header-image.png ← Generated automatically
├── image-prompt.txt ← The prompt used (so I can regenerate)
├── metadata.txt ← SEO, keywords, FAQ, brand tag
├── notes-teaser.txt ← Ready to paste into Substack Notes
├── email-subjects.txt ← 3 subject line options
└── carousel/ ← (when needed)
```
Everything is organized. Nothing lives in random folders. Every file has a purpose. And `metadata.txt` always includes which brand the article belongs to.
How It All Connects: A Real Session
Here’s what actually happens when I sit down to write:
1. I open Terminal. Type `claude`. The agent wakes up.
2. Claude reads CLAUDE.md. Now it knows my brands, my voice rules, my tools, my output format.
3. I type: “Write an article for Level Up with AI about how my agent setup works.”
4. Claude identifies the brand → reads `brands/level-up-with-ai.md` → loads my voice, colors, image style, CTAs.
5. It writes the full article in my LUAI voice — authoritative, framework-driven, anti-hype.
6. It generates an image prompt using my brand colors and sketch style.
7. It runs `generate_image.py` automatically → header image appears in the folder.
8. It writes the Notes teaser, SEO summary, email subject lines.
9. Everything saves to `articles/2026-02-11-slug/`.
It automatically created this header image for this post. Not too bad, is it?
I review, edit, and publish. The draft is 80% there. My editing time is the creative part…tightening phrases, adding personal details Claude couldn’t know, making sure the personality lands.
You Don’t Use Claude Code? Here Are Your Options.
Not everyone wants to work in a terminal. I get it. Here’s how you can replicate this system with different tools:
Option 1: Claude Projects (claude.ai)
Claude’s web interface has “Projects” where you can upload files as context. Upload your brand profile, your voice rules, and your output format template. It won’t run Python scripts or generate images, but it’ll handle the writing with your voice.
Limitation: You can’t route between models or run tools automatically. You’d need separate conversations for different brands.
Option 2: ChatGPT with Custom GPTs
Build a Custom GPT for each brand. Upload your voice profile as knowledge. Set the system instructions to your output format. This works well for single-brand setups.
Limitation: No file management, no automatic image generation, no model routing.
Option 3: Cursor or Windsurf (Code Editors with AI)
These editors work similarly to Claude Code — they read project files and follow instructions. You could replicate my folder structure and CLAUDE.md approach. They support running Python scripts too.
Limitation: They’re designed for coding, so the interface is heavier than you might want for pure writing.
Option 4: Claude Code (What I Use)
The full setup. File reading, Python scripts, model routing, automatic image generation. Works in Terminal on Mac or Command Prompt on Windows.
Cost: Claude Pro subscription ($20/month for 5x usage) or Claude Max ($100/month or $200/month for heavy use). I’m on Max because I run three newsletters.
Build Your Version in 30 Minutes
You don’t need my exact setup. Start with the minimum:
Step 1: Create a project folder with a CLAUDE.md file. Write your voice rules — what you always do, what you never do, your signature phrases.
Step 2: Export your Substack posts. Put them in a `backups/` folder. Ask Claude to analyze your writing patterns and add them to your CLAUDE.md.
Step 3: Define your output format. What do you want back when you say “write an article”? Headline? SEO? Notes teaser? Write it out.
Step 4: If you want images, grab a free Google Gemini API key and drop `generate_image.py` into a `tools/` folder. It’s 67 lines. Claude can write it for you.
Step 5: Run it. Give it a topic. See what comes back. Refine your CLAUDE.md based on what’s off.
After 3-4 iterations, you’ll have a system that sounds like you. Add brands as you grow. Add tools as you need them. The folder structure scales because each piece is independent.
Want to go deeper with AI?
As a paid subscriber, you get my direct feedback on your AI setup + 50% off Cozora, the AI learning community I co-founded.
Every week, AI experts join us live to show exactly how they’re using AI right now. Don’t get left behind. Learn AI with others who are actually building things.





I use ChatGPT and have custom GPTs for brand voice and so on. I also open a Project for different things, like newsletters, or visibility. That way, ChatGPT has all the previous chats in that one Project and doesn't "forget" anything. As for images, at the moment I still like coming up with images for my posts (but then I don't post as often as you do). I've discovered DepositPhotos has a great AI generator for images that saves a ton of rabbit-holing on Canva!
Claudia, this is a fascinating peek behind the curtain of a modern writing workflow. What stands out most is how intentional the system is, not just the tools themselves. It’s a good reminder that the real power comes from clear structure and consistent thinking.