Agent Skills › zeabur-oss/zeabur › zeabur-writing

zeabur-writing

GitHub

用于 Zeabur 仓库的多语言文案写作、审阅及翻译,涵盖文档、界面字符串等。提供写作规范、术语表引用指引及 Vale 自动化检查流程,确保文本自然准确且符合本地化标准。

.claude/skills/zeabur-writing/SKILL.md zeabur-oss/zeabur

Trigger Scenarios

撰写或修改技术文档、README 编写产品落地页文案 翻译界面字符串或多语言内容 审查文本以消除 AI 痕迹或风格问题

Install

npx skills add zeabur-oss/zeabur --skill zeabur-writing -g -y
More Options

Non-standard path

npx skills add https://github.com/zeabur-oss/zeabur/tree/main/.claude/skills/zeabur-writing -g -y

Use without installing

npx skills use zeabur-oss/zeabur@zeabur-writing

指定 Agent (Claude Code)

npx skills add zeabur-oss/zeabur --skill zeabur-writing -a claude-code -g -y

安装 repo 全部 skill

npx skills add zeabur-oss/zeabur --all -g -y

预览 repo 内 skill

npx skills add zeabur-oss/zeabur --list

SKILL.md

Frontmatter
{
    "name": "zeabur-writing",
    "description": "Write or review text people read in any zeabur-oss repo, in English, zh-TW or zh-CN. Use for docs (.md\/.mdx), landing and product page copy, interface strings and i18n catalogues, translations between the three languages, READMEs, CLI output, error messages, and PR or issue text. Includes a Vale style that checks punctuation, spacing, cross-strait terms and wording tells."
}

Zeabur writing

Text should read like a careful person wrote it in that language: plain words, the reader's task first, natural rhythm. Translation-ese (歐化), filler and defensive hedging are the failures to fix.

Each repo keeps its own term list (zeabur: docs/internal/wording.md). Read it before writing; a term listed there beats anything here. localization.md gives the lookup order for the rest and the sources behind these rules.

Order of work

  1. Know what the reader sees and wants to do. Open the page, screen or command the text belongs to. Done when you can say, in one sentence, what the reader does next after reading it.
  2. Write in the language you think in. en, zh-TW and zh-CN are equal: start in any of them, and no locale is the source of the others. Interface strings share one key across the catalogues; the key names the string, it does not fix its wording. Load the reference for each language you write:
  3. Write every other locale as its own text. Each one reads naturally on its own, as if it had been written first. zh-TW and zh-CN each use their own terms; neither is a character conversion of the other. English is natural US English, and Chinese keeps Chinese word order. All three state the same facts, limits and conditions, and change together in the same pull request. Done when each string makes sense read alone, without the other languages beside it.
  4. Sweep for AI tells with ai-tells.md. Code comments and visuals follow the no-ai-flavour skill; a blog post, launch note or technical article also follows story-writing.
  5. Check with Vale (below) and the repo's own checks (zeabur: scripts/check-zh-tw.sh), then review with review-checklist.md. Done when Vale reports no errors, each warning is fixed or judged wrong for that sentence, and every item of the checklist holds.

When revising someone's text, change the fewest sentences that fix a real problem and report each change as before → after.

Checking with Vale

The vale/ directory is a Vale style. It catches what a pattern can: punctuation width, spacing between Han and Latin text, quotes, Traditional or Simplified characters in the wrong locale, cross-strait terms, padding verbs, AI-tell words, and paragraphs with several 被 or 它. Rhythm, word order and hedging still need reading.

Run vale <files> in the repo's dev shell. A file's language comes from its path: zh-TW or zh-CN anywhere in it selects the Chinese rules, anything else is English. Add a section to .vale.ini for files named otherwise.

Interface strings in TypeScript catalogues (i18n/en.ts, i18n/zh-TW.ts, i18n/zh-CN.ts) go through the ZeaburI18n view: Vale reads every string and template literal and skips the code, so ${n} 個服務 is checked as two pieces of text around the placeholder. Comments in a catalogue are not checked.

Silencing a rule where it is wrong for that text, with the reason next to it:

<!-- Quotes the cluster's own message. -->
<!-- vale ZeaburZh.Passive = NO -->
畫面會顯示「要求被拒絕」,接著顯示「權杖被撤銷」。
<!-- vale ZeaburZh.Passive = YES -->

In .mdx, write the same as {/* vale ZeaburZh.Passive = NO */}. <!-- vale off --> and <!-- vale on --> silence every rule.

Errors are rules a pattern decides reliably. Warnings point at sentences to read again and do not fail a check: ZeaburZh.Passive and ZeaburZh.Pronoun (several 被 or 它 in a paragraph), ZeaburZh.ConditionLast (a 直到 or 確保 clause after the result; Chinese only, since an until clause at the end is natural English), ZeaburZhTW.Copies and ZeaburZhCN.Copies.

Version History

  • e6ff195 Current 2026-11-02 08:52

Same Skill Collection

.claude/skills/zeabur-oss-ci/SKILL.md
.claude/skills/zeabur-oss-cluster-tests/SKILL.md
.claude/skills/zeabur-oss-dependencies/SKILL.md
.claude/skills/zeabur-oss-rust/SKILL.md
.claude/skills/zeabur-oss-spec-work/SKILL.md
.claude/skills/zeabur-oss-workflow/SKILL.md
.claude/skills/zeabur-wording/SKILL.md
.claude/skills/zeabur-ci/SKILL.md
.claude/skills/zeabur-cluster-tests/SKILL.md
.claude/skills/zeabur-dependencies/SKILL.md
.claude/skills/zeabur-dev/SKILL.md
.claude/skills/zeabur-oss-standards/SKILL.md
.claude/skills/zeabur-spec-work/SKILL.md
.claude/skills/zeabur-workflow/SKILL.md

Metadata

Files
0
Version
78d277a
Hash
6155a1bd
Indexed
2026-11-02 08:52

홈 - 위키
Copyright © 2011-2026 iteam. Current version is 2.156.0. UTC+08:00, 2026-11-14 02:46
浙ICP备14020137号-1