agentsclimarketplace

Docx

Skill woodfishhhh/EZ_math_model/skills/ez-math-model/tools/docx

Use when EZ_math_model needs to convert paper.md to paper.docx, read a DOCX problem statement, preserve equations and tables, or package a modeling report as a Word document.From its SKILL.md

Install
npx -y skills add woodfishhhh/EZ_math_model --skill docx

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • runs commandsInstructs the agent to run 2 commands, including `pandoc paper.md --from gfm+tex_math_dollars+pipe_tables --to docx --output paper.docx --resource-path .` and 1 more.

SKILL.md

2.3 KB, 757 tokens by cl100k_base, as published. Nobody here has run it

docx — Word 文档读写与打包

何时使用

  • paper.md 转换为 paper.docx
  • 读取用户上传的 .docx 题目。
  • 需要参考模板、图片嵌入、公式对象或表格保真。

优先链路

  1. 宿主 docx skill。
  2. pandoc 直调。
  3. python-docx 兜底。

Markdown 转 DOCX

pandoc paper.md `
  --from gfm+tex_math_dollars+pipe_tables `
  --to docx `
  --output paper.docx `
  --resource-path .

有参考模板时追加:

--reference-doc <template.docx>

DOCX 转文本

优先使用宿主 docx skill。没有宿主能力时,用 python-docx 提取段落和表格,再写成 Markdown 友好文本。

产出要求

  • 输出文件默认与 paper.md 同目录:paper.docx
  • 图片必须嵌入,不保留失效本地链接。
  • $...$$$...$$ 尽量转换为 Word 可编辑公式;失败时保留原始 LaTeX 文本并写诊断。

对象级验收

DOCX 不是“文件存在就合格”。转换后必须把 .docx 当 zip 解包检查:

  • word/document.xml 必须存在且可读取。
  • 公式验收:统计 m:oMath / m:oMathPara。若 paper.md 有公式但 DOCX 中 公式对象数为 0,formal 模式失败。
  • 图片验收:统计 word/media/*。Markdown 图片引用数不得超过嵌入图片数; 缺图必须列出文件名。
  • 表格验收:统计 w:tbl。Markdown 表格应转换为 Word 表格对象;未转换时至少 降级为 warning,formal 视严重程度阻塞。
  • LaTeX fallback:统计 word/document.xml 中残留 $...$。formal 模式下残留 公式文本不得直接标为通过。

EZMM 内置 scripts/runtime/audit_export.py 会执行上述检查,生成 export_audit.jsonexport_audit.md

失败诊断

情况处理
宿主 skill、pandoc、python-docx 都不可用保留 paper.md,在 diagnostics.md 写缺失工具
公式渲染异常formal 模式阻塞正式发布;demo 模式保留 LaTeX 文本并降级
图片路径错误检查 Markdown 相对路径和 --resource-path

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.