技能版本 1.0.0

docx

当用户想要创建、阅读、编辑或操作Word文档(.docx文件)时,请使用此技能。触发条件包括:任何提到'Word doc'、'word document'、'.docx',或者请求生成带有目录、标题、页码或信头等格式的专业文档。此外,在从.docx文件中提取或重新组织内容、在文档中插入或替换图片、在Word文件中执行查找和替换、处理跟踪更改或注释、或将内容转换为精美的Word文档时也应使用此技能。如果用户要求以Word或.docx文件形式提供'报告'、'备忘录'、'信函'、'模板'或类似的交付物,请使用此技能。请勿用于PDF、电子表格、Google文档或与文档生成无关的一般编码任务。

价格

免费

  • 安装:免费

在组织开通时一次性收取;再次读取清单或下载不重复收费。

以上为公开标价。你的组织可能有协议价,以控制台显示的价格为准。

如何使用

  1. 为组织安装

    开通即安装:组织固定使用开通时的版本(当前为 1.0.0)。升级到新版本需要取消后重新开通。

  2. 创建凭证

    客户端使用组织凭证读取;绑定到数字人后,数字人使用绑定凭证按需加载。请求中携带:

    Authorization: Bearer $ZGI_MARKET_KEY

  3. 读取清单与安装包

    清单列出版本、文件和校验值;安装包是一个 zip 文件。

    读取清单
    curl "https://market-api.zgi.im/v1/market/skills/anthropics-docx/manifest" \
      -H "Authorization: Bearer $ZGI_MARKET_KEY"
    下载安装包
    curl "https://market-api.zgi.im/v1/market/skills/anthropics-docx/package" \
      -H "Authorization: Bearer $ZGI_MARKET_KEY" \
      -o anthropics-docx.zip

    读取清单和下载安装包不计入用量。下载后请用响应头中的 SHA-256 校验文件。

技能说明

名称
docx
说明
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.
会运行代码Python

技能包内含脚本文件,加载技能的运行时可能会执行它们,安装前请先阅读。

SKILL.md 节选

# DOCX creation, editing, and analysis

A `.docx` is a ZIP archive of XML files. Choose your approach by task:

| Task | Approach |
|---|---|
| **Create** a new document | Write a `docx` (npm) script — see gotchas below |
| **Edit** an existing document | `unzip` → edit `word/document.xml` → `zip` (docx-js cannot open existing files) |
| **Read** content | `pandoc -t markdown file.docx` |

> Script paths below are relative to this skill's directory.

## Creating with docx-js — gotchas

`docx` is preinstalled — do not run `npm install` first; write the script and `require('docx')` directly. Only if that require fails: `npm install docx`. The model knows the API; these are the footguns:

- **Page size defaults to A4.** For US Letter set `page: { size: { width: 12240, height: 15840 } }` (DXA; 1440 = 1″).
- **Landscape:** pass portrait dimensions and `orientation: PageOrientation.LANDSCAPE` — docx-js swaps width/height internally.
- **Tables need dual widths:** set `columnWidths` on the table AND `width` on every cell, both in `WidthType.DXA` (PERCENTAGE breaks in Google Docs). Column widths must sum to the table width.
- **Table shading:** use `ShadingType.CLEAR`, never `SOLID` (renders black).
- **Lists:** never insert `•` literally; use a `numbering` config with `LevelFormat.BULLET`.
- **`ImageRun` requires `type:`** (`"png"`, `"jpg"`, …).
- **`PageBreak` must be inside a `Paragraph`.**
- **Never use `\n`** — use separate `Paragraph` elements.
- **TOC:** headings must use built-in `HeadingLevel.*`; custom heading styles need `outlineLevel` set or they won't appear.
- **Don't use a table as a horizontal rule** — use a paragraph bottom border instead.
- **Dot-leader / right-aligned-on-same-line:** use `PositionalTab` (`alignment: PositionalTabAlignment.RIGHT`, `leader: PositionalTabLeader.DOT`) inside a `TextRun`, not literal `.` or space padding.

## Verify the output

After writing a `.docx`, render it and look at it:

```bash
python scripts/office/soffice.py --headless --convert-to pdf output.docx
pdftoppm -jpeg -r 100 output.pdf page
ls page-*.jpg   # then Read the images
```

`pdftoppm` zero-pads page numbers to the width of the page count (`page-01.jpg`…`page-12.jpg`).

## Editing existing documents

