# How Doneyli De Jesus built a 15-agent content system on Claude Code for his wife's solo business

Doneyli De Jesus's wife quit her corporate job and became a solopreneur. She had no time for content marketing. He built her a system on Claude Code with three tiers of configuration, 24 custom skills and 15 scheduled agents. He says it produces 10-12 pieces per week across four platforms and takes about 2-3 hours a week of her review time. A git check keeps the drafting agent idle until she has edited the weekly calendar.

| | |
|---|---|
| **Who** | Doneyli De Jesus, who writes a Substack ([doneyli.substack.com](https://doneyli.substack.com)). He built this for his wife's business alongside a full-time job. |
| **Problem** | A solo business owner needs consistent content to stay visible but has no time or budget for a content person |
| **Stack** | Claude Code in headless mode (`claude -p`), CLAUDE.md config files, custom skills, macOS launchd schedules, Opus and Sonnet, Gatus (uptime monitoring), ntfy (push notifications), git, plus Gamma API and Gemini for presentations and images |
| **Confidence** | Medium (first-person, self-reported, no outcome metrics) |
| **Last verified** | 2026-10-16 |

## The problem
His wife needs regular content to stay visible in her industry, but "clients come first." Hiring a marketing team or content person "isn't in the budget." AI writing tools don't solve the daily operating work. In his words: "Someone still has to prompt them, review the output, and hit publish. That's a job."

She had tried three things first:
- **Posting when she had time.** Busy weeks meant silence.
- **A freelancer.** Expensive, and the content "sounded professional but generic."
- **Generic AI tools.** "Polished, but sounded like everyone else."

## The blueprint (as he describes it)
1. **Build configuration first.** Claude Code reads CLAUDE.md files before every conversation. He set up three tiers: a global file with his own preferences, a project file for her content operation (skill triggers, content model, quality gates, platform hierarchy, editorial calendar), and a MEMORY.md with her metrics, strategy decisions and what has been posted. The project file is about 200 lines and points to 134 files in `.claude/`. "The main file routes. The skills files instruct."
2. **Write skills that load on trigger phrases.** There are 24 custom skills. "Draft a LinkedIn post" loads the LinkedIn drafting skill. "Plan next week" loads the weekly planning skill. Each skill has a step-by-step checklist, quality gates with checkboxes, templates, and references to shared resources.
3. **Keep shared rules in one place.** Five files in `_shared/` hold voice fundamentals, quality gates, the content model reference, platform formatting and backlog integration. All 7 drafting skills reference them, so one edit to her voice guide reaches every drafting skill.
4. **Schedule the agents.** There are 15 shell scripts. Each launches Claude Code headless on a macOS launchd schedule. They fall into four groups:
   - Market intelligence, daily and weekly. Signal scans of HN, Reddit and arXiv run at 6 AM, a deep dive at 7 AM and a refresh at 2 PM.
   - Content ops. The planner runs Sunday night, the producer at Monday 1 AM and pre-publish prep at Monday 6 AM.
   - Analytics, weekly. These gather platform metrics, export per-post LinkedIn stats and run a performance review.
   - Engagement, daily. These handle commenting targets, engagement monitoring, lead scanning and lead scoring.
5. **Gate production on human review.** The producer reads git history. If the calendar hasn't been edited since the planner's commit, the producer prints "SKIP: Calendar unchanged. Waiting for human review." and exits. "Planner creates. She reviews. Producer executes."
6. **Produce in two waves.** Wave 1 uses Opus to draft 5-7 original LinkedIn posts and 1 newsletter. Wave 2 runs after that and uses Sonnet. It adapts the LinkedIn posts into Substack Notes and drafts Twitter posts. The Twitter agent doesn't adapt LinkedIn. It "mines actual GitHub activity and Langfuse traces." His reasoning is that adaptation is formulaic and "Sonnet is 3-4x cheaper and fast enough."
7. **Retry and monitor every run.** Each agent retries up to 3 times with exponential backoff (60s, 120s, 240s). It then reports success or failure to Gatus and sends failure alerts through ntfy.

## Stated results
- 10-12 content pieces per week across 4 platforms: LinkedIn, Substack, Twitter and Substack Notes.
- About 2-3 hours a week of her review time.
- Cost: a Claude Max subscription at $100/month, which he says "covers all 15 agents running overnight with zero marginal cost per job."
- Retry logic "saved me from 30+ false-alarm notifications in the first month."
- When everything ran on Opus, his first-month API bill "was 4x what it needed to be." No dollar figure is given.
- Build time was about 6 months, done iteratively alongside a full-time job.
- Engagement, follower, lead or revenue results: None stated.

## Mistakes he lists
- Building agents before configuration and skills produced inconsistent voice across agents.
- A 2,000-line CLAUDE.md left less context for the actual work. Drafts got shorter. His fix is to keep the file under 300 lines.
- Separate copies of the voice rules in each skill drifted apart.
- Running everything on Opus. His fix: Opus for creation and reasoning, Sonnet for extraction and adaptation, Haiku for classification and routing.
- An agent failed silently for a week, and the analytics data went stale before he noticed.

## Caveats
- This is a paid newsletter issue. Architecture and frameworks are free. The full code, commands, config templates and debugging walkthrough are for paid subscribers, and the post links to founding-member details.
- He describes a system he built for his wife's business. She isn't named, and neither is her business or industry. Her accounts aren't linked, so the published output can't be checked.
- The post tells the voice-drift story two ways. The architecture section says he missed one skill and it went off-voice for two weeks. The mistakes section says he "forgot three others" and those skills were off-voice "for weeks."
- The post doesn't say who presses publish. It lists a publish workflow skill and a pre-publish prep agent, and it counts her review time. It doesn't state whether posts go out automatically.
- The Twitter agent mines "actual GitHub activity and Langfuse traces." The post doesn't say whose.
- He mentions an API bill in month one and a $100/month Claude Max subscription now. The post doesn't explain the change.
- Scheduling relies on macOS launchd.
- X: [UNVERIFIED] not checked.

## Sources
- https://doneyli.substack.com/p/how-i-automated-my-wifes-content (primary: Doneyli's first-person build log, first paid issue)

---
*Want agents like these working your distribution? [See the Agent Stack Teardown](/agent-stack-teardown). Get new teardowns weekly: [subscribe](/subscribe) (double opt-in).*