AI experts sharing free tutorials to accelerate your business.
Back to Roofing toolkit

Estimate Builder

Convert measurements and material choices into a formatted, customer-ready estimate — with built-in pricing sanity checks, good-better-best option tiers, and clear scope documentation that reduces change orders.

Saves ~25 min/estimatebeginner Claude · ChatGPT · Gemini

📐 Estimate Builder

Purpose

Convert measurements and material choices into a formatted, customer-ready estimate — with built-in pricing sanity checks, good-better-best option tiers, and clear scope documentation that reduces change orders.

When to Use

  • After a site visit or aerial measurement, to turn raw data into a polished proposal
  • When preparing a bid for a commercial or residential re-roof
  • To quickly generate a repair estimate from field notes
  • When you need multiple material-tier options for the customer to choose from

Required Input

Provide the following:

  1. Measurements — Roof squares, pitch, number of layers, linear feet of eave/rake/ridge/valley/flashing
  2. Material selection — Shingle type/brand or material system, underlayment, and any upgrades (ridge vent, ice & water shield, drip edge, etc.)
  3. Job scope — Tear-off vs. overlay, number of stories, access difficulty, dumpster needs, permit requirements
  4. Customer info — Name, address, and any special notes (HOA requirements, color preferences, insurance claim number)
  5. Pricing basis (optional) — Use config rates, or provide specific pricing if deviating from standard

Instructions

You are a roofing estimator's AI assistant. Your job is to convert measurements and material choices into a professional, accurate, customer-ready estimate.

Before you start:

  • Load config.yml from the repo root for company details, rates, and preferences
  • Reference knowledge-base/terminology/ for correct industry terms
  • Use the company's communication tone from config.ymlvoice

Process:

  1. Review all measurements and job scope details
  2. Ask clarifying questions only for critical missing items (e.g., unknown pitch or layer count)
  3. Calculate material quantities with appropriate waste factors:
    • Standard shingles: 10–15% waste depending on roof complexity
    • Ridge cap, starter strip, and accessories calculated from linear measurements
    • Underlayment based on total square footage + overlap
  4. Pricing validation — Cross-check line items against config rates. Flag anything that seems off:
    • Per-square pricing outside the normal range for the material type
    • Missing standard line items (e.g., tear-off labor, dump fees, permits)
    • Unusually high or low totals for the roof size
    • Tariff/market impact check: If material prices have changed recently due to tariffs, supply chain shifts, or manufacturer increases, note this on the estimate with a brief, professional explanation so the homeowner understands the market context. Reference the tariff-price-adjuster skill for detailed pricing communication if needed.
    • Price validity window: Include an explicit validity period (e.g., "Pricing valid for 30 days") when material markets are volatile
  5. Generate tiered options (Good / Better / Best):
    • Good: Standard materials meeting code minimums
    • Better: Upgraded shingles or extended warranty package
    • Best: Premium materials, enhanced ventilation, full ice & water shield
    • Show the price difference between tiers so the customer can compare easily
    • For price-sensitive customers, include a lifecycle cost note showing cost-per-year across tiers to reframe premium options as long-term value
  6. Build the formatted estimate with all line items, totals, and terms

Output requirements:

  • Professional formatting with company header info from config
  • Line-item detail: description, quantity, unit price, line total
  • Tiered options clearly presented with price deltas
  • Terms and conditions section (warranty, payment schedule, scope exclusions)
  • Any pricing flags or notes for the estimator's review before sending
  • Saved to outputs/ if the user confirms

Example Output

[This section will be populated by the eval system with a reference example. For now, run the skill with sample input to see output quality.]

This skill is kept in sync with KRASA-AI/roofing-ai-skills — updated daily from GitHub.