Legacy `.doc` files must be converted first: `python scripts/office/soffice.py --headless --convert-to docx file.doc`.

```bash
unzip -q doc.docx -d unpacked/
find unpacked -type l -delete   # strip symlink entries — docx from external parties is untrusted
python scripts/merge_runs.py unpacked/   # coalesce fragmented runs so text is findable
# edit unpacked/word/document.xml in place — do NOT reformat or pretty-print
(cd unpacked && rm -f ../out.docx && zip -Xr ../out.docx .)
python scripts/office/validate.py out.docx --original doc.docx   # XSD checks; --auto-repair fixes common issues
# redlining? add --author "<the name you redlined under>" to check every edit is tracked
```

Word splits text across many `<w:r>` runs (revision ids, spell-check markers), so a phrase you can see in the document often doesn't exist as a contiguous string in the XML. `merge_runs.py` merges adjacent identically-formatted runs in `word/document.xml` without changing content or rendering; it also accepts a `.docx` directly (`python scripts/merge_runs.py doc.docx -o merged.docx`).

**Tracked changes:** when redlining, validate with `--author "<the name you redlined under>"` (needs `--original`) — it reports any text you changed without a `<w:ins>`/`<w:del>` around it, which is easy to do by accident and invisible in the accepted view. Wrap runs in `<w:ins>`/`<w:del>` with `w:id`, `w:author`, `w:date` attributes. Inside `<w:del>`, the text element is `<w:delText>`, not `<w:t>`. A deleted paragraph mark (`<w:pPr><w:rPr><w:del w:id=".." w:author=".." w:date=".."/></w:rPr></w:pPr>`) means "merge this paragraph into the next" — so deleting a paragraph outright is that plus a `<w:del>` around every run. The `<w:del/>` must come before the rPr's other children; their order is schema-enforced.

SKILL.md 不止这些内容,安装后可阅读全文。

技能包内容

共 61 个文件,合计 1.1 MiB

  • LICENSE.txt1.4 KiB
  • SKILL.md6.7 KiB
  • scripts/__init__.py1 B
  • scripts/accept_changes.py4.0 KiB
  • scripts/comment.py13.7 KiB
  • scripts/merge_runs.py9.2 KiB
  • scripts/office/helpers/__init__.py3.3 KiB
  • scripts/office/helpers/pptx_chart.py5.7 KiB
  • scripts/office/helpers/pptx_slide.py1.6 KiB
  • scripts/office/helpers/pptx_theme.py3.4 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd73.2 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd6.8 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd50.1 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd624 B
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd148.5 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd1.2 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd8.7 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd14.4 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd81.7 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd1.2 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd7.2 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd6.2 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd1.2 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd880 B
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd2.5 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd3.4 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd7.3 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd22.8 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd1.3 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd236.6 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd25.5 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd24.7 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd535 B
  • scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd5.6 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd3.9 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd167.4 KiB
  • scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd4.5 KiB
  • scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd1.9 KiB
  • scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd2.5 KiB
  • scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd2.8 KiB
  • scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd1.3 KiB
  • scripts/office/schemas/mce/mc.xsd3.1 KiB
  • scripts/office/schemas/microsoft/wml-2010.xsd25.9 KiB
  • scripts/office/schemas/microsoft/wml-2012.xsd3.7 KiB
  • scripts/office/schemas/microsoft/wml-2018.xsd901 B
  • scripts/office/schemas/microsoft/wml-cex-2018.xsd1.7 KiB
  • scripts/office/schemas/microsoft/wml-cid-2016.xsd1002 B
  • scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd600 B
  • scripts/office/schemas/microsoft/wml-symex-2015.xsd745 B
  • scripts/office/soffice.py5.8 KiB
  • scripts/office/validate.py6.0 KiB
  • scripts/office/validators/__init__.py336 B
  • scripts/office/validators/base.py33.0 KiB
  • scripts/office/validators/docx.py17.1 KiB
  • scripts/office/validators/pptx.py15.6 KiB
  • scripts/office/validators/redlining.py11.0 KiB
  • scripts/templates/comments.xml2.5 KiB
  • scripts/templates/commentsExtended.xml2.5 KiB
  • scripts/templates/commentsExtensible.xml2.6 KiB
  • scripts/templates/commentsIds.xml2.6 KiB
  • scripts/templates/people.xml115 B

来源与审核

审核状态
尚未审核,内容来自上游来源
许可证
未说明

审核状态是平台对上架信息的记录,不构成对上游服务质量或可用性的担保。