Technical Writing Standard
cursor/plugins
Applies four layers of technical-writing rules to docs, RFCs, readmes, PR descriptions and commit messages so a tired engineer follows them on the first read.
Judgment rules for user-facing text and docs: status output, diagnostics, error and help text, README structure, comments and titles, each backed by a real counter-example.
$ npx skills add scarletkc/agents --skill ux-writing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scarletkc/agents ux-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/scarletkc/agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ux-writing .claude/skills/ux-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 "ux-writing" agent skill from https://github.com/scarletkc/agents/tree/main/skills/ux-writing into .claude/skills/ux-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ux-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/scarletkc/agents/tree/main/skills/ux-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 scarletkc/agents --skill ux-writing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scarletkc/agents ux-writing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scarletkc/agents.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ux-writing .agents/skills/ux-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 "ux-writing" agent skill from https://github.com/scarletkc/agents/tree/main/skills/ux-writing into .agents/skills/ux-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ux-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 scarletkc/agents --skill ux-writing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scarletkc/agents ux-writing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scarletkc/agents.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ux-writing .cursor/skills/ux-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 "ux-writing" agent skill from https://github.com/scarletkc/agents/tree/main/skills/ux-writing into .cursor/skills/ux-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ux-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/scarletkc/agents.git --path skills/ux-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 scarletkc/agents --skill ux-writing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scarletkc/agents ux-writing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scarletkc/agents.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ux-writing .gemini/skills/ux-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 "ux-writing" agent skill from https://github.com/scarletkc/agents/tree/main/skills/ux-writing into .gemini/skills/ux-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ux-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 scarletkc/agents ux-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 scarletkc/agents --skill ux-writing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/scarletkc/agents.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ux-writing .github/skills/ux-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 "ux-writing" agent skill from https://github.com/scarletkc/agents/tree/main/skills/ux-writing into .github/skills/ux-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ux-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 scarletkc/agents --skill ux-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 scarletkc/agents ux-writing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scarletkc/agents.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ux-writing .opencode/skills/ux-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 "ux-writing" agent skill from https://github.com/scarletkc/agents/tree/main/skills/ux-writing into .opencode/skills/ux-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ux-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.
ux-writingJudgment rules for user-facing text and docs: status output, diagnostics, error and help text, README structure, comments and titles, each backed by a real counter-example.
User-visible text is treated as product behavior with the same quality bar as code, and the skill collects rules distilled from defects caught in review, each kept with its counter-example. The status and diagnostics section says to report effective values rather than stored ones, to keep diagnostics truthful when one config layer fails to load, to show deltas instead of dumps, to annotate at the granularity of the claim, and to re-read neighboring labels after adding metadata.
Machine-readable output such as porcelain, TSV and JSON must never gain decoration or notices, and a negative test should prove it. Paths, IDs and URLs in diagnostics should not be truncated on narrow terminals. The description widens the scope to README and docs structure, deciding which page owns a fact, keeping versions and deployment states that the code already owns out of prose, leaving abandoned options and reasoning out of comments and titles, sweeping every copy site after a behavior change and reviewing diffs that touch copy.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit eb55005. 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.
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.
UX Writing and Docs Rules loads about 4.2k tokens when it runs. Until then it costs about 156 tokens; SKILL.md has 2,424 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 scarletkc/agents at commit eb55005, republished under its Apache-2.0 licence (© scarletkc). 2,424 words, ~4,150 tokens.
.claude/skills/ux-writing/SKILL.md (or your agent's skills folder).User-visible text is product behavior and carries the same quality bar as code. Every rule below is distilled from a real defect caught in review, and keeps its counter-example because the reasoning is the point. When in doubt, re-read the output as the user who just hit the problem.
"(project)" not in stdout).Every error answers three questions: what happened, where, and what to do now. The strongest pattern: name the offending file or input, list the rejected fields, list the allowed fields, and say where the rejected setting belongs instead. Fail loudly rather than degrade silently; when catching an exception purely to suppress a traceback, keep the message intact.
Docs are edited on a human cadence, while some facts change on every commit, deploy, or restart. Writing one of those into a long-lived page is not a maintenance burden, it is a defect on a delay: the page turns wrong on its own, and nothing fails when it does. Record where the current answer is read, not the answer. This is "report effective values, not stored ones" applied to prose.
PROTOCOL_VERSION in net/constants.py.A deliverable is read by someone who was not in the room while it was made.
Anything that only holds against the conversation behind it — an option
that was considered and dropped, a scope that was corrected, an instruction
the requester gave ten minutes ago — reads as noise at best, and at worst
as a claim about the product. Session context expires faster than the
artifact carrying it, so this is "facts that go stale" applied to the
conversation rather than to time. The test for any line: does it hold for a
reader who has never seen that conversation? "Without the bulk-download
panel" does not, because nobody expected one. "Not json.dumps here, the
payload has to keep key order for the signature check" does.
A behavior change is unfinished until its copy sites agree. Grep for the old wording across, in rough order of forgettability:
--help option strings, the most-missed site: a flag's help kept saying
"show current configuration" after the command learned origin labels,Then re-resolve the links involved: a renamed heading breaks every anchor aimed at it, a moved file breaks the relative paths pointing at it, and neither announces itself in a normal test run.
" ".join(output.split()) before substring
assertions.FORCE_COLOR / COLORTERM in the invoking shell make
rich consoles emit ANSI into captured output; clear them for test runs.© scarletkc, 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
Just SKILL.md in skills/ux-writing of scarletkc/agents.
Open the folder on GitHubat commit eb55005
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders. This page covers the copy in scarletkc/agents, which our catalogue first saw on October 7, 2026.
UX Writing and Docs Rules 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 |
|---|---|---|---|---|---|---|
| UX Writing and Docs Rules this skillscarletkc/agents | 226 | — | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Technical Writing Standardcursor/plugins | 11k | 10 repos | ~2.3k | Automated safety check: Pass | None | |
| Heym Documentation Articlesheymrun/heym | 1.1k | — | ~780 | Automated safety check: Pass | Custom licence | |
| Aholo Viewer Docsmanycoretech/aholo-viewer | 1.1k | — | ~341 | Automated safety check: Pass | MIT | |
| Handsontable Docs Page Writinghandsontable/handsontable | 22k | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| Landing Docs Writerlobehub/lobehub | 83k | — | ~259 | Automated safety check: Pass | Custom licence |
cursor/plugins
Applies four layers of technical-writing rules to docs, RFCs, readmes, PR descriptions and commit messages so a tired engineer follows them on the first read.
heymrun/heym
Creates and updates documentation articles for the Heym platform: category choice, manifest entry, markdown file and cross-links from existing pages.
manycoretech/aholo-viewer
Guides writing and maintaining Aholo Viewer documentation: README, AGENTS.md, architecture notes, bilingual manual pages and AI collaboration guides.
handsontable/handsontable
Rules for writing Handsontable guide pages: required frontmatter, page structure, framework-specific example embedding, writing style and sidebar registration.
lobehub/lobehub
Use for public LobeHub website documentation under docs/**, including self-hosting, deployment, migration, and configuration guides. Excludes product…
GaZmagik/iso-24495
Applies plain language rules to software documentation, architecture explanations, code reviews and technical analysis, following the principles of ISO 24495-3:2026.
scarletkc/agents
Delegate bounded investigation, review, or implementation tasks to Antigravity CLI from a supervising agent.
scarletkc/agents
Delegate bounded tasks to Grok Build from a supervising agent such as Codex.
scarletkc/agents
按 scarletkc 本人的自然表达习惯代写、改写、润色和翻译文本,适用于推文、评论、聊天消息、模型或工具体验文、项目介绍、GitHub 文本和正式通信。用户要求撰写可直接使用的成稿、去除 AI 腔,或在翻译中保留本人语气和立场时使用,无需明确点名本 skill。单纯的事实问答、技术分析、代码审查和任务讨论不触发。
scarletkc/agents
Guide a user from an unclear idea to an actionable plan through the agent harness's native ask tool and clickable choices.
scarletkc/agents
When handing work to the Codex CLI earns its cost, and how to size the run: second-model review, bounded implementation hand-offs, sandbox permissions, model and reasoning effort.
scarletkc/agents
Write outbound promotional copy for a product or project: launch and update posts for community platforms and social media, store page descriptions and short blurbs, landing page headlines and calls…
Categories
Judgment rules for user-facing text and docs: status output, diagnostics, error and help text, README structure, comments and titles, each backed by a real counter-example. User-visible text is treated as product behavior with the same quality bar as code, and the skill collects rules distilled from defects caught in review, each kept with its counter-example. The status and diagnostics section says to report effective values rather than stored ones, to keep diagnostics truthful when one config layer fails to load, to show deltas instead of dumps, to annotate at the granularity of the claim, and to re-read neighboring labels after adding metadata.
UX Writing and Docs Rules fits situations like: writing or changing any user-visible string, such as CLI output or an error message; restructuring a README or docs and deciding which page owns a fact; reviewing a diff that touches copy or documentation; sweeping every place that describes a behavior after changing it.
Run `npx skills add scarletkc/agents --skill ux-writing -a claude-code`. Or copy the skill folder (skills/ux-writing in scarletkc/agents) into .claude/skills/ux-writing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scarletkc/agents --skill ux-writing -a codex`. Or copy the skill folder (skills/ux-writing in scarletkc/agents) into .agents/skills/ux-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 scarletkc/agents --skill ux-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/ux-writing, .gemini/skills/ux-writing, .github/skills/ux-writing and .opencode/skills/ux-writing in your project.
SKILL.md names no scripts, command-line tools or credentials: UX Writing and Docs Rules 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.
UX Writing and Docs Rules is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.2k tokens (SKILL.md is roughly 17k 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 UX Writing and Docs Rules: Technical Writing Standard (cursor/plugins, 11k stars), Heym Documentation Articles (heymrun/heym, 1.1k stars), Aholo Viewer Docs (manycoretech/aholo-viewer, 1.1k stars) and Handsontable Docs Page Writing (handsontable/handsontable, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
scarletkc (a GitHub user) maintains it in scarletkc/agents, which has 226 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on September 21, 2026.
Source: scarletkc/agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.