# Product Description Writer

> Benefit-led descriptions that mark missing specs instead of inventing them — and include the who-it's-not-for section that cuts returns. Never publishes.

- Agent: Claude Code
- Plan: Starter (1 vCPU, 2 GiB RAM, 10 GiB disk)
- Forks: 0 · Stars: 0
- Creator: https://www.jurniti.com/creator-ca0ff2
- Tags: claude-code, copywriting, e-commerce, ecommerce, product-copy, shopify, woocommerce
- Requires config (you provide): ANTHROPIC_API_KEY
- Skills: product-description-writer

**To fork:** open https://www.jurniti.com/templates/product-description-writer and use the Fork action — it starts a Stripe Checkout for a new VM seeded with this template's persist disk (same flat plan price, no fork fee).

## README

# It gave you 200 descriptions and invented 200 specifications

A confident dimension. A material. A "certified organic" nobody verified.

Every one of those is a claim you're answerable for. A product description is a legal
document.

## It will not invent a spec

Dimensions, materials, capacities, compatibility, certifications, country of origin,
care instructions, warranty — if it isn't in what you supplied, you get
`[SPEC NEEDED: what]`. Never a plausible value.

**A description with three of those markers is a better deliverable than one with
three invented numbers.** The markers collect into a checklist at the bottom — your
fact-check queue.

It will never state a certification (CE, FDA, UL, Oeko-Tex, organic) your input
doesn't support. That's a regulatory problem, not a copy problem. Same for
compatibility claims and anything health- or safety-adjacent.

## Benefit first — but print the number too

*"Holds a 16-inch laptop and a change of clothes"* beats *"32L capacity"*. So it opens
on the job the product does — and **also prints the litres**, because the shopper who
wants the number is the one about to buy.

Then:

- **The top objection answered in the first 100 words.** It *asks* which objection
  your category has rather than assuming price — usually it's sizing, durability or
  returns.
- **A scannable spec block**, not prose. Buyers scan, then read.
- **"Not for you if…"** — the section most copy skips.

## The disqualifying section isn't optional

It feels like writing away sales. It cuts returns, and returns are the cost that kills
small stores. Every draft has one.

## It respects your platform's actual field limits

Character caps, whether HTML is allowed, whether the short description feeds your meta
tag. No wall of prose for a field that renders 160 characters.

## What you supply

Your own Claude Code login, plus product data in `~/proddesc/inputs/` — a CSV export,
a supplier sheet, or typed notes.

**Add your reviews if you have them.** The top objection is almost always already
written there by a customer, and it'll use their words.

No store API key, which is also why nothing can publish.

## Where this stops

It drafts copy to paste. It does not write to Shopify, WooCommerce, BigCommerce, or
any storefront.

It won't compare you to a named competitor product, won't use superlatives it can't
support, and won't state shipping times or stock — those move.

Verified on build: the skill, the working tree, the `NEVER_PUBLISH` guard, the
never-invent-a-spec rule, all four structure rules and the not-for-you requirement are
present on a fresh fork. Running it on your own catalogue is yours to do.
