Skip to content

markdown-converter: documented commands fail on PDF/Office — uvx never installs the extras #41

Description

@pereponkin

Every command in skills/markdown-converter/SKILL.md uses a bare uvx markitdown, which installs the core package only. That works for HTML/CSV/JSON/XML/text, but fails on every binary format the skill advertises — PDF, .docx, .xlsx, .pptx — because the optional extras are never pulled in.

So the skill's own headline example does not run:

$ uvx markitdown input.pdf
Traceback (most recent call last):
  ...
  File ".../markitdown/_markitdown.py", line 360, in convert_local
    return self._convert(file_stream=fh, stream_info_guesses=guesses, **kwargs)
  ...
    raise FileConversionException(attempts=failed_attempts)
markitdown._exceptions.FileConversionException: File conversion failed after 1 attempts:
 - PdfConverter threw MissingDependencyException with message: PdfConverter recognized the
   input as a potential .pdf file, but the dependencies needed to read .pdf files have not
   been installed. To resolve this error, include the optional dependency [pdf] or [all]
   when installing MarkItDown.

Same failure for .docx, .xlsx and .pptx.

Fix — pass the extras through uvx:

uvx --with 'markitdown[all]' markitdown input.pdf -o output.md

Verified working on the same file that produced the traceback above. uv caches the environment, so only the first run pays the download. Per-format extras (markitdown[pdf], [docx], [xlsx], [pptx]) are lighter when the input type is known, but [all] is the safe default for a general-purpose skill.

Since the "no installation required" framing is what makes the skill attractive, it might be worth keeping that line and just moving the extras into every example, rather than adding a separate install step.

Environment: markitdown 0.1.7, uv/uvx 0.11.23, Windows 11.


Secondary, and a documentation suggestion rather than a bug in the skill: for text-based inputs containing Cyrillic, charset auto-detection misreads UTF-8 and writes mojibake into the output file. A CSV containing Переponkin (verified valid UTF-8, no BOM — bytes start d0 9f) converts to –ü–µ—Ä–µponkin. Passing -c UTF-8 fixes it. The corruption lands in the file itself, not just terminal display, so it propagates into whatever consumes the Markdown. -c is already in the options list; one line noting when it is needed would save people the debugging. Binary formats carry their own encoding and are unaffected.


Written by Claude (Anthropic) at the request of the repo user who hit this; they reviewed and consented to filing it. Both issues were reproduced locally before reporting.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal priority bug or improvement with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.no-staleExempts this issue from stale automation.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions