agentsclimarketplace

Service page writer

Skill buildwithreef/claude-skills/skills/service-page-writer

Writes high-converting service pages for local businesses (plumbers, dentists, restaurants, contractors) using a proven page skeleton, local copy rules, and schema markup guidance. Use when the user needs a page for a specific service, says "write a service page", "we need a page for [service]", or wants SEO landing copy for a local service.From its SKILL.md

Install
npx -y skills add buildwithreef/claude-skills --skill service-page-writer

Assembled 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.

SKILL.md

4.8 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

Service Page Writer

A service page has two readers: a stressed human deciding who to call, and a search engine deciding who to show. Write for the human in a structure the engine understands.

Step 1 — Intake

Never write from the service name alone. Collect:

  • The service, and what jobs it actually includes/excludes
  • Business name, city, service area
  • Price signal the owner will commit to ("from $X", "typical range $X–Y", or "free quote" if truly nothing else)
  • 2–3 real differentiators (years, jobs count, response time, guarantee, licenses) — push past adjectives: "what can you say that a competitor can't copy-paste?"
  • 2–3 real reviews mentioning this service (names + towns)
  • Photos available of this work
  • The 5 questions customers actually ask before booking this service
  • Emergency/after-hours availability, financing, brands used

Step 2 — Build on the skeleton

Eleven blocks, in order. Every block earns its place; skip a block only if the intake gave nothing real for it.

  1. H1: [Service] in [City] — plus the strongest differentiator if it fits naturally.
  2. Subhead: outcome + trust in one line. "Fixed right the first time — 1,400+ water heaters since 2009."
  3. CTA block: clickable phone + one button ("Get a free quote"). Repeats after blocks 6 and 11.
  4. The situation: 2–3 sentences in the customer's shoes — the problem as they'd describe it, not as the trade describes it. ("No hot water this morning" — not "sediment accumulation reduces heating efficiency.")
  5. What's included: bulleted, concrete. What happens on the visit, what's covered, what they leave with.
  6. Price transparency: the range and what moves it. Owners resist this; make the case — the customer will get a number somewhere, and the site that gives it earns the call. Even "most jobs land between $X–$Y; here's what pushes it up or down" beats silence.
  7. Why us: the intake differentiators, stated as facts with numbers. Three maximum.
  8. Process: 3–4 steps from call to done. Kills the fear of the unknown.
  9. Reviews: 2–3, this service specifically, name + town.
  10. Service area: the towns, written as a sentence, not a keyword pile.
  11. FAQ: 5–7 of the real pre-booking questions. Each answer is complete enough to stand alone (these are schema fodder and objection handlers).

A fully worked example page (plumber, water heater replacement) is in references/template.md.

Step 3 — Copy rules

  • Reading level ~8th grade. Short sentences. No trade jargon without a plain-word gloss.
  • "You" outnumbers "we." Count if unsure.
  • Specifics beat adjectives everywhere: "background-checked, in your driveway inside 2 hours" not "reliable and professional."
  • Banned: "Welcome to," "we pride ourselves," "your satisfaction is our priority," "look no further."
  • The page must answer cost, time, and "will they show up" — those are the three real questions.
  • Multi-city businesses: one page per service; city pages only with city-specific proof (see the local-seo-audit skill).

Step 4 — Schema markup

Emit JSON-LD with the page, in a code block, with a note on where it goes (one <script type="application/ld+json"> in the head):

  • Service schema: serviceType, provider (LocalBusiness with NAP exactly matching the site footer), areaServed.
  • FAQPage schema from the FAQ block — questions and answers verbatim from the page (never schema-only content; that's a spam signal).
  • If the site has no sitewide LocalBusiness schema, include it nested in provider with name, address, phone, URL, hours, geo.
  • Tell the user to validate at Google's Rich Results Test after publishing.

Step 5 — Deliver

Full page in markdown with block labels as comments, then the schema block, then a 3-line publish checklist (title tag, meta description — both provided — and internal links from the homepage and related service pages).

What not to do

  • Don't write a word before intake. A page without price signals, real reviews, and real differentiators is furniture.
  • Don't keyword-stuff city names. Once in the H1, once or twice in body, once in the service-area block — done.
  • Don't invent reviews, stats, or guarantees. If intake gave none, write the page without that block and tell the user what it's missing.

Built by Reef — AI systems for small business → https://buildwithreef.com

What ships with it: 1 file

4.5 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.