Before and after
A heating engineer's rate card (labour 55 an hour, materials at cost plus 15 percent, VAT 20 percent) and a job: two radiators, two valves, a flush, inhibitor and a magnetic filter. The customer also asked about a smart thermostat that is not on the rate card.
After (real output, excerpt):
Radiator 600x1000 double panel: 2 x 74.00 + 15% = 170.20
TRV pair: 2 x 21.50 + 15% = 49.45
Smart thermostat: [PRICE NEEDED], not counted.
Subtotal 667.05, VAT at 20% 133.41, Total 800.46 GBP
That total excludes the flush labour and the smart thermostat.
What it does
Give it a job and your own rate card. You get an itemised quote with assumptions, exclusions and questions. A script does every sum, so the totals are exact, and anything your rate card does not price is marked PRICE NEEDED and left out of the total instead of guessed.
The evidence
1 real-data run on a rate card and job we wrote (Claude Sonnet); totals checked by hand and correct.
More on how it was tested
We checked the script's output by hand: materials with markup, subtotal, VAT and total were correct. The first version used a JSON input that the test harness blocked, so we changed the script to read plain lines, then re-ran. A second run with measurements, a discount and the number of days all marked unsure: the totals were recomputed by hand and matched. The first version applied the unconfirmed discount in the quote, so it now prices without it and shows it as a separate [CONFIRM] line; the re-run did. Tested on two real examples.
Limits
- Prices come only from your rate card.
- Time estimates are yours.
- A quote is not a contract; no legal advice.
Questions
How do I pay and get the files?
Checkout: Gumroad opens on this page. Click Add to cart, enter your email and card details, and check the total, with any VAT, before you pay. Prices here are in US dollars.
After you pay: a download page opens right away with the zip file, and Gumroad gives you a receipt there that you can resend. Open it, then paste the text from the prompts folder into ChatGPT and add your details.
Refunds and contact
If it does not do the job, ask and we refund you within 30 days. Reply to your receipt, or write to kaiventura.founder@gmail.com.
Which assistants does it work with?
Works in ChatGPT or any chatbot: you paste in your details and it writes the result. A small Python 3 script (standard library only) does the arithmetic. Without code execution the totals are unverified.
For technical users
What is in the zip
LICENSE.txtREADME.mdclaude-ai/(1 file:quote-and-estimate-builder.zip)prompts/(2 files:quote-and-estimate-builder-v1.0-prompts.pdf,quote-and-estimate-builder.md)quote-and-estimate-builder/, the skill itself:SKILL.mdREADME.mdscripts/(1 file)
Using it with an AI assistant
- Unzip the download. It holds the
quote-and-estimate-builderfolder, ready-made zips for claude.ai in aclaude-aifolder, a README and the licence. - Put the
quote-and-estimate-builderfolder where your assistant looks for skills. The generic path is.agents/skills/(ornpx skills addfrom a folder). Tool-specific paths:- Claude Code:
~/.claude/skills/(or.claude/skills/inside one project) - OpenAI Codex, Gemini CLI, Cursor and others:
.agents/skills/or the skills folder their docs name - claude.ai: Customize, Skills, then the plus button, Create skill, Upload a skill, and upload the zip from the
claude-aifolder without unzipping it (code execution must be on in Settings, Capabilities) - ChatGPT or any chatbot: open the skill's
prompt.md, paste it into the chat, then paste your own text or link - Steps for each tool, with links to its official docs: how to install skills
- Claude Code:
- Ask for the job in plain words, for example: "Write a quote for this job. Here is my rate card and the job.". The skill loads by itself.
Jobs that go with this
- Check a cold email for claims you can't back up (Free): Your draft in, a verdict and a version without unsupported claims.
- Check your reply to an angry customer before you send it (Free): A customer message and your draft in, a repaired reply back.
- Find the claims in a draft that need a source (Free): Your draft in, claims ranked by risk with safer wording.