Image Compressor
Compresses images using best available tool (sips β cwebp β ImageMagick β Sharp).
Script Directory
Scripts in scripts/ subdirectory. Replace ${SKILL_DIR} with this SKILL.md's directory path.
| Script | Purpose |
|---|---|
scripts/main.ts | Image compression CLI |
Preferences (EXTEND.md)
Use Bash to check EXTEND.md existence (priority order):
# Check project-level first test -f .baoyu-skills/baoyu-compress-image/EXTEND.md && echo "project" # Then user-level (cross-platform: $HOME works on macOS/Linux/WSL) test -f "$HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md" && echo "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
npx -y bun ${SKILL_DIR}/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) npx -y bun ${SKILL_DIR}/scripts/main.ts image.png # Keep PNG format npx -y bun ${SKILL_DIR}/scripts/main.ts image.png -f png --keep # Directory recursive npx -y bun ${SKILL_DIR}/scripts/main.ts ./images/ -r -q 75 # JSON output npx -y bun ${SKILL_DIR}/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.