What Claude Code Agents Actually Do All Day
A behind-the-scenes look at the daily output of Armada Works' eight-agent fleet. Real schedules, real files, real coordination.
Armada Works runs eight Claude Code agents against a single codebase. They commit to main. They post daily briefs to a dashboard. They read each other's state files. And the question I get asked most often is: what do they actually produce?
Not in theory. Not in a pitch deck. What shows up in the git log on a Tuesday morning?
This is that post. A normal day, walked through agent by agent, with the real files and the real cadences.
A Typical Day Across Eight Agents
The fleet runs on cron schedules. Not all agents fire every day, and not all of them fire at the same time. Here is the actual schedule:
- CMO (synthesizer): daily, 10:00 AM
- SEO: weekly on Sundays
- Content: Monday, Wednesday, Friday at 9:05 AM
- Sales Lead: daily
- Outbound: daily
- Email Marketing: daily
- Social Media: Monday, Wednesday, Friday
- X Prospecting: daily
On a Monday, all eight agents run. On a Thursday, five do. The CMO always runs last in the morning because it reads every other agent's brief before writing its own.
Each agent writes three things: a daily brief (POSTed to the dashboard and mirrored to git), a persistent state file (carried across sessions), and whatever output its job requires. Blog posts. Prospect evaluations. SEO audits. Outbound drafts. The state file is the memory. The brief is the report. The output is the work.
The CMO Agent's Morning
The CMO agent is the load-bearing piece of the whole system. It does not write blog posts or evaluate prospects. It reads.
Every morning, it pulls the latest brief from each sub-agent. It reads the Sales Lead state file to check the pipeline. It reads the SEO state file to see which pages moved. It reads the Content queue to see what shipped. Then it writes a single document: the CMO Daily Brief.
That brief is what I actually read each morning. It has a pipeline snapshot (discovery calls booked, qualified leads, outbound drafts pending review), a sub-agent health summary (which agents ran, which are blocked, which have open escalations), and a ranked list of priorities for the week.
The CMO also maintains an open-threads list. Every prospect the X Prospecting agent graded, every outbound draft the Outbound agent wrote, every SEO regression the SEO agent flagged: the CMO tracks all of it in a single state file. When something ages past a threshold, it escalates. When something resolves, it closes the thread.
The brief from a recent Saturday included Paul Robinett's discovery call (Day 6 with no post-call notes, hard escalation at Day 8), a Grade B prospect on X whose reply window was closing, and the fact that the Content agent had just shipped its seventh blog post of the month. That is a real brief. That is what the synthesizer produces.
SEO Agent vs. Content Agent: Who Does What
These two agents work on the same problem (getting the site found) but they never talk to each other directly. They coordinate through files.
The SEO agent runs a weekly audit. It pulls Google Search Console data via a service account, runs Lighthouse CLI against three pages, checks PostHog for traffic, and scans the competitive landscape. Its output is a state file with every tracked page's position, impression count, and trend direction. It has been doing this for 104 days. It tracks 25 pages across GSC, flags regressions, celebrates recoveries, and maintains a competitor table with a dozen entries.
When the SEO agent spots a content gap or a declining page, it writes a content brief and adds it to the content queue. The Content agent picks up whatever is at the top of that queue on its next run.
The Content agent does not think about keywords or rankings. It reads the queue, reads the brief, reads project-config.yaml for brand voice and pricing, and writes a blog post. Forty posts so far, plus ten content refreshes, plus a PDF lead magnet, plus a LinkedIn series. It commits its draft to docs/content/blog/, deploys to production, and moves the queue item to Completed.
The division is clean. SEO decides what to write. Content writes it. The CMO arbitrates when priorities conflict.
The Agents That Run Overnight and in the Background
The Outbound agent evaluates prospects from Apollo. It has looked at more than 500 companies across nearly 100 sessions. It drafts cold emails, grades prospects by ICP fit, and flags anything that looks promising. Its reply rate across 23 lifetime sends is zero. That number is in the state file. The agent does not hide it.
The Email Marketing agent checks for new guide-download leads in the database. It has been dormant for over 100 consecutive days because nobody has downloaded the guide through the lead magnet funnel since the test cohort. The agent runs, checks, finds nothing, writes a brief that says "105th consecutive idle day," and exits. It is the quietest member of the fleet, and it is doing exactly what it should be doing: waiting for signal instead of manufacturing noise.
The X Prospecting agent searches Twitter for founders and operators who are talking about AI agents, agent spending, or the problems Armada solves. It reads tweets, evaluates them against a grading rubric (A through D tier), and writes prospect cards with recommended actions. The CMO picks these up and surfaces the ones worth acting on.
The Social Media agent has been blocked for 54 days because the Buffer API key expired. It runs on schedule, reports the failure, and exits. Every brief says "Buffer API auth failed since 6/24." It does not try to work around the problem. It just reports it, consistently, until someone fixes it.
What the Founder Actually Touches Each Day
I read the CMO brief. That takes about three minutes. It tells me what shipped, what is stuck, and what needs my attention.
On a typical day, the things that need my attention are: review an outbound draft and decide whether to send it, look at a prospect the X Prospecting agent graded and decide whether to DM them, and occasionally approve a content queue item or check a blog post the Content agent deployed.
I do not review SEO data directly. The CMO brief summarizes the SEO state file. I do not check which agents ran. The CMO's sub-agent health summary tells me. I do not look at the content queue. The CMO tells me what shipped and what is next.
The system produces between five and twelve files per day across the fleet. State files, briefs, blog drafts, prospect evaluations. All of it lands in docs/agents/state/ or docs/content/. All of it is committed to main. All of it is reviewable in a normal git log.
The total time I spend interacting with the fleet on a day when nothing is on fire: five to ten minutes. Most of that is reading the CMO brief and making one or two decisions it surfaced.
The Output That Surprised Us
Three things I did not expect when we started running this fleet four months ago.
First, the agents developed their own tracking conventions. The SEO agent started counting consecutive sessions without a ranking appearance. "13th consecutive absence from 7d." The Outbound agent started counting companies evaluated. "520+ companies across 98 sessions." Nobody told them to do this. The state file format rewards longitudinal tracking, and the agents figured out that trends matter more than snapshots.
Second, the scar-tissue file became real infrastructure. docs/agents/scar-tissue.md is where agents log failure modes: a deploy that failed because the git author was wrong, a brief that got lost because the POST happened after the session timed out, a content refresh that did not stick because Google treats date-bumps differently from substantive additions. Every agent reads this file at startup. It is the fleet's institutional memory for things that went wrong, and it has prevented the same mistake from repeating more than once.
Third, the CMO brief became my actual operating document. Not a dashboard. Not a Slack channel. A markdown file, committed to git, that synthesizes everything the fleet produced in the last 24 hours. I did not design it to be the primary interface. It just turned out that a single synthesized document, written by an agent that reads everything, is more useful than seven separate reports.
The fleet is not perfect. The Outbound agent's reply rate is zero. The Social Media agent has been blocked for almost two months. Several blog posts that were refreshed for SEO have not recovered their rankings. All of this is in the state files, in plain text, committed to main. The system does not hide its failures. That is the part that makes it trustworthy.
If you are running agents or thinking about running agents, the question is not whether they can produce output. They can. The question is whether you have the coordination layer to make that output coherent. For us, that layer is the CMO agent, the state files, and git.