关于 baoyu-compress-image
baoyu-compress-image 是用于压缩单张图片或目录的命令行技能,可按设置选择格式、质量及是否保留原图,并依次尝试多种图像处理工具。
主要功能
- 01压缩单张图片或目录
- 02递归处理子目录
- 03设置格式与质量
- 04选择是否保留原图
- 05支持 JSON 输出
- 06通过 EXTEND.md 配置默认项
适用场景
- 01批量压缩图片目录
- 02将图片转换为 WebP、PNG 或 JPEG
- 03按项目偏好设置输出格式与质量
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jst-well-dan/ skill-box --skill baoyu-compress-image安装后在 Claude Code 中输入/baoyu-compress-image确认已加载。
附带文件scripts/main.ts
详细介绍
图像压缩器
使用当前最佳工具压缩图像(sips → cwebp → ImageMagick → Sharp)。
脚本目录
脚本位于 scripts/ 子目录中。将 ${SKILL_DIR} 替换为此 SKILL.md 所在的目录路径。
| 脚本 | 用途 |
|---|---|
scripts/main.ts | 图像压缩命令行工具 |
首选项(EXTEND.md)
使用 Bash 按优先级顺序检查 EXTEND.md 是否存在:
# Check project-level first
test -f .baoyu-skills/baoyu-compress-image/EXTEND.md && echo "project"
# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md" && echo "user"
┌────────────────────────────────────────────────────────┬───────────────────┐ │ 路径 │ 位置 │ ├────────────────────────────────────────────────────────┼───────────────────┤ │ .baoyu-skills/baoyu-compress-image/EXTEND.md │ 项目目录 │ ├────────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.baoyu-skills/baoyu-compress-image/EXTEND.md │ 用户主目录 │ └────────────────────────────────────────────────────────┴───────────────────┘
┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ 结果 │ 操作 │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 找到 │ 读取、解析并应用设置 │ ├───────────┼───────────────────────────────────────────────────────────────────────────┤ │ 未找到 │ 使用默认值 │ └───────────┴───────────────────────────────────────────────────────────────────────────┘
EXTEND.md 支持:默认格式 | 默认质量 | 保留原文件首选项
用法
npx -y bun ${SKILL_DIR}/scripts/main.ts <input> [options]
选项
| 选项 | 短选项 | 说明 | 默认值 |
|---|---|---|---|
<input> | 文件或目录 | 必填 | |
--output | -o | 输出路径 | 相同路径,新扩展名 |
--format | -f | webp、png、jpeg | webp |
--quality | -q | 质量 0-100 | 80 |
--keep | -k | 保留原文件 | false |
--recursive | -r | 处理子目录 | false |
--json | JSON 输出 | false |
示例
# Single file → WebP (replaces original)
npx -y bun ${SKILL_DIR}/scripts/main.ts image.png
# Keep PNG format
npx -y bun ${SKILL_DIR}/scripts/main.ts image.png -f png --keep
# Directory recursive
npx -y bun ${SKILL_DIR}/scripts/main.ts ./images/ -r -q 75
# JSON output
npx -y bun ${SKILL_DIR}/scripts/main.ts image.png --json
输出:
image.png → image.webp (245KB → 89KB, 64% reduction)
扩展支持
可通过 EXTEND.md 使用自定义配置。路径和支持的选项请参阅首选项部分。