Copy that says something. In the reader’s words.
The skill reads a site or an app the way its reader does, lists every piece of text, and rewrites what talks to itself instead of to them: the hype, the buttons that say “Learn more”, the headline that only says welcome. Nothing invented: every fact comes from the product.
npx skills add c0le0ni/skills --skill coleoni-copy
From “the next level” to bread at 7.
The bakery from /coleoni-briefing, written the way an agency would. The facts were all on the page already: the menu, the hours, the 48 hours for cakes. The copy just never said them.
/ · hero
h1 Elevating Your Bread Experience
To The Next Level
⚑ hype · Title Case
text At Juniper Bakery, we believe that
every loaf tells a story, and we are
committed to providing our valued
customers with a seamless, innovative
and unforgettable artisan experience…
⚑ 42 words · hype · em dash · !
button Learn More ⚑ vague
button Click Here ⚑ vague
⚑ 12× “we/our”, 5× “you/your”
Voice first. Then every word.
A rewrite without a voice is just another opinion. The skill settles who speaks, to whom and in which register before it touches a sentence.
-
Learns the voice
The project’s own guide wins. A plain, specific default voice fills the gaps, with patterns for buttons, forms, errors and empty states.
-
Lists every word
Titles, headings, text, buttons, links, labels, placeholders and alt text, page by page. The menu and footer once.
-
Flags the obvious
Hype, vague buttons, sentences over 25 words, em dashes, capitals, emoji, Title Case, and pages that say “we” more than “you”.
-
Rewrites what fails
In the reader’s words, with facts from the product. A missing fact becomes a question, never a made-up number.
-
Shows before and after
A review sheet with every rewrite and its reason, ready to send to the client or the team.
-
Applies, if you ask
Where the strings live: components, templates, i18n files, Markdown. Markup and variables untouched.
The same rules, everywhere a word appears.
From the voice file the skill carries. Your project’s guide can change any of them.
| Weak | Better |
|---|---|
| Welcome to Juniper Bakery | Bread out of the oven at 7. Cakes by order. |
| Submit | Send the order |
| Learn more | How pickup works |
| Invalid input | The date must be at least 2 days from today. |
| Something went wrong. | We couldn’t save the order. Your cart is safe, try again in a minute. |
| No data | No orders yet. They show up here as soon as a customer pays. |
One command, any agent.
The review itself needs nothing. Listing the copy of a live site uses playwright-core and the Chrome or Edge you already have.
npx skills add c0le0ni/skills --skill coleoni-copy
/coleoni-copy https://yoursite.com
-g-a claude-code-a codexnpx skills add c0le0ni/skillsA landing page, an app, a single email.
It shows the review first. Strings change only when you say so.
Review a site’s copy.
/coleoni-copy https://yoursite.com
The app’s buttons, errors and empty states.
/coleoni-copy src/, interface copy only, apply it
In Portuguese, in your voice.
/coleoni-copy ./site, PT-BR, quem fala é a gente, voz em docs/voz.md
The engine, from the terminal.
scripts/copy.mjs lists the copy and renders the review: node copy.mjs https://yoursite.com --out copy-review.
| Option | What it does |
|---|---|
<url | folder | file> | A live site, a dev server, a build folder or an HTML file |
--pages 10 | Most pages to read, following links from the first one |
--lang en|pt | Language of the copy, when the page does not say |
--review suggestions.json | Render the rewrites as review.html and review.png |
Say the real thing. Your reader will notice.
npx skills add c0le0ni/skills --skill coleoni-copy