markdown-anything
Convert PDF, DOCX, XLSX, PPTX, images, audio, and 25+ file formats to clean Markdown using the Markdown Anything API.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install openclaw-skills-markdown-anything
Repository
Skill path: skills/adiologydev/markdown-anything
Convert PDF, DOCX, XLSX, PPTX, images, audio, and 25+ file formats to clean Markdown using the Markdown Anything API.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack, Backend.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: openclaw.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install markdown-anything into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/openclaw/skills before adding markdown-anything to shared team environments
- Use markdown-anything for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: markdown-anything
description: Convert PDF, DOCX, XLSX, PPTX, images, audio, and 25+ file formats to clean Markdown using the Markdown Anything API.
homepage: https://markdownanything.com
metadata:
clawdbot:
emoji: "π"
requires:
env: ["MDA_API_TOKEN"]
primaryEnv: "MDA_API_TOKEN"
files: ["scripts/*"]
---
# Markdown Anything
Convert files to clean, structured Markdown using the [Markdown Anything](https://markdownanything.com) API. Supports PDF, DOCX, XLSX, PPTX, images, audio, and 25+ formats.
## Setup
Set your API token as an environment variable. Get one from **Settings > API Tokens** in your [Markdown Anything workspace](https://markdownanything.com/workspaces).
```
MDA_API_TOKEN=mda_your_token_here
```
## When to Use
Use the `mda-convert` tool when the user asks to:
- Convert a file to Markdown
- Extract text from a PDF, document, image, or audio file
- Turn a document into Markdown for use in a prompt or workflow
## Tools
### mda-convert
Converts a file to Markdown. Run `scripts/convert.sh` with the file path as the first argument.
**Arguments:**
- `$1` β Path to the file to convert
**Optional environment variables:**
- `MDA_ENHANCED_AI=true` β Use Enhanced AI for scanned documents, images, and audio (costs extra credits)
- `MDA_INCLUDE_METADATA=true` β Include document metadata in the response
- `MDA_OPTIMIZE_TOKENS=true` β Optimize output for LLM token efficiency
**Example:**
```
scripts/convert.sh /path/to/document.pdf
```
The tool outputs the converted Markdown to stdout.
### mda-credits
Check your remaining credit balance. Run `scripts/credits.sh` with no arguments.
**Example:**
```
scripts/credits.sh
```
## Security & Privacy
- Files are sent to `https://markdownanything.com/api/v1/convert` for processing
- Your API token is sent via the `Authorization` header
- No data is stored locally beyond the conversion result
- See [Markdown Anything Privacy Policy](https://markdownanything.com/privacy) for data handling details
---
## Referenced Files
> The following files are referenced in this skill and included for context.
### scripts/convert.sh
```bash
#!/usr/bin/env bash
# SECURITY MANIFEST:
# Environment variables accessed: MDA_API_TOKEN, MDA_ENHANCED_AI, MDA_INCLUDE_METADATA, MDA_OPTIMIZE_TOKENS
# External endpoints called: https://markdownanything.com/api/v1/convert (only)
# Local files read: the file path passed as $1
# Local files written: none
set -euo pipefail
FILE_PATH="${1:?Usage: convert.sh <file-path>}"
if [ ! -f "$FILE_PATH" ]; then
echo "Error: File not found: $FILE_PATH" >&2
exit 1
fi
CURL_ARGS=(
--silent --fail --show-error
-X POST
-H "Authorization: Bearer ${MDA_API_TOKEN:?MDA_API_TOKEN is not set}"
-F "file=@${FILE_PATH}"
)
if [ "${MDA_ENHANCED_AI:-false}" = "true" ]; then
CURL_ARGS+=(-F "use_enhanced_ai=true")
fi
if [ "${MDA_INCLUDE_METADATA:-false}" = "true" ]; then
CURL_ARGS+=(-F "include_metadata=true")
fi
if [ "${MDA_OPTIMIZE_TOKENS:-false}" = "true" ]; then
CURL_ARGS+=(-F "optimize_tokens=true")
fi
RESPONSE=$(curl "${CURL_ARGS[@]}" "https://markdownanything.com/api/v1/convert")
SUCCESS=$(echo "$RESPONSE" | python3 -c "import sys, json; print(json.load(sys.stdin).get('success', False))" 2>/dev/null || echo "False")
if [ "$SUCCESS" = "True" ]; then
echo "$RESPONSE" | python3 -c "import sys, json; print(json.load(sys.stdin)['markdown'])"
else
ERROR=$(echo "$RESPONSE" | python3 -c "import sys, json; print(json.load(sys.stdin).get('error', 'Unknown error'))" 2>/dev/null || echo "$RESPONSE")
echo "Conversion failed: $ERROR" >&2
exit 1
fi
```
### scripts/credits.sh
```bash
#!/usr/bin/env bash
# SECURITY MANIFEST:
# Environment variables accessed: MDA_API_TOKEN (only)
# External endpoints called: https://markdownanything.com/api/v1/credits (only)
# Local files read: none
# Local files written: none
set -euo pipefail
RESPONSE=$(curl --silent --fail --show-error \
-H "Authorization: Bearer ${MDA_API_TOKEN:?MDA_API_TOKEN is not set}" \
"https://markdownanything.com/api/v1/credits")
python3 -c "
import sys, json
data = json.load(sys.stdin)
print(f\"Balance: {data['balance']} credits\")
print(f\"Plan: {data.get('plan', 'Unknown')}\")
" <<< "$RESPONSE"
```
---
## Skill Companion Files
> Additional files collected from the skill directory layout.
### _meta.json
```json
{
"owner": "adiologydev",
"slug": "markdown-anything",
"displayName": "Markdown Anything",
"latest": {
"version": "1.0.0",
"publishedAt": 1771457768496,
"commit": "https://github.com/openclaw/skills/commit/44cf10357941aa123c029879649a05d64c630e54"
},
"history": []
}
```