Agent skill

Better Writing

by boraoztunc in boraoztunc/skills

UX writing and interface copy, from voice and button labels to error messages and empty states.

Apache-2.0Auto-check passedWriting & Content

Install Better Writing

skills CLI
$ npx skills add boraoztunc/skills --skill better-writing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install boraoztunc/skills better-writing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/better-writing .claude/skills/better-writing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
better-writing
GitHub stars
398
Used in
1 other repo
Token cost
~1.9k tokens
SKILL.md length
1,000 words
Files
2
Skills in repo
52
Repo updated
First seen
Licence
Apache-2.0

At a glance

UX writing and interface copy, from voice and button labels to error messages and empty states.

  • Works in 12 steps: Recon the Existing Voice → One Voice, Flexible Tone → Address the Reader Directly → …
  • Reviewing any user-facing text: button and link labels
  • SKILL.md covers Quick Reference, Core Principles, Common Mistakes and Reporting
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Better Writing is an agent skill from boraoztunc/skills. UX writing and interface copy, from voice and button labels to error messages and empty states. Use when writing or reviewing any user-facing text: button and link labels, form errors, placeholders, settings labels, onboarding flows, notifications, or empty states. Triggers on UX writing, microcopy, interface copy, product copy, copywriting, button labels, link text, error messages, empty states, placeholder text, settings labels, capitalization, title case, sentence case, voice and tone.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `review-output.md`).

It sits in Writing & Content, covering Copywriting and Brand voice and tone. The repository describes itself as: Claude Code skills for copywriting, SEO, design, and more. The licence is Apache-2.0.

When your agent uses it

  • Reviewing any user-facing text: button and link labels
  • Settings labels
  • Onboarding flows
  • Placeholder text

Example prompts

  • “/better-writing”

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Recon the Existing Voice
  2. One Voice, Flexible Tone
  3. Address the Reader Directly
  4. Plain Words Over Clever Ones
  5. Verb-First Buttons
  6. Consistent Flow Vocabulary
  7. Links Describe Their Destination
  8. One Capitalization Policy
  9. Settings Describe the ON State
  10. Errors Say How to Fix, Next to Where It Broke
  11. Empty States Point Forward
  12. Placeholders Are Examples, Not Labels

What it can do on your machine

Read from SKILL.md and the folder at commit 645553c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are html).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Better Writing loads about 1.9k tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 1,000 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~127
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from boraoztunc/skills at commit 645553c, republished under its Apache-2.0 licence (© boraoztunc). 1,000 words, ~1,947 tokens.

Download SKILL.mdSave it as .claude/skills/better-writing/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
better-writing
description
UX writing and interface copy, from voice and button labels to error messages and empty states. Use when writing or reviewing any user-facing text: button and link labels, form errors, placeholders, settings labels, onboarding flows, notifications, or empty states. Triggers on UX writing, microcopy, interface copy, product copy, copywriting, button labels, link text, error messages, empty states, placeholder text, settings labels, capitalization, title case, sentence case, voice and tone.

Writing that disappears into the interface

Clear and brief beats clever, consistency beats variety, and the best error message is the interaction redesigned so the error can't happen. Apply these principles when writing or reviewing any user-facing text.

How copy renders (capitalization via text-transform, truncation, smart punctuation) is covered by the better-typography skill; error markup and announcements (aria-invalid, live regions) by the better-accessibility skill; room for translated strings by the better-layout skill.

Quick Reference

CategoryWhen to Use
Review Output FormatSeverity scale, findings table, verification, verdict

Core Principles

1. Recon the Existing Voice

Before writing or reviewing, inspect nearby interface copy, the product's terminology, localization conventions, and any voice or content style guide. Preserve intentional brand character when it remains clear and appropriate to the stakes. Treat a difference from generic plain language as a finding only when it creates inconsistency, ambiguity, translation risk, or an inappropriate tone.

2. One Voice, Flexible Tone

The product has one voice, established by its existing system rather than invented during a local edit. Keep terms consistent: if it's "Archive" in the menu, it isn't "Move to storage" in the toast. Tone flexes with the stakes:

ContextTone
Success, onboarding, empty statesWarm, can be light
Routine actions, settingsNeutral, minimal
Errors, destructive confirmationsCalm, plain, zero playfulness
Data loss, securitySerious, explicit
3. Address the Reader Directly

In instructional interface copy, address the reader directly as "you" rather than "the user." Avoid “we” in errors when it creates ambiguity or reads as deflection: prefer “Unable to load content” over “We're having trouble loading this content.” Preserve an established first-person brand voice in low-stakes contexts when it remains clear. Use possessives sparingly (“Favorites” over “Your Favorites”) and never switch perspective accidentally.

4. Plain Words Over Clever Ones

Choose easily understood words and delete every word that isn't needed. No idioms, colloquialisms, or humor that won't translate. Skip unnecessary gender: "Subscribers can post recipes", not "each subscriber can post his or her recipes". Match the input device: "tap" on touch, "click" with a pointer, "select" when both are possible. Never build sentences by concatenating fragments around variables ("You have " + n + " new messages"); word order changes per language, so use full templated strings with proper pluralization.

