Markitdown
AI Skills that create PowerPoint from your templates. Preserves brand design, fonts, colors, layouts. For Claude Code & Copilot.
npx -y skills add anyideaz/pptx-skills --skill markitdownAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Convert documents (Excel, PDF, Word, PPTX, HTML, CSV, images...) to Markdown using markitdown, ready as input for slide-generate.
SKILL.md
4.2 KB, as published. Nobody here has run it
Skill: markitdown
Convert documents of various formats into clean Markdown text using the markitdown library. The resulting Markdown can be used as content input for slide-generate.
Supported formats: PDF, Word (.docx), Excel (.xlsx/.xls), PowerPoint (.pptx), HTML, CSV, JSON, XML, images (JPEG/PNG/GIF/WebP), audio (MP3/WAV — requires optional deps), ZIP archives, EPub, and more.
Workflow
Step 1 — Accept Input
Ask the user for the input file path if not provided. Confirm the file exists.
Optionally ask:
- Output name (optional): name for the source workspace (default: derived from filename)
Step 2 — Derive Source Name
Derive a filesystem-safe source name from the filename:
- Take the filename without extension (e.g.,
Q4-Sales-Report.xlsx→q4-sales-report) - Replace spaces and special characters with hyphens
- Convert to lowercase
Step 3 — Create Workspace
Create the source workspace directory:
slide-workspace/sources/{source-name}/
Step 4 — Check Dependencies
Check that markitdown is available:
python -c "import markitdown" 2>/dev/null || python3 -c "import markitdown" 2>/dev/null
If the check fails, run the appropriate setup script:
- Unix/macOS:
bash shared/scripts/setup_deps.sh - Windows:
powershell -ExecutionPolicy Bypass -File shared/scripts/setup_deps.ps1
Step 5 — Run Conversion
Run the conversion script:
python shared/scripts/convert_to_markdown.py \
"{input_file_path}" \
"slide-workspace/sources/{source-name}/content.md"
On Windows (single line):
python shared/scripts/convert_to_markdown.py "{input_file_path}" "slide-workspace/sources/{source-name}/content.md"
If the exit code is non-zero, report the error and stop:
- Exit code
2— input file not found - Exit code
3— conversion error (unsupported format or corrupted file)
Step 6 — Read and Summarize Output
Read the first 100 lines of slide-workspace/sources/{source-name}/content.md.
Provide the user with a brief summary:
- File type converted
- Approximate content length (lines / characters)
- Key sections or headings detected in the Markdown
- Output file path
Step 7 — Suggest Next Steps
Suggest the user can now run /slide-generate using this Markdown as the topic/content input:
The converted content is saved at
slide-workspace/sources/{source-name}/content.md. You can use it as input for/slide-generate— just reference this file or paste relevant sections as the presentation topic.
Output Structure
slide-workspace/
sources/
{source-name}/
content.md ← Converted Markdown content
Error Handling
- File not found: Ask user to verify the path
- Unsupported format: markitdown supports most common formats; report the extension and suggest converting to a supported format
- Exit code 3 (conversion error): File may be password-protected, corrupted, or require optional dependencies (e.g., for audio transcription,
markitdown[audio]is needed) - Empty output: File may contain only images or non-extractable content; inform the user
Notes
- markitdown preserves tables from Excel/Word as Markdown tables — these work well as slide content
- For PPTX files, markitdown extracts text from all slides including speaker notes
- For PDF files, text extraction quality depends on whether the PDF is text-based (not scanned images)
- Scanned PDFs (image-only) will produce minimal output; consider using an OCR tool first
- The output
content.mdcan be directly referenced when prompting/slide-generate
Gives 0 of the 12 instructions most pdf office docs skills give
Counted across 635 of the 690 authors here whose files we hold, read 2026-08-06
- extract text using pdfplumberin 92 of 635, across 25 files
- create PDFs using reportlabin 83 of 635, across 16 files
- read FORMS.md to fill out PDF formsin 80 of 635, across 13 files
- OCR scanned PDFs using pytesseractin 77 of 635, across 10 files
- merge or split PDFs using qpdfin 70 of 635, across 3 files
- use Excel formulas instead of hardcoded calculated valuesin 68 of 635, across 12 files
- unpack edit xml and repack existing documentsin 63 of 635, across 8 files
- document sources for hardcoded valuesin 61 of 635, across 9 files
- write minimal python code without unnecessary commentsin 59 of 635, across 7 files
- run the recalculation script after adding or modifying formulasin 58 of 635, across 6 files
- fix all identified formula errors and recalculatein 58 of 635, across 6 files
- format years as text stringsin 57 of 635, across 5 files
Said here and by no other author read
- derive a filesystem-safe source name from the filename
- create a source workspace directory
- stop if the conversion script exits non-zero
- read the first 100 lines of the output markdown
- provide a brief summary of the converted content
- suggest running slide-generate with the output file
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.