Saved 4 hrs/week
CSVPDF generationMulti-source
How I automated weekly client reporting for a 3-person agency
From 4 hours of copy-paste to a 2-minute terminal command
The Problem
A 3-person digital marketing agency was spending every Friday afternoon building client reports. The process:
- Export Google Analytics data for each client (manual, 15 min/client)
- Pull revenue numbers from Stripe (manual, 10 min/client)
- Check project tracker for deliverables completed (manual, 10 min/client)
- Copy-paste into a Google Doc template (manual, 20 min/client)
- Review, fix formatting, send (15 min/client)
With 5 clients, that's roughly 4 hours every Friday. One person's entire afternoon, every single week.
The Solution
We built a Claude Code automation with a single CLAUDE.md that:
- Reads CSV exports from all three sources (dropped into a folder)
- Matches data across sources by client name
- Generates a formatted markdown report per client
- Flags any metrics that changed more than 20% week-over-week
The folder structure
~/client-reports/
CLAUDE.md
/data/
analytics_export.csv
stripe_export.csv
project_tracker.csv
/output/
(reports appear here)The workflow now
- Friday morning: export the 3 CSVs (still manual, ~5 min total)
- Drop them in the
/data/folder - Run
claudein the terminal and say "Generate this week's client reports" - Review the 5 reports in
/output/ - Send to clients
Total time: ~15 minutes instead of 4 hours.
What Made It Work
The key was being very specific in the CLAUDE.md about:
- Exact column mappings ("revenue is in the 'amount' column in Stripe")
- The report format the clients expected
- What counts as a "flag" worth highlighting
- File naming conventions
Results
- Time saved: 3.75 hours/week (195 hours/year)
- Consistency: Reports look identical every week
- Catch rate: The 20% change flag caught a tracking error in week 2 that would have gone unnoticed
Want something like this for your team?
Eigenomic designs and implements custom Claude Code workflows for teams. From scoping to deployment.
Learn about Eigenomic