convert-image-to-jpg
SKILL.md
Convert Image to JPG
Core Goal
- Convert one local image or a directory tree of local images into
.jpg. - Write JPG DPI metadata as
96by default or a caller-provided value. - Preserve relative directory structure when the input path is a directory.
Required Tools
- Use
scripts/convert_to_jpg.py. - Rely only on Python standard library modules. Do not install Python packages for this skill.
- Prefer
magickwhen it is installed. - Fall back to macOS
sipswhenmagickis unavailable. - Stop and report the missing dependency when neither backend exists.
Quick Start
- Convert one file to a specific JPG path:
python3 scripts/convert_to_jpg.py \
--input-path /path/to/image.heic \
--output-path /path/to/output.jpg
- Convert a directory recursively with custom DPI:
python3 scripts/convert_to_jpg.py \
--input-path /path/to/input-images \
--output-path /path/to/output-images \
--dpi 300
- Rewrite existing outputs in place or replace previous runs:
python3 scripts/convert_to_jpg.py \
--input-path /path/to/input-images \
--output-path /path/to/output-images \
--overwrite
- Preview the conversion plan without writing files:
python3 scripts/convert_to_jpg.py \
--input-path /path/to/input-images \
--output-path /path/to/output-images \
--dry-run
Behavior
- Treat directory input as recursive and keep the same relative subdirectories in the output tree.
- Treat single-file
--output-pathas a directory when it has no.jpgor.jpegsuffix. - Convert
.jpgand.jpeginputs too. Use this to normalize output names or rewrite DPI metadata. - Default JPG quality to
95. - Use the first frame or page when the source format can contain multiple frames, such as GIF or TIFF.
- Refuse ambiguous directory conversions when two source files would map to the same destination
.jpg. - Add uncommon extensions with
--extra-extension .extwhen needed.
Main Arguments
--input-path: source file or source directory--output-path: output JPG file path or output directory--dpi: target DPI metadata for the JPG output, default96--quality: JPG quality from1to100, default95--backend:auto,magick, orsips--extra-extension: additional directory-scan suffix to include--overwrite: replace existing outputs--dry-run: print the plan without converting files--limit: cap the number of files processed during a quick check
Script
scripts/convert_to_jpg.py
Weekly Installs
4
Repository
tiangong-ai/skillsGitHub Stars
4
First Seen
4 days ago
Security Audits
Installed on
openclaw3
github-copilot3
codex3
kimi-cli3
gemini-cli3
cursor3