Agent skill

UX Writing and Docs Rules

by scarletkc in scarletkc/agents

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.

Apache-2.0Auto-check passedWriting & Content

Install UX Writing and Docs Rules

skills CLI
$ npx skills add scarletkc/agents --skill ux-writing -a claude-code

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

GitHub CLI
$ gh skill install scarletkc/agents ux-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/scarletkc/agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ux-writing .claude/skills/ux-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
ux-writing
GitHub stars
226
Token cost
~4.2k tokens
SKILL.md length
2,424 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
Apache-2.0

At a glance

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.

  • Works in 5 steps: help option strings, the most-missed… → centralized message/string modules and… → README and docs pages, → …
  • Writing or changing any user-visible string, such as CLI output or an error message
  • SKILL.md covers Status output & diagnostics, Error messages, Documentation and Facts that go stale, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

When your agent uses it

  • 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
  • Checking that a diagnostic reports what will actually happen

Example prompts

  • “Review the error messages in this diff and rewrite any that report stored values instead of effective ones.”
  • “Restructure the README so that each fact lives on exactly one page.”
  • “I changed the default timeout, so find every help text and doc line that still describes the old behavior.”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. help option strings, the most-missed site: a flag's help kept saying
  2. centralized message/string modules and command docstrings,
  3. README and docs pages,
  4. bundled skill files, plugin metadata, MCP tool descriptions (these are UX
  5. roadmap or status notes describing the old behavior.

What it can do on your machine

Read from SKILL.md and the folder at commit eb55005. 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.

    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

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.

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

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 scarletkc/agents at commit eb55005, republished under its Apache-2.0 licence (© scarletkc). 2,424 words, ~4,150 tokens.

Download SKILL.mdSave it as .claude/skills/ux-writing/SKILL.md (or your agent's skills folder).
name
ux-writing
description
Judgment rules for user-facing text and docs: CLI and diagnostic output, error and help text, README and docs structure, code comments, titles, and generated reports, decks, or exports. Use when writing or changing any user-visible string, when adding or restructuring docs or deciding which page owns a fact, when a page is about to record a version, a deployment state, or a value the code already owns, when a comment, title, or artifact could carry the reasoning or an abandoned option behind the change, when a behavior change needs its copy sites swept, or when reviewing a diff that touches copy or docs.
license
Apache-2.0
metadata.author
scarletkc
metadata.source
https://github.com/scarletkc/agents
metadata.summary
Review user-facing copy and documentation for clarity, consistency, facts that do not go stale, and no leftover intermediate state.

UX Writing & Docs

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.

Status output & diagnostics

  • Report effective values, not stored ones. A status display answers "what will happen when I run this", so resolve values exactly the way the runtime does, including environment variables and layered config. Counter-example: a config viewer printed "API key set: no" while an env var held the key the next run would actually use.
  • Diagnostics must stay truthful under failure. When one config layer fails to load, fall back to the most complete state that still loads, never to blank defaults. A diagnostic that misreports is worse than one that aborts. Counter-example: a broken project-level config made a doctor command check blank defaults and report a missing API key that was in fact configured; the fake failure buried the real one.
  • Show deltas, not dumps. A health/diagnostic command lists what deviates and who set it; the exhaustive listing belongs to the dedicated inspect command. Don't make one command duplicate another's job. Counter-example: a doctor check printed fifteen "field: origin" lines, most of them saying "global". One line naming the two real overrides replaced the block.
  • Annotate at the granularity of the claim. If one sub-part of a composite value has a different source or state, say it on the sub-part; don't relabel the whole. Counter-example: an env-injected API key relabeled an entire endpoint block "(environment)" although its URL and model came from a file. The fix was "key from env", with the block label unchanged.
  • Re-read neighboring labels after adding metadata. New suffixes collide with existing value labels. Counter-example: "Embedding dimensions: default (default)", fixed by renaming the value "auto".
  • Machine-readable output is a contract. Porcelain/TSV/JSON output never gains decoration, notices, or annotations; informational text goes to stderr or the human-format path. Absence is part of the contract, so write the negative test ("(project)" not in stdout).
  • Never truncate the payload. Paths, IDs, and URLs in diagnostics must survive narrow terminals un-ellipsized (disable auto-wrap/crop for those lines); a truncated path cannot be copied into the next command.

Error messages

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.

Documentation

  • Each document has one responsibility, and it decides what belongs. A page is a durable contract, a proposal, an investigation, a TODO, a dated work order, or a runbook — one of them, not several. Naming that first is what makes a canonical home decidable: a fact lives on the page whose job it is, and every other surface reaches it through a single specific link instead of a partial retelling on each page that happens to touch it. When two pages both claim to be the detailed spec, the broader responsibility keeps the shared rules and the narrower keeps only what its own surface adds. Counter-example: an implementation plan stayed the de-facto spec after shipping, so the rules lived half there and half in the architecture doc; folding the stable rules into the contract and leaving the sequence in git history left one page to trust.
  • Rationale is a genre of its own. A how-to answers what to run, a reference answers what exists, and why-it-was-built-this-way belongs to a design record, an ADR, or the pull request that decided it. Answering the design question inside a usage page pushes the steps the reader came for below the fold, and the argument is also the part that rots first: the implementation moves on and only the guide still defends the old choice. An explanation produced because someone asked once belongs in that answer, not in a permanent page. Counter-example: a setup guide spent its second paragraph on why this queue was chosen over two others; the queue was replaced a release later and the paragraph outlived it.
  • One canonical home per fact. Details that change together (field lists, precedence chains, supported values) live in exactly one document; every other mention links to it. Legitimate copies: artifacts distributed standalone (a bundled skill file that ships without the repo), and genuinely surface-specific nuance. Counter-example: a seven-field allowlist pasted into five docs.
  • Restating and linking is a bug, not thoroughness. If a section duplicates the canonical content and then ends with "see X for the full contract", it already is the full contract. Delete the restatement; keep the link and whatever is specific to this surface.
  • Prefer the smallest sufficient edit. When revising existing text, preserve unaffected wording, structure, and rationale. Remove genuine duplication, but do not rewrite neighboring prose or compress away useful distinctions without a reason. Counter-example: changing one mandatory workflow into an optional one rewrote several surrounding sections, then over-corrected by removing useful context; a few local edits were enough.
  • Insertion respects adjacency. Before adding a section, check what the surrounding paragraphs attach to. Counter-example: a new section landed between a flags table and its output-format footnote, orphaning the footnote in the wrong chapter.
  • Adjectives need evidence. "Recommended", "faster", "better" come from your own benchmarks, not optimism. Counter-example: a feature was about to ship commented "# recommended" while the project's own eval showed it losing to the default on strong models. It shipped as "optional".
  • Every README section has one job. Positioning sections ("Why X?") don't accumulate feature bullets; quick-starts don't explain architecture. A README stays lean and links into the docs; detail accumulating there usually means it left its canonical home.
  • Order a page by what the reader needs first, and split when it stops being one task. Open with scope and the authoritative entry points, then the common rules and the main path, and only then exceptions, recovery, and change checks. An overview layer summarizes stable semantics and links down; it does not carry field tables, full payloads, or current numbers to buy self-containment. When a page starts demanding that the reader understand several unrelated tasks, or whole chapters serve only two maintainers, that is the signal to split it — and the split leaves behind one line of purpose plus the link, never a second copy of the fact. Counter-example: a getting-started page opened with the full option reference, so the three commands a first-time reader needed sat two screens below it.
  • Reminders name the most-forgotten item only. A guideline that enumerates every artifact reads as noise and gets skipped whole. "Update whichever docs the change affects; the bundled skill is the easiest to forget" beats a list of six file types.

Facts that go stale

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.

  • Never snapshot a value that moves faster than the doc. Long-lived pages (README, architecture notes, runbooks, domain docs) carry the stable material: intent, invariants, boundaries, procedures, failure handling. Version and protocol numbers, image tags, build IDs, deployed commit hashes, object and migration counts, expiry dates, and "currently live / not yet shipped" claims all change without anyone re-reading the page that repeats them. Those belong in a changelog, in git history, or on the release ticket, where carrying a date is the point. The rule forbids the hand-maintained second copy, not the table: when a page genuinely has to show current values, generate it from the authoritative source at build time so it cannot drift silently. Counter-example: a runbook opened with "production currently runs 2.3.1"; four releases later an on-call engineer trusted the line and worked through the wrong version's changelog.
  • A pointer names a symbol, not a repository. The canonical home for a fact is often code rather than a doc, and then the doc's job is to say where to read it instead of copying the value or the whole field table. Make the pointer land: a specific file plus a searchable symbol, function, data key, or heading. "See the source", a repo-root link, or a directory leaves the reader to re-derive what the sentence promised. If no single symbol owns the fact, that is a code problem surfacing as a doc problem; fix the boundary instead of papering over it with a copied table. A directory is a fair target in two cases only: the fact emerges from an ordered set with no single-file truth (migrations replayed in sequence), or the directory is a catalog some loader enumerates (locales, plugins, maps). Both still owe a searchable selection key — the naming convention, the loader function, the object name. Counter-example: "protocol versions are defined in the networking layer" sent every reader grepping six files, and became a link to PROTOCOL_VERSION in net/constants.py.
  • A doc cannot observe the runtime. The repository answers how a commit is meant to behave; only the running system knows which commit is live, what is healthy, and which artifact is being served. Docs record the command or console that answers those questions, never the answer, and never promote merged code to "deployed". A successful deploy report is evidence on that release's ticket; copying it into a doc converts a one-time result into a standing hand-sync obligation. Counter-example: a "current environment" table listing service versions was updated by hand after every deploy, until the deploy where it wasn't, and nothing in CI could notice.
Show full SKILL.md (779 more words)Show less

The final state, not the path to it

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.

  • State what the code does, not what it nearly did. Titles, summaries, and comments describe the shipped behavior; intermediate attempts, abandoned options, and negative scope belong to the discussion that produced them, which git history and the review thread already keep. Counter-example: a requested cut left the pull request titled "Add export button (without the bulk-download panel)", so every reader had to understand a panel that never existed before reading the one that did.
  • A comment carries the non-obvious reason only. What earns the lines is a constraint the next reader cannot recover from the code: an ordering requirement, an upstream bug, a platform quirk. A "why not X" line qualifies when X is what that reader would reach for anyway, not when X is merely what this conversation happened to try and discard. Restating what the code plainly says, or defending it against an alternative nobody would propose, spends attention now and becomes a lie when the code around it moves. Counter-example: a helper kept eight lines on why it held no cache, written the moment a reviewer asked for the cache to go; two rewrites later the paragraph was the only trace of either.
  • Evidence serves the reader's decision, not the author's doubt. A claim the reader has to act on — this one is faster, this default is safe, use this over that — owes its basis, and "adjectives need evidence" above says where the basis comes from. A statement of what the code does owes nothing, because nobody is being asked to believe anything: a cited standard, a benchmark number, or an appeal to consensus attached to it is answering a challenge that was never made. The test is whether removing the line changes what the reader can decide. Cited figures also age faster than the sentence carrying them, and nobody comes back to re-measure. Counter-example: a config page defended its default with "benchmarks show a 40% improvement", measured two majors earlier against a code path that no longer existed; support was still quoting the number.
  • A deliverable does not narrate its own production. Generated reports, decks, exports, and screens are product content: they carry findings, values, and instructions, never the implementation notes, method rationale, or next steps of whoever produced them. "This page demonstrates", "we could also", and "implemented as" are the producer's voice leaking into the product, and the exceptions are narrow — copy that genuinely is help text or an empty state, and documents explicitly asked to record their own methodology. Reasoning has its own homes: the reply to the requester, the commit message, the pull request body, a planning file. Counter-example: a generated status deck opened on a slide titled "Approach and next steps for this report", ahead of the numbers it had been asked for.

Sync sweep for behavior changes

A behavior change is unfinished until its copy sites agree. Grep for the old wording across, in rough order of forgettability:

  1. --help option strings, the most-missed site: a flag's help kept saying "show current configuration" after the command learned origin labels,
  2. centralized message/string modules and command docstrings,
  3. README and docs pages,
  4. bundled skill files, plugin metadata, MCP tool descriptions (these are UX for agents, and the same rules apply),
  5. roadmap or status notes describing the old behavior.

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.

Testing copy

  • Assert flattened text or behavior, not console formatting: consoles wrap (~80 columns under test runners), so multi-word substrings split across lines. Flatten with " ".join(output.split()) before substring assertions.
  • Color env leakage: FORCE_COLOR / COLORTERM in the invoking shell make rich consoles emit ANSI into captured output; clear them for test runs.
  • For machine formats, assert what must be absent, not only what must be present.

© 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

Files

Just SKILL.md in skills/ux-writing of scarletkc/agents.

Open the folder on GitHubat commit eb55005

Used in 1 other repository

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.

Compare with similar skills

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.

UX Writing and Docs Rules compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
UX Writing and Docs Rules this skillscarletkc/agents226—~4.2kAutomated safety check: PassApache-2.0
Technical Writing Standardcursor/plugins11k10 repos~2.3kAutomated safety check: PassNone
Heym Documentation Articlesheymrun/heym1.1k—~780Automated safety check: PassCustom licence
Aholo Viewer Docsmanycoretech/aholo-viewer1.1k—~341Automated safety check: PassMIT
Handsontable Docs Page Writinghandsontable/handsontable22k—~1.1kAutomated safety check: PassCustom licence
Landing Docs Writerlobehub/lobehub83k—~259Automated safety check: PassCustom licence

Similar skills

  • Official

    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.

    11k GitHub starsUsed in 10 repos~2.3k tokens
    Writing & ContentAuto-check passed
  • Creates and updates documentation articles for the Heym platform: category choice, manifest entry, markdown file and cross-links from existing pages.

    1.1k GitHub stars~780 tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Aholo Viewer Docs

    manycoretech/aholo-viewer

    Guides writing and maintaining Aholo Viewer documentation: README, AGENTS.md, architecture notes, bilingual manual pages and AI collaboration guides.

    1.1k GitHub stars~341 tokensUpdated 2 days ago
    Writing & ContentAuto-check passed
  • Handsontable Docs Page Writing

    handsontable/handsontable

    Rules for writing Handsontable guide pages: required frontmatter, page structure, framework-specific example embedding, writing style and sidebar registration.

    22k GitHub stars~1.1k tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • Landing Docs Writer

    lobehub/lobehub

    Use for public LobeHub website documentation under docs/**, including self-hosting, deployment, migration, and configuration guides. Excludes product…

    83k GitHub stars~259 tokensUpdated today
    Writing & ContentAuto-check passed
  • Applies plain language rules to software documentation, architecture explanations, code reviews and technical analysis, following the principles of ISO 24495-3:2026.

    190 GitHub stars~1.6k tokensUpdated yesterday
    Writing & ContentAuto-check passed

More from scarletkc/agents

All 11 skills in this repo
  • Antigravity CLI

    scarletkc/agents

    Delegate bounded investigation, review, or implementation tasks to Antigravity CLI from a supervising agent.

    226 GitHub stars~1.6k tokensUpdated 19 days ago
    Auto-check passed
  • Grok CLI

    scarletkc/agents

    Delegate bounded tasks to Grok Build from a supervising agent such as Codex.

    226 GitHub stars~1.5k tokensUpdated 19 days ago
    Auto-check: warnings
  • Talk Like Scarletkc

    scarletkc/agents

    按 scarletkc 本人的自然表达习惯代写、改写、润色和翻译文本,适用于推文、评论、聊天消息、模型或工具体验文、项目介绍、GitHub 文本和正式通信。用户要求撰写可直接使用的成稿、去除 AI 腔,或在翻译中保留本人语气和立场时使用,无需明确点名本 skill。单纯的事实问答、技术分析、代码审查和任务讨论不触发。

    226 GitHub stars~1.2k tokensUpdated 19 days ago
    Auto-check passed
  • Ask To Plan

    scarletkc/agents

    Guide a user from an unclear idea to an actionable plan through the agent harness's native ask tool and clickable choices.

    226 GitHub stars~2.4k tokensUpdated 19 days ago
    Auto-check passed
  • Codex CLI

    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.

    226 GitHub stars~2.8k tokensUpdated 19 days ago
    Auto-check passed
  • Marketing Copy

    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…

    226 GitHub stars~1.3k tokensUpdated 19 days ago
    Auto-check passed

Questions about UX Writing and Docs Rules

What does UX Writing and Docs Rules do?

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.

When should I use UX Writing and Docs Rules?

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.

How do I install UX Writing and Docs Rules in Claude Code?

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.

How do I install UX Writing and Docs Rules in Codex?

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.

Can I use UX Writing and Docs Rules 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 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.

What does UX Writing and Docs Rules need to run?

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

Does UX Writing and Docs Rules 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 UX Writing and Docs Rules 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 UX Writing and Docs Rules use?

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.

How many tokens does UX Writing and Docs Rules use?

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.

What are the alternatives to UX Writing and Docs Rules?

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.

Who maintains UX Writing and Docs Rules?

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.