| name | chinese-quotes-fix |
| description | Check and fix Chinese quote pairing in Markdown files generated by ClaudeCode or other agents, while preserving Markdown syntax and protected blocks. |
中文引号修复技能
用于检查并修复 Markdown 文档里的中文双引号问题,重点处理 ClaudeCode / Agent 生成文档中常见的这类错误:
- 正文里混入英文直引号
"
- 左右引号方向不配对
- Mermaid、YAML、代码块、HTML 属性等语法区域被误改
核心目标不是“全局轮流替换”,而是只修正文 prose,并尽量准确判断每个直引号应该变成 “ 还是 ”。
适用场景
- ClaudeCode 输出的教程、博客、知识库文档
- 含有 Mermaid 流程图、HTML 片段、Markdown 链接的 Markdown 文件
- 中文正文为主,夹杂英文术语,例如
"做 Agent"、"微调"、"一问一答"
保护区规则
以下区域中的直引号默认不改动:
- YAML front matter
- Fenced code blocks,包括 ``` 和 ~~~
- Inline code
- Mermaid HTML 块,例如
<div class="mermaid">...</div>
- Markdown 链接与引用式链接定义
- HTML tag / attribute / comment
- 常见非正文 HTML block,例如
details、table、svg、pre
这条规则是为了避免把语法中的合法直引号误改成中文弯引号,导致 Markdown、HTML 或 Mermaid 失效。
标准工作流
1. 先检查
python .claude/skills/chinese-quotes-fix/check_quotes.py "path/to/file.md"
批量检查:
python .claude/skills/chinese-quotes-fix/check_quotes.py "docs/**/*.md"
检查输出会区分:
- 文件里一共有多少个直引号
- 有多少个在正文里,属于可修复目标
- 哪些行仍有正文直引号
- 当前正文里的弯引号是否存在配对问题
2. 预览修复
python .claude/skills/chinese-quotes-fix/fix_quotes.py --dry-run "path/to/file.md"
3. 正式修复
python .claude/skills/chinese-quotes-fix/fix_quotes.py "path/to/file.md"
配对策略
脚本不会简单按“第 1 个左引号、第 2 个右引号”做全局替换,而是结合上下文判断:
- 行首、冒号、左括号等之后的直引号,优先判为开引号
“
- 标点、句末、右括号之前的直引号,优先判为闭引号
”
- 如果一行里已经出现现成的
“ / ”,会把它们纳入状态判断,尽量修复混用场景
- 状态按行重置,避免上一段的未闭合引号污染下一段
这能更好覆盖 ClaudeCode 文档里常见的混排句式,例如:
这些模型是怎么学会"做 Agent"的?
它和普通对话 SFT 看起来都是"微调"
对话 SFT 训练的是"一问一答"
“做 Agent" 这类左右混用情况
推荐使用方式
当你刚完成一篇 agent 生成的中文文档时,建议顺序如下:
- 先完成正文生成或格式整理
- 再跑
check_quotes.py
- 如果存在正文直引号,再用
fix_quotes.py --dry-run
- 预览无误后正式执行修复
- 最后抽查 Mermaid、YAML、链接和 HTML 片段
验收清单
修复完成后至少确认这几项:
- 正文里的
" 已替换成 “”
- Mermaid 中的
["text"] 保持原样
- YAML 里的
title: "..." 保持原样
- Markdown 链接没有被破坏
check_quotes.py 不再报 Needs fix
check_quotes.py 的 Pairing issues 为 0
注意事项
- 这个技能默认只处理双引号,不处理单引号
- 如果某些 HTML block 内部本身就是正文,但你不希望保护它们,需要按具体场景再调规则
- 如果文档里故意保留英文学术用法的直引号,修复前请先用
--dry-run 确认
- Windows 控制台可能不是 UTF-8,脚本已经做了安全输出处理,但最终内容仍建议以文件实际渲染结果为准