Original: anthropics/skills Localized for WorkBuddy by 非宜
TaskGuideRead/analyze contentpython -m markitdown presentation.pptxEdit or create from templateRead editing.mdCreate from scratchRead pptxgenjs.md
bash
# Text extraction
python -m markitdown presentation.pptx
# Visual overview (requires LibreOffice + Poppler)
python scripts/thumbnail.py presentation.pptx
# Raw XML
python scripts/office/unpack.py presentation.pptx unpacked/
Read editing.md for full details.
thumbnail.pyRead pptxgenjs.md for full details.
Use when no template or reference presentation is available.
Uses pptxgenjs (Node.js) to programmatically generate .pptx files.
Don't create boring slides. Plain bullets on a white background won't impress anyone. Consider ideas from this list for each slide.
ThemePrimarySecondaryAccentMidnight Executive1E2761 (navy)CADCFC (ice blue)FFFFFF (white)Forest & Moss2C5F2D (forest)97BC62 (moss)F5F5F5 (cream)Coral EnergyF96167 (coral)F9E795 (gold)2F3C7E (navy)Warm TerracottaB85042 (terracotta)E7E8D1 (sand)A7BEAE (sage)Ocean Gradient065A82 (deep blue)1C7293 (teal)21295C (midnight)Charcoal Minimal36454F (charcoal)F2F2F2 (off-white)212121 (black)
Header FontBody FontGeorgiaCalibriArial BlackArialCalibriCalibri LightCambriaCalibriTrebuchet MSCalibriElementSizeSlide title36-44pt boldSection header20-24pt boldBody text14-16ptCaptions10-12pt muted
Assume there are problems. Your job is to find them.
bash
python -m markitdown output.pptx
Check for missing content, typos, wrong order.
When using templates, check for leftover placeholder text:
bash
python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"
Convert slides to images, then inspect visually:
bash
# Convert to PDF first (requires LibreOffice)
python scripts/office/soffice.py --headless --convert-to pdf output.pptx
# Convert PDF to JPEG images (requires Poppler - pdftoppm)
pdftoppm -jpeg -r 150 output.pdf slide
This creates slide-01.jpg, slide-02.jpg, etc.
Install these once (managed under ~/.workbuddy/binaries/):
bash
# Python: text extraction
pip install "markitdown[pptx]" Pillow defusedxml
# Node.js: create presentations from scratch
npm install -g pptxgenjs
# Optional (for visual QA):
# - LibreOffice (soffice) for PDF conversion
# - Poppler (pdftoppm) for PDF-to-image conversion
Windows Note:
soffice.pyin this localized version skips theAF_UNIXsocket shim (Linux-only). It simply runssofficedirectly viasubprocess.run. Make sure LibreOffice is installed andsofficeis in your PATH, or set theSOFFICE_PATHenvironment variable to the full path ofsoffice.exe.
scripts/office/soffice.py — Removed AF_UNIX / LD_PRELOAD shim logic.
Windows never blocks AF_UNIX, so the script just delegates to soffice directly.scripts/office/unpack.py / pack.py — Use defusedxml.minidom (same as upstream).
No changes needed.C:\Users\Administrator\.workbuddy\binaries\node\versions\node-v20.18.0-win-x64\node.exe
and the managed npm global prefix for pptxgenjs.pdftoppm — On Windows, install Poppler for Windows
or use png output from LibreOffice directly as a fallback.ScriptPurposescripts/office/unpack.pyExtract and pretty-print PPTXscripts/add_slide.pyDuplicate slide or create from layoutscripts/clean.pyRemove orphaned filesscripts/office/pack.pyRepack with validationscripts/thumbnail.pyCreate visual grid of slidesscripts/office/soffice.pyRun LibreOffice (Windows-compatible)