mcpField
B
baoyu-compress-image

baoyu-compress-image

github.com/guanyangCreative & media984206 installsUpdated 1d ago
Repository

About baoyu-compress-image

baoyu-compress-image is a skill for reducing image file sizes, for workflows involving individual files or directories. It supports format and quality settings, optional preservation of originals, and recursive processing.

Key features

  1. 01Compress an image or directory
  2. 02Support WebP, PNG, and JPEG
  3. 03Set quality and output path
  4. 04Choose whether to keep originals
  5. 05Process subdirectories recursively

Use cases

  1. 01Compress an image while converting it to WebP
  2. 02Reduce image sizes across a directory
  3. 03Save compressed copies while keeping originals

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/guanyang/open-agent-hub --skill baoyu-compress-image

After installing, type/baoyu-compress-imagein Claude Code to confirm it loaded.

Bundled filesscripts/main.ts

Details

From the project README

Image Compressor

Compresses images using best available tool (sips → cwebp → ImageMagick → Sharp).

Script Directory

Scripts in scripts/ subdirectory. {baseDir} = this SKILL.md's directory path. Resolve ${BUN_X} runtime: if bun installed → bun; if npx available → npx -y bun; else suggest installing bun. Replace {baseDir} and ${BUN_X} with actual values.

ScriptPurpose
scripts/main.tsImage compression CLI

Preferences (EXTEND.md)

Check EXTEND.md in priority order — the first one found wins:

PriorityPathScope
1.baoyu-skills/baoyu-compress-image/EXTEND.mdProject
2${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-compress-image/EXTEND.mdXDG
3$HOME/.baoyu-skills/baoyu-compress-image/EXTEND.mdUser home

If none found, use defaults.

EXTEND.md supports: Default format, default quality, keep-original preference.

Usage

${BUN_X} {baseDir}/scripts/main.ts <input> [options]

Options

OptionShortDescriptionDefault
<input>File or directoryRequired
--output-oOutput pathSame path, new ext
--format-fwebp, png, jpegwebp
--quality-qQuality 0-10080
--keep-kKeep originalfalse
--recursive-rProcess subdirsfalse
--jsonJSON outputfalse

Examples

# Single file → WebP (replaces original)
${BUN_X} {baseDir}/scripts/main.ts image.png

# Keep PNG format
${BUN_X} {baseDir}/scripts/main.ts image.png -f png --keep

# Directory recursive
${BUN_X} {baseDir}/scripts/main.ts ./images/ -r -q 75

# JSON output
${BUN_X} {baseDir}/scripts/main.ts image.png --json

Output:

image.png → image.webp (245KB → 89KB, 64% reduction)

Extension Support

Custom configurations via EXTEND.md. See Preferences section for paths and supported options.

Comments

Markdown supported