file-conversion
wshobson/agents
Convert files between 999 formats (PDF, images, video, audio, documents, data) via free ChangeThisFile service.
What is file-conversion?
Converts files across images, video, audio, documents, data, fonts, ebooks, and archives using the free ChangeThisFile service. No API key or signup required. Use when a user needs to change a file from one format to another.
- Convert between 999 supported format routes including PDF↔Word, HEIC→JPG, MP4→MP3, CSV→JSON, EPUB→MOBI
- Use MCP tools directly if available, or bundled bash script for local files
- Support remote files via URL without re-uploading
- Query supported conversion routes for a given source format
- Handle files up to 25 MB on the free tier
How to install file-conversion
npx skills add https://github.com/wshobson/agents --skill file-conversion- Outbound HTTPS access to changethisfile.com (may require allowlist on restricted environments like claude.ai)
How to use file-conversion
- 1.Check if ChangeThisFile MCP tools are available in your environment
- 2.For local files, run: scripts/convert.sh <input-file> <target-format> [output-file]
- 3.For remote files, use curl to POST to https://changethisfile.com/mcp with source_url and target_format
- 4.Query list_conversions to confirm a conversion route is supported before attempting
- 5.Download the result immediately; URLs expire after 1 hour
Use cases
- Convert a user's DOCX report to PDF for distribution
- Transform HEIC photos from iPhone to JPG for web use
- Extract audio from MP4 video as MP3
- Convert CSV data export to JSON for API integration
- Change EPUB ebook to MOBI format for Kindle
- Users needing quick file format changes
- Developers automating file conversion workflows
- Content creators working across multiple media types
- Data analysts converting between structured formats
file-conversion FAQ
Use the list_conversions tool/endpoint with the source format to see all valid targets, or omit source_format to see a grouped summary of all 999 routes.
25 MB on the free tier. For larger files, get a free API key (1,000 conversions/month) at changethisfile.com/docs/authentication.
1 hour. Download the converted file immediately and work with the local copy.
Wait 60 seconds and retry once. The free tier allows 5 conversions per minute per IP.
No API key or account required for the free service. Larger quotas require a free API key.
Full instructions (SKILL.md)
Source of truth, from wshobson/agents.
name: file-conversion description: Convert files between formats — PDF to Word, HEIC to JPG, MP4 to MP3, CSV to JSON, EPUB to MOBI, and 999 total routes across images, video, audio, documents, data, fonts, ebooks, and archives. Free via changethisfile.com, no API key or signup. Use when the user needs a file converted to a different format.
File Conversion (ChangeThisFile)
Convert files between 999 conversion routes using the free ChangeThisFile service. No account or API key required. Conversions run server-side (FFmpeg, LibreOffice, Calibre, 7-Zip, sharp, Ghostscript); files are deleted within 24 hours.
Decision order
- If ChangeThisFile MCP tools are available (
changethisfile:convert_file,changethisfile:list_conversions) — use them directly.convert_filetakessource_urlORbase64_content+source_format, plustarget_format, and returns a temporary download URL. - Otherwise, use the bundled script (requires network access to changethisfile.com):
scripts/convert.sh <input-file> <target-format> [output-file]
# e.g. scripts/convert.sh report.docx pdf
# prints the output file path on success
The script path is relative to this skill's directory. It base64-encodes the file, calls the hosted MCP endpoint over plain HTTPS, downloads the result, and writes it next to the input (or to [output-file]).
- Remote file (you have a URL, not a local file) — skip the download/re-upload; one curl does it:
curl -sS -X POST https://changethisfile.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"convert_file","arguments":{"source_url":"<FILE_URL>","target_format":"pdf"}}}'
The response text contains a download URL — fetch it with curl -o <output>.
Discovering supported routes
Ask before guessing if a conversion is exotic:
curl -sS -X POST https://changethisfile.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_conversions","arguments":{"source_format":"docx"}}}'
Omit source_format for a grouped summary of all 999 routes.
Limits and errors
- Max input: 25 MB (free path). Larger files: get a free API key (1,000 conversions/month) at https://changethisfile.com/docs/authentication and use
POST /v1/convert. - Rate limit: 5 conversions/minute per IP. On "Rate limit exceeded", wait 60 seconds and retry once.
- "Unsupported conversion: X→Y" errors list the valid targets for that source format.
- Download URLs expire after 1 hour — download immediately, then work with the local file.
Environment notes
- Needs outbound HTTPS to
changethisfile.com. On claude.ai, the code-execution sandbox restricts egress by default — prefer the MCP connector there, or the user can allow the domain under Settings → Capabilities. - Full docs: https://changethisfile.com/docs/mcp
Related skills
More from wshobson/agents and the wider catalog.

finetuning-method-selection
Route fine-tuning decisions: whether to fine-tune at all, and which method (SFT, DPO/ORPO/KTO, GRPO/RLVR, CPT) fits your data.

gdpr-data-handling
Implement GDPR-compliant data handling with consent management and data subject rights.

git-advanced-workflows
Master rebasing, cherry-picking, bisect, worktrees, and reflog for clean Git history and recovery.

github-actions-templates
Production-ready GitHub Actions workflow templates for CI/CD, testing, building, and deployment.

gitlab-ci-patterns
Build scalable GitLab CI/CD pipelines with multi-stage workflows, caching, and Kubernetes deployment patterns.

gitops-workflow
Implement GitOps workflows with ArgoCD and Flux for automated, declarative Kubernetes deployments.