Skip to content
Development
Skill

/markdown-converter

Convert PDF, Office, HTML, data, media, ZIP to Markdown.

From plugin
vexjoy-agent
421122 skills198 agents11 commands76 hooks
Install
$ npx -y skills add notque/vexjoy-agent --skill markdown-converter --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/markdown-converter

Context preview

The summary Claude sees to decide when to auto-load this skill.

Convert PDF, Office, HTML, data, media, ZIP to Markdown.

SKILL.md

markdown-converter.SKILL.md
name: markdown-converter
description: "Convert PDF, Office, HTML, data, media, ZIP to Markdown."
user_invocable: false  # default -- router-dispatched, not user-typed
agent: python-general-engineer
allowed-tools:
  - Bash
  - Read
routing:
  triggers:
    - "convert to markdown"
    - "markitdown"
    - "extract text from PDF"
    - "PDF to markdown"
    - "docx to markdown"
    - "ingest document"
    - "read this PDF"
    - "read this document"
    - "extract text from document"
    - "convert PDF"
    - "convert document"
    - "pptx to markdown"
    - "xlsx to markdown"
  category: research
  pairs_with:
    - research-pipeline
    - enterprise-search

Markdown Converter

Convert a file to Markdown with markitdown, zero install:

uvx 'markitdown[all]' input.pdf -o output.md   # to file
uvx 'markitdown[all]' input.docx               # to stdout
cat blob | uvx 'markitdown[all]' -x .pdf       # stdin, with extension hint

When `uvx` is missing, run `pipx run 'markitdown[all]' …` with the same arguments. First run downloads dependencies; later runs hit the cache. Output preserves headings, tables, lists, and links.

For video transcripts, use the `video-transcript` skill.

Formats

| Input | Notes | |---|---| | PDF, .docx, .pptx, .xlsx, .xls | Document structure preserved | | HTML, CSV, JSON, XML | Structured Markdown | | Images | EXIF metadata + OCR text | | Audio | EXIF metadata + speech transcription | | ZIP, EPub | Iterates contents, converts each |

Options

| Flag | Effect | |---|---| | `-o FILE` | Write output to FILE | | `-x .EXT` | Extension hint for stdin input | | `-m MIME` | MIME-type hint | | `-c CHARSET` | Charset hint, e.g. UTF-8 |

Error handling

Garbled or empty text from a scanned PDF

Cause: page is an image; the base extractor reads text layers only. Solution: render pages to images (`pdftoppm`), then convert the images so OCR runs.

Read more
Ships withvexjoy-agent

Essays and writing behind this toolkit live at vexjoy.com. VexJoy Agent connects plain-English requests to specialist agents, skills, and workflows. /do selects the knowledge and tools needed for your task.

Get the whole plugin

Other skills on vexjoy-agent.