Auto-Pilot / 全自动
更新于 a month ago

baoyu-compress-image

JJimLiu
2.0k
JimLiu/baoyu-skills/skills/baoyu-compress-image
72
Agent 评分

💡 摘要

中文总结。

🎯 适合人群

用户画像1用户画像2用户画像3

🤖 AI 吐槽:看起来很能打,但别让配置把人劝退。

安全分析低风险

风险:Low。建议检查:是否执行 shell/命令行指令;文件读写范围与路径穿越风险。以最小权限运行,并在生产环境启用前审计代码与依赖。


name: baoyu-compress-image description: 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.

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/<script-name>.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

# 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

# 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

# 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

# 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> | | Input file or directory | Required | | --output <path> | -o | Output path | Same path, new extension | | --format <fmt> | -f | webp, png, jpeg | webp | | --quality <n> | -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

{ "input": "image.png", "output": "image.webp", "inputSize": 250880, "outputSize": 91136, "ratio": 0.36, "compressor": "sips" }

Directory JSON Mode

{ "files": [...], "summary": { "totalFiles": 10, "totalInputSize": 2508800, "totalOutputSize": 911360, "ratio": 0.36, "compressor": "sips" } }

Examples

Compress single image

npx -y bun ${SKILL_DIR}/scripts/main.ts photo.png # photo.png → photo.webp (1.2MB → 340KB, 72% reduction)

Compress with custom quality

npx -y bun ${SKILL_DIR}/scripts/main.ts photo.png -q 60 # photo.png → photo.webp (1.2MB → 280KB, 77% reduction)

Keep original format

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

npx -y bun ${SKILL_DIR}/scripts/main.ts ./screenshots/ -r # Processed 15 files: 12.5MB → 4.2MB (66% reduction)

Get JSON for scripting

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.

五维分析
清晰度8/10
创新性6/10
实用性8/10
完整性7/10
可维护性7/10
优缺点分析

优点

  • 优点1
  • 优点2

缺点

  • 缺点1
  • 缺点2

相关技能

claude-domain-skills

B
toolAuto-Pilot / 全自动
72/ 100

“看起来很能打,但别让配置把人劝退。”

my-skills

B
toolAuto-Pilot / 全自动
72/ 100

“看起来很能打,但别让配置把人劝退。”

terraform-ibm-modules-skills

B
toolAuto-Pilot / 全自动
72/ 100

“看起来很能打,但别让配置把人劝退。”

免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。

版权归原作者所有 JimLiu.