| name | doc-polisher | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| description | 文档美化排版专家 Skill。自动扫描长文档(DOCX/MD),修复排版问题(数字编目错行、 图片URL残留、段落间距过大、首行缩进缺失、字体混用、标题层级混乱等), 应用严格的设计系统约束(受 Kami 项目启发),输出排版精美的 DOCX 文件。 支持微信公众号风格(wechat)和打印输出风格(print)两种视觉模式。 | ||||||||
| trigger | 排版、美化、格式化、整理文档、修复排版、文档排版、doc polish、美化文档、 排版工具、格式化文档、docx美化、调格式、整格式、自动排版、写格式、格式修复、 doc prettify、document polish、排版公众号、打印排版; 场景触发: 用户将 MD 转为 DOCX 后觉得排版混乱、用户提供一份现有 DOCX 要求整理格式、 用户需要生成适合微信公众号发布或打印输出的精美文档 | ||||||||
| argument-hint | 文档路径 [--style wechat|print] [--output 输出路径] | ||||||||
| allowed-tools |
|
||||||||
| metadata |
|
激活此 Skill 后,你将作为文档排版专家,遵循严格设计系统(Design System)约束, 对用户提供的长文档进行扫描→分析→修复→输出的一站式美化服务。
参考 Kami 项目的理念,定义严格的视觉约束,确保输出文档风格统一、可直接交付。
| 属性 | 值 |
|---|---|
| 正文字体 | 微软雅黑 (Microsoft YaHei) |
| 英文字体 | Calibri |
| 标题字体 | 微软雅黑 (加粗) |
| 正文大小 | 11pt |
| H1 | 18pt, 强调色(#2B579A), 加粗 |
| H2 | 15pt, #333333, 加粗 |
| H3 | 13pt, #333333, 加粗 |
| H4 | 12pt, #333333, 加粗 |
| 行距 | 1.75 倍 |
| 段间距 | 前6pt 后6pt |
| 首行缩进 | 无(公众号文章惯例) |
| 对齐 | 左对齐 |
| 页边距 | 2.54cm |
| 引用 | 左侧蓝色竖线 + 灰色文字 |
| 代码块 | Consolas 9.5pt, 浅灰底纹 |
| 强调色 | #2B579A(沉稳蓝) |
| 图片 | 居中, 宽度14cm |
适用场景: 微信公众号文章、博客文章、数字阅读、屏幕浏览
| 属性 | 值 |
|---|---|
| 正文字体 | 宋体 (SimSun) / Noto Serif CJK SC |
| 英文字体 | Times New Roman |
| 标题字体 | 黑体 (SimHei) / Noto Sans CJK SC |
| 正文大小 | 12pt(小四) |
| H1 | 22pt(二号), 加粗 |
| H2 | 18pt(三号), 加粗 |
| H3 | 15pt(四号), 加粗 |
| H4 | 13pt(小四加粗) |
| 行距 | 1.5 倍 |
| 段间距 | 前0pt 后0pt(用缩进替代) |
| 首行缩进 | 2字符 (~24pt) |
| 对齐 | 两端对齐 |
| 页边距 | 2.54cm(标准公文页边距) |
| 颜色 | 纯黑色(适合打印) |
| 引用 | 左侧黑色竖线 |
| 图片 | 居中, 宽度14cm |
适用场景: 正式报告、论文、标书、合同、打印输出
收到用户请求后,按以下流程执行:
- 用户提供
.docx或.md文件路径 - 确认输出风格(
wechat或print,默认wechat) - 确认输出路径(可选)
.md 文件 → 直接执行 convert(MD→DOCX)
.docx 文件 → 先 analyze,再 format
对 MD 文件:
cd ~/.claude/skills/doc-polisher
python3 doc_polisher.py convert <input.md> --style <wechat|print> -o <output.docx>对 DOCX 文件: 先分析:
python3 doc_polisher.py analyze <input.docx>将分析结果呈现给用户,然后格式化:
python3 doc_polisher.py format <input.docx> --style <wechat|print> -o <output.docx>- 告知用户输出文件路径
- 列出发现的问题和处理情况
- 确认输出文件可正常打开(用
python3 -c "from docx import Document; Document('output.docx')"验证)
| # | 检测项 | 说明 | 严重度 |
|---|---|---|---|
| 1 | 连续空行 | 3个以上连续空行 → 间距过大 | warning |
| 2 | 首行缩进 | 正文段落缺少缩进 | suggestion |
| 3 | 图片URL残留 | AI生成文档中未渲染的图片链接 | warning |
| 4 | 普通URL | 段内裸露的网址 | info |
| 5 | 标题层级跳跃 | 如 H1→H3 跳级 | warning |
| 6 | 字体混用 | 同一段落多种字体 | warning |
| 7 | 编号错行 | 编号项之间间隔过多段落 | warning |
| 8 | 编号格式不一致 | 如 1. 和 1、混用 | warning |
- 将
space_before/space_after超过 18pt 的压缩为标准值 - 统一设置行距为设计系统值
- 移除多余的空行段落(连续空行 >2 的合并)
- WeChat 模式:不缩进
- Print 模式:正文段落(非标题、非列表)添加 2 字符缩进
- 段落内所有 run 的文字统一为设计系统字体
- 标题统一为标题字体(黑体/微软雅黑加粗)
- 正文统一为正文字体(宋体/微软雅黑)
- H1 → H2 → H3 确保逐级递进
- 跳过级别的标题进行降级调整的建议
- 检测连续编号段落 → 统一格式为
N. 内容样式 - 添加左缩进 0.75cm
- 统一编号分隔符为
.
- 检测可下载的图片 URL(
.png/.jpg/.gif/.webp等结尾) - 下载并嵌入为图片(居中,14cm 宽)
- 其他 URL 保留为超链接文本
除了标准流程,用户可以额外要求以下服务:
添加包含标题、副标题、日期、作者信息的封面页
- WeChat 风格:简约,居中,蓝色强调
- Print 风格:正式,居中,白纸黑字
自动生成目录(基于标题样式)
- WeChat:可选
- Print:页码(底部居中或右下)
- 表头加底纹(浅蓝/浅灰)
- 表格线边框
- 字体统一
- 浅灰底纹
- 等宽字体
- 左缩进
- 格式:
.docx(Office Open XML) - 编码: UTF-8
- 兼容: Microsoft Word 2010+ / WPS Office / LibreOffice Writer
- 文件命名:
{原文件名}_{风格}.docx或用户指定路径 - 输出路径提示: 输出后告知用户完整路径以便直接打开
"帮我排版这份文档 /home/user/article.docx,要微信公众号风格"
- 分析:
python3 doc_polisher.py analyze /home/user/article.docx - 向用户呈现分析结果
- 格式化:
python3 doc_polisher.py format /home/user/article.docx --style wechat -o /home/user/article_wechat.docx - 验证:
python3 -c "from docx import Document; Document('/home/user/article_wechat.docx'); print('✅ 文件可正常打开')" - 告知用户结果
"这个 markdown 转过来的 docx 排版好乱,帮我整理一下 /home/user/note.md"
- 直接转换:
python3 doc_polisher.py convert /home/user/note.md --style wechat -o /home/user/note_wechat.docx - 告知用户结果,说明格式已应用
- 处理大文档(100+ 页)时,注意执行时间
- 图片下载可能因网络问题失败,记录失败信息但不中断流程
- 如果用户文档中有特殊排版要求(如特定字体要求、特定颜色等),Kami 设计系统作为默认约束,用户要求优先
- 需要
python-docx库的支持,执行前检查依赖 - 对于特别复杂的排版需求(如复杂表格、水印、多栏),建议用户使用 Word/WPS 手动微调
# 检查依赖
python3 -c "import docx; import requests; from PIL import Image; print('✅ 依赖齐全')"设计灵感: 本项目受 Kami(AI 文档设计系统)、Office-Word-MCP-Server(MCP 文档操作服务器)、python-docx 开源项目启发,将视觉设计约束与程序化排版能力相结合。