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 |
|---|
| INLINECODE9 | Image compression CLI |
Preferences (EXTEND.md)
Check EXTEND.md existence (priority order):
CODEBLOCK0
CODEBLOCK1
┌────────────────────────────────────────────────────────┬───────────────────┐
│ Path │ Location │
├────────────────────────────────────────────────────────┼───────────────────┤
│ .baoyu-skills/baoyu-compress-image/EXTEND.md │ Project directory │
├────────────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md │ User home │
└────────────────────────────────────────────────────────┴───────────────────┘
┌───────────┬───────────────────────────────────────────────────────────────────────────┐
│ Result │ Action │
├───────────┼───────────────────────────────────────────────────────────────────────────┤
│ Found │ Read, parse, apply settings │
├───────────┼───────────────────────────────────────────────────────────────────────────┤
│ Not found │ Use defaults │
└───────────┴───────────────────────────────────────────────────────────────────────────┘
EXTEND.md Supports: Default format | Default quality | Keep original preference
Usage
CODEBLOCK2
Options
| Option | Short | Description | Default |
|---|
| INLINECODE10 | | File or directory | Required |
| INLINECODE11 |
-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
CODEBLOCK3
Output:
CODEBLOCK4
Extension Support
Custom configurations via EXTEND.md. See Preferences section for paths and supported options.
图像压缩器
使用最佳可用工具(sips → cwebp → ImageMagick → Sharp)压缩图像。
脚本目录
脚本位于 scripts/ 子目录中。{baseDir} = 本 SKILL.md 文件所在目录路径。解析 ${BUNX} 运行时:如果已安装 bun → 使用 bun;如果可用 npx → 使用 npx -y bun;否则建议安装 bun。将 {baseDir} 和 ${BUNX} 替换为实际值。
| 脚本 | 用途 |
|---|
| scripts/main.ts | 图像压缩命令行工具 |
偏好设置(EXTEND.md)
检查 EXTEND.md 是否存在(优先级顺序):
bash
macOS, Linux, WSL, Git Bash
test -f .baoyu-skills/baoyu-compress-image/EXTEND.md && echo project
test -f ${XDG
CONFIGHOME:-$HOME/.config}/baoyu-skills/baoyu-compress-image/EXTEND.md && echo xdg
test -f $HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md && echo user
powershell
PowerShell (Windows)
if (Test-Path .baoyu-skills/baoyu-compress-image/EXTEND.md) { project }
$xdg = if ($env:XDG
CONFIGHOME) { $env:XDG
CONFIGHOME } else { $HOME/.config }
if (Test-Path $xdg/baoyu-skills/baoyu-compress-image/EXTEND.md) { xdg }
if (Test-Path $HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md) { user }
┌────────────────────────────────────────────────────────┬───────────────────┐
│ 路径 │ 位置 │
├────────────────────────────────────────────────────────┼───────────────────┤
│ .baoyu-skills/baoyu-compress-image/EXTEND.md │ 项目目录 │
├────────────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md │ 用户主目录 │
└────────────────────────────────────────────────────────┴───────────────────┘
┌───────────┬───────────────────────────────────────────────────────────────────────────┐
│ 结果 │ 操作 │
├───────────┼───────────────────────────────────────────────────────────────────────────┤
│ 找到 │ 读取、解析、应用设置 │
├───────────┼───────────────────────────────────────────────────────────────────────────┤
│ 未找到 │ 使用默认设置 │
└───────────┴───────────────────────────────────────────────────────────────────────────┘
EXTEND.md 支持:默认格式 | 默认质量 | 保留原始文件偏好
使用方法
bash
${BUN_X} {baseDir}/scripts/main.ts <输入> [选项]
选项
| 选项 | 简写 | 描述 | 默认值 |
|---|
| <输入> | | 文件或目录 | 必填 |
| --output |
-o | 输出路径 | 相同路径,新扩展名 |
| --format | -f | webp, png, jpeg | webp |
| --quality | -q | 质量 0-100 | 80 |
| --keep | -k | 保留原始文件 | false |
| --recursive | -r | 处理子目录 | false |
| --json | | JSON 输出 | false |
示例
bash
单个文件 → WebP(替换原始文件)
${BUN_X} {baseDir}/scripts/main.ts image.png
保留 PNG 格式
${BUN_X} {baseDir}/scripts/main.ts image.png -f png --keep
递归处理目录
${BUN_X} {baseDir}/scripts/main.ts ./images/ -r -q 75
JSON 输出
${BUN_X} {baseDir}/scripts/main.ts image.png --json
输出:
image.png → image.webp (245KB → 89KB, 减少 64%)
扩展支持
通过 EXTEND.md 进行自定义配置。路径和支持的选项请参见偏好设置部分。