Word Document Reader and Writer
HKUDS/DeepTutor
Reads, creates and edits Word .docx files with python-docx, and drops to raw OOXML for tracked changes, comments and byte-exact edits.
Routes a Word document request to the right approach: a TypeScript library for new files, XML editing for existing ones, and plain reading only.
$ npx skills add pipeshub-ai/pipeshub-ai --skill docx -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pipeshub-ai/pipeshub-ai docx --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/docx .claude/skills/docx && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "docx" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/docx into .claude/skills/docx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docx", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/docxType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add pipeshub-ai/pipeshub-ai --skill docx -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pipeshub-ai/pipeshub-ai docx --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .agents/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/docx .agents/skills/docx && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "docx" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/docx into .agents/skills/docx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docx", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pipeshub-ai/pipeshub-ai --skill docx -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pipeshub-ai/pipeshub-ai docx --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/docx .cursor/skills/docx && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "docx" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/docx into .cursor/skills/docx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docx", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/pipeshub-ai/pipeshub-ai.git --path backend/python/app/agents/agent_loop/skills/builtin_packs/docx--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add pipeshub-ai/pipeshub-ai --skill docx -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pipeshub-ai/pipeshub-ai docx --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/docx .gemini/skills/docx && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "docx" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/docx into .gemini/skills/docx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docx", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install pipeshub-ai/pipeshub-ai docxInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add pipeshub-ai/pipeshub-ai --skill docx -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .github/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/docx .github/skills/docx && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "docx" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/docx into .github/skills/docx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docx", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pipeshub-ai/pipeshub-ai --skill docx -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pipeshub-ai/pipeshub-ai docx --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pipeshub-ai/pipeshub-ai.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/backend/python/app/agents/agent_loop/skills/builtin_packs/docx .opencode/skills/docx && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "docx" agent skill from https://github.com/pipeshub-ai/pipeshub-ai/tree/main/backend/python/app/agents/agent_loop/skills/builtin_packs/docx into .opencode/skills/docx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docx", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
docxRoutes a Word document request to the right approach: a TypeScript library for new files, XML editing for existing ones, and plain reading only.
This skill picks an approach for a .docx request: building a brand-new document with a JavaScript document-building package in TypeScript, editing an existing one by unpacking and editing its XML before repacking it, or reading and extracting text with a Python library kept strictly for reading.
For new documents it lists pitfalls that cause a repair prompt or a wrong layout in Word: page size and margins need explicit units rather than a library default, table columns need a fixed-width unit for predictable rendering across Word, Google Docs, and LibreOffice, and bulleted or numbered lists need a registered numbering setup rather than literal bullet characters typed into a line.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a883af6. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Word Document Creation And Editing loads about 1.3k tokens when it runs. Until then it costs about 119 tokens; SKILL.md has 636 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from pipeshub-ai/pipeshub-ai at commit a883af6, republished under its Apache-2.0 licence (© pipeshub-ai). 636 words, ~1,308 tokens.
.claude/skills/docx/SKILL.md (or your agent's skills folder).| Task | Approach |
|---|---|
| Create a new .docx from scratch | docx (docx-js) — write a TypeScript program (packages: ["docx"]) and run it via your coding tool |
| Edit an existing .docx | office-utils: unpack → edit XML → pack (see that skill) |
| Read / extract text from a .docx | python-docx or docx2python (Python, already installed — no pandoc needed) |
Always CREATE documents with docx (docx-js) in TypeScript — never with python-docx. python-docx is in this environment for reading existing documents only. Run the TypeScript program via whatever coding surface you have: the run_code tool directly (language="typescript", packages=["docx"]), or the coding_agent delegate — in that case restate these library/language requirements in its goal. The library is pre-installed in the standard sandbox image, so the install step is an instant no-op there.
docx-js (npm package docx) builds a document as a tree of JS objects, then serializes it. The hard-won pitfalls below are the difference between a .docx that opens cleanly in Word/Google Docs and one that shows a repair prompt or renders with the wrong layout — verify your generated file against every one of these before considering the task done.
{ width: 12240, height: 15840 } DXA. Always set Document.sections[0].properties.page.size explicitly — don't rely on the library default, which may not match what the user expects.WidthType.DXA, not WidthType.PERCENTAGE, for predictable rendering. Percentage widths compute inconsistently across renderers (Word vs. Google Docs vs. LibreOffice) when the table has merged cells or nested tables. Compute explicit DXA widths that sum to the usable page width (page width minus left+right margins).LevelFormat numbering config registered on the document, not literal unicode bullet characters (•, -) typed into a text run. A literal bullet character is not a list to Word — it can't be renumbered, indented, or styled as one. Define a numbering.config with LevelFormat.BULLET (or LevelFormat.DECIMAL for numbered lists) and reference it from each paragraph's numbering property.Paragraph, not a standalone element. Use new Paragraph({ children: [new PageBreak()] }) — inserting a bare PageBreak() outside a paragraph will fail to serialize correctly in some docx-js versions.TableOfContents) only picks up paragraphs styled with a real Heading style (HeadingLevel.HEADING_1 etc.), never plain bold text. If the user wants a working, clickable/updatable ToC, every section title must use a heading style — and the ToC itself needs a "right-click → Update Field" note in your response, since docx-js writes the ToC's field code but cannot pre-compute the resulting page numbers without a real layout engine.size (half-points) on any TextRun where the default (usually 11pt/22 half-points) doesn't match the user's request — half-points, not points: 12pt text is size: 24.Use the office-utils skill's unpack → edit → pack cycle: the document body lives in word/document.xml inside the unpacked tree. Locate the <w:p> (paragraph) or <w:tbl> (table) you need to change, make the smallest edit that achieves the goal, and repack. Do not attempt to regenerate the whole document via docx-js just to change one paragraph — you will lose any formatting/styles the original author applied that aren't represented in your regenerated version.
python-docx: Document(path).paragraphs / .tables for structured access (paragraph text + style, table cell grids).docx2python: better for a fast, structure-preserving plain-text dump when you just need the content, not to manipulate specific elements.Both are already installed in the sandbox — no install_packages call needed.
.doc → .docx conversion, and .docx → PDF rendering — both require LibreOffice, which is not installed in the sandbox yet. Tell the user this rather than attempting a workaround that will silently produce a wrong result.© pipeshub-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in backend/python/app/agents/agent_loop/skills/builtin_packs/docx of pipeshub-ai/pipeshub-ai.
Open the folder on GitHubat commit a883af6
Word Document Creation And Editing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Word Document Creation And Editing this skillpipeshub-ai/pipeshub-ai | 3.8k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Word Document Reader and WriterHKUDS/DeepTutor | 41k | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Word DOCX ToolkitTokenRhythm/opensquilla | 7.1k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Markdown to Word Convertercat-xierluo/SuitAgent | 205 | — | ~559 | Automated safety check: Pass | MIT | |
| DOCXLeastBit/Claude_skills_zh-CN | 588 | — | ~1.3k | Automated safety check: Notes | Proprietary | |
| Office DOCXsingula-ai/alego | 109 | 1 repos | ~1.5k | Automated safety check: Pass | MIT |
HKUDS/DeepTutor
Reads, creates and edits Word .docx files with python-docx, and drops to raw OOXML for tracked changes, comments and byte-exact edits.
TokenRhythm/opensquilla
Inspects, edits in place or creates Word .docx files with bundled Python scripts, keeping existing styles intact when content changes.
cat-xierluo/SuitAgent
Converts Markdown files into Word documents formatted to Chinese typesetting conventions, with presets for academic, legal, report and book layouts.
LeastBit/Claude_skills_zh-CN
全面的文档创建、编辑和分析功能,支持修订追踪、批注、格式保留和文本提取。当 Claude 需要处理专业文档(.docx 文件)时使用:(1) 创建新文档,(2) 修改或编辑内容,(3) 处理修订追踪,(4) 添加批注,或其他任何文档任务
singula-ai/alego
Create, read, edit, and check Word documents (.docx), including reports, letters, and formatted tables.
daymade/claude-code-skills
读取 Word/WPS 审阅后的 docx,把批注(comments)与修订(track changes)提取成可逐条裁决的 markdown 对账表或 JSON。触发场景:对方批注完的合同/协议/书稿/报告回来了要读意见;「提取 docx 批注」「审阅意见对账」「读一下修订」「谁批了什么、批在哪」;WPS 云文档/Word 在线协作…
pipeshub-ai/pipeshub-ai
Creates and edits .xlsx workbooks with real Excel formulas rather than hardcoded computed values, defaulting to exceljs in TypeScript with a static formula-safety check.
pipeshub-ai/pipeshub-ai
Unpacks a .docx or .pptx into pretty-printed XML, lets you make small targeted edits, and repacks it into a file Office will open.
pipeshub-ai/pipeshub-ai
Picks the right library for generating a new PDF, filling an existing PDF form, or extracting text and tables, defaulting to Node where possible.
pipeshub-ai/pipeshub-ai
Creates new PowerPoint decks with pptxgenjs in TypeScript, reads existing decks with python-pptx, and applies a design-quality checklist so every slide has real visual hierarchy.
pipeshub-ai/pipeshub-ai
Loads, cleans, aggregates and joins tabular data with pandas under a verification rule: every number reported must be one that the code actually printed.
pipeshub-ai/pipeshub-ai
Picks the right chart type for a data question and applies readability rules like axis labels, colorblind palettes and legend restraint.
Categories
Routes a Word document request to the right approach: a TypeScript library for new files, XML editing for existing ones, and plain reading only. docx request: building a brand-new document with a JavaScript document-building package in TypeScript, editing an existing one by unpacking and editing its XML before repacking it, or reading and extracting text with a Python library kept strictly for reading.
Word Document Creation And Editing fits situations like: creating a new report, memo, letter, or proposal as a .docx file; editing an existing Word document's content or structure; reading or summarizing the contents of a .docx file.
Run `npx skills add pipeshub-ai/pipeshub-ai --skill docx -a claude-code`. Or copy the skill folder (backend/python/app/agents/agent_loop/skills/builtin_packs/docx in pipeshub-ai/pipeshub-ai) into .claude/skills/docx in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pipeshub-ai/pipeshub-ai --skill docx -a codex`. Or copy the skill folder (backend/python/app/agents/agent_loop/skills/builtin_packs/docx in pipeshub-ai/pipeshub-ai) into .agents/skills/docx in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pipeshub-ai/pipeshub-ai --skill docx -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/docx, .gemini/skills/docx, .github/skills/docx and .opencode/skills/docx in your project.
SKILL.md names no scripts, command-line tools or credentials: Word Document Creation And Editing is instructions for the agent only. Our summary lists: Node.js with the docx package for creating files; python-docx or docx2python for reading files.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Word Document Creation And Editing is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Word Document Creation And Editing: Word Document Reader and Writer (HKUDS/DeepTutor, 41k stars), Word DOCX Toolkit (TokenRhythm/opensquilla, 7.1k stars), Markdown to Word Converter (cat-xierluo/SuitAgent, 205 stars) and DOCX (LeastBit/Claude_skills_zh-CN, 588 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pipeshub-ai (a GitHub organization) maintains it in pipeshub-ai/pipeshub-ai, which has 3,821 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 9, 2026.
Source: pipeshub-ai/pipeshub-ai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.