HomeAboutProjectsContact
Back to projects
In progress2026 – ongoing

Campaign Proposal Automation

An AI-augmented system that turns my product expertise into something executable. I built the rules and knowledge base; Claude writes the Python that generates each Excel proposal on demand. 30–60 minutes of manual work → under 5.

Proposal time

30–60m → <5m

6–12× faster

Products documented

50+

Full rate card + rules

Reference guide

700+ lines

Single source of truth

Verticals served

9

Auto · health · gov · more

Overview

At my current role on a media company's digital sales team, building a polished media proposal used to mean 30–60 minutes of manual work per request: cross-referencing product specs and rates, applying pricing rules, calculating estimated delivery, and formatting it all into a multi-tab Excel template. With dozens of requests per month, that work added up fast.

I built an automation workflow that does it in under five minutes, but not by writing a traditional Python script. Instead, I documented my expertise so precisely that an AI agent can write the Python on demand, ask the right clarifying questions, and produce a finished proposal on the corporate template.

How it actually works

The unusual thing about this system: there's no permanent codebase. Every proposal triggers a fresh Python run, written by Claude based on the rules I documented. Here's the flow:

  1. I give the agent the client info (vertical, budget, products of interest, flight dates)
  2. The agent reads my EXCEL_PROPOSAL_GUIDE.md, the 700+ line reference doc with every product, rate, minimum, and pricing rule
  3. It asks me clarifying questions based on the rules I wrote (which pages, which audience segments, which language splits, which proration model)
  4. It writes Python (openpyxl) on the spot to populate the corporate Excel template
  5. The script runs, the .xlsx file appears, and I download it

The Python is fresh every time: same agent, different inputs, different output. Nothing brittle to maintain. When products or rates change, I update the guide; I don't refactor code.

My role

I'm the system architect and knowledge owner. The AI is the executor. Specifically:

  • I provided the entire knowledge base: every CPM, minimum, segment pricing rule, impression formula, billing type, and edge case for 50+ products. Claude formatted the EXCEL_PROPOSAL_GUIDE.md into markdown, but every rule in it came from my expertise.
  • I designed the clarifying-question workflow: which questions to ask, in what order, and how to handle ambiguous answers. The agent applies the framework I built.
  • I reviewed every AI output and corrected 14 distinct formatting issues in the corporate Excel template: merged cells, broken named ranges, inconsistent number formats. Each one became a rule the agent now follows.
  • I authored the SKILL.md spec (275 lines) by providing the content; Claude formatted it. Same logic as the proposal guide: the expertise is mine, the prose was co-written.
  • I defined the pricing adjustment logic for products with layered targeting and the cross-month proration math for campaigns that span billing periods.
  • I delivered 13+ real proposals using this workflow across automotive, education, healthcare, government, entertainment, legal, construction, telecom, and consumer product verticals.

Approach

Invert the automation pattern

Traditional automation: a human writes code that handles every case. This system: a human writes rules, and the AI writes whatever code is needed for the case at hand. The result is more flexible. There's no script to break when a new product is added or a pricing rule changes.

Treat documentation as the system

The hardest part wasn't the Python; the AI handles that. The hard part was capturing tribal product knowledge in a form an agent could reliably use: every rate, every minimum, every edge case, in structured markdown. The 700+ line guide is the actual product I built. The Python is disposable.

Iterate against the actual corporate template

The team already had a corporate Excel proposal template, but that template had quirks (merged cells, hidden formulas, broken named ranges) that only surface when you try to populate it programmatically. Across 13+ proposal runs I caught 14 distinct formatting issues, fed each one back into the rules, and now the AI handles them without my intervention.

Make it portable across AI platforms

By structuring the rules as a SKILL.md following the agentskills.io spec, the same documentation works in Claude, ChatGPT, and Gemini. No platform lock-in if the team's tooling changes.

Stack & tools

What the system uses. Important to read this with the right mental model. I don't write Python; Claude does, every time, based on the rules I authored.

Claude AI (executor)Python + openpyxl (AI-written)Markdown documentationNotion (intake forms)Excel (corporate template)Prompt engineeringKnowledge architecture

Outcomes

  • Proposal creation time: 30–60 minutes → under 5 minutes. Roughly 6–12× faster depending on complexity.
  • 13+ proposals delivered across 9 verticals: real production output, not just a demo.
  • Reusable skill spec works across Claude, ChatGPT, and Gemini. No platform lock-in.
  • Eliminated a class of formatting bugs in the corporate template that had quietly been burning time for everyone who used it.
  • No code to maintain. When products or rates change, I update the guide. The Python regenerates from scratch every run.

What this project taught me

  • Documentation is the highest-leverage part of AI tooling. The Python is trivial. The 700-line knowledge base is what makes the system reliable.
  • AI-augmented automation is structurally different from scripted automation. Traditional scripts handle the cases you anticipated; this system handles cases I never thought to script for, because the agent can compose new behavior from the documented rules.
  • The existing-system tax is real. Half the work wasn't the automation. It was discovering and fixing the corporate template's hidden quirks.
  • Honesty about who does what matters. The temptation in AI work is to claim authorship of the code. The real skill is being the architect: knowing what to document, what to verify, and when to override the agent's output.

Private project: what I can show

Internal tooling: code and outputs aren't shared publicly

This system runs against a media company's product catalog and produces real client proposals. Because these are internal materials, neither the knowledge base nor any sample outputs can be published. This case study presents the anonymized workflow and measurable outcomes. Happy to talk through my approach and process.