5. Verb-First Buttons

Button labels start with a verb naming the specific action: "Send", "Save draft", "Delete project". Never "OK!", "Let's go!", or bare "Yes"/"No" on consequential actions. Confirmation buttons repeat the consequence so the dialog is answerable without reading the body: "Delete this project?" offers Delete project and Cancel, not Yes and No.

6. Consistent Flow Vocabulary

Multi-step flows use one vocabulary: "Get Started" to enter, "Continue" or "Next" (pick one) to advance, "Done" to finish. Alternating synonyms across steps makes users wonder if the buttons do different things.

Link text makes sense out of context; screen-reader users navigate by a list of the page's links. "Read the billing docs", never "Click here" (which also fails the device-verb rule on touch), and never a bare "Learn more" when several appear on one page. Suffix each: "Learn more about exports".

8. One Capitalization Policy

Pick title case or sentence case per element type (all buttons, all headings) and apply it consistently; sentence case is the safer default: calmer, no per-word case rules, localizes cleanly. "Save Changes" beside "Discard changes" reads as sloppiness.

9. Settings Describe the ON State

Label a toggle for what happens when it's on: "Send read receipts", and users infer the off state. Never label the negative ("Don't send read receipts"), which turns the toggle into a double negative. Link directly to a referenced setting instead of describing the path to it: a "Notification settings" link, not "Go to Settings > Notifications > Email".

Show full SKILL.md (379 more words)Show less
10. Errors Say How to Fix, Next to Where It Broke

An error is an instruction, adjacent to the failing field:

BadGood
That password is too shortChoose a password with at least 8 characters
Invalid nameUse only letters for your name
Oops! Something went wrong.Unable to save. Check your connection and try again.

No blame, no "oops", no exclamation marks. Phrase hints positively ("Use only letters", not "Don't use numbers or symbols") and show them before the mistake, not after. If the same error keeps firing for many users, redesign the interaction instead of rewording it.

11. Empty States Point Forward

An empty state says what this place is and how to fill it, with one clear next action:

html
<!-- Bad: a shrug -->
<p>No results.</p>

<!-- Good: orientation plus a next step -->
<p class="font-medium">No projects yet</p>
<p class="text-sm text-zinc-500">Projects keep your tasks and files together.</p>
<button class="mt-4">Create a project</button>

Search and filter empty states name the query and offer an exit: "No results for 'quarterly'. Clear filters". Never park crucial persistent information in an empty state; it disappears the moment content exists.

12. Placeholders Are Examples, Not Labels

Placeholders show the expected format (name@example.com, DD/MM/YYYY). A placeholder is never the field's only label: it vanishes on input, and every field keeps a visible label.

Common Mistakes

MistakeFix
Local rewrite ignores the product's established terminology or voiceInspect nearby copy and the style guide before proposing a change
"The user" in instructional interface copyAddress the reader directly as "you"
"We're having trouble…" obscures responsibility or recoveryUse a direct status and next step: "Unable to load content"
OK / Yes confirming a destructive dialogRepeat the consequence: "Delete project"
"Continue" on step 2, "Next" on step 3One flow vocabulary throughout
"Click here" or bare "Learn more" linkDescribe the destination: "Read the billing docs"
"Save Changes" beside "Discard changes"One capitalization policy per element type
"Don't send read receipts" toggleLabel the ON state: "Send read receipts"
"Oops! Something went wrong."Say what to do, next to the failing field
"No results." as the whole empty stateOrient and point forward with a next action
Placeholder doing the label's jobVisible label; placeholder shows the format
"You have " + n + " messages"Full templated strings with pluralization

Reporting

A standalone writing review is finished when every confirmed finding is reported in the format in review-output.md, with verification and a verdict. Under better-interface, its format governs instead.

© boraoztunc, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in better-writing of boraoztunc/skills.

  • SKILL.md
  • review-output.md

Open the folder on GitHubat commit 645553c

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in boraoztunc/skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Better Writing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Better Writing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Better Writing this skillboraoztunc/skills3981 repos~1.9kAutomated safety check: PassApache-2.0
Brand Voice Guideluongnv89/claude-howto42k—~609Automated safety check: PassMIT
Ralph Copywritermuratcankoylan/ralph-wiggum-marketer778—~2.4kAutomated safety check: PassNone
Business Insight Essay Writerliangdabiao/liurun-bookwriter-skills277—~2.5kAutomated safety check: PassMIT
Prose Style Guide Creatorsamber/cc-skills227—~5.3kAutomated safety check: PassMIT
Brand Voice Guidelhfer/claude-howto-zh-cn2.3k—~178Automated safety check: PassMIT

