Free OpenClaw skill · No signup · v1.0.0
Free OpenClaw Skill for Handyman Businesses: Photo Quote and Triage Agent (Download)
A working OpenClaw skill for handyman businesses running the Mr. Handyman service model. Owns photo-quote triage, marketplace lead routing across Thumbtack, Angi, and TaskRabbit, and the hourly-versus-flat-fee logic that decides which jobs are worth taking, wired into Jobber or Housecall Pro.
Built and maintained by Adhiraj Hangal, OpenClaw Consult. Code I wrote runs inside OpenClaw's source, merged by the project's creator.
Free OpenClaw skill for handyman businesses
12 KB file. Free for any use. Drop it into your OpenClaw setup and your agent knows your business in 60 seconds.
We email you a copy plus the install notes. One email, no list, no spam.
What this skill does for your handyman businesses
- Takes photo-and-description inbound inquiries and drafts a tiered quote (hourly minimum, flat fee, multi-day) keyed to your published rate card.
- Routes Thumbtack, Angi, and TaskRabbit leads through your accept-or-pass rules so you stop paying for jobs you would not take anyway.
- Compiles the daily job queue with travel time, materials pickup, and the home-services routing order that minimizes drive time.
- Drafts the repeat-customer recall message at 90, 180, and 365 days for seasonal jobs (gutter clean, weatherstripping, deck refresh, smoke alarms).
- Flags every job above your trade scope (electrical panel, gas line, structural) for handoff to a licensed sub before the customer expects you to do it.
What's inside this OpenClaw skill
The full file you download, indexed below for search engines and for operators who want to read before they install.
---
name: handyman-photo-quote-agent
description: Photo-quote triage, marketplace lead routing, hourly vs flat-fee logic, and seasonal recall for handyman businesses. Integrates with Jobber, Housecall Pro, Thumbtack, Angi Leads, TaskRabbit.
version: 1.0.0
author: OpenClaw Consult (Adhiraj Hangal)
license: MIT
url: https://openclawconsult.com/skills/handyman-services
---
# OpenClaw Skill: Handyman Photo Quote and Job Triage
## Overview
This skill turns the OpenClaw agent into the lead-triage and quoting layer for
a handyman business running the Mr. Handyman service model. It owns photo-quote
drafting, marketplace lead routing (Thumbtack, Angi Leads, TaskRabbit), the
hourly-versus-flat-fee decision, and the seasonal repeat-customer recall.
It is designed for solo operators and small handyman businesses running 1 to 6
techs, with 200 to 1,500 active customers, on Jobber or Housecall Pro.
## What this skill does
1. Triages photo-and-description inbounds and drafts a tiered quote
2. Routes Thumbtack, Angi, TaskRabbit leads through accept-or-pass rules
3. Decides hourly vs flat fee from your rate card
4. Compiles the daily job queue with travel-time optimized routing
5. Drafts the 90, 180, 365-day recall for seasonal repeat jobs
6. Flags out-of-scope work (electrical panel, gas, structural) for handoff
## Triggers
```yaml
triggers:
- type: heartbeat
schedule: "0 7 * * *" # Daily 7am
action: triage_overnight_leads
- type: heartbeat
schedule: "0/30 * * * *" # Every 30 min during business hours
action: poll_marketplace_inboxes
- type: heartbeat
schedule: "0 9 * * 1" # Mondays 9am
action: compile_seasonal_recall_queue
- type: on_event
event: inbox.new_lead
action: triage_and_draft_quote
- type: on_event
event: marketplace.new_lead
action: apply_accept_rules_and_reply
- type: on_event
event: crm.job_completed
action: log_to_repeat_customer_memory
```
## Workflow: photo quote triage
When a customer sends a photo and a description, the agent:
1. Parses the description into a job type (door repair, ceiling fan install,
gutter section repair, drywall patch, fence post reset, etc.)
2. Estimates duration: under-2-hour, 2-to-6-hour, multi-day
3. Pulls the matching SKU from the rate card if it is a flat-fee job
4. Applies the hourly-minimum if the job is under 2 hours
5. Tags confidence (high, medium, low) on the quote
6. Drafts the reply with the quote, the timing window, and the next step
Low-confidence quotes get a clarifying question ("can you send a wider photo
showing where it meets the wall") or a site-visit offer instead of a hard
number. The skill will not anchor the customer on a quote the operator
cannot deliver against.
## Workflow: marketplace lead routing
For every Thumbtack, Angi, or TaskRabbit lead, the agent applies the accept
rules:
- Out of zone: auto-pass
- Out of scope (electrical panel, gas line, structural, asbestos, mold,
full remodel): auto-pass
- Within zone and within scope: draft accept-and-quote reply
- Lead score below the company's threshold: auto-pass
The skill keeps a memory of which marketplaces convert and what the average
cost-per-acquired-job is by marketplace. Once a marketplace's CPA exceeds
your threshold, the skill flags the trend and recommends throttling spend.
## Workflow: hourly vs flat-fee decision
The decision logic, editable in the config:
1. If the job appears in the flat-fee SKU list, quote the flat fee
2. If estimated duration is under 2 hours and not on the flat-fee list,
quote hourly with the 2-hour minimum
3. If estimated duration is 2 to 6 hours and not on the flat-fee list,
route to the operator for a flat-fee estimate
4. If estimated duration is over 6 hours, route to the operator for a
multi-day estimate with materials breakdown
The rule of thumb: flat fee where the operator can estimate accurately,
hourly where the scope is genuinely fuzzy.
## Workflow: travel-time optimized routing
Every morning the agent compiles the day's queue:
1. Reads confirmed appointments from the CRM
2. Reads accepted-but-not-yet-scheduled jobs from the queue
3. Groups jobs by zone (north, south, east, west, central)
4. Sequences within each zone to minimize drive time
5. Builds a materials pickup stop into the morning route if any job needs a
non-stocked part
6. Drafts the day's schedule for the operator's approval
A solo operator running 4-6 stops per day usually saves 30-60 minutes of
drive time per day with zone batching alone.
## Workflow: seasonal recall
For seasonal repeat jobs the agent maintains a 90, 180, and 365-day recall
cadence:
- Gutter clean: spring and fall recall
- Weatherstripping check: fall recall
- Deck refresh and re-seal: spring recall
- Smoke and CO alarm battery check: annual recall on the anniversary date
- Window screen repair: spring recall
- Pressure wash: spring recall
The skill pulls every customer with a tagged seasonal job and drafts the
recall message at the right window.
## Memory keys
```yaml
memory:
- key: handy.lead_state[{lead_id}]
description: Marketplace lead pipeline state
values: [received, auto_passed, accepted, quoted, won, lost, dormant]
- key: handy.customer_history[{customer_id}]
description: Customer service history for recall
schema: { last_jobs: list, recurring_tags: list, preferred_window: string, ltv: number }
- key: handy.marketplace_cpa[{marketplace}]
description: Rolling cost-per-acquired-job by marketplace
schema: { spend_30d: number, jobs_won_30d: int, cpa: number, conversion_rate: number }
- key: handy.zone_queue[{zone}]
description: Pending jobs by zone for routing
schema: { jobs: list, recommended_day: string, est_drive_minutes: int }
```
## Message templates
```yaml
templates:
photo_quote_high_confidence:
channel: sms
body: |
Hi {customer_first_name}, this is {operator_first_name} from
{company_name}. Got your photo of {job_short_description}.
For this one, I quote {quoted_price} flat. That covers materials and
labor, takes about {estimated_duration} on-site.
Open windows this week: {available_windows}
Want me to lock one in?
photo_quote_low_confidence_clarifying:
channel: sms
body: |
Hi {customer_first_name}, this is {operator_first_name} from
{company_name}. Got your photo. To give you an accurate quote, can you
send me {clarifying_request} (a wider shot, the back side, a tape
measure across the damaged area, etc.)?
Once I have that, I will come back with a firm number.
marketplace_accept_and_quote:
channel: marketplace
body: |
Hi {customer_first_name}, thanks for reaching out. {company_name} can
handle this. Based on your description, it sounds like
{job_short_description}.
My rate is {hourly_rate} per hour with a 2-hour minimum, or
{flat_fee_estimate} flat if the scope matches what you described.
I have open slots {next_two_windows}. Want to lock one in?
seasonal_recall_gutter_fall:
channel: email
subject: "Fall gutter clean time?"
body: |
Hi {customer_first_name},
Last fall I cleaned your gutters on {last_gutter_clean_date}. With the
leaves coming down again, want me to put you on the calendar for the
fall round?
My open windows for the next two weeks:
{available_windows}
Same rate as last year ({last_year_price}). Reply with a day that
works.
{operator_first_name}
{company_name}
out_of_scope_handoff:
channel: sms
body: |
Hi {customer_first_name}, thanks for the photo. This one is outside
what I work on (it is a {out_of_scope_category} job and you want a
licensed {license_required}).
A couple of folks in {service_zone} I trust for this:
{referral_partners}
Happy to come look at anything else if you need a handyman for the
next thing on your list.
```
## Required integrations
| Integration | Purpose | Read | Write |
|-------------------------|-----------------------------------------------|------|----------|
| Jobber | Jobs, customers, quotes | yes | optional |
| Housecall Pro | Jobs, customers, estimates | yes | optional |
| Thumbtack (via email) | Marketplace leads | yes | no |
| Angi Leads (via email) | Marketplace leads | yes | no |
| TaskRabbit (via email) | Marketplace leads | yes | no |
| Twilio (or similar) | Outbound SMS | no | yes |
| Email provider | Outbound email | no | yes |
| Google Maps / Mapbox | Travel-time routing | yes | no |
| OpenClaw Memory | Cross-run state | yes | yes |
| OpenClaw Heartbeat | Scheduled cadence triggers | yes | yes |
Marketplace integration is read-only because Thumbtack and Angi do not
expose broad public APIs for handyman accounts. The skill works off
forwarded lead emails and the operator sends the marketplace reply through
the standard marketplace interface.
## Out-of-scope flag list
```yaml
out_of_scope_default:
- electrical_panel
- electrical_subpanel
- gas_line
- gas_appliance_hookup
- structural_framing
- structural_load_bearing
- asbestos_disturbance
- lead_paint_remediation
- mold_remediation
- hvac_refrigerant
- plumbing_main_line
- roofing_full_replacement
- chimney_relining
```
Editable. If your business holds an electrical license, remove
electrical_panel from the list. The skill defaults to conservative.
## Configuration
```yaml
config:
company_name: "Your Handyman Business"
operator_first_name: "Your First Name"
approval_mode: operator_approves_all # or "autonomous_after_2_weeks"
service_zones:
- name: "North"
zip_codes: [00000, 00001, 00002]
- name: "South"
zip_codes: [00010, 00011]
rate_card:
hourly_rate: 89
hourly_minimum: 2
flat_fee_skus:
- sku: "DOOR-REPAIR-INTERIOR"
description: "Interior door repair, no new door"
price: 245
- sku: "CEILING-FAN-SWAP"
description: "Ceiling fan swap, existing box"
price: 189
- sku: "GUTTER-SECTION-REPAIR"
description: "Gutter section repair, up to 20 ft"
price: 295
- sku: "FENCE-POST-RESET"
description: "Single fence post reset"
price: 245
marketplace_accept_rules:
min_lead_score: 3
max_cpa_threshold: 75
autonomous_template_allowlist:
- photo_quote_high_confidence_under_300
- seasonal_recall_gutter_fall
- seasonal_recall_smoke_alarm
```
## Quick install
```bash
mkdir -p ~/.claude/skills
mv handyman-services.md ~/.claude/skills/handyman-photo-quote-agent.md
# Edit the config block to match your business
```
Launch OpenClaw and the skill is live. Run `triage overnight leads` or
`compile seasonal recall queue` to invoke it on demand, or wait for
Heartbeat to fire it on the configured schedule.
## Want it wired to your stack?
This SKILL.md is the starting point. If you want it plugged into your specific
Jobber or Housecall Pro account, your specific lead marketplace forwarders,
your specific rate card, and your zone routing on a fixed-price two-week
clock, with the founder writing every line of the build, the door is at
https://www.adhirajhangal.com/work
Install in 60 seconds
- 1
Drop the file into your OpenClaw skills directory
Save the downloaded handyman-services.md as ~/.claude/skills/handyman-photo-quote-agent.md (or scope it in your project-level .claude/skills/). OpenClaw picks up new skill files on next agent launch.
- 2
Connect your Jobber or Housecall Pro plus the lead marketplaces
Edit the integrations block to point at your Jobber or Housecall Pro account and your Thumbtack, Angi Leads, and TaskRabbit inbox forwarders. Read access to leads, customers, and your rate card is enough to start.
- 3
Start in approval mode, then flip safe templates to autonomous
Run for two weeks with you approving every outbound quote. The skill's defaults route quotes over $500, multi-day jobs, and any job tagged out-of-scope (electrical panel, gas line, structural) to a human. After two weeks, flip the hourly-minimum and small-flat-fee templates to autonomous on jobs that match the safe-template criteria.
Example conversation
You
Pull this morning's marketplace leads and tell me which to accept.
Agent
Marketplace inbox reviewed. 17 new leads since 6am: 8 Thumbtack, 6 Angi Leads, 3 TaskRabbit. Filtered through your accept rules: 6 are auto-pass (outside service zone, electrical-panel work, full kitchen remodel asks). 11 are within scope: drafted accept-and-quote replies for all 11 using your $89/hour minimum with a 2-hour floor. 3 of the 11 included photos: drafted flat-fee quotes for those (gutter section repair $295, ceiling fan swap $189, fence post reset $245). Routed all 11 for your sign-off. Travel-time optimized: the 5 leads in the north zone fit Tuesday, the 6 in the south zone fit Thursday.
Founder-led · 14 days
Want this photo quote and job triage agent live in your handyman business in 14 days?
Adhiraj ships OpenClaw AI agents into real businesses. Short discovery to map it to Jobber, Housecall Pro, and your lead marketplaces, build in 14 days, then optional ongoing support so your OpenClaw system keeps working.
Build it with meCommon questions
Will this work for a one-person handyman business?
+
Yes, and especially well. The skill replaces the 1 to 2 hours per day that a solo operator spends on quoting, lead-marketplace triage, and customer follow-up. Most solo operators get back a full day per week.
Does it integrate with Thumbtack, Angi, and TaskRabbit directly?
+
Thumbtack and Angi do not offer broad public APIs, so the skill works off your forwarded lead emails and the marketplace inbox text. The skill parses the lead, applies your accept rules, and drafts a reply. The send goes back through the marketplace interface (or via SMS if the marketplace already shared the customer's number).
How does it draw the line on jobs out of scope?
+
The skill ships an out-of-scope flag list: electrical panel work, gas line work, structural framing, asbestos, lead paint, mold remediation, anything that requires a state license your handyman business does not hold. The list is editable. The agent will not auto-accept a job tagged out-of-scope; it routes to you to refer out or pass.
Can it draft photo-to-quote estimates?
+
It drafts a quote from the photo description and the customer's text. The skill does not extract dimensions from a photo with millimeter accuracy. It does a confidence-tagged estimate (high, medium, low) and flags low-confidence quotes for you to review with a site visit or a clarifying question to the customer.
How does it decide hourly versus flat fee?
+
The skill follows your published rate-card rules. Standard rule of thumb: under-2-hour jobs run hourly with a 2-hour minimum; predictable 2-to-6-hour jobs run flat fee from the SKU list; multi-day jobs route to a human estimator. The decision logic is editable per company.
Can I modify this skill?
+
Yes. MIT licensed. Edit the rate card, the accept rules, the marketplace routing, the recall cadences, the out-of-scope list. Most handyman operators fork it inside the first 30 days to match their specific service zone and rate structure.
What does this cost to run on top of OpenClaw?
+
Token cost depends on lead volume. A solo handyman running 30-60 jobs per month sees expected monthly token spend in the $15-$40 range using OpenClaw's default model selection. A 4-tech operation runs $50-$120.
What if my CRM is not Jobber or Housecall Pro?
+
The skill works on any CRM that can export to CSV or push to webhooks, including Workiz, ServiceM8, Kickserv, and Markate. We have wired it to a plain Google Calendar plus Google Sheets setup for a 1-person operation.
Does it replace my own judgment on which jobs are worth taking?
+
No. The skill applies the rules you set. The accept-or-pass logic is yours. The rate card is yours. The skill is the consistent execution of those rules across every inbound lead so a 6pm tired-operator decision does not blow up your margin on a job.
Want it built into your stack on a 14-day clock?
+
Yes. The free SKILL.md is the starting point. If you want it wired into your specific Jobber or Housecall Pro account, your specific lead marketplace forwarders, your specific rate card, and your zone routing on a fixed-price two-week clock, the door is at openclawconsult.com/hire.
Want the full implementation playbook?
Read the deep-dive guide for handyman businesses
The playbook covers workflows, software integrations, compliance, ROI math, and a four-week rollout plan. The skill file above is a working slice of that build.
Read the handyman businesses playbook →Related free skills
Free OpenClaw Skill for fence installation businesses
A working OpenClaw skill for fence installation contractors running wood, vinyl, and chain-link work. Owns material-keyed quoting, 811 utility locate scheduling, HOA approval routing, and post-install warranty follow-up, wired into FencePros, JobNimbus, or JobTread.
Free OpenClaw Skill for deck building companies
A working OpenClaw skill for deck builders running composite, PVC, and pressure-treated work. Owns proposal drafting with IRC R507 compliance notes, financing handoffs to GreenSky and Hearth, and permit-and-inspection scheduling, wired into JobTread, Buildertrend, CoConstruct, or JobNimbus.
Want it wired to your stack?
The free skill is the starting point. If you want it plugged into your actual software, on a fixed-price two-week clock, with the founder writing every line, this is the door.