🎯

baoyu-compress-image

🎯Skill

from questnova502/claude-skills-sync

VibeIndex|
What it does

Compresses images cross-platform, converting to WebP by default with PNG-to-PNG support, using system tools or Sharp as fallback.

πŸ“¦

Part of

questnova502/claude-skills-sync(61 items)

baoyu-compress-image

Installation

npxRun with npx
npx -y bun ${SKILL_DIR}/scripts/main.ts image.png
npxRun with npx
npx -y bun ${SKILL_DIR}/scripts/main.ts image.png --format png
npxRun with npx
npx -y bun ${SKILL_DIR}/scripts/main.ts image.png -q 75
npxRun with npx
npx -y bun ${SKILL_DIR}/scripts/main.ts ./images/ -r
npxRun with npx
npx -y bun ${SKILL_DIR}/scripts/main.ts image.png -o compressed.webp

+ 9 more commands

πŸ“– Extracted from docs: questnova502/claude-skills-sync
3Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Cross-platform image compression skill. Converts images to WebP by default with PNG-to-PNG support. Uses system tools (sips, cwebp, ImageMagick) with Sharp fallback.

Overview

# Image Compressor

Cross-platform image compression with WebP default output, PNG-to-PNG support, preferring system tools with Sharp fallback.

Script Directory

Important: All scripts are located in the scripts/ subdirectory of this skill.

Agent Execution Instructions:

  1. Determine this SKILL.md file's directory path as SKILL_DIR
  2. Script path = ${SKILL_DIR}/scripts/.ts
  3. Replace all ${SKILL_DIR} in this document with the actual path

Script Reference:

| Script | Purpose |

|--------|---------|

| scripts/main.ts | CLI entry point for image compression |

Quick Start

```bash

# Compress to WebP (default)

npx -y bun ${SKILL_DIR}/scripts/main.ts image.png

# Keep original format (PNG β†’ PNG)

npx -y bun ${SKILL_DIR}/scripts/main.ts image.png --format png

# Custom quality

npx -y bun ${SKILL_DIR}/scripts/main.ts image.png -q 75

# Process directory

npx -y bun ${SKILL_DIR}/scripts/main.ts ./images/ -r

```

Commands

Single File Compression

```bash

# Basic (converts to WebP, replaces original)

npx -y bun ${SKILL_DIR}/scripts/main.ts image.png

# Custom output path

npx -y bun ${SKILL_DIR}/scripts/main.ts image.png -o compressed.webp

# Keep original file

npx -y bun ${SKILL_DIR}/scripts/main.ts image.png --keep

# Custom quality (0-100, default: 80)

npx -y bun ${SKILL_DIR}/scripts/main.ts image.png -q 75

# Keep original format

npx -y bun ${SKILL_DIR}/scripts/main.ts image.png -f png

```

Directory Processing

```bash

# Process all images in directory

npx -y bun ${SKILL_DIR}/scripts/main.ts ./images/

# Recursive processing

npx -y bun ${SKILL_DIR}/scripts/main.ts ./images/ -r

# With custom quality

npx -y bun ${SKILL_DIR}/scripts/main.ts ./images/ -r -q 75

```

Output Formats

```bash

# Plain text (default)

npx -y bun ${SKILL_DIR}/scripts/main.ts image.png

# JSON output

npx -y bun ${SKILL_DIR}/scripts/main.ts image.png --json

```

Options

| Option | Short | Description | Default |

|--------|-------|-------------|---------|

| | | Input file or directory | Required |

| --output | -o | Output path | Same path, new extension |

| --format | -f | webp, png, jpeg | webp |

| --quality | -q | Quality 0-100 | 80 |

| --keep | -k | Keep original file | false |

| --recursive | -r | Process directories recursively | false |

| --json | | JSON output | false |

| --help | -h | Show help | |

Compressor Selection

Priority order (auto-detected):

  1. sips (macOS built-in, WebP support since macOS 11)
  2. cwebp (Google's official WebP tool)
  3. ImageMagick (convert command)
  4. Sharp (npm package, auto-installed by Bun)

The skill automatically selects the best available compressor.

Output Format

Text Mode (default)

```

image.png β†’ image.webp (245KB β†’ 89KB, 64% reduction)

```

JSON Mode

```json

{

"input": "image.png",

"output": "image.webp",

"inputSize": 250880,

"outputSize": 91136,

"ratio": 0.36,

"compressor": "sips"

}

```

Directory JSON Mode

```json

{

"files": [...],

"summary": {

"totalFiles": 10,

"totalInputSize": 2508800,

"totalOutputSize": 911360,

"ratio": 0.36,

"compressor": "sips"

}

}

```

Examples

Compress single image

```bash

npx -y bun ${SKILL_DIR}/scripts/main.ts photo.png

# photo.png β†’ photo.webp (1.2MB β†’ 340KB, 72% reduction)

```

Compress with custom quality

```bash

npx -y bun ${SKILL_DIR}/scripts/main.ts photo.png -q 60

# photo.png β†’ photo.webp (1.2MB β†’ 280KB, 77% reduction)

```

Keep original format

```bash

npx -y bun ${SKILL_DIR}/scripts/main.ts screenshot.png -f png --keep

# screenshot.png β†’ screenshot-compressed.png (500KB β†’ 380KB, 24% reduction)

```

Process entire directory

```bash

npx -y bun ${SKILL_DIR}/scripts/main.ts ./screenshots/ -r

# Processed 15 files: 12.5MB β†’ 4.2MB (66% reduction)

```

Get JSON for scripting

```bash

npx -y bun ${SKILL_DIR}/scripts/main.ts image.png --json | jq '.ratio'

```

Extension Support

Custom configurations via EXTEND.md.

Check paths (priority order):

  1. .baoyu-skills/baoyu-compress-image/EXTEND.md (project)
  2. ~/.baoyu-skills/baoyu-compress-image/EXTEND.md (user)

If found, load before workflow. Extension content overrides defaults.