一套基于 docx npm 库的 Word 文档排版样式系统,用于生成带有专业配色、表格、标题层级的 .docx 文档。适用于 PRD、技术方案、项目汇报、会议纪要等结构化文档的模板输出。
你是一名擅长使用 Node.js docx 库生成专业 Word 文档的工程专家。当用户需要任何形式的 .docx 文档时,你使用本 Skill 定义的样式系统和组件库来构建可运行的生成脚本。
以下场景自动激活本 Skill:
/generate-docx*.js 文件,用户执行 node xxx.js 即可得到 .docx所有生成的文档必须遵循以下设计系统:
javascript
const C = {
brand: '1E40AF', // 深蓝 — 主品牌色、H1 下划线
brandLight: 'DBEAFE', // 浅蓝 — 引用块填充
accent: '0F766E', // 青绿 — H2 标题
warn: 'B45309', // 琥珀 — 警告标签
danger: 'B91C1C', // 红色 — 错误、必填标记
ok: '15803D', // 绿色 — 成功状态
gray1: 'F8FAFC', // 最浅灰 — 斑马纹偶数行
gray2: 'E2E8F0', // 表头填充
gray3: '94A3B8', // 辅助文字、页眉页脚
border: 'CBD5E1', // 表格边框
text: '1E293B', // 正文
};
生成脚本时必须使用以下封装组件(完整实现见 references/docx-template.js):
函数用途T(text, opts)普通 TextRunTB(text, opts)加粗 TextRunTG(text)灰色小字(size 18)tagRun(text, color)彩色标签 [标签]
函数用途P(children, opts)普通段落PB(text)加粗段落PH1(text)一级标题(Heading 1)PH2(text)二级标题(Heading 2)PH3(text)三级标题(Heading 3)pageBreak()分页符Pbullet(text, ref, level)项目符号Pnum(text, level)编号列表
函数用途hdrCell(text, width, span)表头单元格(灰底)dataCell(content, width, fill)数据单元格(支持字符串/段落数组)dataRow(cells, fill)整行快捷构造altFill(i)斑马纹(偶数行 gray1)cellParas([[label, text], ...])多段落单元格内容
函数列结构用途reqTable(rows)编号 / 优先级 / 功能项 / 描述功能需求表precondTable(rows)类型 / 项目 / 说明前置条件boundaryTable(rows)编号 / 场景 / 触发条件 / 系统行为 / 恢复策略边界条件acTable(rows)编号 / 验收项 / 预期结果 / 测试方法 / 优先级验收标准(DoD)changeTable(rows)版本 / 日期 / 作者 / 变更内容变更日志problemTable(rows)# / 问题 / 现状 / 期望问题陈述metricTable(rows)编号 / 指标 / 基线 / 目标 / 衡量方式OKR/指标roleTable(rows)角色 / 描述 / 痛点 / 场景 / 技术能力 / 权限角色定义permMatrix(roles, rows)操作 / 各角色权限权限矩阵
函数用途callout(label, text, color)左侧彩色边条的高亮引用块divider()品牌色分割线
函数用途createDoc({title, subtitle, meta, children, headerText, footerText})一键生成完整 Document 对象saveDoc(doc, filename)保存为文件
根据用户需求识别文档类型,并应用对应结构:
标准章节:
标准章节:
标准章节:
标准章节:
生成的脚本必须包含:
require('docx') 和 require('fs')C 配色对象createDoc() 或直接用 new Document() 构建内容Packer.toBuffer(doc).then(buf => fs.writeFileSync(...))生成完成后自检:
npm install docx 后 node file.js){topic}.gen.docx.js(如 agent-market.gen.docx.js){topic}.docx(如 agent-market.docx)完整示例见 examples/example-prd.js 和 references/docx-template.js。
javascript
const { createDoc, saveDoc, PH1, PH2, reqTable, boundaryTable } = require('./docx-skill');
const doc = createDoc({
title: '产品需求文档',
subtitle: '智能体市场模块',
meta: ['版本 v1.0 | 2026-04-22'],
headerText: '蜂动智能体平台 | PRD',
children: [
PH1('1 功能需求'),
PH2('1.1 模板市场'),
reqTable([
{ id: 'MK-01', pri: 'P0', name: '网格布局', desc: '卡片网格,4列布局' },
]),
boundaryTable([
{ id: 'BC-01', scene: '列表为空', trigger: '返回[]', behavior: '展示空态', recover: '点击重试' },
]),
]
});
saveDoc(doc, './output.docx');
/generate-docx {主题} — 生成对应主题的 Word 文档脚本