Openakita openakita/skills@chinese-writing

Enforce modern Chinese writing standards including tone, spacing rules (Pangu), full-width punctuation, paragraph structure, and active voice. Provides specific guidelines for blog posts, error messages, UI text, and technical documentation.

install
source · Clone the upstream repo
git clone https://github.com/openakita/openakita
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openakita/openakita "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/chinese-writing" ~/.claude/skills/openakita-openakita-openakita-skills-chinese-writing && rm -rf "$T"
manifest: skills/chinese-writing/SKILL.md
source content

中文写作规范

系统化的中文写作规范技能,确保所有中文输出遵循统一的语言风格、排版规则和表达习惯。适用于技术文档、博客文章、UI 文本、错误提示等多种写作场景。

适用场景

  • 撰写中文技术文档和 README
  • 编写产品 UI 文案(按钮、提示、说明文字)
  • 撰写博客文章和教程
  • 生成错误信息和异常提示
  • 翻译英文内容为规范中文
  • 校对和修正已有中文文本
  • 编写产品更新日志(Changelog)
  • 撰写邮件和通知文案

核心语调

所有中文输出应遵循以下三个语调特征:

特征说明正面示例反面示例
有帮助的提供实用信息,解决用户问题
点击「设置」可修改默认值
请查看文档
清晰的表述准确无歧义,逻辑顺畅
文件大小不能超过 10 MB
文件不要太大
温和的友好但不过度亲昵
操作已完成,是否继续?
恭喜!你太棒了!!!

