# Proposal Draft Workflow

Build a library of reusable blocks once, write down your pricing rules once, and every new proposal becomes an assembly job. Paste the client's specifics, get a first draft with every guess flagged, review, send.

**Works with:** ChatGPT, Claude, Gemini, or any capable AI assistant that accepts long pasted text. Nothing here depends on one vendor.

**What you get:** a one-time setup, a per-proposal routine, two copy-paste prompts, and a review checklist.

## Prerequisites

- Two or three past proposals that won, or at least got a serious reply
- Your real pricing rules, even if they currently live only in your head
- Notes from the discovery call or emails for the deal you're proposing
- An AI assistant that accepts long pasted text or file uploads

## One-time setup

**1. Extract your block library.** Paste your best past proposals into the assistant with this prompt:

```
Below the line are past proposals from my company.

Break them into reusable blocks. For each block:
1. Give it a short name in {curly braces}, e.g. {about-us}, {process},
   {deliverables}, {payment-terms}.
2. Keep my original wording wherever it repeats across proposals.
   That wording is deliberate — do not "improve" it.
3. Replace anything client-specific (names, prices, dates, scope details)
   with a placeholder in [square brackets].
4. Flag any block that appears in only one proposal so I can decide
   whether it belongs in the library.

Return the blocks as one markdown document, one heading per block.

---
[PASTE 2–3 PAST PROPOSALS HERE]
```

Edit the result by hand. Cut blocks you never want reused. This document is your block library. Save it.

**2. Write your pricing rules.** Plain language, one rule per line: what you charge for, how it scales, what's included, what triggers a custom quote, what you never discount. Use your own numbers — the lines below are placeholders, not suggestions:

```
- Standard engagement: [your package and price]
- Add [service] at [price] per [unit]
- Rush delivery: [your rule]
- Never quote below [your floor] — flag for manual pricing instead
- Payment terms: [your terms]
```

**3. Save both documents** wherever your team keeps snippets. Setup is done.

## Per-proposal run

**4. Gather the client's specifics.** Discovery-call notes, emails, a transcript — whatever states what they actually asked for. Rough is fine; the prompt is built for rough.

**5. Assemble.** Start a fresh chat. Paste your block library, your pricing rules, and the client notes. Then run:

```
Assemble a first-draft proposal from the three documents above:
my block library, my pricing rules, and the notes on this client.

Rules — follow these exactly:
1. Use my blocks as written. Adapt transitions, not substance.
2. Fill placeholders only from the client notes or the pricing rules.
   If neither source has the answer, write [MISSING: what's needed].
   Never guess.
3. Price strictly from the pricing rules. If the deal doesn't fit a
   rule, write [PRICING: needs manual quote] instead of a number.
4. Leave out blocks that don't apply, and list them at the end under
   "Omitted blocks" with one line on why.
5. Match the tone of my blocks. Add no hype.

Output:
A. The draft proposal.
B. A "Review before sending" list: every [MISSING] and [PRICING] flag,
   plus any assumption you made about scope.
```

## Review checklist (do not skip)

- Check every price against your pricing rules document. The model assembles; you price.
- Resolve every [MISSING] and [PRICING] flag. Never send a flag.
- Read each scope sentence against the client notes. Delete any promise nobody asked for and you didn't approve.
- Confirm names, dates, and deliverables belong to this client, not to one of the proposals your library was built from.
- Read the draft top to bottom once. If a paragraph sounds like filler, it is. Cut it.

If the same flag keeps appearing deal after deal, fix the source: add the missing rule to your pricing document or the missing block to your library.

## When this outgrows DIY

This holds while one person owns proposals and volume is low. It stops holding when several people run quietly diverging copies of the library, when quotes depend on live data from your systems (rates, inventory, availability), or when one mispriced proposal costs real money. At that point the fix is not a better prompt. It is a system that drafts from the CRM record, prices from your source of truth, and routes every proposal for approval before it leaves. That is a build, not a snippet. See what we install at https://agentclawhq.com/services, or book a free AI opportunity audit at https://agentclawhq.com/book.
