thinkhard.SI

Prompt repository Small business

Build a job estimate from materials, labor and markup

You need to price a job from your own material list, labor hours and rates, with the cost build-up shown so the quote covers everything.

Registry no.
SMB-024
Collection
Small business
Laid out for
Any chat model
Score
10 out of 10
Blanks to fill
5
Added

Small businessAny chat

The prompt

Score 10 of 10, Excellent

Use it when You need to price a job from your own material list, labor hours and rates, with the cost build-up shown so the quote covers everything.

  • {{job_description}}
  • {{materials}}
  • {{labor}}
  • {{other_costs}}
  • {{pricing_rules}}
Full prompt and why it works
Prompt
Build a cost estimate for the job below, for me to check before I send a quote to the customer. I want every cost counted once, my markup applied the way I set it, and the arithmetic shown so I can check it line by line.

The job (what the customer asked for, the site, any special conditions):
"""
{{job_description}}
"""

Materials, with quantities and my unit costs:
"""
{{materials}}
"""

Labor (tasks, people, hours and my hourly cost per person): {{labor}}
Other costs (equipment hire, permits, disposal, travel, subcontractors): {{other_costs}}
How I price (markup or margin on materials and labor, waste allowance, contingency, minimum charge, how I lay out a quote): {{pricing_rules}}

Produce:
1. Cost build-up: a table with the columns Item, Quantity, Unit cost, Cost, Markup, Price, grouped into materials, labor and other costs. Add a waste allowance to materials only if my rules include one.
2. Totals: cost, price before tax, and the profit and margin on the job, with the calculation, for example "Price 8,400 - cost 6,300 = 2,100 profit; 2,100 / 8,400 = 25% margin".
3. Markup and margin: if my rules use a markup, show the margin it produces too, because a 25% markup is only a 20% margin. If my rules give a percentage without saying which it is, treat it as markup and say so.
4. Not included: things the job description implies that my lists do not cover, as questions, for example "Disposal of the old fixtures: include or exclude?"
5. Customer summary: 3 to 6 lines grouping the price into materials, labor and other work (or the quote layout in my pricing rules), without my costs or markup, ending with a line on what the price does not include.

Rules:
- Use only my quantities, costs and rates. Do not look up or estimate material prices, labor times or permit fees.
- Do not add sales tax unless I give the rate and say it applies.
- Keep my costs and markup out of the customer summary.
- Make sure the group totals add up to the overall cost and price before you finish.

Keep the text outside the tables under 200 words. If a quantity is missing, or my labor list seems to leave out a task in the job description, list it under Not included rather than filling it in.

Variables

{{job_description}}
What the customer wants done, where, and anything unusual about the site.
{{materials}}
Each material with quantity and your cost per unit.
{{labor}}
Each task with who does it, hours, and your hourly cost per person.
{{other_costs}}
Equipment hire, permits, disposal, travel, subcontractor quotes, or "none".
{{pricing_rules}}
How you price and quote, for example "30% markup on materials and labor, 10% waste on tile, minimum charge 250; quotes show one total per room".

Why it works

  • What good looks like. Markup and margin are both shown, because confusing them is one of the most common ways small jobs end up priced below what the owner intended.
  • What to avoid. No looked-up prices or labor times: every figure is yours, so the quote reflects your real costs.
  • If unsure. Work the job implies but your lists miss, such as disposal, becomes a question and a line on the customer summary, instead of an unpaid surprise afterwards.

How to use it

  1. Press Fill in variables and type your details into each blank. What you type stays in this browser.
  2. Copy the filled prompt into the AI tool you already use, such as ChatGPT, Claude or Gemini, or open it in the Grader or the Prompt Tester here.
  3. Before you rely on it, try it on three or four real examples. The Prompt Tester runs them all at once and shows which ones go wrong.
Use it from code

Get this prompt as JSON from the free REST API, with your own text in the blanks, or let an AI assistant fetch it through the MCP server. No key.

curl -s https://thinkhard.si/api/v1/prompts/job-cost-estimate

With the MCP server added to Claude, ChatGPT, Cursor or VS Code, call get_prompt with {"prompt": "job-cost-estimate"}, or just ask for it by name.