Product Description Writer
Translate a product's specs into on-site PDP master copy: benefit-led,
scannable, in the brand's voice, decidable in eight seconds on a phone.
The job is not to describe the product. It is to remove the reasons a shopper
does not add to cart - while staying strictly inside what the source proves.
When to use
- You have a spec sheet, feature bullets, supplier copy, or a bare template
description and need the on-site product detail page (PDP) copy.
- One product, one master page.
When NOT to use
- Amazon / marketplace listing copy → use
amazon-listing-optimizer.
- Generating many size / color variant descriptions from one master → use
variant-copy-scaler.
- Ads, email, social, packaging, or retail sell sheets → different formats with
different constraints; say so and hand off.
Inputs
Required (at least the first two):
- Spec / feature source - spec sheet, feature bullets, supplier blurb.
- Target customer - who buys it and the job they are hiring it for.
Optional but load-bearing:
- Brand voice - if unknown, infer from category and ask exactly one
calibrating question (see
references/voice-and-tone-matrix.md).
- Objections - known returns reasons, sizing complaints, review themes.
- Category - routes the playbook (see
references/category-playbooks.md).
Thin-source rule. If the spec list is thin, ask for the one detail
competitors omit. Never pad with adjectives to fill space. A short honest page
outsells a padded one.
Missing-input rule. If you cannot answer "why would they buy this" from the
source, ask before writing. Guessing a benefit is a fabrication risk.
Workflow
Gather inputs. Collect spec source, target customer, voice, objections,
category. Ask at most one calibrating question; do not interrogate.
Find the one reason they buy. Name the core transformation or
job-to-be-done, not the product category. "Slices a ripe tomato without
crushing it," not "knife." This is the lead hook - it must work
standalone, because many shoppers read nothing else.
Translate each spec to a benefit. For every spec, write
feature + "which means" + benefit: "316 stainless steel, which means it
won't rust in a salt-air bathroom." Keep the spec for credibility, the
benefit for desire. Drop any feature that translates to nothing the buyer
cares about, and log what you dropped and why.
→ Method and sentence patterns: references/benefit-translation.md
Surface and answer objections. Name the silent doubt - sizing, fit,
durability, care, compatibility, returns, "will this work for me" - and give
one reassuring line each, woven into bullets or a short "Good to know" note.
If it runs small, say so. Honesty here prevents returns.
→ Bank of common objections: references/objection-library.md
Assemble for the F-pattern scan. Lead hook → 2-3 sentence intro → 3-5
benefit bullets with the payoff front-loaded and the first 2-4 words bold →
benefit-restating CTA → Details/Specs block at the bottom for literal
numbers, dimensions, materials, and care.
→ Structural rules: references/pdp-structure-playbook.md
→ Skeleton: assets/pdp-output-template.md
Calibrate voice. Match sentence length, vocabulary, and warmth to the
brand. Premium skincare is calm and precise; a snack brand is playful;
hardware is concrete and unromantic. Never let voice beat clarity.
→ references/voice-and-tone-matrix.md
Compliance pass. Strip or rephrase anything that states a number,
certification, material, health, safety, or earnings claim the source does
not support.
→ references/compliance-redlines.md
Self-audit before delivery. Run the quality gate. Fix failures and
re-run rather than shipping with caveats:
python scripts/validate_pdp.py <copy.md> --specs <specs.txt>
Then score against assets/qa-scorecard.md.
Output
Produce the complete PDP master copy as one paste-ready block, using
assets/pdp-output-template.md:
- Lead hook line
- 2-3 sentence intro
- 3-5 benefit bullets (payoff front-loaded, opening words bold)
- Objection-handling lines or a "Good to know" note
- A benefit-restating CTA
- Details/Specs block containing every literal number, dimension, material,
and care instruction from the source
Close with a short Notes to merchant section:
- Specs dropped and why
- Claims you could not support from the inputs
- Assumptions you made that should be verified before publishing
Quality gate
Ship only if all of these hold:
- The first line works as a standalone hook.
- Every benefit traces to a spec in the source; every surviving spec earns
its place.
- Sentences stay under 20 words; bullets front-load the payoff.
- Every literal number in the source appears in the Details block.
- Every pre-cart objection is answered honestly.
- No unsupported claim survives the compliance pass.
Automated checks live in scripts/validate_pdp.py; the human judgment checks
live in assets/qa-scorecard.md.
Hard limits
- Do not invent performance numbers, certifications, materials, or
health / safety / earnings claims. Use only what the source provides. If
asked to claim an outcome the source does not support, refuse and offer a
compliant alternative.
- Do not open with "premium quality," "high-quality," or any generic
category claim.
- Do not fabricate scarcity, countdowns, or low-stock urgency. Urgency is
allowed only when it is true (limited batch, seasonal, real low stock).
- Do not keep features that translate to no buyer benefit.
- Do not end with a bare "Buy now" - restate the benefit in the CTA.
- Do not write medical, legal, or financial outcome claims without a cited
source in the inputs.
Bundled resources
Scripts (scripts/)
validate_pdp.py - lint the finished copy: hook presence, sentence length,
bullet count, bold lead-ins, numbers coverage vs. source, banned phrases,
bare-CTA check. Exit code 1 on failure.
extract_specs.py - pull discrete spec lines (numbers, dimensions,
materials, care) out of a raw spec sheet into a checklist, so nothing is
lost between source and Details block.
scaffold_pdp.py - emit a blank PDP skeleton to fill in.
References (references/)
pdp-structure-playbook.md - F-pattern assembly and section-level rules
benefit-translation.md - spec → benefit method and sentence patterns
objection-library.md - the doubts that block the cart, with answer shapes
voice-and-tone-matrix.md - category voice calibration
compliance-redlines.md - claim categories, what needs proof, safe rewrites
category-playbooks.md - per-category priorities (apparel, electronics,
beauty, home, food, auto, gear)
Assets (assets/)
pdp-output-template.md - the deliverable skeleton
input-brief-template.md - what to collect before writing
qa-scorecard.md - weighted scoring rubric
details-block-template.md - spec block layout
examples-before-after.md - weak vs. strong, annotated
Credits
Enhanced from the MIT-licensed original in
SkillMedev/skills (v1). Structure,
workflow, and redlines preserved; added inputs contract, category routing,
compliance pass, bundled scripts, references, and templates.
1---2name: product-description-writer3description: Writes the on-site PDP master copy - a benefit-led, scannable product detail page in the brand's voice - from a raw spec sheet or feature list. Use when you have a spec list, feature bullets, or a bare template description for one product and need conversion copy for its own product detail page. Produces a paste-ready block (hook, intro, benefit bullets, objection handling, CTA, Details block) plus a self-audit. Do NOT use for Amazon or marketplace listings - use amazon-listing-optimizer instead. Do NOT use to spin one master into many size/color variants - use variant-copy-scaler instead. Do NOT use for ad creative, email, or social copy.4license: MIT5---67# Product Description Writer89Translate a product's specs into on-site PDP master copy: benefit-led,10scannable, in the brand's voice, decidable in eight seconds on a phone.1112The job is not to describe the product. It is to remove the reasons a shopper13does not add to cart - while staying strictly inside what the source proves.1415## When to use1617- You have a spec sheet, feature bullets, supplier copy, or a bare template18 description and need the on-site product detail page (PDP) copy.19- One product, one master page.2021## When NOT to use2223- Amazon / marketplace listing copy → use `amazon-listing-optimizer`.24- Generating many size / color variant descriptions from one master → use25 `variant-copy-scaler`.26- Ads, email, social, packaging, or retail sell sheets → different formats with27 different constraints; say so and hand off.2829## Inputs3031Required (at least the first two):32331. **Spec / feature source** - spec sheet, feature bullets, supplier blurb.342. **Target customer** - who buys it and the job they are hiring it for.3536Optional but load-bearing:37383. **Brand voice** - if unknown, infer from category and ask **exactly one**39 calibrating question (see `references/voice-and-tone-matrix.md`).404. **Objections** - known returns reasons, sizing complaints, review themes.415. **Category** - routes the playbook (see `references/category-playbooks.md`).4243**Thin-source rule.** If the spec list is thin, ask for the one detail44competitors omit. Never pad with adjectives to fill space. A short honest page45outsells a padded one.4647**Missing-input rule.** If you cannot answer "why would they buy this" from the48source, ask before writing. Guessing a benefit is a fabrication risk.4950## Workflow51521. **Gather inputs.** Collect spec source, target customer, voice, objections,53 category. Ask at most one calibrating question; do not interrogate.54552. **Find the one reason they buy.** Name the core transformation or56 job-to-be-done, not the product category. "Slices a ripe tomato without57 crushing it," not "knife." This is the **lead hook** - it must work58 standalone, because many shoppers read nothing else.59603. **Translate each spec to a benefit.** For every spec, write61 feature + "which means" + benefit: *"316 stainless steel, which means it62 won't rust in a salt-air bathroom."* Keep the spec for credibility, the63 benefit for desire. Drop any feature that translates to nothing the buyer64 cares about, and log what you dropped and why.65 → Method and sentence patterns: `references/benefit-translation.md`66674. **Surface and answer objections.** Name the silent doubt - sizing, fit,68 durability, care, compatibility, returns, "will this work for me" - and give69 one reassuring line each, woven into bullets or a short "Good to know" note.70 If it runs small, say so. Honesty here prevents returns.71 → Bank of common objections: `references/objection-library.md`72735. **Assemble for the F-pattern scan.** Lead hook → 2-3 sentence intro → 3-574 benefit bullets with the payoff front-loaded and the first 2-4 words bold →75 benefit-restating CTA → Details/Specs block at the bottom for literal76 numbers, dimensions, materials, and care.77 → Structural rules: `references/pdp-structure-playbook.md`78 → Skeleton: `assets/pdp-output-template.md`79806. **Calibrate voice.** Match sentence length, vocabulary, and warmth to the81 brand. Premium skincare is calm and precise; a snack brand is playful;82 hardware is concrete and unromantic. Never let voice beat clarity.83 → `references/voice-and-tone-matrix.md`84857. **Compliance pass.** Strip or rephrase anything that states a number,86 certification, material, health, safety, or earnings claim the source does87 not support.88 → `references/compliance-redlines.md`89908. **Self-audit before delivery.** Run the quality gate. Fix failures and91 re-run rather than shipping with caveats:92 `python scripts/validate_pdp.py <copy.md> --specs <specs.txt>`93 Then score against `assets/qa-scorecard.md`.9495## Output9697Produce the complete PDP master copy as **one paste-ready block**, using98`assets/pdp-output-template.md`:99100- Lead hook line101- 2-3 sentence intro102- 3-5 benefit bullets (payoff front-loaded, opening words bold)103- Objection-handling lines or a "Good to know" note104- A benefit-restating CTA105- Details/Specs block containing every literal number, dimension, material,106 and care instruction from the source107108Close with a short **Notes to merchant** section:109110- Specs dropped and why111- Claims you could not support from the inputs112- Assumptions you made that should be verified before publishing113114## Quality gate115116Ship only if all of these hold:117118- The first line works as a standalone hook.119- Every benefit traces to a spec in the source; every surviving spec earns120 its place.121- Sentences stay under 20 words; bullets front-load the payoff.122- Every literal number in the source appears in the Details block.123- Every pre-cart objection is answered honestly.124- No unsupported claim survives the compliance pass.125126Automated checks live in `scripts/validate_pdp.py`; the human judgment checks127live in `assets/qa-scorecard.md`.128129## Hard limits130131- **Do not invent** performance numbers, certifications, materials, or132 health / safety / earnings claims. Use only what the source provides. If133 asked to claim an outcome the source does not support, refuse and offer a134 compliant alternative.135- **Do not open** with "premium quality," "high-quality," or any generic136 category claim.137- **Do not fabricate** scarcity, countdowns, or low-stock urgency. Urgency is138 allowed only when it is true (limited batch, seasonal, real low stock).139- **Do not keep** features that translate to no buyer benefit.140- **Do not end** with a bare "Buy now" - restate the benefit in the CTA.141- **Do not write** medical, legal, or financial outcome claims without a cited142 source in the inputs.143144## Bundled resources145146**Scripts** (`scripts/`)147148- `validate_pdp.py` - lint the finished copy: hook presence, sentence length,149 bullet count, bold lead-ins, numbers coverage vs. source, banned phrases,150 bare-CTA check. Exit code 1 on failure.151- `extract_specs.py` - pull discrete spec lines (numbers, dimensions,152 materials, care) out of a raw spec sheet into a checklist, so nothing is153 lost between source and Details block.154- `scaffold_pdp.py` - emit a blank PDP skeleton to fill in.155156**References** (`references/`)157158- `pdp-structure-playbook.md` - F-pattern assembly and section-level rules159- `benefit-translation.md` - spec → benefit method and sentence patterns160- `objection-library.md` - the doubts that block the cart, with answer shapes161- `voice-and-tone-matrix.md` - category voice calibration162- `compliance-redlines.md` - claim categories, what needs proof, safe rewrites163- `category-playbooks.md` - per-category priorities (apparel, electronics,164 beauty, home, food, auto, gear)165166**Assets** (`assets/`)167168- `pdp-output-template.md` - the deliverable skeleton169- `input-brief-template.md` - what to collect before writing170- `qa-scorecard.md` - weighted scoring rubric171- `details-block-template.md` - spec block layout172- `examples-before-after.md` - weak vs. strong, annotated173174## Credits175176Enhanced from the MIT-licensed original in177[SkillMedev/skills](https://github.com/SkillMedev/skills) (v1). Structure,178workflow, and redlines preserved; added inputs contract, category routing,179compliance pass, bundled scripts, references, and templates.