---
name: Image Compressor
slug: image-compressor-2
category: Automation
description: Image Compressor compresses images to WebP, PNG, or JPEG with automatic tool selection. Use it when you need to reduce file size, optimize images, or convert image formats.
github: "https://github.com/guanyang/open-agent-hub/tree/main/skills/baoyu-compress-image"
language: TypeScript
stars: 952
forks: 164
install: "npx degit https://github.com/guanyang/open-agent-hub/tree/main/skills/baoyu-compress-image ~/.claude/skills/baoyu-compress-image"
installs_to: ~/.claude/skills/baoyu-compress-image
source_path: skills/baoyu-compress-image/SKILL.md
collection_size: 25
category_size: 1523
collection_url: "https://dirskills.com/collections/guanyang/open-agent-hub"
added: 2026-08-21T05:15:23.109Z
last_synced: 2026-08-21T05:15:23.109Z
canonical_url: "https://dirskills.com/skills/image-compressor-2"
---

# Image Compressor

Image Compressor compresses images to WebP, PNG, or JPEG with automatic tool selection. Use it when you need to reduce file size, optimize images, or convert image formats.

**Install:**

```bash
npx degit https://github.com/guanyang/open-agent-hub/tree/main/skills/baoyu-compress-image ~/.claude/skills/baoyu-compress-image
```

## 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.

| Script | Purpose |
|--------|---------|
| `scripts/main.ts` | Image compression CLI |

## Preferences (EXTEND.md)

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.

## Usage

```bash
${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

```bash
# 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.
