varlabz/skills · Archived

convert-to-markdown

Fetch web content. Use when the user asks to extract text from PDFs, Word docs, PowerPoint, Excel, images, audio, EPUBs, MHTML, YouTube transcripts, or any URL — even if they say 'read this file', 'get the text from', 'extract content', or 'transcribe'.

First seen May 2, 2026

Installation

$ npx skills add varlabz/skills --skill convert-to-markdown

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from varlabz/skills.

npx skills add varlabz/skills

Browse all from varlabz/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

More metadata
tools
uvx

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,801 B
  • docs SUMMARY.md 282 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 49 installs

SKILL.md

Convert Files and URLs to Markdown

All scripts live in scripts/. Run them "as is".

Tool Selection

Input type Command Script location
.pdf, .docx, .pptx, .xlsx, .xls, .csv, .json, .xml, .epub, images (.jpg/.png/etc.), audio (.mp3/.wav/etc.), .html, .txt, .md uvx markitdown <path> built-in CLI
YouTube URL or video ID ./scripts/youtube-transcript <urlorid> scripts/youtube-transcript
Regular web URL (Crawl4AI server running) ./scripts/web-to-md <url> scripts/web-to-md
.mhtml file or MHTML URL ./scripts/mhtml-to-md <source> scripts/mhtml-to-md

YouTube Transcript

./scripts/youtube-transcript <url_or_video_id> [--info] [--lang <code>] [--raw]
  • --info: Include video metadata (title, channel, duration) before transcript.
  • --lang <code>: Subtitle language (e.g. en, de). Default: auto-detect source language.
  • --raw: Output raw VTT instead of cleaned text.

MHTML to Markdown

./scripts/mhtml-to-md <path_or_url>

Accepts local .mhtml files or remote URLs serving MHTML content.

Web Page to Markdown (via Crawl4AI)

./scripts/web-to-md <url> [-o output.md] [-s server_url]

Requires a Crawl4AI server running on http://localhost:11235 (or set $CRAWL4AI_URL). The server fetches the full page HTML; this script converts it to Markdown.

No Crawl4AI? Fall back:

curl -o page.html <url> && uvx markitdown page.html

MarkItDown (General File Conversion)

All other formats use uvx markitdown:

uvx markitdown <path> [-o output.md]

Supports: PDF, DOCX, PPTX, XLSX/XLS, images (EXIF + OCR), audio (transcription), EPUB, CSV, JSON, XML, HTML, TXT, ZIP.

When Things Go Wrong

Issue What to do
Scanned PDF yields no text Try uvx markitdown <path> treating it as an image — markitdown runs OCR on images
Password-protected file Remove password first; markitdown can't decrypt
Large ZIP archive Extract specific files first, then convert individually
YouTube age-restricted video yt-dlp will fail — no workaround
Audio transcription poor quality Depends on audio clarity; nothing we can do from here
Excel has many sheets All sheets included as separate tables in output