Subchapter 89.1
references/setup.mdMarkdown3 KBView on GitHub
Follow these steps exactly, in order, before running scripts/convert_pdf_to_md.py
for the first time in a given environment. Don’t skip steps or improvise
alternatives — they’re written to be deterministic and safe to re-run.
python --versionwinget install --id Python.Python.3.12 -ebrew install python@3.12sudo apt-get update && sudo apt-get install -y python3 python3-pip python-is-python3python -m pip --versionpython -m ensurepip --upgradeUse the scripts/requirements.txt file bundled with this skill to install pinned,
known-good versions of the dependencies:
python -m pip install -r scripts/requirements.txtThis pulls in markitdown[pdf] and pymupdf>=1.24.0. PyMuPDF (imported as fitz)
is required separately because MarkItDown’s PDF
converter only extracts text and tables — it has no support for embedded
images at all, so this skill’s script extracts them itself.
python -c "from markitdown import MarkItDown; import fitz; print('markitdown + pymupdf OK')"Expect to see markitdown + pymupdf OK printed with no errors. If you see a
ModuleNotFoundError, repeat step 3 — pip may be installing into a
different Python environment than the one being invoked (check
python -m pip --version shows the same path as python --version‘s
interpreter).
convert_pdf_to_md.py itself also checks for markitdown and fitz at
startup and prints a pointer back to this file if either is missing, so
re-running setup is safe and idempotent..pdf is supported by this skill — it’s MarkItDown’s only PDF-family
format, so there’s no legacy-format equivalent to worry about (unlike
Word’s .doc or Excel’s .xls).