Skill

New Business Pitch Builder

Turn an audit of a prospect's paid, organic and funnel surface into a pitch with a prioritized gap list, confidence-discounted opportunity sizing in gross profit, and a 90-day engagement outline built from the gaps that scored highest.

At a glance

New Business Pitch Builder is an AI skill that you can use in Claude Code, Codex, or type.com.

Updated

See an example

Example output from a sample run. Company names and figures are sample data.

New business pitch: Tidewater Outfitters, prepared 2026-09-22

13 gaps found, worth $27,028 a month in gross profit ($324,333 annualized) after confidence haircuts, counting only gaps that do not overlap. That is 2.85x the proposed $9,500 monthly retainer, so the fee is matched if roughly 35.1% of the estimate is realized. A further $6,518 a month of paid spend could be redeployed or verified.

$60,000 of monthly paid media across 5 channels returns 1,101 conversions and $93,585 of platform-reported revenue (1.56x). The site converts 1.39% of traffic end to end.

#AreaGapMonthly (adj.)Annual (adj.)Effort
1Paid mediaMeta Ads costs $66.67 per conversion against $39.22 on Google Shopping$3,624$43,4822w
2FunnelCheckout started to Purchase converts at 35.00% against a 40.00% benchmark$7,782$93,3846w
3Paid mediaMicrosoft Ads reports no conversions on $2,000 of monthly spend$1,200$14,4001w
4FunnelSessions to Product view converts at 40.00% against a 45.00% benchmark$6,803$81,6336w
5FunnelAdd to cart to Checkout started converts at 45.00% against a 50.00% benchmark$6,047$72,5626w
6Paid mediaGoogle Search converts at 2.00% against a 2.80% benchmark$3,927$47,1244w

…plus 7 more gaps in the full report, ranked by adjusted annual value per week of delivery effort.

AreaGapsValued asMonthly (adjusted)Annual (adjusted)
Funnel4gross profit$25,579$306,948
Paid media — conversion rate2gross profit$6,872$82,467
Organic search4gross profit$1,449$17,385
Paid media — spend efficiency and tracking3recovered spend$6,518$78,212

Next actions

  • Days 1-30, stop the leaks: reallocate spend from Meta Ads to the strongest cost-per-acquisition channels, and rebuild conversion tracking so the $2,000 of monthly Microsoft Ads spend is proven or cut.
  • Days 31-60, convert the traffic already arriving: instrument the funnel and run a test roadmap against Checkout started to Purchase (35.00% vs a 40.00% benchmark).
  • Days 61-90, compound the gains: technical, content and link work on near-miss organic pages, led by 'rain jacket' at position 14 with 40,000 monthly searches.

Inputs: paid snapshot, SEO pages, funnel steps and benchmark file; average order value $85.00 at 55.0% gross margin, or $46.75 gross profit per order.

Produced by running bash examples/run.sh on the sample data bundled with this skill.

How to use New Business Pitch Builder

  1. type.com: Choose Use Skill to add New Business Pitch Builder to your type.com workspace.
  2. Claude Code: Download the skill and extract it into ~/.claude/skills/new-business-pitch-builder/ (or .claude/skills/new-business-pitch-builder/ in a project). Then ask Claude to use New Business Pitch Builder.
  3. Codex: Download the skill and extract it into ~/.agents/skills/new-business-pitch-builder/ (or .agents/skills/new-business-pitch-builder/ in a repository). Then ask Codex to use New Business Pitch Builder.

AI agents can read this page as Markdown or fetch the raw SKILL.md.

Frequently asked questions

What is New Business Pitch Builder?

New Business Pitch Builder is an AI skill that you can use in Claude Code, Codex, or type.com.

What does New Business Pitch Builder do?

Turn an audit of a prospect's paid, organic and funnel surface into a pitch with a prioritized gap list, confidence-discounted opportunity sizing in gross profit, and a 90-day engagement outline built from the gaps that scored highest.