Similar skills

  • Brand Voice Guide

    luongnv89/claude-howto

    Ensure all communication matches brand voice and tone guidelines. Use when creating marketing copy, customer communications, public-facing content, or when…

    42k GitHub stars~609 tokensUpdated 10 days ago
    Writing & ContentAuto-check passed
  • Ralph Copywriter

    muratcankoylan/ralph-wiggum-marketer

    A skill your agent uses when the user asks to "analyze my content", "learn my writing style", "research competitors", "find content angles", "improve my blog", "write like me", "embody my brand…

    778 GitHub stars~2.4k tokensUpdated 6 mo ago
    Writing & ContentAuto-check passed
  • Business Insight Essay Writer

    liangdabiao/liurun-bookwriter-skills

    Drafts Chinese business-insight essays, short audio scripts and year-end speeches in a specific public commentator's rhythm, built from his books, talks and broadcasts.

    277 GitHub stars~2.5k tokensUpdated 3 mo ago
    Writing & ContentAuto-check passed
  • Builds a PROSE.md writing guide that captures how a person or brand writes, such as vocabulary, sentence rhythm and signature moves, separate from emotional tone.

    227 GitHub stars~5.3k tokensUpdated 9 days ago
    Writing & ContentAuto-check passed
  • Brand Voice Guide

    lhfer/claude-howto-zh-cn

    Keeps marketing copy and customer messages in one consistent brand voice, using a defined mission, tone, writing rules and lists of preferred and avoided terms.

    2.3k GitHub stars~178 tokensUpdated 2 mo ago
    Writing & ContentAuto-check passed
  • Keeps marketing copy, customer messages and public content in one brand voice, with tone rules, preferred and banned wording and sample sentences; written in Ukrainian.

    42k GitHub stars~614 tokensUpdated 10 days ago
    Writing & ContentAuto-check passed

More from boraoztunc/skills

All 52 skills in this repo
  • Gsap

    boraoztunc/skills

    GSAP animation reference for HyperFrames. An agent skill from boraoztunc/skills.

    398 GitHub starsUsed in 5 repos~1.9k tokens
    Auto-check passed
  • Hyperframes

    boraoztunc/skills

    Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML.

    398 GitHub starsUsed in 9 repos~7.6k tokens
    Auto-check passed
  • Remotion To Hyperframes

    boraoztunc/skills

    Translate an existing Remotion (React-based) video composition into a HyperFrames HTML composition.

    398 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Animejs

    boraoztunc/skills

    Anime.js adapter patterns for HyperFrames. An agent skill from boraoztunc/skills.

    398 GitHub starsUsed in 2 repos~828 tokens
    Auto-check passed
  • Beam Glow States

    boraoztunc/skills

    Create React loading, processing, selected, current, focus, and pressed states with the border-beam package's animated edge glow.

    398 GitHub starsUsed in 2 repos~3.2k tokens
    Auto-check passed
  • Minimal Zine Poster

    boraoztunc/skills

    Compile a theme, sentence, object, mood, article idea, or photo into a quiet Japanese/Korean zine-style editorial poster — tall aged paper, large negative space, one small image anchor, experimental…

    398 GitHub stars~2.5k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Better Writing

What does Better Writing do?

UX writing and interface copy, from voice and button labels to error messages and empty states. Better Writing is an agent skill from boraoztunc/skills. UX writing and interface copy, from voice and button labels to error messages and empty states.

When should I use Better Writing?

Better Writing fits situations like: reviewing any user-facing text: button and link labels; settings labels; onboarding flows; placeholder text.

How do I install Better Writing in Claude Code?

Run `npx skills add boraoztunc/skills --skill better-writing -a claude-code`. Or copy the skill folder (better-writing in boraoztunc/skills) into .claude/skills/better-writing in your project. Claude Code loads it when a task matches its description.

How do I install Better Writing in Codex?

Run `npx skills add boraoztunc/skills --skill better-writing -a codex`. Or copy the skill folder (better-writing in boraoztunc/skills) into .agents/skills/better-writing in your project. Codex loads it when a task matches its description.

Can I use Better Writing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add boraoztunc/skills --skill better-writing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/better-writing, .gemini/skills/better-writing, .github/skills/better-writing and .opencode/skills/better-writing in your project.

What does Better Writing need to run?

SKILL.md names no scripts, command-line tools or credentials: Better Writing is instructions for the agent only.

Does Better Writing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Better Writing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Better Writing use?

Better Writing is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Better Writing use?

About 1.9k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Better Writing?

Skills that share tags, products or a category with Better Writing: Brand Voice Guide (luongnv89/claude-howto, 42k stars), Ralph Copywriter (muratcankoylan/ralph-wiggum-marketer, 778 stars), Business Insight Essay Writer (liangdabiao/liurun-bookwriter-skills, 277 stars) and Prose Style Guide Creator (samber/cc-skills, 227 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Better Writing?

boraoztunc (a GitHub user) maintains it in boraoztunc/skills, which has 398 GitHub stars. The repository holds 52 skills in this directory. The repository was last updated on August 15, 2026.

Source: boraoztunc/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.