禁止的语调:

  • 过度热情(堆叠感叹号、滥用 emoji)
  • 冷漠生硬(
    不允许
    错误
    失败
  • 模糊笼统(
    某些情况下
    可能会
  • 过度谦卑(
    不好意思打扰了

盘古之白:中英文间距规则

中文(CJK 字符)与半角字符(ASCII 字母、数字)之间必须加一个空格,这被称为「盘古之白」。

空格规则详表

规则正确 ✅错误 ❌
中文与英文之间
使用 Python 编写
使用Python编写
中文与数字之间
共有 5 个选项
共有5个选项
数字与单位之间
容量为 10 GB
容量为10GB
数字与百分号
增长了 30%
增长了30 %
全角标点与英文之间
使用了 React,性能提升
使用了 React ,性能提升
英文内部标点
如 �Mr.�Smith
如 Mr .Smith
链接前后
详见 https://example.com 页面
详见https://example.com页面
路径前后
位于 /usr/local 目录
位于/usr/local目录
代码前后
执行 `npm install` 命令
执行`npm install`命令
品牌名称
下载 VS Code 编辑器
下载VSCode编辑器

不加空格的情况

情况正确 ✅错误 ❌
全角标点前后不加空格
你好,世界
你好 ,世界
数字与度数符号
旋转 45°
旋转 45 °
货币符号在数字前
价格为 ¥99
价格为 ¥ 99
全角括号内侧
(见附录)
( 见附录 )

自动检查要点

生成中文文本后,自检以下模式:

  1. [汉字][A-Za-z]
    → 之间需要加空格
  2. [A-Za-z][汉字]
    → 之间需要加空格
  3. [汉字][0-9]
    → 之间需要加空格
  4. [0-9][汉字]
    → 之间需要加空格
  5. [汉字] [,。!?;:]
    → 全角标点前不要有空格

标点符号规范

全角与半角

中文语境下使用全角标点,英文/代码语境下使用半角标点

标点全角(中文)半角(英文)使用规则
逗号,中文句中用全角
句号.中文句末用全角
冒号:中文用全角
分号;中文用全角
感叹号!中文用全角,且不重复使用
问号?中文用全角
引号「」『』"" ''中文优先用直角引号
括号()()中文文本用全角,代码/英文用半角
省略号……...中文用两个全角省略号
破折号——--中文用两个全角破折号
书名号《》〈〉中文特有

引号使用规范

优先使用直角引号,嵌套时交替使用:

第一层:「引用内容」
第二层:「他说『这是重点』」
第三层:「他说『她提到「那个方案」很好』」

特殊场景:

  • UI 元素名称使用直角引号:
    点击「确定」按钮
  • 文件名/路径使用反引号:
    打开 `config.json` 文件
  • 强调词汇可用粗体:
    这是一个**重要**功能

标点禁则

禁止说明
!!!
不重复使用感叹号
。。。
省略号用
……
而非句号堆叠
~
避免在正式文本中使用波浪号
,
在中文句中
中文句子中不使用半角逗号
.
结尾中文句
中文句末用
不用
.

段落结构规范

段落长度

  • 每段控制在 3-5 行(约 100-200 字)
  • 超过 5 行的段落考虑拆分
  • 单句不成段(除非是强调句)

段落组织原则

  1. 一段一主题:每段围绕一个核心观点展开
  2. 首句概括:段落第一句点明要旨
  3. 逻辑递进:段落间有清晰的逻辑关系
  4. 过渡自然:使用连接词衔接段落

常用过渡词:

关系过渡词
递进此外、另外、不仅如此、更重要的是
转折然而、不过、但是、尽管如此
因果因此、所以、由于、基于此
并列同时、与此同时、一方面……另一方面
总结总之、综上所述、简而言之
举例例如、比如、以……为例

列表使用规范

  • 3 项以上的并列内容使用列表
  • 有序列表用于步骤或优先级
  • 无序列表用于并列项目
  • 列表项句末不加句号(除非是完整句子)
  • 列表项保持结构一致(都用动词开头,或都用名词开头)

主动语态优先

中文写作优先使用主动语态,被动语态仅在主语不重要或无法确定时使用。

被动(避免) ❌主动(推荐) ✅
文件被成功上传
文件上传成功
配置被保存到磁盘
系统已保存配置
错误被检测到
检测到错误
密码被修改
密码修改成功
该功能被设计用于...
该功能用于...

场景化写作指南

场景一:博客文章

风格要求:

  • 语调亲切但不随意
  • 可以使用第一人称(
    我们
  • 适当使用口语化表达增加可读性
  • 技术名词保留英文原文

结构模板:

标题(明确+吸引)
引言(为什么写这篇/背景)
正文章节(3-5 个,有小标题)
总结(核心要点回顾)
延伸阅读/参考链接

示例对比:

差 ❌:

本文将会对 React 18 的并发特性进行一个详细的介绍和分析,
希望能够对读者有所帮助。

好 ✅:

React 18 引入了并发渲染,这是自 Fiber 架构以来最大的变化。
本文通过实际案例,带你理解它的工作原理和应用场景。

场景二:错误提示信息

核心原则: 告诉用户发生了什么 + 为什么 + 怎么解决

格式模板:

[现象描述]。[原因说明(可选)]。[解决建议]。

示例对比:

差 ❌好 ✅
错误:操作失败
保存失败:文件大小超过 10 MB 限制。请压缩文件后重试。
网络错误
无法连接到服务器,请检查网络连接后重试。
无效输入
用户名仅支持字母、数字和下划线,长度 3-20 位。
权限不足
你没有编辑权限。请联系管理员获取「编辑者」角色。
未知错误
出了点问题,请稍后重试。如果问题持续,请联系支持团队。

错误信息禁忌:

  • 不使用技术术语(
    NullPointerException
  • 不使用全大写(
    ERROR
  • 不使用叹号(
    失败!
  • 不使用消极否定(
    不能
    暂时无法
  • 不归咎用户(
    你的操作有误
    输入格式不匹配

场景三:UI 文案

核心原则: 简短、明确、可操作

按钮文案:

场景推荐 ✅避免 ❌
确认操作
确定
/
保存
是的
/
OK
取消操作
取消
算了
/
No
删除操作
删除
移除
/
清除
(除非语义不同)
提交表单
提交
/
发布
点击提交
下一步
下一步
/
继续
Next
/
GO

提示文案:

类型模板示例
成功提示
[操作]成功
保存成功
加载提示
正在[操作]……
正在加载……
确认对话框
确定要[操作]吗?[后果说明]
确定要删除吗?删除后无法恢复。
空状态
暂无[内容],[引导操作]
暂无项目,点击右上角创建
输入提示
请输入[内容]
请输入邮箱地址

文案长度限制:

元素最大字数
按钮4 字
Toast 提示15 字
对话框标题10 字
对话框正文50 字
输入框占位符20 字

场景四:技术文档

风格要求:

  • 使用第三人称或无主语句(
    配置完成后,重启服务
  • 保持客观中立的语调
  • 所有技术名词首次出现时给出中文翻译
  • 代码和命令使用反引号包裹

术语处理:

规则示例
首次出现注明英文
依赖注入(Dependency Injection)
通用缩写直接使用
API
URL
JSON
不翻译专有名词
Docker
Kubernetes
React
翻译通用概念
容器(Container)
中间件(Middleware)

文档结构:

# 标题
> 一句话描述功能

## 概述
简要说明用途和适用场景

## 前置要求
- 环境要求
- 依赖项

## 快速开始
最小可用示例

## 详细配置
完整参数说明

## 常见问题
FAQ

## 参考
相关链接

数字和单位规范

规则正确 ✅错误 ❌
阿拉伯数字用于数据
共 128 条记录
共一百二十八条记录
中文数字用于惯用语
三心二意
一目了然
3心2意
数字范围用半角
3-5 个工作日
3~5 个工作日
日期格式
2026 年 3 月 1 日
2026年3月1日
(缺空格)
时间格式
14:30
下午 2:30
14点30分
千分位
1,000,000
1000000

常见错误自查清单

生成中文内容后,按以下清单逐项检查:

  • 中英文之间有空格(盘古之白)
  • 中文与数字之间有空格
  • 使用全角标点(中文语境下)
  • 引号使用直角引号「」
  • 没有连续感叹号或问号
  • 段落长度在 3-5 行以内
  • 使用主动语态
  • 列表项结构一致
  • 错误提示包含解决建议
  • 技术名词首次出现有中文注释

输出示例

输入

Write an error message when the user's upload exceeds the file size limit.

输出

上传失败:文件大小为 25 MB,超过了 10 MB 的限制。

请压缩文件或拆分为多个小文件后重新上传。支持的格式:JPG、PNG、PDF。

分析

  • ✅ 盘古之白:
    25 MB
    10 MB
  • ✅ 全角标点:
  • ✅ 主动语态
  • ✅ 包含现象+原因+解决方案
  • ✅ 具体数值(25 MB → 10 MB)