🐇 Rabbithole ← All lessons Work with us →
Step 0 of 6
Day 19 of 30
Rabbithole · Learn · ~13 min read

Proposal & Contract Drafter

A few details in, a polished proposal or contract draft out, from your own templates.

ConsultantsAgenciesFreelancers ContractorsCoachesStudiosBookkeepers

Stop staring at a blank page before every deal

You had a great call. The client is keen. Now there is the part nobody enjoys: turning that conversation into a clean proposal or a contract draft. You hunt for your last good one, copy it, find-and-replace the name, change the price, fix the dates, rewrite the scope, and hope you did not leave the previous client's name buried in paragraph four.

This kit does the typing. You give it your own templates plus a short intake (who it is for, the scope, the price, the terms), and Claude fills a clean draft in seconds. It is a draft only, clearly flagged for your review. You read it, tweak it, and approve before it ever reaches the client.

Plain-English glossary, once: A template is one of your own documents with blanks in it, written by you, in your voice. Claude is the AI that reads your intake and fills the blanks. An intake is just the short list of facts about this specific deal. The templates stay yours: the kit reads them, it never invents your terms.

↳ New to letting AI draft for you? Read Lesson: AI safety basics first →

1

Give it a brain: connect Claude

What's happening: The drafter needs a brain to read your intake and fit it into your wording. That brain is Claude. The kit uses Anthropic's official toolkit and asks Claude to fill your template, not to write a document from scratch. Your key lives on your machine.
  1. Go to console.anthropic.com and sign in.
  2. Open API KeysCreate Key.
  3. Copy the key (it starts with sk-ant-).
Default brain: claude-opus-4-8 (sharpest writing). High volume? Set claude-haiku-4-5 to cut cost.
2

Point it at your templates: the folder you own

What's happening: This is the part that makes a draft sound like you, and it is yours. The setup wizard asks for a templates path: a folder on your machine (for example templates/) holding your real proposal and contract documents. Each one is plain text or Markdown with simple blanks like {{client_name}} and {{total_price}}. You edit them freely; the kit fills the blanks and never rewrites your terms.

A slice of the sample templates/proposal.md that ships with the kit:

# Proposal for {{client_name}} Prepared by {{your_business}} · {{date}} ## Overview {{overview}} ## Scope of work {{scope_bullets}} ## Investment Total: {{total_price}} · {{payment_terms}} ## Timeline {{timeline}}
templates/proposal.md templates/contract.md templates/statement-of-work.md
Why this keeps you safe: the templates live on your machine and stay under your control. The kit is told, in plain rules, to fill the blanks only: it does not invent clauses, prices, or legal language that is not in your template. Anything the intake does not cover is left as a clearly marked blank for you to finish, never a made-up number or term.
3

Give it the intake: the few facts about this deal

What's happening: The intake is the short list of facts unique to this client: their name, the scope you agreed to, the price, and the terms. You can type it as plain words ("redesign their site, 6 weeks, $8,400, 50% up front"), and Claude maps it onto the blanks in your template. The fields below are exactly what the kit's setup wizard collects on each run.
These feed the live drafter in Step 4. Nothing here is saved.
4

Try it: draft a real proposal, send nothing

What's happening: Type a short intake the way you'd jot it after a call. The drafter reads it, fits it into your template, and produces a full proposal draft: overview, scope bullets, an investment table, timeline, and terms. It then shows you the draft, with a clear "review before sending, not legal advice" banner, and waits. This is confirm-before-send: it drafts, you approve.
🔒 This drafter runs entirely in your browser. Nothing is sent anywhere. There is no API call, no upload, no email. It works on canned sample data so you can see the shape of the output safely.
Proposal Drafter · dry run

Tap a sample, or write your own:

Pure in-browser dry run: no API call, no send, no file written.
5

Review → export to a doc you can send

What's happening: The draft never auto-sends. After you read it, tap Approve and the kit exports the filled template to a clean document (Markdown, HTML you can print to PDF, or .docx). Tap Edit to fix a line; tap Decline and the draft is discarded. You are the one who sends it, on your own letterhead, after your own read.
Three promises the kit keeps:
• Nothing reaches a client without your explicit approval: it drafts, it never auto-sends.
• The templates are yours: the kit fills blanks, it does not invent your clauses or prices.
It does not give legal advice as fact. Every draft carries a "review before sending; have a human, and where relevant a lawyer, review" banner.
Not legal advice. A contract drafter is a typing assistant, not your attorney. The kit prints this same banner on every contract draft and tells Claude, in plain rules, never to state legal conclusions as fact. For anything binding, have a human (and where relevant a lawyer) review before you send. More on safe AI drafting →

In the kit, the document renders to a self-contained file you can Cmd/Ctrl-P straight to PDF, or open in Word. The README shows the short add-on for true .docx export if you want it.

6

Bonus: a draft follow-up to go with it

What's happening: A proposal that sits in an inbox does not close. When you approve a draft, the kit can also draft a short, friendly follow-up message to pair with it ("here is the proposal, happy to walk you through it"). It is still a draft you approve, and it still never sends on its own.

Pairs naturally with the follow-up kit, so a sent proposal does not go quiet: ↳ Lesson: the gentle follow-up kit →

npm run dryrun     # draft a document in your terminal, nothing is written or sent
npm run draft      # draft + export the proposal or contract
npm run followup   # draft a short follow-up to pair with it
npm start          # run the drafter as a service for your whole pipeline

Run it yourself: it's free and it's the real thing

The kit is a complete, runnable repo: your templates in, a Claude brain, a short intake, a polished draft out, every one flagged for your review. MIT-licensed, runs on your machine, nothing crippled. Run npm run setup and you're drafting.

Get the free kit on GitHub →

Go live

With the kit downloaded and the checklist green:

npm install
npm run setup     # Claude key + your templates path, saved on YOUR machine
npm run draft

Type a short intake when it asks, and it fills your template and shows you the draft right there. You read it, approve, and export. Nothing leaves your machine without your say-so. Prefer the command line only? npm run dryrun drafts from a text file and writes nothing.

Want a real proposal engine wired into your CRM and e-sign?

This kit is the DIY taste. We build your proposal engine connected to your CRM (so intake auto-fills from the deal) and your e-sign tool (DocuSign, HelloSign), so an approved draft goes out for signature in one move, and we run it for your team.

Have Rabbithole build it → ↳ Next: the gentle follow-up kit