Agent skill
docx-to-markdown
Install this agent skill to your Project
npx add-skill https://github.com/jykim/claude-obsidian-skills/tree/main/docx-to-markdown
SKILL.md
DOCX to Markdown Skill
Convert DOCX files to well-formatted markdown files with images extracted.
Usage
python3 docx_to_markdown.py "<docx_path>" -o "<output_path>"
Features
- Metadata extraction: title, author, subject, keywords
- Heading preservation: Maintains H1-H6 hierarchy from Word styles
- Inline formatting: Bold, italic conversion
- List support: Ordered and unordered lists
- Table extraction: Tables converted to markdown format
- Image extraction: Extracts images to
_files_/folder with document prefix
Output Structure
output_dir/
├── document.docx # Original file
├── document.md # Extracted markdown
└── _files_/ # Images folder
├── DocTitle_image1.png
├── DocTitle_figure2.jpg
└── ...
Image Prefix
Images are extracted with a document prefix derived from the title:
- Title: "Die Empty: Unleash Your Best Work Every Day"
- Prefix:
DieEmptyUnleash(first 3 words, special chars removed) - Image:
_files_/DieEmptyUnleash_image1.png
This prevents filename collisions when extracting multiple documents to the same folder.
Output Format
---
title: {from metadata}
author: {from metadata}
source_file: original.docx
source_type: docx
extracted: YYYY-MM-DD HH:MM:SS
status: extracted
---
# {Document Title}
{content with  links}
Dependencies
pip install python-docx
Or use requirements.txt:
pip install -r requirements.txt
Options
| Flag | Description |
|---|---|
-o, --output |
Output markdown file path (default: same as docx with .md) |
-q, --quiet |
Suppress progress messages |
Limitations
- Password-protected DOCX: Cannot be opened (will fail with error)
- Complex layouts: May not preserve exact positioning
- Embedded objects: Non-image objects may not be extracted
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
obsidian-cli
Interact with Obsidian using the official CLI to read, search, create, and manage notes, daily notes, tasks, properties, and more. Use when the user wants to query or manipulate vault content via the obsidian command.
gemini-image-skill
obsidian-mermaid
Create Obsidian-compatible Mermaid diagrams. Prefer square layouts (TB + subgraph LR), avoid markdown in labels. Use when creating flowcharts, sequence diagrams, or any Mermaid diagrams in markdown files.
obsidian-yaml-frontmatter
Manage YAML frontmatter properties with consistent formatting, property names, and value types. Use when creating or updating frontmatter in markdown files.
markdown-slides
Create presentation slides in Markdown format (Deckset/Marp compatible). Use when user requests to create slides, presentations, or convert documents to slide format. Handles image positioning, speaker notes, and proper formatting.
markdown-video
Convert Deckset-format markdown slides with speaker notes to presentation video with TTS narration. Use when user requests to create video from slides, generate presentation video, or convert slides to MP4 format.
Didn't find tool you were looking for?