mcpField
C
copy

copy

github.com/playful-designDesign & UI1683 installsUpdated 1w ago
Repository

About copy

Copy is a skill for writing and reviewing the words used in interfaces, including labels, descriptions, and status text. It applies rules for casing, brevity, plain names, and punctuation, then reports findings by severity.

Key features

  1. 01Title Case label rules
  2. 02Concise interface wording
  3. 03Plain display names over IDs
  4. 04One-line description guidance
  5. 05Status and punctuation checks

Use cases

  1. 01Reviewing buttons and menu labels
  2. 02Shortening settings descriptions
  3. 03Replacing internal IDs in interface text
  4. 04Checking loading and search statuses

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/playful-design/router --skill copy

After installing, type/copyin Claude Code to confirm it loaded.

Bundled filesagents/openai.yamlLICENSE

Details

From the project README

Copy

This skill writes and reviews the words inside an interface. It covers labels, descriptions, status text and the punctuation they use.

Casing and punctuation are exact

A label in sentence case is a finding. An em dash is a finding. A label that could lose a word is a finding only when the shorter label still says what happens.

Extra interface beyond the words belongs to restraint.

Labels take Title Case

Buttons, menu items, tabs, headings and setting names use Title Case. Short articles, conjunctions and prepositions stay lowercase unless they come first. "Add to library" is copy-title-case.

As few words as still say what happens

"Start Download" on a download screen is copy-fewest-words. Show a number on its own when the context already names the noun. "12 items" is copy-number-not-noun.

Plain names, never ids

An internal acronym or an invented persona is copy-plain-words. Show a thing's display name, not its id. instagram_graph in a select is copy-display-names.

One line of description or none

Move any detail into a tooltip. Two lines under a setting is copy-one-line-description.

Status matches the moment

"Searched" while the search still runs is copy-state-tense.

No em dashes, no ellipses

Use a comma or a full stop where an em dash would go. That is copy-no-em-dash. Use no ellipsis except in a search placeholder. "Loading..." is copy-no-ellipsis.

The pair

Every check is a pair. The broken line sits beside the line that replaces it.

RuleBrokenReplacement
copy-title-caseAdd to libraryAdd to Library
copy-fewest-wordsStart Download on the download screenStart
copy-number-not-noun12 items12
copy-plain-wordsPDPProduct Page
copy-display-namesinstagram_graphInstagram
copy-one-line-descriptionTwo lines under a settingOne line, the rest in a tooltip
copy-state-tenseSearched while runningSearching, then Searched
copy-no-em-dashSynced — 2 minutes agoSynced 2 minutes ago
copy-no-ellipsisLoading...Loading

Reporting

Severity. HIGH is an id or internal jargon shown to the user, or a status that says the wrong thing. MEDIUM is a label in the wrong case, a two-line description or an em dash. LOW is a label one word longer than it needs.

Format. One finding per root cause:

file:line - [rule-id] what is wrong

Then a Rule | Count | Severity summary. Block when any HIGH remains, Approve otherwise. Never Approve a file you did not read. Mark every check you could not run as Not verified.

Comments

Markdown supported