Can I use New Business Pitch Builder in Claude Code or Codex?

Yes. New Business Pitch Builder is a standard Agent Skills folder with a SKILL.md file. Download it and extract it into ~/.claude/skills/ for Claude Code or ~/.agents/skills/ for Codex.

Who created New Business Pitch Builder?

The type.com team created New Business Pitch Builder. The type.com team reviews every skill before it is published in the Skills Library.

AI for agencies: a practical guide

Browse the technical files
---
name: new-business-pitch-builder
description: Turn an audit of a prospect's paid, organic and funnel surface into a pitch with a prioritized gap list, confidence-discounted opportunity sizing in gross profit, and a 90-day engagement outline built from the gaps that scored highest.
---

# New business pitch builder

Converts four exported files about a prospect into the spine of a pitch: what is
broken, what each fix is worth, in what order, and what the first 90 days look
like. Every number is traceable to a line in the input and to a stated
assumption, so the prospect can argue with the assumption instead of dismissing
the number.

## Before you run

This skill ships scripts and sample data alongside this SKILL.md. Before running any command:

1. **Get the files.** Make sure the skill's other files (`scripts/`, `examples/` and anything else listed with this skill) are in your working folder at the same relative paths. Some environments load only SKILL.md; if yours did, fetch each file from this skill's published files and write it to the matching path. In Type, read them with the skill-file tools. Anywhere else, the Type Skills Library API lists every file with its path, content and `sha256`: GET `https://api.type.com/api/public/library/skills` and take the entry with slug `new-business-pitch-builder`.
2. **Check the copies are exact.** Compare each file's size in bytes, not characters (and its hash, where your tools report one), with the published version before running. A copy written out from the published file is fine once its byte size and hash match; never run a script you summarised or reconstructed from memory.
3. **Run from the skill's folder**, calling interpreters explicitly: `python3 scripts/…` and `bash examples/run.sh`.
4. **Try the sample first.** If the skill ships `examples/run.sh` and `examples/expected_output.txt`, run `bash examples/run.sh`; its output should match the expected file exactly. If it doesn't, stop and report the first differing line rather than running on real data.

## When to use this

- Preparing a pitch, an audit deck or a proposal for a prospect where a data
  pull is possible (shared read-only access, a Looker Studio export, or numbers
  the prospect supplied in discovery).
- Qualifying an inbound lead: run it early to see whether there is enough
  opportunity to justify the pursuit.
- Building a renewal or expansion case for an existing client — the math is
  identical.

Do not use it to invent numbers for a prospect who has shared nothing. Without
real inputs the output is a confident fiction, which is worse than no deck.

## Gathering the inputs

Four CSVs, specified in `DATA_CONTRACT.md`. The script reads local files only.

1. **`paid_snapshot.csv`** — one row per paid channel for a representative
   month: spend, impressions, clicks, conversions, revenue. Sources: the
   prospect's ad accounts if read access was granted, a shared reporting
   dashboard, or figures they provided. Use one clean month, not a partial one.
2. **`seo_pages.csv`** — URL, target keyword, monthly search volume, current
   position, current monthly clicks. Sources: the prospect's Search Console
   export, or a third-party rank/volume tool. Never estimate positions by eye.
3. **`funnel_steps.csv`** — the site funnel as an ordered list of steps with
   user counts, from sessions through purchase or qualified lead. Source: the
   analytics property's funnel or path report.
4. **`benchmarks.csv`** — the comparison rates the pitch is argued against:
   per-channel conversion rate, per-step funnel rate, and optional
   position-CTR overrides. Use the agency's own portfolio medians where
   possible; cite the source in the file's `source` column and be ready to
   defend it in the room. Benchmarks are the load-bearing assumption of the
   entire deck.

Ask the prospect for average order value and gross margin. If they will not
share margin, use a conservative industry figure and say so on the slide — the
entire opportunity scales linearly with it.

## Running it

