Compresses images to WebP (default) or PNG with automatic tool selection. Use when user asks to "compress image", "optimize image", "convert to webp", or reduce image file size.
Compresses images using best available tool (sips → cwebp → ImageMagick → Sharp).
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 |
Check EXTEND.md in priority order — the first one found wins:
| Priority | Path | Scope |
|----------|------|-------|
| 1 | .baoyu-skills/baoyu-compress-image/EXTEND.md | Project |
| 2 | ${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-compress-image/EXTEND.md | XDG |
| 3 | $HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md | User home |
If none found, use defaults.
EXTEND.md supports: Default format, default quality, keep-original preference.
${BUN_X} {baseDir}/scripts/main.ts <input> [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 |
# 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)
Custom configurations via EXTEND.md. See Preferences section for paths and supported options.
Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/baoyu-compress-image · pinned to the source commit
# Run from your project root
git clone https://github.com/JimLiu/baoyu-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 6b7a2e417500561a5ecdd0b168332f4142584617
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/baoyu-compress-image" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/JimLiu/baoyu-skills.git .skillboard-tmp
git -C .skillboard-tmp checkout 6b7a2e417500561a5ecdd0b168332f4142584617
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/baoyu-compress-image" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/baoyu-compress-image
Scanner static-checks@0.1.0 · commit 6b7a2e417500. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.