Install
$ agentstack add skill-kondrashovdenis-claude-md-docx-skill-claude-md-docx-skill ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
DOCX (Windows + Cyrillic)
Two CLI scripts on top of Python (read) and docx-js (write). Works on Windows, doesn't crash on cp1251, doesn't require pandoc / soffice.
When to use
- The user attached a
.docxfile and wants its content extracted - Need to generate a letter / commercial offer / spec / report as
.docx - Need to save your work as a real Word document, not markdown
For tracked changes, comments, or find-and-replace inside existing documents - use the official anthropic-skills:docx instead.
Reading
python "/scripts/read_docx.py" "/absolute/path/to/file.docx"
Where `` is typically:
- Linux / macOS:
~/.claude/skills/docx-ru - Windows:
%USERPROFILE%\.claude\skills\docx-ru
Output is plain text split by paragraphs (UTF-8 stdout). Add --tables to render tables as pipe-separated rows: cell | cell | cell.
Creating
- Write a JSON config with blocks (see schema below) using the
Writetool. A typical scratch path is./_tmp_docx.json. - Run the builder:
node "/scripts/build_docx.js" --config "./_tmp_docx.json" --out "./result.docx"
The script automatically replaces em-dashes and en-dashes with regular hyphens so generated text doesn't look AI-written. Pass --keep-dashes to disable.
JSON config schema
{
"font": "Arial",
"fontSize": 22,
"pageSize": "A4",
"margins": 1134,
"blocks": [
{ "type": "h1", "text": "Heading 1" },
{ "type": "h2", "text": "Heading 2" },
{ "type": "p", "text": "Regular paragraph", "bold": false, "italic": false, "center": false },
{ "type": "pRich", "runs": [
{ "text": "Bold fragment: ", "bold": true },
{ "text": "and the rest in plain text." }
]
},
{ "type": "bullet", "text": "Bulleted list item" },
{ "type": "number", "text": "Numbered list item" },
{ "type": "divider" },
{ "type": "image", "path": "./logo.png", "width": 300, "center": true },
{ "type": "table",
"widths": [3600, 2700, 2700],
"header": ["Column 1", "Column 2", "Column 3"],
"rows": [
["cell", "cell", "cell"]
],
"firstColBold": true,
"shadeHeader": "E8E8E8"
}
]
}
All fields except blocks are optional. Defaults: Arial 11pt, A4, 2 cm margins, tables with grey header and thin grey border. Column widths are in DXA (1440 = 1 inch, 1134 = 2 cm). The table width is the sum of widths.
For image blocks: path is required, width/height are in pixels (if only one is given, the other scales proportionally from the file's natural size; if neither, natural size is used). Supported formats: PNG, JPG, GIF, BMP — type is detected by extension and magic bytes. center aligns the image; before/after set paragraph spacing in twips.
A complete example is in examples/basic.json next to this file.
Dependencies
Must be installed globally on the user's machine (skill assumes they exist):
- Node.js +
npm i -g docx(tested withdocx@9.6.1) - Python 3 with built-in
zipfile
Working rules
- For a new
.docx, always use this skill instead of writing an inline JS-script withdocx-jsboilerplate from scratch - For reading an existing
.docx, tryread_docx.pyfirst; only escalate toanthropic-skills:docxif you actually need tracked changes / complex formatting - In Windows paths, use double backslashes inside JSON (
"C:\\Users\\...") or forward slashes - After creating a
.docx, verify file size withls -l; a normal document is > 8 KB
По-русски
Облегчённый skill для чтения и создания .docx на Windows с нормальной поддержкой русского. Альтернатива anthropic-skills:docx, когда не нужны tracked changes / find-replace.
Чтение: python /scripts/read_docx.py file.docx [--tables] - выдаёт plain text с разбивкой по параграфам, опционально рендерит таблицы. UTF-8 stdout всегда (на cp1251 не падает).
Создание: написать JSON-конфиг (схема выше) → node /scripts/build_docx.js --config spec.json --out result.docx. Автоматически заменяет em-dash и en-dash на обычный дефис, чтобы текст не выглядел сгенерированным ИИ. --keep-dashes отключает.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: KondrashovDenis
- Source: KondrashovDenis/claude-md-docx-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.