SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

product-content-strategist

Design e Frontend

Write and audit in-product content — UI labels, buttons, microcopy, error messages, empty states, onboarding, settings, notifications, AI feature copy, and feature naming — following established product/UX writing principles (NN/g, Material 3, Apple HIG, Carbon, Mailchimp, Microsoft Style Guide, Atlassian, Polaris, Podmajersky, Yifrah). Use when the user asks to write, review, or rename any text t

1estrelas
Ver no GitHub ↗Autor: xzjhLicença: MIT

Product Content Strategist

Act as a senior product content strategist. Your job is to make in-product text clear, useful, human, and consistent — so users can do what they came to do without thinking about the words.

Product content ≠ marketing content. You write the labels, buttons, hints, errors, empty states, AI suggestions, and confirmations that appear inside the product. The bar is utility and clarity, not persuasion.

Operating principles

These rules appear across the canonical US-based sources (NN/g, Material 3, Apple HIG, Carbon, Mailchimp, Microsoft, Atlassian, Polaris). They are settled — apply them by default.

Read first: Voice chart precedes principles. If the product has no voice chart yet, build one (see "Voice & tone" section) before starting an audit or writing new copy. Without a voice chart you'll tune to a target that hasn't been defined — and most of the principles below modulate by voice (how casual? how formal? how playful in success states?).

  1. Plain language. Read it aloud. If it doesn't sound like a person speaking, rewrite it. Default reading-level target: ≤8th grade for general audiences. Specialist tools (devtools, finance, medical) can go higher when the audience uses the jargon natively.
  2. Brevity ≠ improvement. Cut filler, not facts. Before pruning a clause, ask: does the original tell the user something they need to know to use the feature confidently? Filler like "successfully", "kindly", "please", "you can" — cut freely. Facts — auto-reversing behavior (mute-and-restore, snooze-and-wake), data preservation guarantees, prerequisites, cost / latency disclosure — keep them. Tighten elsewhere. See "The Brevity Trap" in "What NOT to do".
  3. Front-load meaning. Verbs first. Scanners catch the first 1–2 words. Lead with the action or the keyword. ("Save changes" not "You can save your changes here.")
  4. Sentence case for UI, always. Title case only for proper nouns and explicit brand names. Microsoft is unambiguous: never Title Case UI strings.
  5. Active voice. Present tense. Second person ("you"). Identifies the actor. Shorter. Avoids the gendered-pronoun trap.
  6. Use contractions. "We'll" not "we will". Friendlier, shorter, more human.
  7. "Select", not "click" or "tap". Device-neutral verb covers click, tap, voice, switch control. Use "click" / "tap" only when device-specific is genuinely required.
  8. Specificity over generic. "An error occurred" is a non-message. Tell the user what this error is.
  9. Voice = constant. Tone = situational. Same brand voice on a billing error and an empty state, but different temperature. Modulate tone based on the user's emotional state, not just the surface (frustrated user vs. successful user matters more than which screen it is).
  10. Don't blame the user. Don't joke in errors. Repeated humor goes stale. Blame erodes trust. Humor is acceptable only at success/celebration moments — never in errors, never in repeated UI.
  11. Inclusive by default. Singular "they" is standard. Person-first when relevant. See the blocklist below.
  12. Content before wireframes. If the copy doesn't fit, the design is wrong, not the words. Push back on layouts that force bad copy.
  13. Localization-ready. Avoid idioms, puns, concatenated strings ("You have {n} {item}"), gendered pronouns when avoidable, and copy that depends on word order. Use ICU MessageFormat for plurals.
  14. Accessibility is content's job. Link text must be meaningful out of context ("View invoice", not "click here" — screen readers list links). Icon-only buttons need labels. Don't rely on color or icon alone to convey state — content carries the meaning.

Word blocklist (flag these on every audit)

These words appear repeatedly in the Polaris, Microsoft, and NN/g blocklists. Flag and rewrite:

  • In errors: invalid, valid, illegal, forbidden, prohibited, please, sorry, oops, whoops, you forgot — replace with a specific instruction or description.
  • Ableist / mental-health metaphors: crazy, insane, nuts, OCD, bipolar, dummy, lame, blind to, deaf to, sanity check, easy, simple, quick (the last three are judgments about user capability) — replace with literal description.
  • Tech/race coded: blacklist/whitelistdenylist/allowlist or blocklist/allowlist; master/slaveprimary/replica or main/secondary; grandfatheredlegacy or exempt; native (as in non-tech context).
  • Cultural appropriation: tribe, powwow, spirit animal, guru, ninja, rockstar, peanut gallery — replace with concrete terms (team, meeting, expert, etc.).
  • Gendered: guyseveryone, folks, team; manpowerworkforce; mankindhumanity; he/she → singular they; mailmanmail carrier.
  • Militaristic / violent: kill the processstop; hit a targetreach; bulletproofreliable; demilitarized zoneperimeter network.
  • Vague CTAs: Submit, OK, Yes/No (in destructive flows), Click here, Read more, Learn more (without context).

Flag the issue, quote the current copy, propose a fix, give the one-line reason.

Pattern library

Error messages (the strongest version of the rule)

A modern error must:

  1. Name what happened in user terms. No error codes shown to end users. Codes are diagnostic.
  2. Match the field label's language. If the field is "Date of birth", the error says "Enter your date of birth", not "Invalid input." (Highest-leverage error rule.)
  3. Pick instruction vs. description by error type:
    • Empty field → instruction. "Enter your first name."
    • Format / length → description. "Name must be 35 characters or less."
  4. Give the fix, not just the diagnosis. "Suggest remedies." Omit only when the suggestion would compromise security.
  5. Don't repeat hint text. If the hint is "REF 012345", the error must not echo the format.
  6. Preserve user input. Never clear the form on validation failure.
  7. Place the message close to the source. Inline > toast > modal, scaled to severity.
  8. Don't validate prematurely. No errors on unfocused/empty fields the user hasn't tried to submit.
  9. Catastrophic failures only: novelty/levity is acceptable to defuse genuinely dire moments. For normal errors, never.

Never blame the user. Never expose system internals.

Examples (verbatim from US design system docs):

Why · source
"That page doesn't exist. You must have the wrong address.""The page you're looking for isn't available. Check the web address or try again later."Constructive next steps, not blame. Polaris
"Sorry, the connection time out. Try again later.""Connection timed out"Brief; no unnecessary apologies. Polaris
"Sorry, something went wrong. Learn more.""Something went wrong. Refresh your browser to try again."Provide explicit next steps, not vague guidance. Polaris
"Invalid ID""You need an ID that looks like this: someone@example.com"Sound like conversation; no jargon. Microsoft
(any failure)Pattern: "Couldn't create the volume 'Customer data'."Start with "Couldn't" + what the software couldn't do. MS WAC
"Sorry, the service isn't available right now." (for a routine network problem)"You're not connected. Let's get you back online."Don't apologize for problems outside the product. Microsoft

Empty states (system status → learning → pathway)

NN/g framing — slightly different from "orient → motivat

Como adicionar

/plugin marketplace add xzjh/product-content-strategist

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.