Justfix skill
Skill Just-Fix/justfix-skill
Quote UK trades jobs from any AI agent. AgentSkill + MCP for plumbing, electrical, locksmith and 10 more services. Get a price breakdown and tappable booking link in one turn.
npx -y skills add Just-Fix/justfix-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use this skill when the user asks for a quote, estimate, price, or "how much" for a UK trades job – electrical, plumbing, locksmith, glazing, carpentry, handyperson, heating, gas, roofing, drains, white goods, or boiler service. Calls the JustFix Estimator MCP server to return a cost breakdown, scope summary, and a tappable booking link that completes the booking in the browser.
SKILL.md
9.3 KB, ~2.3k tokens by cl100k_base, as published. Nobody here has run it
JustFix Estimator Skill
A drop-in skill that lets your AI agent quote UK trades jobs in real time, and pop the user out to the browser to complete the booking.
JustFix is a UK home-services platform. The skill talks to the public JustFix Estimator MCP server, returns a price breakdown for any of 13 service categories, and produces a tappable booking link the user can complete in their browser.
When to use this skill
Trigger on any of these intents, in any phrasing:
- "how much for [trades job]"
- "what would [job] cost"
- "estimate for [job]"
- "quote me for [job]"
- "price for a [trade]"
- "book a [trade]"
- "I need a [plumber / electrician / locksmith / etc.]"
- "my [boiler / lock / drain / tap / window] is broken"
- "what services does JustFix do"
If the user is outside the UK, mention that JustFix is UK-only and only quote if they confirm they're in the UK or want a UK quote anyway.
How to use this skill
Three tools are available on the MCP. Use them in this order depending on intent:
Tool 1: list_services (when user asks what's available)
Returns the 13 service categories with their hourly rates. Use when:
- "what services do you offer"
- "what can I book"
- The user mentions a job and you're not sure which service code fits
Tool 2: call_out_fee (when user asks about the booking fee)
Returns the flat call-out fee that applies to every booking. Use when:
- "is there a call-out charge"
- "what's the minimum"
- The user wants to understand the total cost ahead of confirming
Tool 3: service-estimate-card (the main one – generates a quote)
Required arguments:
service_code(string) – one of the codes from the service-code map belowbooking_description(string) – a clear one-sentence description of the work
Optional arguments:
estimate(number, default 1) – hours estimated to complete the jobwork_items(array of strings) – optional list of specific tasks within the job
Returns the cost breakdown and a unique booking URL the user can tap to complete the booking on https://my.justfix.app.
Service-code map
Map natural-language descriptions to the right service_code:
| User says | service_code | £/hr |
|---|---|---|
| electrician, electrical, sockets, lights, wiring, fuse box, fuse | electrical | £90 |
| plumber, plumbing, leak, dripping tap, blocked sink, water pressure | plumbing | £90 |
| locksmith, lock, locked out, change locks, key | locksmith | £90 |
| glazier, glazing, broken window, broken glass, replace glass | glazing | £80 |
| carpenter, carpentry, wooden door, skirting, floorboards, joinery | carpentry | £90 |
| handyman, handyperson, odd jobs, mounting, assembly, picture hanging | handyman | £80 |
| heating, gas heating, boiler not working, radiator, central heating | heating_and_gas | £90 |
| gas appliance, gas hob, gas oven, gas cooker, gas safety | gas_appliances | £90 |
| roofer, roofing, roof leak, slipped tiles, gutters | roofing | £80 |
| drains, blocked drain, sewer, drainage, blocked toilet | drains | £90 |
| white goods, dishwasher, washing machine, tumble dryer, fridge | white_goods | £55 |
| boiler service, annual boiler check, gas safety certificate, CP12 | boiler_service | £70 |
| anything else / unsure | something_else | £80 |
If the user describes a job that could fit two codes (e.g. "my dishwasher is leaking" – could be plumbing or white_goods), pick the more specific one (white_goods) and mention you assumed that.
Default-hours estimates
If the user doesn't say how long the job is, use these sensible defaults:
| Service | Default hours | Notes |
|---|---|---|
boiler_service | 1 | Fixed-scope annual check, 1 hour is standard |
locksmith | 1 | Lock changes take ~1hr |
gas_appliances | 1-2 | Simple install / safety check |
white_goods | 1 | Most diagnostics + repairs |
electrical | 2 | Variable – ask if scope is bigger |
plumbing | 2 | Variable – ask if scope is bigger |
glazing | 2 | Small window replacement |
carpentry | 2 | Standard repair / install |
handyman | 2 | Catch-all |
heating_and_gas | 2 | Diagnostics + simple fix |
drains | 2 | Clearance + camera survey if needed |
roofing | 3 | Minimum useful site visit |
something_else | 2 | Catch-all default |
Always tell the user how many hours you've estimated so they can correct you. The estimate is just a starting point.
How to render the response
After calling service-estimate-card, render the response as a clean, channel-appropriate card. Always include:
- Service name and brief scope (one line)
- Cost breakdown as a table or list
- The tappable booking URL –
[Complete booking →](URL)if your channel renders markdown, otherwise the raw URL - Honest scope caveat – the engineer may take more or less time, the final invoice reflects actual time
Markdown template (works in OpenClaw, Hermes, Claude Code, Cursor, Telegram, Slack)
🔧 **[Service Name] Estimate**
**Scope:** [booking_description]
**Estimated duration:** [estimate] hour(s)
| Line | Amount |
|---|---|
| Labour ([hrs] × £[rate]/hr) | £[hrs × rate] |
| Call-out fee | £50.00 |
| **Total estimate** | **£[total]** |
📅 **[Tap to complete booking →]([booking_url])**
_The final invoice will reflect actual time spent on the job._
Plain-text template (for surfaces without markdown)
JustFix [Service Name] estimate
Scope: [booking_description]
Estimated duration: [estimate] hour(s)
Labour: £[hrs × rate]
Call-out fee: £50.00
Total estimate: £[total]
Complete booking: [booking_url]
Final invoice reflects actual time spent.
Inline-button hint (channels that support it)
If your channel exposes inline buttons (Telegram inlinebuttons, Slack blocks, Discord buttons), render the booking URL as a button labelled "📅 Book this job" pointing at the booking_url. The URL is unique per estimate – use exactly what the MCP returns.
What the skill can and can't do
CAN:
- Quote any of the 13 JustFix service categories
- Tell the user the hourly rate, call-out fee, and total estimate
- Generate a unique booking link the user can tap to complete the booking on the JustFix website (a browser pop-out – they finish the booking on
my.justfix.app) - Handle scope changes ("actually make it 3 hours") – just call the tool again with the updated
estimate
CAN'T:
- Complete the booking itself (needs customer auth and a real form on
my.justfix.app) - Check engineer availability (not exposed via MCP – the booking page handles this)
- Take payment (handled on the booking page after the customer confirms)
- Quote outside the UK (JustFix is UK-only)
- Quote materials or parts (this is a labour-only estimate)
When the user is ready to book, send them the URL. The booking page asks for their details, postcode, preferred date, and payment.
Tracking and attribution
Each service-estimate-card call returns a URL with a unique chatgpt_booking_link_id UUID query parameter. JustFix uses this to attribute MCP-driven bookings. Don't strip or modify the URL – pass it through to the user exactly as returned.
Sample conversation
User: How much for someone to come and fix my dripping kitchen tap?
Agent: Calls service-estimate-card with service_code=plumbing, estimate=1, booking_description="Diagnose and repair dripping kitchen tap, replace washers or cartridge if needed."
🔧 Plumbing Estimate
Scope: Diagnose and repair dripping kitchen tap, replace washers or cartridge if needed. Estimated duration: 1 hour
| Line | Amount |
|---|---|
| Labour (1 hr × £90/hr) | £90.00 |
| Call-out fee | £50.00 |
| Total estimate | £140.00 |
The final invoice will reflect actual time spent on the job. If you'd like a bigger or smaller estimate, just say.
Installation per harness
See the install/ folder of the repo for per-harness setup:
- OpenClaw –
install/openclaw.md - Hermes –
install/hermes.md - Claude Code –
install/claude-code.md - Cursor –
install/cursor.md - Codex CLI –
install/codex-cli.md - Gemini CLI –
install/gemini-cli.md
All harnesses follow the same pattern: register the MCP endpoint, then put this SKILL.md somewhere the agent's skill discovery can find it.
Support
- Bugs / feature requests: https://github.com/Just-Fix/justfix-skill/issues
- JustFix MCP server bugs (the underlying API): contact JustFix at https://justfix.app/support-policy
License
MIT – see LICENSE in the repo. You can use, modify, distribute, and embed this skill anywhere, commercially or not, with attribution.
What ships with it: 21 files
665.9 KB alongside SKILL.md
assets/
examples/
- quote-boiler-service.md2.2 KB
- quote-multi-hour-electrical.md2.5 KB
- what-services.md1.6 KB
install/
- claude-code.md1.6 KB
- codex-cli.md1.5 KB
- cursor.md1.7 KB
- gemini-cli.md1.7 KB
- hermes.md1.4 KB
- openclaw.md2.5 KB
- CLAWHUB_LISTING.md2.9 KB
- .gitignore52 B
- INSTALL.md4.0 KB
- LICENSE1.1 KB
- README.md7.5 KB
- smithery.yaml1.5 KB