First run: `bash examples/run.sh` builds the pitch for the bundled sample
prospect in `examples/data/`. The equivalent command, which you point at your
own exports by replacing the `examples/data/` paths:

```bash
python3 scripts/build_pitch.py \
  --paid examples/data/paid_snapshot.csv \
  --seo examples/data/seo_pages.csv \
  --funnel examples/data/funnel_steps.csv \
  --benchmarks examples/data/benchmarks.csv \
  --prospect "Tidewater Outfitters" \
  --aov 85 \
  --gross-margin 55 \
  --as-of 2026-09-22 \
  --proposed-retainer 9500
```

- `--aov` and `--gross-margin` convert incremental conversions into gross
  profit. Both are required; there is no default, because a guessed margin
  silently changes every number in the deck.
- `--as-of` is required and only labels the analysis.
- `--target-position` (default 3) and `--max-position` (default 20) bound the
  organic estimate.
- `--reallocation-threshold` (default 25) is how much of a channel's spend must
  be recoverable before it is called a gap.
- `--confidence-scale` (default 1.0, maximum 1.0) uniformly lowers every
  confidence haircut. Use `0.7` or `0.6` for a deliberately conservative
  version — useful when the prospect is analytical or burned by a previous
  agency.
- `--proposed-retainer` compares the non-overlapping gross-profit estimate to
  the fee. Omit it if pricing is not yet on the table.
- `--json` for machine output.

## Reading and presenting the output

- **What we found** is the opening slide. It is written to be read aloud.
- **Prioritized gaps** is ranked by adjusted annual value per week of delivery
  effort, so the quick wins lead. Present the table, then the two or three
  detail blocks you intend to defend — do not read all of them.
- Every gap shows both a **raw** and an **adjusted** value. Present the
  adjusted number. Keep the raw number available for the question "where did
  that come from", and never total the raw column on a slide.
- **Opportunity summary** is the one-number-per-area slide. It deliberately has
  no total row and no raw column. Gaps are valued in two units — **gross
  profit** (extra orders) and **recovered spend** (paid budget that can be moved
  or cut) — and the two are never added together. The funnel and paid
  conversion-rate rows lift conversion of the same visitors, so the
  **non-overlapping gross profit** line counts only the larger of the two plus
  organic search. Quote that line and the recovered-spend line separately; do
  not add the table's rows on a slide. Funnel work usually dominates; that is
  real, and it is also the work a prospect is least likely to believe, so lead
  with the fast paid fixes and let the funnel number sit behind them.
- The **retainer comparison** uses only the non-overlapping gross-profit figure.
  Present it as "the estimate is N times the fee", never as a promise that the
  fee pays for itself.
- **Proposed 90-day engagement** is populated from the gaps that actually
  scored, not from a template: the phases contain the workstreams that follow
  from this prospect's evidence. Edit the wording, keep the mapping.
- **How these numbers were built** and **What this analysis cannot see** belong
  in the appendix and in the room. Presenting the limits is what makes the rest
  credible.

## Limits

- Opportunity sizing is arithmetic against benchmarks, not a forecast and not a
  guarantee. Never present it as revenue the agency will deliver.
- Benchmarks are supplied, not derived. A generous benchmark file produces a
  generous pitch; the skill cannot tell whether a benchmark is fair.
- Each paid channel contributes at most one gap, and funnel gaps are each
  computed with the other steps held at their current rates. Even so, gaps
  across areas overlap: improving paid conversion rate and fixing checkout touch
  the same users.
- Organic estimates assume ranking at the target position is achievable and
  ignore SERP features, intent mismatch, cannibalization and competitive
  difficulty. Keywords beyond `--max-position` are excluded outright.
- It uses platform-reported conversions and revenue as given. No attribution
  correction, no incrementality, no de-duplication across channels.
- It does not price the engagement, write the proposal, or assess whether the
  prospect can execute. It produces the analytical spine a human turns into a
  pitch.