Skip to main content

docx

Unified DOCX skill — create, template-apply, edit/fill, read, repair, and compare Word documents. Use for formal Word deliverables and DOCX diagnosis. Not for PDF/PPT or casual plain-text drafting.

Ir para a instalação

Informações da origem

Repositório
MiniMax-AI/minimax-code
Última atividade na origem
18 de setembro de 2026 às 11:25
Idioma detectado do SKILL.md
inglês
Estrelas
589
Forks
67

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
100 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
docx
metadata
{"version":"4.0.0","category":"document-processing","status":"stable","author":"MiniMaxAI","sources":["ECMA-376 Office Open XML File Formats","GB/T 9704-2012 Layout Standard for Official Documents","IEEE / ACM / APA / MLA / Chicago / Turabian Style Guides","Springer LNCS / Nature / HBR Document Templates"]}
description
Unified DOCX skill — create, template-apply, edit/fill, read, repair, and compare Word documents. Use for formal Word deliverables and DOCX diagnosis. Not for PDF/PPT or casual plain-text drafting.
descriptions
{"zh-Hans":"创建、套模板、编辑、读取、修复和比较 Word DOCX 文档,适用于正式文档交付。"}
triggers
["Word","docx","document","文档","Word文档","报告","合同","公文","套模板","排版","修目录","修页眉页脚"]
# docx Replace `<skill_dir>` with the actual skill path shown by the loader. Unified DOCX skill. `SKILL.md` is the dispatch layer. Pick the route that matches the user’s intent, read that route guide, then go straight into execution. Do not front-load every task with the full evidence/backend/acceptance waterfall. ## Environment gates The env gate ships in two equivalent dialects so the skill works on macOS, Linux/WSL, and Windows without any cygwin/git-bash hack: | Platform | Setup | Env check | |---|---|---| | macOS / Linux / WSL | `bash <skill_dir>/scripts/setup.sh` | `bash <skill_dir>/scripts/env_check.sh --level <lvl>` | | Windows (PowerShell 5.1+) | `powershell -ExecutionPolicy Bypass -File <skill_dir>\scripts\setup.ps1` | `powershell -ExecutionPolicy Bypass -File <skill_dir>\scripts\env_check.ps1 -Level <lvl>` | Both dialects accept the same three levels (`read | render | full`, default `full`) and produce the same `[OK] / [FAIL] / Status: READY|NOT READY` lines, so a route may be gated on either one. The skill loader runs **only the read gate** at load time, so missing dotnet/soffice does not block read-only routes. ### Read gate Checked at skill load time (automatic). Applies to: `READ_CONTENT`, `READ_STRUCTURE`, `COMPARE_TWO_DOCX`. ```bash # macOS / Linux / WSL bash <skill_dir>/scripts/env_check.sh --level read # Windows powershell -ExecutionPolicy Bypass -File <skill_dir>\scripts\env_check.ps1 -Level Read ``` Requires: `python3` (or `python` launcher on Windows), `unzip` (or `tar.exe` on Windows 10+), UTF-8 console. If the read gate fails, the skill cannot load at all. ### Render gate Run before `READ_RENDERED` routes. Includes all read-level checks plus: ```bash bash <skill_dir>/scripts/env_check.sh --level render # *nix powershell -ExecutionPolicy Bypass -File <skill_dir>\scripts\env_check.ps1 -Level Render # Windows ``` Requires (in addition to read): `soffice` / `soffice.exe`, `pdftoppm` (or `pdftocairo`). If the render gate fails, stop and report. Do not silently fall back to structure-only reads. ### Full gate Run before `CREATE_DOCX`, `APPLY_TEMPLATE`, `EDIT_FILL_DOCX`, `REPAIR_LAYOUT` routes. ```bash bash <skill_dir>/scripts/env_check.sh --level full # *nix powershell -ExecutionPolicy Bypass -File <skill_dir>\scripts\env_check.ps1 -Level Full # Windows ``` Requires (in addition to render): `dotnet` >= 9, `pandoc`, `zip` (or `Compress-Archive` on Windows), dotnet project built. If the full gate fails, stop and report. Do not attempt generation with missing dependencies. ### Cross-platform path & temp-dir convention Examples in `docs/` and `references/` are written for *nix shells. When you execute on Windows, do these substitutions consistently: | In the example | Windows substitute | |---|---| | `<skill_dir>/scripts/foo.sh` | `<skill_dir>\scripts\foo.ps1` (every `.sh` has a `.ps1` peer) | | `python3 <skill_dir>/scripts/foo.py` | `python <skill_dir>\scripts\foo.py` (the `.py` files are cross-platform) | | `/tmp/docx-<thing>` | `$env:TEMP\docx-<thing>` | | `bash <skill_dir>/scripts/setup.sh` | `powershell -ExecutionPolicy Bypass -File <skill_dir>\scripts\setup.ps1` | | `forward slashes in paths` | backslashes; quote any path containing spaces | Never invoke a `.sh` script through git-bash on Windows — `setup.sh` will refuse to install anything on `MINGW*/MSYS*/CYGWIN*` and tell you to switch to `powershell.exe` / `pwsh.exe`. ## Operational rules — read before doing anything > **1. Dispatch by user intent, not by backend.** > > Start with the shortest route choice: > > - creating a new formal Word deliverable -> `CREATE_DOCX` > - preserving content but changing template / institutional style -> `APPLY_TEMPLATE` > - editing an existing DOCX in place -> `EDIT_FILL_DOCX` > - reading text / structure / rendered pages -> matching read route > - fixing visible defects -> `REPAIR_LAYOUT` > - comparing two DOCX files -> `COMPARE_TWO_DOCX` > > Read `docs/router.md` only to settle the route. Do not read `docs/evidence.md`, `docs/backends.md`, > and `docs/acceptance.md` before route selection. > **2. For generation routes, choose style family / recipe before backend.** > > The old benchmarked generation core stays in this skill. For `CREATE_DOCX` and `APPLY_TEMPLATE`, > the first substantive decision is the visual system, not the backend. Reuse these files as the > generation core: > > - `references/typography_guide.md` > - `references/design_principles.md` > - `references/cjk_typography.md` > - `scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples*.cs` > > These are not optional decoration. They are the quality-preserving recipe layer. > **3. Backend comes after route + recipe.** > > - `D` is the default write backend for formal DOCX creation, template application, and most edits. > - `S` is only for OpenXML graph work beyond the builtin CLI surface. > - `X` is only for deterministic local XML patch / inspection work. > - Formal `CREATE_DOCX` is never routed to pandoc as a generation backend. > - If a chosen backend gate fails, stop and report it. Do not silently switch. > **4. Rendered acceptance is a post-write gate, not a pre-dispatch hop.** > > For template, layout, TOC, multi-section, header/footer, and page-number work, finish the write > first, then run rendered acceptance from `docs/acceptance.md` / `docs/rendered-delivery.md`. > **5. Keep DOCX execution inside this skill.** > > Do not bounce rendered diagnosis to another skill. Do not treat raw XML string replace as a valid > editing strategy. Do not use `readlink`, `$0`, or shell path tricks in skill docs; use `<skill_dir>` only. > **6. DOCX→PDF is native to this skill.** > If the user asks to convert an existing Word/DOCX document to PDF while > preserving layout, do it here via `python3 <skill_dir>/scripts/docx_to_pdf.py` > (or `soffice --headless --convert-to pdf` as fallback), then verify the PDF. > Do not route DOCX→Markdown/HTML→PDF for a preservation task: DOCX already > carries page geometry, sections, headers/footers, fields, numbering, and table > layout. HTML/PDF belongs to redesign/recomposition after native render fails > or when explicitly requested. ## Routes — pick one, then read that guide ### WRITE / GENERATE a DOCX | Intent | Guide | What happens next | |---|---|---| | **CREATE_DOCX** — author a new report / proposal / contract / memo / thesis / 公文 | `docs/task-create.md` | normalize source -> choose recipe family -> choose `D`/`S` -> write -> acceptance | | **APPLY_TEMPLATE** — preserve content but move into a template / institutional visual system | `docs/task-apply-template.md` | choose template mode -> align recipe family -> read only the needed structure -> choose `D`/`S` -> write -> strict rendered acceptance | | **EDIT_FILL_DOCX** — mutate content in an existing DOCX while keeping it the same document | `docs/task-edit-fill.md` | choose edit mode -> choose `X`/`D`/`S` -> mutate -> acceptance | ### READ / DIAGNOSE / REPAIR a DOCX | Intent | Guide | Primary truth | |---|---|---| | **READ_CONTENT** — summarize / quote / retrieve text | `docs/task-read-content.md` | content | | **READ_STRUCTURE** — inspect styles / sections / numbering / TOC / comments / revisions | `docs/task-read-structure.md` | structure | | **READ_RENDERED** — inspect what the pages actually look like | `docs/task-read-rendered.md` | rendered + structure | | **REPAIR_LAYOUT** — fix page-level defects | `docs/task-repair-layout.md` | rendered -> structure -> rendered | | **COMPARE_TWO_DOCX** — explain before/after or source/template differences | `docs/task-compare-two-docx.md` | content + structure + rendered | ## Deep docs — only after the route is clear | File | Use when | |---|---| | `docs/router.md` | settle route choice | | `docs/evidence.md` | the selected route needs truth-source clarification | | `docs/backends.md` | the selected route needs backend arbitration | | `docs/acceptance.md` | you are ready to validate deliverables | | `docs/rendered-delivery.md` | rendered issue report shape is required | ## Generation core references Use these after `CREATE_DOCX` / `APPLY_TEMPLATE` is selected: | File | Role | |---|---| | `references/scenario_a_create.md` | create-from-scratch mechanics | | `references/scenario_c_apply_template.md` | template transfer and multi-section rules | | `references/typography_guide.md` | font pairings, sizes, spacing, page layout, table rules | | `references/design_principles.md` | visual judgment rules when exact specs are missing | | `references/cjk_typography.md` | CJK fonts, 字号, mixed-script rules, 公文 defaults | | `scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples*.cs` | benchmarked recipe families; choose one instead of inventing values | ## Runtime shorthands ```bash # macOS / Linux / WSL CLI="dotnet run --project <skill_dir>/scripts/dotnet/MiniMaxAIDocx.Cli --" TMPDIR_DOCX="${TMPDIR:-/tmp}" ``` ```powershell # Windows PowerShell $CLI = "dotnet run --project <skill_dir>\scripts\dotnet\MiniMaxAIDocx.Cli --" $TmpDocx = $env:TEMP ``` Common commands (substitute `$TMPDIR_DOCX` / `$TmpDocx` for the literal `/tmp` examples elsewhere in `docs/`): ```bash $CLI analyze --input in.docx --json $CLI diff --before before.docx --after after.docx $CLI merge-runs --input out.docx $CLI validate --input out.docx --xsd <skill_dir>/assets/xsd/wml-subset.xsd $CLI validate --input out.docx --business $CLI validate --input out.docx --gate-check <skill_dir>/assets/xsd/business-rules.xsd python3 <skill_dir>/scripts/docx_to_pdf.py --input in.docx --output "$TMPDIR_DOCX/docx-render.pdf" python3 <skill_dir>/scripts/render_docx_pages.py in.docx --output-dir "$TMPDIR_DOCX/docx-pages" ``` On Windows substitute `python3` -> `python`, `/` -> `\`, and `$TMPDIR_DOCX` -> `$env:TEMP`. The underlying `.py` scripts use `tempfile.TemporaryDirectory` and `Path(...).expanduser().resolve()` so they do not care which slash style you pass in. ## Structural non-negotiables - `w:p` = `pPr` -> runs - `w:r` = `rPr` -> text-like children - `w:tbl` = `tblPr` -> `tblGrid` -> rows - `w:body` ends with `sectPr` - heading styles need `OutlineLevel` - direct formatting contamination must be stripped unless explicitly preserved - template and multi-section work must preserve section graph, `titlePg`, and per-section headers/footers ## Out of scope - PDF / PPT deliverables -> use `pdf` / `pptx` - casual plain-text drafting with no DOCX output - pretending a Word-authored DOCX can be safely round-tripped through pandoc for formal output
Ver no GitHub