document-to-markdown
Skill0 starsChanged 36 days agoMITView on GitHub
Converts a public DOCX, XLSX, PPTX, CSV or HTML file URL into Markdown with the open-source markitdown library, after safe download checks (public URL, size cap, file type from content). No login, no API key. Use when the user gives a link to a Word, Excel, PowerPoint, CSV or HTML file and wants the text, tables or slide notes as Markdown for reading, search or an LLM prompt. Not for PDF files, scanned images, old .doc, .xls or .ppt files, password-protected files, or files behind a login.
- Installs packages
4 other projects use a version of this.
Adopted by
Most recently taken up by
- ubshreenath/document-to-markdowntheir own version, first seen Oct 25, 2026
- instrument-org/skillstheir own version, first seen Oct 22, 2026
- tanod-labs/tanod-mcptheir own version, first seen Oct 17, 2026
- wangge-ai/wangge-skillstheir own version, first seen Oct 13, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- wangge-ai/wangge-skills★ 4same name
- ubshreenath/document-to-markdown★ 2same name
- instrument-org/skills★ 1same name
- tanod-labs/tanod-mcp★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository36 other files it gives its agents.
- sec-13f-holdingsSkill
- airport-reference-dataSkill
- ai-web-scraperSkill
- background-remover-localSkill
- bulk-image-downloaderSkill
- city-building-permitsSkill
- cve-kev-epssSkill
- doaj-open-access-apiSkill
- eu-funding-callsSkill
- ecb-exchange-ratesSkill
- federal-register-rulesSkill
- french-company-searchSkill
- gleif-lei-change-watchSkill
- image-metadata-exifSkill
- lighthouse-auditSkill
- nfl-games-lookupSkill
- openfda-drug-recallsSkill
- football-fixtures-lookupSkill
- oracle-recruiting-jobsSkill
- pdf-text-extractorSkill
- arxiv-preprint-metadataSkill
- public-holidays-lookupSkill
- pubmed-paper-metadataSkill
- raised-and-hiring-signalsSkill
- recruitee-jobsSkill
- remote-job-feedsSkill
- sec-8k-eventsSkill
- sec-company-financialsSkill
- sec-edgar-filings-lookupSkill
- seo-audit-toolSkill
- teamtailor-jobsSkill
- treasury-fiscal-dataSkill
- uk-companies-house-lookupSkill
- uk-visa-sponsor-registerSkill
- us-state-business-entity-searchSkill
- video-scene-keyframesSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 27
Use the link only if all of these are true:
- Distinctive: line 52
If this raises BadZipFile, the file is damaged, cut off, or an old .doc, .xls or .ppt file.
- Distinctive: line 83
Do not send file content to a third party unless the user asks for it.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Document to Markdown
Turns one public file URL (DOCX, XLSX, PPTX, CSV or HTML) into Markdown on your own machine. It needs no credentials. The conversion uses markitdown, an open-source Python library from Microsoft.
Author: Don Mangu (GitHub). This skill needs no token. For long URL lists or scheduled runs, the author also runs a paid hosted version on the Apify Store: Document to Markdown API: DOCX, XLSX, PPTX, No Login (disclosure: the author owns it). You never need it for the steps below. This is not an official tool of Microsoft.
Example prompts
- "Convert this Excel file to Markdown: https://example.com/files/report.xlsx"
- "Read the speaker notes in this public PowerPoint link and summarise them."
- "Turn these three Word file links into Markdown I can paste into a prompt."
Out of scope: PDF files, photos or scans of text (that needs OCR), old binary Office files, password-protected files, and any link that asks you to sign in.
Step 1: check the link
Use the link only if all of these are true:
- It starts with http:// or https:// and opens without a login.
- The host is a public site. Do not fetch localhost, 127.0.0.1, addresses that start with 10., 192.168. or 169.254., or names that end in .local or .internal.
- It is a direct file link. A sharing page of a cloud drive returns a web page, not the file. Ask the user for a direct download link if you get HTML.
Step 2: download with a size cap
curl -sSL --max-filesize 26214400 --max-redirs 5 -o report.xlsx "https://raw.githubusercontent.com/microsoft/markitdown/main/packages/markitdown/tests/test_files/test.xlsx"--max-filesize 26214400 stops at 25 MB. curl exits with code 63 when the file is larger. Download once. Stop on HTTP 401, 403 or 429 and tell the user, instead of trying other routes.
Step 3: check the file type from its content
An Office file is a ZIP archive. Do not trust the file name.
import zipfile
names = zipfile.ZipFile("report.xlsx").namelist()
kind = "docx" if "word/document.xml" in names else "xlsx" if "xl/workbook.xml" in names else "pptx" if "ppt/presentation.xml" in names else "other"
print(kind, len(names), "parts")If this raises BadZipFile, the file is damaged, cut off, or an old .doc, .xls or .ppt file. Say so and stop.
Step 4: convert
pip install "markitdown[docx,xlsx,pptx]"
markitdown report.xlsx > report.mdReal run on 7 October 2026 (markitdown 0.1.8), first lines of report.md:
## Sheet1
| Alpha | Beta | Gamma | Delta |
| --- | --- | --- | --- |
| 89 | 82 | 100 | 12 |
| 76 | 89 | 33 | 42 |Step 5: check the result before you use it
- Count the tables and slides in the Markdown against what the user expects. Slide notes, charts and images may be missing or reduced to a caption.
- Spreadsheet cells hold the stored value, not the display format. A percent or currency format is not applied, and a date can show as a number if the file stores it as one.
- Large sheets make very long Markdown. Cut to the rows the user needs before you paste it into a prompt.
- Say which file you converted and what you could not convert.
Rules
- Public files only. No login, no cookies, no CAPTCHA handling, no proxies, no attempts around blocks.
- One download per file. No loops that fetch the same file again and again.
- You are responsible for the files you convert. Do not process files the user has no right to copy.
- Do not send file content to a third party unless the user asks for it.
Limits
This skill converts one file at a time on the local machine. It does not run OCR, does not read PDF files, and does not handle legacy binary Office files. For many files, scheduling, per-sheet rows, size limits, private-address blocking and a structured row with title, headings and warnings, use a script around these steps or the hosted version.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

