All skills
oaustegard avatar

/converting-files

@4b31e7d

Convert a file from one format to another inside the container — documents, images, audio, video. Routes to the right engine (pandoc, LibreOffice, ImageMagick, ffmpeg) by format pair. Triggers on "convert X to Y", "turn this docx into a pdf", "make a gif from this mp4", "md to docx", "batch-convert these images", or any single-file or batch format change where the source and target extensions differ. NOT for editing content (use docx/pptx/xlsx/pdf skills), creating files from scratch, or reading a file you already have in context.

Use this Skill: https://skilld.dev/gh/oaustegard/claude-skills/converting-files

This session only. Nothing lands on disk.

CHANGELOG.md

≈455 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Changelog

0.1.1 (2026-06-19)

  • Added README.md as the GitHub-facing front door (thin pointer to SKILL.md, not a duplicate of the routing table).
  • Documented the md → jira heading-anchor gotcha (h1. {anchor:slug}Title) and the -auto_identifiers suppression. Both directions of jira markup (import and export) confirmed working on pandoc 3.1.3.

0.1.0 (2026-06-19)

Initial release. Dispatcher (scripts/convert.py) over the four conversion engines present in the Claude.ai container: pandoc 3.1.3, LibreOffice 24.2 (headless), ImageMagick 6.9 (convert), ffmpeg 6.1.

Routing by (source-family → target-family), with the cross-engine cases that a pandoc-only or single-engine approach gets wrong:

  • Office → PDF routed to LibreOffice (layout fidelity), not pandoc.
  • markup → Office/PDF routed to pandoc (cleaner from markup).
  • legacy binary Office (.doc/.ppt/.xls) routed to LibreOffice (pandoc can't read).
  • gif split by source family: png→gif = ImageMagick, mp4→gif = ffmpeg.

Verified live across all four engines: md↔docx roundtrip, md→html, docx→pdf (LibreOffice rename path), png→jpg, wav→mp3, plus plan-only routing for gif/legacy/video pairs.

Motivated by a request to wrap VERT (vert.sh) as a skill. VERT is a browser WASM app over these same engines — no importable CLI/lib, and strictly weaker than the container's native binaries for programmatic use. Built the native equivalent instead.

Known fix during build: initial audio/video routing compared the family string against extension sets (df in AUDIO where df=="audio"), so wav→mp3 returned NO ROUTE. Corrected to compare families to families and extensions to extensions.

[0.1.1] - 2026-06-20

Other

  • converting-files: add README + bump to 0.1.1 (missing from #704 merge) (#706)

Source: SKILL.md on GitHub

No alerts3mo3 checks · Risk SAFE
  • Gen Agent Trust Hub3mo

    This skill provides a secure utility for converting files between various formats (documents, images, audio, video) by routing requests to pre-installed system engines like pandoc, LibreOffice, ImageMagick, and ffmpeg. The implementation uses a Python dispatcher script that follows best practices for subprocess execution, mitigating command injection risks.

  • Socket3mo

    No alerts

  • Snyk3mo

    Risk: LOW · No issues

Signed by skilld at 4b31e7d. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 months ago
metadata
{
  "version": "0.1.1"
}

README badge

README badge for oaustegard/claude-skills/converting-files