Constraint: Public skills are published only by explicit administrator action unless they are tracked third-party market sources. Confidence: high Scope-risk: narrow Directive: Keep private/internal skills out of the public marketplace and preserve normal incremental market Git history. Tested: Marketplace validation passed.
3.3 KiB
简体中文与 Windows 环境
以下命令中的 $skill 是当前已安装 Skill 的真实目录;不要硬编码开发者机器路径。脚本使用 Python 3.10+。先检查现有 Python/Node 环境,缺少哪个依赖再安装哪个。
$env:PYTHONUTF8 = "1"
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new($false)
python --version
node --version
若只有 py,把命令中的 python 替换为 py -3。PowerShell 调用带空格的可执行文件路径使用 & "路径";Python 脚本路径作为独立参数传入,不拼接 shell 命令。中文路径、空格路径均需引号。
需要独立依赖环境时,在任务工作目录创建 .venv,使用 & ".\.venv\Scripts\python.exe" -m pip install <缺失包>。无需改变系统执行策略或激活脚本。Node 库安装到任务目录,不默认全局安装。不要假设 Codex、Claude 或容器已预装所有依赖。
字体与文本
- 用户未指定语言时,中文用户的说明、标题、图例和交付文案使用简体中文;引文、产品名、代码和原文专有名词保持原样。
- 新文件优先使用本机可用的微软雅黑、等线、宋体或思源黑体。先查字体;声明字体名不等于字体已安装。Word 配置
w:rFonts/@w:eastAsia与zh-CN,PPT 配置主题字体和文本框字体,Excel 使用Microsoft YaHei等实际存在的字体。 - PDF 优先嵌入有再分发许可的中文字体;ReportLab 简单中文文档可用
UnicodeCIDFont('STSong-Light'),交付前仍检查目标阅读器效果。不要用 Helvetica 绘制中文,也不要把方块字当正常输出。 - CSV 面向 Windows Excel 时可用
utf-8-sig;先保留已有文件编码,不要自动改写所有输入。XML、JSON 和新建脚本使用 UTF-8。 - 标点、单位、日期、人民币格式、身份证号和前导零按用户语义保留;不要默认套用美式日期或把长编号转为数字。
转换与预览
Office 文档转 PDF 使用随附的跨平台 scripts/office/soffice.py。它按 SOFFICE_PATH、PATH、Windows Program Files、macOS 应用目录寻找 LibreOffice,并为转换创建独立临时 profile。
# 仅在自动检测不到时设置;不要求添加系统 PATH
$env:SOFFICE_PATH = "C:\Program Files\LibreOffice\program\soffice.com"
python "$skill\scripts\office\soffice.py" --headless --convert-to pdf --outdir ".\preview" ".\中文 文档.docx"
python "$skill\scripts\render_pdf.py" ".\preview\中文 文档.pdf" ".\preview\pages"
按实际需要安装 LibreOffice、pymupdf、defusedxml、lxml 等缺失依赖。PDF 的 scripts/convert_pdf_to_images.py 与其他 Skill 的 scripts/render_pdf.py 均使用 PyMuPDF,不需要 Poppler。pptx 上游缩略图脚本仍需 Poppler;无 Poppler 时走 PDF 渲染流程。
使用 Python scripts/office_package.py unpack <输入> <空目录> 和 pack <包根目录> <输出> 处理 Office ZIP,无需 unzip、zip、rm 或 Bash。输出必须在解包目录之外。
验证与交付
生成或编辑后保存到新文件;先检查内容、公式或 OOXML 结构,再渲染并查看页面,检查中文缺字、表格越界、文本遮挡和分页。转换失败或字体缺失时说明具体原因,不把“文件保存成功”当成渲染通过。保留输入,除非用户明确要求覆盖。