Services How it works About Pricing Skills AI Assessment Start a project
Websites & Conversion

Service Page Writer.

A free Claude skill that writes service pages on an eleven-block skeleton that converts — situation, inclusions, price transparency, proof, FAQ — with the schema markup generated alongside.

Free · MIT licensed · Works in Claude Code, Claude.ai & the API
What it does

Two readers: a stressed human, and a search engine.

The page answers cost, time, and “will they show up” for the human, in a structure the engine understands — and it refuses to write from a service name alone.

  • Intake before ink — price signals, real differentiators, real reviews — no intake, no page.
  • The eleven-block skeleton — H1 through FAQ, each block with a job; blocks with nothing real behind them get skipped, not faked.
  • Price transparency, argued for — the case for publishing a range — and the honest fallback when the owner won't.
  • Copy rules enforced — 8th-grade reading level, “you” over “we,” specifics over adjectives, banned-phrase list.
  • Schema generated with the page — Service + FAQPage JSON-LD matching the visible content, with a validation reminder.

Who it's for

Local service businesses that need pages that sell, not brochures: plumbers, electricians, dentists, roofers, cleaners, restaurants with catering or events.

Also for the web folks building those sites, who'd rather start from a converting skeleton than a blank page.

What you say to trigger it

“Write a service page for water heater replacement.” · “We need a page for Invisalign.” · “Write SEO copy for our catering service.”

Example output

Water heater replacement, Des Moines — the opening blocks.

After intake (a price range the owner will stand behind, three differentiators, two real reviews), here's how the page starts:

Notice the price range on the page. The customer will get a number somewhere — the site that gives it earns the call.

How to install

Three ways in. All free.

Option 1 · Claude Code

One command

In your terminal, run:

npx skills add buildwithreef/claude-skills

Pick service-page-writer from the list (or install the whole set). Done.

Option 2 · Claude.ai

Upload the zip

Download the .zip below, then in Claude.ai go to Settings → Capabilities → Skills and upload it.

Download service-page-writer.zip

Option 3 · Manual

Copy the file

Copy the SKILL.md below into ~/.claude/skills/service-page-writer/SKILL.md. The zip also includes the fully worked example page the skill builds from.

service-page-writer/SKILL.md
---
name: service-page-writer
description: 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.
---

# 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](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
FAQ

Claude skill for service pages — common questions

Is there a Claude skill for writing service pages?

Yes — this one. Service Page Writer is a free, open-source Claude skill that writes local service pages on a proven eleven-block skeleton — headline, situation, inclusions, price transparency, proof, process, FAQ — plus the title tag, meta description, and schema markup, all from a structured intake.

How do I install the Service Page Writer Claude skill?

Three ways: run npx skills add buildwithreef/claude-skills in your terminal and select service-page-writer (Claude Code), upload the .zip from this page in Claude.ai under Settings → Capabilities → Skills, or copy the SKILL.md above into a folder at ~/.claude/skills/service-page-writer/.

Does it handle the SEO and schema markup?

Yes. Every page ships with a title tag and meta description, and a JSON-LD block: Service schema (with your NAP as the provider) and FAQPage schema built from the page's actual FAQ — never schema-only content, which is a spam signal. It reminds you to validate with Google's Rich Results Test after publishing.

What if I don't want prices on my page?

The skill will make the case for at least a range — it converts — but it won't invent numbers, and if you truly can't publish one it writes the page around a strong quote offer instead. What it will never do is fake reviews, stats, or guarantees you don't have.

Is it really free?

Yes. MIT licensed, no signup, no catch. It's published by Reef, an Iowa-based studio that builds AI systems, websites, and automation for small businesses. If you'd rather have this whole workflow running done-for-you, that's the work Reef takes on.

Related skills

Goes well with

From the builder

Want the pages written, built, and ranked?

Reef builds the whole service-page system — copy, design, schema, internal links — as part of sites that earn local searches and turn them into calls.