baoyu-compress-image

jimliu/baoyu-skills · updated Apr 8, 2026

$npx skills add https://github.com/jimliu/baoyu-skills --skill baoyu-compress-image
0 commentsdiscussion
summary

Compresses images to WebP or PNG with automatic tool selection based on system availability.

  • Supports WebP (default), PNG, and JPEG output formats with configurable quality (0–100, default 80)
  • Automatically selects best available compression tool: sips, cwebp, ImageMagick, or Sharp
  • Processes single files or directories recursively with options to keep originals or replace in-place
  • Customizable via EXTEND.md configuration files at project, user home, or XDG config locations
skill.md

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.

Script Purpose
scripts/main.ts Image compression CLI

Preferences (EXTEND.md)

Check EXTEND.md existence (priority order):

# macOS, Linux, WSL, Git Bash
test -f .baoyu-skills/baoyu-compress-image/EXTEND.md && echo "project"
test -f "${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-compress-image/EXTEND.md" && echo "xdg"
test -f "$HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md" && echo "user"
# PowerShell (Windows)
if (Test-Path .baoyu-skills/baoyu-compress-image/EXTEND.md) { "project" }
$xdg = if ($env:XDG_CONFIG_HOME) { $env:XDG_CONFIG_HOME } else { "$HOME/.config" }
if (Test-Path "$xdg/baoyu-skills/baoyu-compress-image/EXTEND.md") { "xdg" }
if (Test-Path "$HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md") { "user" }

┌────────────────────────────────────────────────────────┬───────────────────┐ │ Path │ Location │ ├────────────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-compress-image/EXTEND.md │ Project directory │ ├────────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md │ User home │ └────────────────────────────────────────────────────────┴───────────────────┘

┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ Result │ Action │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ Found │ Read, parse, apply settings │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ Not found │ Use defaults │ └───────────┴───────────────────────────────────────────────────────────────────────────┘

EXTEND.md Supports: Default format | Default quality | Keep original preference

Usage

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

Options

Option Short Description Default
<input> File or directory Required
--output -o Output path Same path, new ext
--format -f webp, png, jpeg webp
--quality -q Quality 0-100 80
--keep -k Keep original false
--recursive -r Process subdirs false
--json JSON output false

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.

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.861 reviews
  • Pratham Ware· Dec 28, 2024

    We added baoyu-compress-image from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Isabella Li· Dec 28, 2024

    Keeps context tight: baoyu-compress-image is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Kabir Ndlovu· Dec 8, 2024

    Useful defaults in baoyu-compress-image — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Isabella Zhang· Dec 4, 2024

    baoyu-compress-image fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Diego Sharma· Dec 4, 2024

    We added baoyu-compress-image from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Valentina Sanchez· Nov 27, 2024

    I recommend baoyu-compress-image for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Isabella Anderson· Nov 23, 2024

    We added baoyu-compress-image from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Diego Kapoor· Nov 23, 2024

    baoyu-compress-image fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Yash Thakker· Nov 19, 2024

    baoyu-compress-image fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Benjamin Choi· Nov 19, 2024

    Keeps context tight: baoyu-compress-image is the kind of skill you can hand to a new teammate without a long onboarding doc.

showing 1-10 of 61

1 / 7