document-to-markdown — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited document-to-markdown (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Convert documents to Markdown using the markitdown-for-ai Docker image. No local Python install needed — runs entirely in Docker.
⚠️ This skill requires Docker or Podman to be installed and available on your system. Ensure either Docker Desktop or Podman is running before using this skill.
This skill uses Docker by default. If Docker is not available, it will automatically try Podman instead.
From stdin (pipe):
# Try Docker first
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < file.pdf
# If Docker is not available, use Podman:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < file.pdfFrom a local file (mount current directory):
# Try Docker first
docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest file.docx
# If Docker is not available, use Podman:
podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest file.docxSave output to a file:
# Try Docker first
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < input.pptx > output.md
# If Docker is not available, use Podman:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < input.pptx > output.mdPipe from cat:
# Try Docker first
cat file.xlsx | docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest
# If Docker is not available, use Podman:
cat file.xlsx | podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest| Format | Extension |
|---|---|
.pdf | |
| Word | .docx |
| PowerPoint | .pptx |
| Excel | .xlsx |
| HTML | .html |
docker pull ghcr.io/opentechil/markitdown-for-ai:latestWhen a user gives you a document file to read or analyze:
Example — user says "summarize this PDF":
# Capture markdown into a shell variable or pipe directly to next step
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < report.pdf
# If Docker fails, try Podman:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < report.pdfUse this skill whenever you need to extract or process content from documents. Here are common scenarios:
docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest document.docx
# Or with Podman if Docker is not available:
podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest document.docx docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < report.pdf
# Or with Podman:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < report.pdf docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest slides.pptx
# Or with Podman:
podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest slides.pptx docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < data.xlsx
# Or with Podman:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < data.xlsx docker run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest page.html
# Or with Podman:
podman run --rm -v "$(pwd):/data" -w /data ghcr.io/opentechil/markitdown-for-ai:latest page.html content=$(docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < document.pdf)
# If Docker fails, try Podman:
content=$(podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < document.pdf)
# Then feed $content to your summarization prompt docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < contract.pdf
# Or with Podman:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < contract.pdf for f in *.pdf; do
docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < "$f" > "${f%.pdf}.md"
# Also try with Podman if needed:
# podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < "$f" > "${f%.pdf}.md"
done docker run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < document.pdf | text-embeddings-cli embed
# Or with Podman:
podman run --rm -i ghcr.io/opentechil/markitdown-for-ai:latest < document.pdf | text-embeddings-cli embed| User Request | Action |
|---|---|
| "Read this PDF for me" | Convert PDF to markdown and display content |
| "What's in this Word doc?" | Convert DOCX to markdown and summarize |
| "Extract the table from this Excel file" | Convert XLSX — tables are preserved in markdown format |
| "Convert this webpage to markdown" | Convert HTML to markdown |
| "Summarize the presentation" | Convert PPTX slides to markdown |
| Mistake | Fix |
|---|---|
Using {owner} placeholder | Use ghcr.io/opentechil/markitdown-for-ai:latest |
Forgetting -i flag for stdin | Always add -i when piping |
| Mounting wrong path | Use $(pwd) and -w /data together |
| Expecting Docker to find relative paths without mount | Mount with -v "$(pwd):/data" |
This skill supports both Docker and Podman. Choose based on your environment:
The examples above provide both Docker and Podman commands. The skill recommends trying Docker first — if it fails with "command not found" or other execution errors, simply use the Podman command instead.
Both Docker and Podman share the same image (ghcr.io/opentechil/markitdown-for-ai:latest), so the commands are identical except for docker vs podman.
Check what container runtime is installed:
# Check for Docker
docker --version
# Check for Podman
podman --versionIf Docker is not available, Podman can be used as a direct drop-in replacement.
Since Docker and Podman share the same registry, the pull command is identical:
docker pull ghcr.io/opentechil/markitdown-for-ai:latest
podman pull ghcr.io/opentechil/markitdown-for-ai:latestPull once with your preferred runtime, and both will have access to the image locally.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.