$npx -y skills add aitytech/agentkits-marketing --skill docxComprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content,
| 1 | # DOCX creation, editing, and analysis |
| 2 | |
| 3 | ## Language & Quality Standards |
| 4 | |
| 5 | **CRITICAL**: Respond in the same language the user is using. If Vietnamese, respond in Vietnamese. If Spanish, respond in Spanish. |
| 6 | |
| 7 | **Standards**: Token efficiency, sacrifice grammar for concision, list unresolved questions at end. |
| 8 | |
| 9 | --- |
| 10 | |
| 11 | ## Overview |
| 12 | |
| 13 | A user may ask you to create, edit, or analyze the contents of a .docx file. A .docx file is essentially a ZIP archive containing XML files and other resources that you can read or edit. You have different tools and workflows available for different tasks. |
| 14 | |
| 15 | ## Workflow Decision Tree |
| 16 | |
| 17 | ### Reading/Analyzing Content |
| 18 | Use "Text extraction" or "Raw XML access" sections below |
| 19 | |
| 20 | ### Creating New Document |
| 21 | Use "Creating a new Word document" workflow |
| 22 | |
| 23 | ### Editing Existing Document |
| 24 | - **Your own document + simple changes** |
| 25 | Use "Basic OOXML editing" workflow |
| 26 | |
| 27 | - **Someone else's document** |
| 28 | Use **"Redlining workflow"** (recommended default) |
| 29 | |
| 30 | - **Legal, academic, business, or government docs** |
| 31 | Use **"Redlining workflow"** (required) |
| 32 | |
| 33 | ## Reading and analyzing content |
| 34 | |
| 35 | ### Text extraction |
| 36 | If you just need to read the text contents of a document, you should convert the document to markdown using pandoc. Pandoc provides excellent support for preserving document structure and can show tracked changes: |
| 37 | |
| 38 | ```bash |
| 39 | # Convert document to markdown with tracked changes |
| 40 | pandoc --track-changes=all path-to-file.docx -o output.md |
| 41 | # Options: --track-changes=accept/reject/all |
| 42 | ``` |
| 43 | |
| 44 | ### Raw XML access |
| 45 | You need raw XML access for: comments, complex formatting, document structure, embedded media, and metadata. For any of these features, you'll need to unpack a document and read its raw XML contents. |
| 46 | |
| 47 | #### Unpacking a file |
| 48 | `python ooxml/scripts/unpack.py <office_file> <output_directory>` |
| 49 | |
| 50 | #### Key file structures |
| 51 | * `word/document.xml` - Main document contents |
| 52 | * `word/comments.xml` - Comments referenced in document.xml |
| 53 | * `word/media/` - Embedded images and media files |
| 54 | * Tracked changes use `<w:ins>` (insertions) and `<w:del>` (deletions) tags |
| 55 | |
| 56 | ## Creating a new Word document |
| 57 | |
| 58 | When creating a new Word document from scratch, use **docx-js**, which allows you to create Word documents using JavaScript/TypeScript. |
| 59 | |
| 60 | ### Workflow |
| 61 | 1. **MANDATORY - READ ENTIRE FILE**: Read [`docx-js.md`](docx-js.md) (~500 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Read the full file content for detailed syntax, critical formatting rules, and best practices before proceeding with document creation. |
| 62 | 2. Create a JavaScript/TypeScript file using Document, Paragraph, TextRun components (You can assume all dependencies are installed, but if not, refer to the dependencies section below) |
| 63 | 3. Export as .docx using Packer.toBuffer() |
| 64 | |
| 65 | ## Editing an existing Word document |
| 66 | |
| 67 | When editing an existing Word document, use the **Document library** (a Python library for OOXML manipulation). The library automatically handles infrastructure setup and provides methods for document manipulation. For complex scenarios, you can access the underlying DOM directly through the library. |
| 68 | |
| 69 | ### Workflow |
| 70 | 1. **MANDATORY - READ ENTIRE FILE**: Read [`ooxml.md`](ooxml.md) (~600 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Read the full file content for the Document library API and XML patterns for directly editing document files. |
| 71 | 2. Unpack the document: `python ooxml/scripts/unpack.py <office_file> <output_directory>` |
| 72 | 3. Create and run a Python script using the Document library (see "Document Library" section in ooxml.md) |
| 73 | 4. Pack the final document: `python ooxml/scripts/pack.py <input_directory> <office_file>` |
| 74 | |
| 75 | The Document library provides both high-level methods for common operations and direct DOM access for complex scenarios. |
| 76 | |
| 77 | ## Redlining workflow for document review |
| 78 | |
| 79 | This workflow allows you to plan comprehensive tracked changes using markdown before implementing them in OOXML. **CRITICAL**: For complete tracked changes, you must implement ALL changes systematically. |
| 80 | |
| 81 | **Batching Strategy**: Group related changes into batches of 3-10 changes. This makes debugging managea |