agfwriting-docx-reportslisted
Install: claude install-skill pcliangx/AppGenesisForge
# 写 docx 报告 — 高密度实战手册
## 何时用本 skill
| 信号 | 用本 skill |
|---|:--:|
| 用户要把 markdown 报告 → docx | ✅ |
| 报告是中文 / 含大量表格 / 需要视觉强调(决议 / 警示) | ✅ |
| 用户反馈"格式混乱 / 不专业 / 字段被分行 / 段前段后大 / 页边距宽" | ✅ |
| 报告需要封面页 / 自动目录 / 页眉页脚 / 警示框 | ✅ |
| 只是导出几页纯文本 / 没有表格 | ❌ 用 pandoc 默认即可 |
| 要做的是 PPT / Excel | ❌ 转 pptx / xlsx skill |
## 路径决策(3 选 1)
| 路径 | 何时选 | 代价 |
|---|---|---|
| **pandoc 默认** `pandoc x.md -o x.docx` | 内部草稿 / 纯文本为主 / 表格 ≤ 3 个 | 几秒;视觉无控制 |
| **pandoc + reference.docx** | 想统一字体 / 标题色但不要 callout | 中等;要先在 Word 里手工调样式做模板 |
| **docx-js 全定制**(本 skill 核心) | 正式对外报告 / 高密度表格 / 警示框 / 封面页 | 一次写 ~600 行 JS,复用率 90% |
判定经验:**用户说"格式混乱"基本就是要 docx-js**——根因是 pandoc 的列宽 auto + 无样式覆盖。
## 设计 token(直接拷贝到脚本头部)
```javascript
const FONT = "PingFang SC"; // 中文渲染。Word 在 macOS/Windows 都识别
const FONT_EN = "Arial"; // 西文 fallback
// 页面:A4 (11906x16838 DXA)。1440 DXA = 1 inch
const MARGIN = { top: 900, right: 720, bottom: 900, left: 720 }; // 上下 0.625" / 左右 0.5"
const CONTENT_WIDTH = 11906 - MARGIN.left - MARGIN.right; // = 10466 DXA
// ⚠️ 不要用默认 1" 边距 — 中文表格分行的元凶
// ⚠️ 不要用 Letter 尺寸 — 国内打印机标准是 A4
const COLOR = {
TEXT: "1F1F1F", MUTED: "595959",
PRIMARY: "1F4E79", PRIMARY_LIGHT: "D9E2F3", // 深蓝 / 浅蓝
DANGER: "C00000", DANGER_BG: "FCE4E4", // 红 / 浅红
WARN: "BF8F00", WARN_BG: "FFF2CC", // 黄 / 浅黄
OK: "548235", // 绿
BORDER: "BFBFBF", ALT_ROW: "F7F7F7", // 边框灰 / 隔行底
};
```
**配色铁律**:
- 标题用 `PRIMARY`(深蓝)不用默认黑——视觉层次靠颜色对比
- "强制不通过 / 警示 / 一票否决