Skip to content
file-converter logo

File Converter

file-converter

This skill handles file format conversions across documents (PDF, DOCX,

SKILL.md

Full skill instructions

File Converter

Overview

Convert files between formats across three categories: documents, data files, and images. Generate Python code dynamically for each conversion request, selecting appropriate libraries and handling edge cases.

Conversion Categories

Documents

FromToRecommended Library
MarkdownHTMLmarkdown or mistune
HTMLMarkdownmarkdownify or html2text
HTMLPDFweasyprint or pdfkit (requires wkhtmltopdf)
PDFTextpypdf or pdfplumber
DOCXMarkdownmammoth
DOCXPDFdocx2pdf (Windows/​macOS) or LibreOffice CLI
MarkdownPDFConvert via HTML first, then to PDF

Data Files

FromToRecommended Library
JSONYAMLpyyaml
YAMLJSONpyyaml
JSONCSVpandas or stdlib csv + json
CSVJSONpandas or stdlib csv + json
JSONTOMLtomli/tomllib (read) + tomli-w (write)
XMLJSONxmltodict
JSONXMLdicttoxml or xmltodict.unparse

Images

FromToRecommended Library
PNG/​JPG/​WebP/​GIFAny rasterPillow (PIL)
SVGPNG/​JPGcairosvg or svglib + reportlab
PNGSVGpotrace (CLI) for tracing, limited fidelity

Workflow

  1. Identify source format (from file extension or user statement)
  2. Identify target format
  3. Check references/ for format-specific guidance
  4. Generate conversion code using recommended library
  5. Handle edge cases (encoding, transparency, nested structures)
  6. Execute conversion and report results

Quick Patterns

Data: JSON to YAML

import json
import yaml

with open("input.json") as f:
    data = json.load(f)

with open("output.yaml", "w") as f:
    yaml.dump(data, f, default_flow_style=False, allow_unicode=True)

Data: CSV to JSON

import csv
import json

with open("input.csv") as f:
    reader = csv.DictReader(f)
    data = list(reader)

with open("output.json", "w") as f:
    json.dump(data, f, indent=2)

Document: Markdown to HTML

import markdown

with open("input.md") as f:
    md_content = f.read()

html = markdown.markdown(md_content, extensions=["tables", "fenced_code"])

with open("output.html", "w") as f:
    f.write(html)

Image: PNG to WebP

from PIL import Image

img = Image.open("input.png")
img.save("output.webp", "WEBP", quality=85)

Image: SVG to PNG

import cairosvg

cairosvg.svg2png(url="input.svg", write_to="output.png", scale=2)

Resources

Detailed guidance for complex conversions is in references/:

  • references/​document-conversions.md - PDF handling, encoding issues, styling preservation
  • references/​data-conversions.md - Schema handling, type coercion, nested structures
  • references/​image-conversions.md - Quality settings, transparency, color profiles

Consult these references when handling edge cases or when the user has specific quality/​fidelity requirements.

More Other skills

Delegate independent tasks to specialized agents working concurrently with isolated context.

295.4K 206.3K
View

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

179.7K 100.1K
View

Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.

179.7K 89.5K
View

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

179.7K 76.1K
View

Fundamental design principles for writing maintainable, testable Python code.

40.2K 21.9K
View

Modern responsive layouts using container queries, fluid typography, CSS Grid, and mobile-first strategies.

40.2K 20K
View

Generate Playwright tests from scenarios using interactive browser exploration and validation.

39.7K 18.2K
View

Modern React state management with Redux Toolkit, Zustand, Jotai, and React Query for every state category.

40.2K 14.7K
View

GDPR-compliant data handling with consent management, data subject rights, and privacy controls.

40.2K 14.3K
View

Python error handling patterns including input validation, exception hierarchies, and partial failure handling. Use when implementing validation logic, designing exception strategies, handling batch processing failures, or building robust APIs.

40.2K 13.5K
View

Detailed multi-file refactor planning with safety checks and rollback guidance.

39.7K 13K
View