This is the actual Claude Code workflow I run on 500k.io. Not the demo workflow. Not the “what’s possible” workflow. The one that ships content, fixes bugs, and pulls dashboards every weekday. I’m at $9,500 MRR / $114K ARR / 22.8% to my $500K target solo. The agency I co-founded with Jack — The Kreators AI — manages about $45M of Meta Ads ($10M on my side). Claude Code is the orchestration layer for both, but more central on 500k.io because I’m solo here.
This article assumes you’ve already done the first 30 days. It’s the next-level operating manual.
The 5-session day
I run 5 Claude Code sessions per day, each scoped to a single outcome. The discipline isn’t time-management theater — it’s that long sessions accumulate stale context and the agent starts repeating its earlier mistakes.
| Session | Time | Length | Output |
|---|---|---|---|
| Content factory trigger | 06:30 | 15 min | 1 article draft into repo |
| Deep work block | 09:00 | 40 min | Code feature or refactor |
| Research dossier | 11:30 | 20 min | Research pack into Notion |
| Dashboard / automation | 14:30 | 25 min | Data pull, update, schedule |
| Wrap and commit | 17:00 | 15 min | Review diffs, commit, close |
Total Claude Code time: 115 min/day. Plus ~30 min reviewing outputs.
Each session opens fresh, runs to completion on a single deliverable, and closes. No “let me just keep going on this other thing.” Started this discipline 4 months ago and content output doubled. The sessions weren’t getting more done before — they were getting more confused.
CLAUDE.md structure (the 580-line brief)
My six sections:
Section 1 — What this project is (45 lines)
Two paragraphs in plain English. Then a list of constants: domain, primary audience, the brand wedge ($0 to $500K solo with AI), the one-line elevator pitch.
The mistake here: writing the marketing copy version. Wrong audience. Claude Code is the audience. Write what an analytical junior employee would need to make decisions in your absence.
Section 2 — Locked decisions (140 lines)
The single highest-leverage section. Things I will not re-debate:
- Stack: Astro 5, Cloudflare Pages, Beehiiv, Stripe
- Brand: 500k.io, the wedge, the parent agency context (Kreators)
- Voice: founder-to-founder, real numbers only, no LLM-tone words
- Monetization: paid newsletter sponsors, productized Meta Ads, paid Synapse community (later)
- What this site is NOT: not a course business, not a coaching business, not a SaaS
Each locked decision has a one-line “why.” That helps Claude Code reason when an edge case arises that the locked decision didn’t explicitly cover.
Section 3 — Voice and style (180 lines)
This is the largest section and the most-edited. It’s the voice bible embedded directly into CLAUDE.md.
Sub-sections:
- Banned phrases (auto-cut list)
- Required structures (TLDR, FAQ, definition leads)
- Real-numbers list (the actual $9.5K MRR / $45M agency / 13 tools)
- Sample paragraphs of “this is the voice” / “this is NOT the voice”
- Phrase-fetishes (the ones I do use: “honest math”, “pressure-tested in production”)
Every week I look at the last 3 articles, flag any LLM-tone slip, and update this section. It’s a living document.
Section 4 — Definition of Done (70 lines)
For an article:
- TLDR present, 60-80 words, citation-magnet
- 3-7 H2 sections, definition leads
- ≥1 table
- ≥3 specific numbers
- ≥6 internal links
- ≥3 external citations
- FAQ with 4-6 Q&A
- Frontmatter complete (title, slug, publishedAt, format, cluster, faqs, etc.)
- Voice scan passed (no banned phrases)
- Internal links resolve
For a code change:
- Tests pass
- Type-check clean
- Build succeeds
- Diff under 200 lines (or split into multiple commits)
- No new dependencies without explicit approval
The DoD is the gate. Anything below the gate doesn’t ship.
Section 5 — Roadmap pointer (15 lines)
Points to outputs/atlas/2026-05-03-seo-master-plan-v2.md (or whatever the current sprint doc is). Claude Code reads this when context is needed for a “should we ship X now or wait” decision.
Section 6 — Agent agreement (130 lines)
How Claude Code should behave. Sub-sections:
- Pause-for-ack rules (when to stop and ask)
- List-changes-before-writing (always describe planned edits before executing)
- Git policy (what to commit auto, what requires me)
- Session hygiene (close session at task end, don’t roll context)
- Tool selection (when to use which subagent)
- Cost discipline (don’t loop, don’t run agents 5 deep, don’t generate 10 variants when 1 will do)
The 9 subagents
Each subagent is a single Markdown file in .claude/agents/ with frontmatter and a focused prompt.
1. writer
Job: turn a brief into a 3,000-4,000 word article matching the voice bible.
Inputs: brief, target keyword, internal-link map, format (playbook/essay/etc.).
Tools: Read, Write, WebFetch.
2. editor
Job: read any draft, identify voice issues, propose fixes (don’t auto-edit).
Inputs: draft path, voice bible reference.
Tools: Read, Edit (proposed only).
3. researcher
Job: pull 5-10 sources on a topic, summarize each, output research pack.
Inputs: research question, target source count.
Tools: WebFetch, Write.
4. schema-validator
Job: validate that an article’s frontmatter and body satisfy the GEO checklist.
Inputs: article path.
Tools: Read.
5. voice-bible-enforcer
Job: scan a draft for banned phrases, LLM-tone patterns, missing structural elements. Flag everything. Don’t auto-fix.
Inputs: draft path.
Tools: Read.
This one has saved me ~30 min per article in editing time. It catches stuff I miss after reading my own draft 3 times.
6. internal-link-builder
Job: scan a draft, suggest 6-10 internal links from the existing article archive.
Inputs: draft path, existing article slugs.
Tools: Read, Bash (list directory).
7. social-repurposer
Job: take a published article, generate 5 LinkedIn variants + 3 X threads + 1 video script.
Inputs: article slug, target distribution channels.
Tools: Read, Write.
8. dashboard-data-puller
Job: pull current MRR from Stripe, subs from Beehiiv, traffic from Plausible, output to JSON.
Inputs: target output path.
Tools: Bash, Write.
9. content-auditor
Job: rate any article 0-100 on the quality rubric, return score + breakdown + improvement suggestions.
Inputs: article path.
Tools: Read.
Walkthrough: shipping one article
Concrete example. Last Tuesday I shipped an article on Beehiiv vs ConvertKit. Here’s what Claude Code did versus what I did.
06:30 session — the brief becomes a draft
I dropped the brief into Claude Code. The brief was 4 lines:
Topic: Beehiiv vs ConvertKit 2026 deep-dive
Format: comparison
Target words: 3000
Notes: I have 14 mo on Beehiiv + 22 mo on ConvertKit. Use that.
Claude Code:
- Read the voice bible
- Read 3 existing comparison articles for tone calibration
- Pulled 6 internal links from the archive
- Researched 4 external citations via WebFetch
- Drafted the article in MDX
- Ran the schema-validator
- Saved to
src/content/blog/beehiiv-vs-convertkit-2026-deep.mdx
Time: 18 minutes wall-clock. My active time: ~5 min (sending the brief, reviewing the output).
09:00 session — voice review
Different session. I asked the voice-bible-enforcer to read the draft. It flagged:
- 1 banned phrase (“seamless”)
- 2 LLM-tone paragraphs (too abstract, no numbers)
- Missing pull-quote
- TLDR was 95 words (over the 80-word ceiling)
I fixed all 4 in 12 minutes. Single-pass. Most articles surface 3-7 of these flags.
11:30 session — internal links and final structure
internal-link-builder ran across the draft. Suggested 7 links. I accepted 5, rejected 2 (irrelevant context). 6 minutes.
14:30 session — schedule + commit
Set frontmatter draft: true and publishedAt: <future date>. Ran content-auditor. Score: 88/100. Notes flagged 3 minor issues. Fixed 2 (the third was opinion-based, I overrode). 8 minutes.
17:00 session — wrap
Ran git diff. Committed: factory: ship beehiiv-vs-convertkit-deep article. Total time: 5 min.
Total wall-clock for the article: ~50 min spread across 4 sessions. My active time: ~30 min. Compare to writing it manually start-to-finish: 6-8 hours.
What Claude Code is bad at
Three things, honestly.
1. Brainstorming. It’s mediocre at “give me 20 angles on X.” Use Claude in the browser for brainstorming, then Claude Code for execution. The model is the same; the context discipline is different.
2. Cross-repo work. Beyond 2 repos, Claude Code loses focus. I keep 500k.io and the agency stuff in separate Claude Code instances.
3. Visual design. Claude Code can edit Tailwind classes, but it can’t see the page. Visual changes still require Cursor + browser preview, or me eyeballing things.
Cost discipline
Claude Code Max 5x is $100/mo flat. I run roughly 60-90 sessions per week, totaling 8-12 hours of agent work. Inside the Max plan. No per-token anxiety.
I tested per-token API once for a heavy refactor and burned $42 in 90 minutes. Never again. Max is the right pricing model for solo founders running content factories.
What’s next on my workflow
Three experiments I’m running in May-June 2026:
-
Cron-scheduled content factory. Mercury cron triggers articles at 06:00 daily. I review and approve. Saves the manual 06:30 trigger.
-
MCP integration with Beehiiv API. The dashboard-data-puller can already pull from Stripe/Plausible. Adding Beehiiv next.
-
Quality threshold gating. Articles scoring under 85 from content-auditor auto-route back to writer with the feedback. Articles scoring 85+ route to me for human review.
Internal links
- Claude Code: a $500K founder’s first 30 days — start here.
- The autonomous business: AI replacing every hire — what this enables.
- Claude Code vs Cursor in 2026 — when to pick which.
- MCP explained for founders — the integration layer.
- Claude vs Gemini for solo founders — model comparison.
- The full 500k.io stack — the 13 tools running this.
External sources
- Anthropic — Claude Code documentation — feature reference.
- Anthropic — best practices for agent design — Boris Cherny’s primer.
- Latent Space podcast — Claude Code deep dive — operator interviews.
- GitHub — community CLAUDE.md examples — public repos with strong briefs.
The single biggest unlock
“Claude Code only earns its $100 when CLAUDE.md is the lock. The model is the same one everyone else has access to. The brief is the moat. Two founders running the same Claude Code subscription with different briefs are not running the same product.”
If your CLAUDE.md is shorter than 200 lines, that’s where to spend tomorrow. Not on more subagents. Not on more MCP servers. On the brief.
Then the agents start to feel like co-workers.
FAQ
How many hours per day do you spend in Claude Code?
Roughly 90-120 minutes across 5 sessions. Less than I spend in Slack pre-2024. The compounding output isn't from time-in-tool, it's from running tight scoped sessions that finish.
What's your subagent map look like?
9 subagents on 500k.io: writer, editor, researcher, schema-validator, voice-bible-enforcer, internal-link-builder, social-repurposer, dashboard-data-puller, and a content-auditor. Each does one thing well.
How long is your CLAUDE.md?
580 lines. Six sections: project context, locked decisions, voice rules, definition of done, roadmap pointer, agent agreement. I rewrite ~10% of it every week as the project evolves.
Do you actually let it auto-commit?
Yes — for content factory commits and minor fixes. Not for architecture changes. The CLAUDE.md policy is explicit: pass tests + match voice = commit; touch architecture = require explicit approval.
What's the most useful subagent you've built?
The voice-bible-enforcer. It reads any draft and flags every banned phrase + every paragraph that drifts toward LLM tone. Saves me 30+ minutes of editing per article and catches 90% of the LLM smell I'd miss after rereading my own draft 3 times.
Has Claude Code replaced Cursor for you?
No — they do different jobs. Cursor for inline editing on individual files. Claude Code for orchestration, content, and long-running tasks. Both stay in the stack.