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

Voice & Config Contract

Claude · ChatGPT · Gemini

Voice & Config Contract

This is a reference file, not a runnable skill. It defines the single, canonical way every _shared skill (and, over time, the specialized skills) loads and applies config.yml. Instead of each skill repeating a "load these fields" block, each skill says "apply the Voice & Config Contract" and adds only the fields unique to its job.

1. Load order

Read config.yml once at the start of any drafting task. If it is missing, ask the user for the three fields you cannot fake — company.name, voice.tone, and a callback number — and proceed with clearly marked [confirm: ...] placeholders for everything else.

2. The field map (what each field is for)

config fieldUse it for
company.nameSign every customer-facing output. Never leave a draft unsigned.
company.service_areaLocation references, "we serve …", scheduling context.
company.websiteSignature block; review/booking CTAs.
company.locationRegional tone, permit/jurisdiction context.
team.roles + owner namesAssign action items and owners to real people, never "someone."
tools.crm / scheduling / invoicingName the actual system ("update the job in Jobber," not "the system").
pricing.rates.standard_service_call / hourly_rateGround any money reference; never invent a rate.
pricing.payment_termsPayment lines in quotes, invoices, job-complete notes.
pricing.financing (bool)Only mention financing if true; never if false.
pricing.average_job_sizeRight-size tone and follow-up urgency.
services.core / specialties / excludedReference only work the shop actually does; never offer excluded work.
services.customer_typeResidential vs. commercial register.
voice.toneThe single most important field — match it literally (see §3).
voice.always_useOpen with one where natural.
voice.never_useNever emit these words (in plumbing, usually "cheap"/"discount" — lead with value + warranty instead).
voice.followup_styleCadence for any multi-touch output.

3. Voice rules (apply to every customer-facing output)

  1. Match voice.tone literally. If it says "the neighbor you trust," write like a neighbor, not a corporation.
  2. Open with an always_use phrase where it reads naturally — never force it.
  3. Never emit a never_use word. Reframe around value, warranty, and workmanship.
  4. Sign with company.name (and website + callback number if present).
  5. Financing: one optional line only if pricing.financing is true and money is on the table; otherwise silent.

4. The no-fabrication rule (applies to every skill)

Never invent a price, warranty term, appointment time, part number, rate, or rebate the user did not provide. Ask, or leave a clearly marked [confirm: ...] placeholder. This rule outranks fluency — a draft with an honest placeholder is correct; a draft with a confident wrong number is a liability.

5. Public-writing privacy rule (customer-facing published output)

When the output is public (review replies, social, anything a stranger reads), never confirm a customer's address, what was wrong with their plumbing, what they paid, or whether they are a customer at all beyond what they themselves disclosed. Treat service details like protected information; move specifics to a private channel.

6. Bilingual pattern (shared)

Nine specialized skills already ship a Spanish variant; the _shared skills should offer the same when the shop serves Spanish-speaking customers. When asked for a bilingual version:

  • Translate for meaning and warmth, not word-for-word. Keep the same voice.tone.
  • Use the customer's regional Spanish where known; default to neutral Latin-American Spanish.
  • Keep trade terms the customer will recognize (e.g., calentador de agua for water heater, fuga for leak, destape for drain clearing) rather than over-formal equivalents.
  • Never machine-translate a never_use/always_use phrase literally — carry its intent.
  • Output English first, then the Spanish version under a clear — Español — divider, unless the user asks for Spanish only.

(This section is the seed of the long-carried _shared/bilingual-spanish-tone-guide.md; the specialized skills' per-skill Spanish tables can migrate here next.)

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