canghe-compress-image について
画像ファイルやディレクトリを圧縮するスキル兼コマンドラインツールです。sips、cwebp、ImageMagick、Sharpなど利用可能なツールを選び、形式や品質、元ファイルの保持を設定できます。
主な機能
- 01ファイルやディレクトリの圧縮
- 02WebP、PNG、JPEG形式の選択
- 03圧縮品質の指定
- 04サブディレクトリの再帰処理
- 05EXTEND.mdによる既定値の設定
活用シーン
- 01画像をWebPに変換
- 02画像フォルダーを圧縮
- 03元ファイルを残して圧縮コピーを作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ freestylefly/ canghe-skills --skill canghe-compress-imageインストール後、Claude Code で/canghe-compress-imageを入力して読み込まれたか確認します。
同梱ファイルscripts/main.ts
詳細
画像圧縮ツール
利用可能な最適なツール(sips → cwebp → ImageMagick → Sharp)を使用して画像を圧縮します。
スクリプトディレクトリ
スクリプトはサブディレクトリ scripts/ にあります。${SKILL_DIR} を、この SKILL.md があるディレクトリのパスに置き換えてください。
| スクリプト | 用途 |
|---|---|
scripts/main.ts | 画像圧縮 CLI |
設定(EXTEND.md)
Bash を使用して EXTEND.md の有無を確認します(優先順位順):
# Check project-level first
test -f .canghe-skills/canghe-compress-image/EXTEND.md && echo "project"
# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.canghe-skills/canghe-compress-image/EXTEND.md" && echo "user"
┌────────────────────────────────────────────────────────┬───────────────────┐ │ パス │ 場所 │ ├────────────────────────────────────────────────────────┼───────────────────┤ │ .canghe-skills/canghe-compress-image/EXTEND.md │ プロジェクトディレクトリ │ ├────────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.canghe-skills/canghe-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 を使用してカスタム設定を行えます。パスとサポートされるオプションについては、設定セクションを参照してください。