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…
UX writing and interface copy, from voice and button labels to error messages and empty states.
$ npx skills add boraoztunc/skills --skill better-writing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install boraoztunc/skills better-writing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "better-writing" agent skill from https://github.com/boraoztunc/skills/tree/main/better-writing into .claude/skills/better-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-writing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/boraoztunc/skills/tree/main/better-writingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add boraoztunc/skills --skill better-writing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install boraoztunc/skills better-writing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/better-writing .agents/skills/better-writing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "better-writing" agent skill from https://github.com/boraoztunc/skills/tree/main/better-writing into .agents/skills/better-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-writing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add boraoztunc/skills --skill better-writing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install boraoztunc/skills better-writing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/better-writing .cursor/skills/better-writing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "better-writing" agent skill from https://github.com/boraoztunc/skills/tree/main/better-writing into .cursor/skills/better-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-writing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/boraoztunc/skills.git --path better-writing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add boraoztunc/skills --skill better-writing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install boraoztunc/skills better-writing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/better-writing .gemini/skills/better-writing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "better-writing" agent skill from https://github.com/boraoztunc/skills/tree/main/better-writing into .gemini/skills/better-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-writing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install boraoztunc/skills better-writingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add boraoztunc/skills --skill better-writing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/better-writing .github/skills/better-writing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "better-writing" agent skill from https://github.com/boraoztunc/skills/tree/main/better-writing into .github/skills/better-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-writing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add boraoztunc/skills --skill better-writing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install boraoztunc/skills better-writing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boraoztunc/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/better-writing .opencode/skills/better-writing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "better-writing" agent skill from https://github.com/boraoztunc/skills/tree/main/better-writing into .opencode/skills/better-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "better-writing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
better-writingUX 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. 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.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 645553c. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from boraoztunc/skills at commit 645553c, republished under its Apache-2.0 licence (© boraoztunc). 1,000 words, ~1,947 tokens.
.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.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.
| Category | When to Use |
|---|---|
| Review Output Format | Severity scale, findings table, verification, verdict |
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.
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:
| Context | Tone |
|---|---|
| Success, onboarding, empty states | Warm, can be light |
| Routine actions, settings | Neutral, minimal |
| Errors, destructive confirmations | Calm, plain, zero playfulness |
| Data loss, security | Serious, explicit |
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.
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.
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.
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".
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.
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".
An error is an instruction, adjacent to the failing field:
| Bad | Good |
|---|---|
| That password is too short | Choose a password with at least 8 characters |
| Invalid name | Use 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.
An empty state says what this place is and how to fill it, with one clear next action:
<!-- 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.
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.
| Mistake | Fix |
|---|---|
| Local rewrite ignores the product's established terminology or voice | Inspect nearby copy and the style guide before proposing a change |
| "The user" in instructional interface copy | Address the reader directly as "you" |
| "We're having trouble…" obscures responsibility or recovery | Use a direct status and next step: "Unable to load content" |
OK / Yes confirming a destructive dialog | Repeat the consequence: "Delete project" |
| "Continue" on step 2, "Next" on step 3 | One flow vocabulary throughout |
| "Click here" or bare "Learn more" link | Describe the destination: "Read the billing docs" |
| "Save Changes" beside "Discard changes" | One capitalization policy per element type |
| "Don't send read receipts" toggle | Label 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 state | Orient and point forward with a next action |
| Placeholder doing the label's job | Visible label; placeholder shows the format |
"You have " + n + " messages" | Full templated strings with pluralization |
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
SKILL.md and 1 other file in better-writing of boraoztunc/skills.
Open the folder on GitHubat commit 645553c
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.
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Better Writing this skillboraoztunc/skills | 398 | 1 repos | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Brand Voice Guideluongnv89/claude-howto | 42k | — | ~609 | Automated safety check: Pass | MIT | |
| Ralph Copywritermuratcankoylan/ralph-wiggum-marketer | 778 | — | ~2.4k | Automated safety check: Pass | None | |
| Business Insight Essay Writerliangdabiao/liurun-bookwriter-skills | 277 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Prose Style Guide Creatorsamber/cc-skills | 227 | — | ~5.3k | Automated safety check: Pass | MIT | |
| Brand Voice Guidelhfer/claude-howto-zh-cn | 2.3k | — | ~178 | Automated safety check: Pass | MIT |
luongnv89/claude-howto
Ensure all communication matches brand voice and tone guidelines. Use when creating marketing copy, customer communications, public-facing content, or when…
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…
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.
samber/cc-skills
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.
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.
luongnv89/claude-howto
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.
boraoztunc/skills
GSAP animation reference for HyperFrames. An agent skill from boraoztunc/skills.
boraoztunc/skills
Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML.
boraoztunc/skills
Translate an existing Remotion (React-based) video composition into a HyperFrames HTML composition.
boraoztunc/skills
Anime.js adapter patterns for HyperFrames. An agent skill from boraoztunc/skills.
boraoztunc/skills
Create React loading, processing, selected, current, focus, and pressed states with the border-beam package's animated edge glow.
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…
Categories
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.
Better Writing fits situations like: reviewing any user-facing text: button and link labels; settings labels; onboarding flows; placeholder text.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Better Writing is instructions for the agent only.
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.
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.
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.
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.
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.
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.