AI Report Automation

An AI agent system that automates a marketing agency's three core client deliverables end to end: competitive analysis reports, priced proposal decks, and internal strategy reviews. A day of skilled analyst work became about 90 minutes, runnable by anyone on the team.

  • Claude agent skills
  • Google Cloud APIs
  • Census data
  • Gamma API
  • Browser automation

The problem

Every new prospect required a 20-plus-page competitive analysis: demographic research, competitor discovery and verification, review analysis, AI-search visibility auditing, and assembly into a branded deck, followed by a separately priced proposal built in a spreadsheet calculator and a hand-assembled template. The process was slow, depended on a few people who knew the methodology, and quality varied. Figures went unverified, template sample content leaked into client decks, and pages that should have been removed shipped anyway. The SOPs existed, but they lived in documents people had to remember to follow.

What was built

Three production AI skills, packaged, versioned, and installable by any team member:

  • Competitive analysis runs the full company SOP: automated competitor discovery via the Google Places API, six-point verification per competitor (ratings, hours, reviews, API-verified driving distances, website scans, and AI-assistant visibility audits across Google AI Overviews, ChatGPT, and Perplexity), Census demographic pulls, generated positioning visuals, and a 22-page report delivered into the agency’s branded template. Three market modes cover local specialist, local general, and nationwide analyses.
  • Proposal generator computes quotes with the agency’s exact pricing engine (its own calculator code executed verbatim, not reimplemented), renders the money pages pixel-identical to the calculator’s design, prunes unselected service pages from the template, and places rendered images into the deck editor via browser automation. It merges analysis and proposal into a single client-ready PDF on request.
  • Internal strategy playbook produces wins, fixes, and easiest-wins reviews for existing clients, anchored to a per-client strategy brief, with recommendations framed as discussion inputs rather than directives.

The trust framework

The differentiating design work is how the system earns the right to be believed.

  • Three-tier claim classification. Durable verified data is checkmarked. Perishable snapshots, like what an AI assistant answered today, are date-stamped, never checkmarked, and never ranked. Adverse claims about named parties require the primary source read in-session, allegation framing, and a named human sign-off before they can ship. That last rule was born from a real caught failure: an early build asserted a legal claim, based on coverage of coverage, that the primary source did not support.
  • Gates that cannot be skipped. Batched intake with safe defaults means any operator produces a compliant build. A pre-push review gate presents a completion manifest of every research step, done, fallback, or disclosed unavailable. A post-generation read-back QC diffs the produced deck against source data line by line.
  • Verified failure modes written into the system. Template sample pricing leaking into decks, AI restyling destroying brand formatting, image-only template pages defeating name-based removal: each was discovered in live testing, root-caused, and codified as a named rule with its fix.

Technical highlights

  • Multi-API integration across Google Places, Distance Matrix, Geocoding, Census ACS, and the Gamma generation and export APIs, with graceful fallbacks for every source.
  • Dual-engine pricing verification: the original JavaScript calculator runs in Node as the source of truth, cross-checked every build against an independently tested Python port. Two implementations agreeing constitutes live math verification.
  • Pixel-exact document rendering through a headless Node and WeasyPrint pipeline, bypassing AI styling drift entirely.
  • Browser automation for image placement into the deck editor, including an operator-handoff mode for machines where direct browser control is unavailable: attempt automation first, alert plainly on failure, hand over a single copy-paste prompt.

Outcomes

  • Competitive analysis production went from about a day of skilled work to about 90 minutes, mostly unattended, runnable by any team member.
  • First production run: 54 competitors surfaced and verified, 10 full deep dives, 14 API-verified driving distances, and a complete AI-visibility audit, delivered into the branded template with a data-backed answer to the client’s central strategic question.
  • Proposal turnaround: engine-verified quote to generated deck in about 15 minutes, with zero hand-computed figures.
  • Roughly 20 versioned releases across the three skills, each driven by real-run feedback. Distribution is three files and a 10-minute setup per person.
  • Every report now carries its evidence: verification dates, source attribution, and a disclosed manifest of anything that could not be checked.

Status

In production and used team-wide at the agency, alongside a rewritten internal SOP, operating documentation, and a roadmap for headless server deployment.

Questions

FAQ

What is the AI Report Automation system?

An AI agent system Brian Powell designed for a marketing agency that automates its three core client deliverables, prospect-facing competitive analysis reports, priced proposal decks, and internal client strategy reviews. Work that took a skilled analyst most of a day now runs in about 90 minutes of largely unattended build time, operable by any team member.

How does it keep AI-generated reports trustworthy?

Every claim is classified into one of three tiers, durable verified data, perishable snapshots that are date-stamped and never ranked, and adverse claims about named parties, which are hard-blocked until a named human reads the primary source and signs off. A pre-push review gate shows a manifest of every research step, and a post-generation QC pass diffs the finished deck against source data line by line.

How is the pricing guaranteed correct?

The agency's own pricing calculator code runs verbatim as the source of truth, cross-checked on every build against an independently tested port. Quote pages are rendered pixel-identical from the calculator's own HTML and CSS through a headless pipeline, so no AI ever restyles or recomputes a number.

Was the system actually evaluated?

Yes. Skill outputs were benchmarked against no-skill baselines with a test harness, 10 of 10 rubric assertions passed with the system versus 4 to 6 without, and roughly 20 versioned releases each responded to defects found in live team runs.