Skip to content
Development
Skill

/content

UIForge's microcopy layer — words are UI. Use when writing or fixing any interface text: headlines, subheads, button/CTA labels, empty states, error and loading messages, tooltips, form labels, onboarding, or marketing copy, or when copy feels generic, hypey, or "AI-written."

From plugin
uiforge
114 skills6 commands1 MCP

Claude Code

$ npx -y skills add TaewoooPark/UIForge --skill content --agent claude-code

SKILL.md

content.SKILL.md
name: content
description: >-
  UIForge's microcopy layer — words are UI. Use when writing or fixing any
  interface text: headlines, subheads, button/CTA labels, empty states, error
  and loading messages, tooltips, form labels, onboarding, or marketing copy, or
  when copy feels generic, hypey, or "AI-written." Enforces outcome-driven
  labels, error/empty states that help, a hype-word blocklist, and a specificity
  test so every claim is checkable — the difference between a page that reads as
  crafted and one that reads as a template.

Content — write the interface

Copy is a design surface, not filler poured in at the end. Users **scan, don't read** (NN/g: 79% scan; rewriting marketese to objective, concise, scannable copy tested **+124%** usability). And "words are UI" (Polaris) — labels, empty states, and errors are where a product feels human or feels generated.

Buttons & actions — state the outcome

  • **Verb + object, ≤ 3 words, sentence case.** Never "Submit," "Click here," or

"Learn more" in isolation. "Send invoice." "Create project." "Start free trial." (Intuit measured "Send invoice" vs "Submit" at **+18% CTR**.)

  • **Destructive actions = Verb + Noun** ("Delete project," "Remove member") so the

consequence is unmistakable — never a bare "Delete" / "OK."

  • One **primary** action per view; secondaries are quieter in both weight and word.

Errors — what happened + how to fix

  • Say **what went wrong and what to do next**, in plain words. No blame, no codes

as the whole message, never "An error occurred."

  • **Preserve the user's input.** Point at the field. "That email's already in use —

sign in instead?" beats "Invalid input."

Empty & loading states — never blank

  • **Empty = why it's empty + one clear next action + a hint of the payoff.** It's

a first-run activation moment, not a dead end. "No projects yet. Create one to start tracking builds." + the button.

  • **Loading:** skeletons over spinners; show nothing under ~300ms (a flash reads

as a glitch); consider optimistic UI for likes/CRUD.

Headlines & marketing — the specificity test

Every headline needs **≥ 1 checkable element**: a number, a name, a timeframe, or a mechanism. **The test:** if the line could be pasted onto a competitor's site unchanged, it's a slogan — rewrite it.

  • "Ship faster" → "Deploy in under 90 seconds."
  • "Powerful analytics" → "Query 10B events without a data team."
  • Lead with the user's problem, not your product's adjectives (inverted pyramid —

front-load the point).

The hype blocklist (ban these)

Marketese *lowers* measured usability and is the copy signature of AI output. Blocklist and replace:

| Banned | Replace with | |---|---| | unlock / supercharge / elevate / revolutionize / streamline | the literal outcome + a number | | seamless / seamlessly integrate | "connects to Slack, GitHub, Jira in two clicks" | | world-class / enterprise-grade / game-changing / cutting-edge | a specific proof | | "Trusted by thousands" | "Trusted by 4,200 engineering teams" | | "In today's fast-paced world…" | delete; open on the user's problem | | exclamation overuse, em-dash overuse | one clean statement |

Voice & mechanics

  • **One voice; tone flexes** to the user's state (playful on success, plain and

calm on errors).

  • Write for a **~9th-grade reading level**; sentences **< 25 words**; active

voice; concrete over abstract.

  • **Placeholders are not labels** (they vanish on focus and fail a11y) — every

field gets a visible label; every icon gets a text label / `aria-label`.

  • Numbers use `tabular-nums`; real currency/units; consistent capitalization

(pick sentence case for UI and hold it).

Hand back copy the other skills can drop in verbatim — and flag any claim you couldn't make specific, so it gets a real proof point or gets cut.

Read more
@taewooopark
Ships withuiforge

Clone a website so it actually works — tabs, filters, lists, client-side transitions, motion, scroll — then also as a pixel-faithful freeze and a pixel-identical, editable React restore.

114 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
11
Star history of TaewoooPark/UIForge on GitHub, a chart by star-history.com

Other skills on uiforge.

design-director

design-director

UIForge's always-on design brain — the art director for any web UI. Use whenever you build or elevate a landing page, hero,…

@taewooopark@taewoooparkInstall Skill
design-tokens

design-tokens

UIForge's token foundry — emits and ENFORCES a project's design signature before any component is built. Use at the start of any…

@taewooopark@taewoooparkInstall Skill
motion

motion

UIForge's motion layer — art-directs motion for React/Next.js + Tailwind interfaces built with Motion-Primitives (the…

@taewooopark@taewoooparkInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about content.

Which coding agents can use content?
content installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.