Voltar ao índice
Design e UI

Comprima e converta imagens para WebP ou PNG

Reduza arquivos de imagem e converta formatos com seleção automática entre sips, cwebp, ImageMagick e Sharp.

Ver código no GitHub Instala diretamente do repositório-fonte.

O que esta skill faz

Esta skill oferece um CLI para comprimir arquivos ou diretórios de imagens. O padrão é WebP com qualidade 80, mas formato, qualidade, saída, preservação do original e processamento recursivo podem ser configurados.

Quando usar

  • Converter imagens para WebP
  • Reduzir o tamanho de ativos de um site
  • Comprimir imagens de um diretório em lote
  • Gerar PNG ou JPEG com qualidade configurada

Como usar

  1. Revise as preferências EXTEND.md disponíveis no projeto ou no usuário
  2. Confirme a disponibilidade de bun ou npx
  3. Informe o arquivo ou diretório de entrada
  4. Defina formato, qualidade, saída e preservação do original
  5. Execute o script e compare os arquivos resultantes

O que revisar antes de instalar

  • A compressão disponível depende das ferramentas instaladas
  • Qualidade menor pode causar perda visual perceptível
  • O padrão não preserva o original sem a opção correspondente
  • A skill não garante redução para toda combinação de imagem e formato

SKILL.md

---
name: baoyu-compress-image
description: 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.
version: 1.56.1
metadata:
  openclaw:
    homepage: https://github.com/JimLiu/baoyu-skills#baoyu-compress-image
    requires:
      anyBins:
        - bun
        - npx
---

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