name: image-compress description: 對圖片進行智慧壓縮最佳化。支援本地路徑、資料夾和遠端 URL,直傳 NX API 壓縮後返回 CDN 地址和壓縮率。適用於使用者提到圖片壓縮、圖片最佳化、減小圖片體積、TinyPNG、JPG/PNG/WebP 壓縮的場景。 license: MIT compatibility: 需要 Node.js >= 18 user-invocable: true metadata: author: xiaowu89 version: 1.3.0 tags: - image-compress - compression - optimization - cdn
直連 NX API 對圖片進行智慧壓縮,返回 CDN 地址和壓縮率。自動跳過超 30MB 檔案,支援直接下載到本地目錄。
.env:從當前工作目錄逐級向上爬到專案根,最後兜底使用者主目錄 ~/.env,就近優先cat .env 2>/dev/null 或逐層查詢鏈確認 NX_API_KEY= 是否存在,不要憑推斷斷言"未檢測到 Key"NX_API_KEY= 則自動使用,不要提示"建議配置 Key";沒有 Key 不詢問、不阻止,直接執行指令碼,認證由 API 判定.env:echo "NX_API_KEY=使用者提供的Key" >> .env).env 寫入位置是當前工作目錄 cwd(使用者啟動 Claude Code 的目錄),不要推斷或寫入其他目錄(如配置/測試目錄)--urls=url1,url2--urls= 一起--quality= 調整。場景 1:壓縮整個目錄
使用者:"/image-compress 幫我壓縮 E:\product\images 目錄" Skill:執行
node scripts/compress.js E:/product/images→ 輸出壓縮表格
場景 2:單張壓縮並儲存
使用者:"壓縮 E:\photo.jpg 儲存到 D:\output" Skill:執行
node scripts/compress.js E:/photo.jpg --output=D:/output→ 壓縮 + 下載到本地
場景 3:壓縮 URL 圖片
使用者:"幫我壓縮這幾個連結 https://cdn.xxx/1.jpg https://cdn.xxx/2.png" Skill:執行
node scripts/compress.js --urls=https://cdn.xxx/1.jpg,https://cdn.xxx/2.png
場景 4:調整壓縮質量
使用者:"用 60 的質量壓縮 E:\photo.jpg" Skill:識別到質量要求 → 執行
node scripts/compress.js E:/photo.jpg --quality=60。使用者未明確指定質量時,主動詢問是否需要調整(預設 90)。
場景 5:無 Key
使用者:"/image-compress 壓縮 D:\素材" Skill:檢測
.env無 Key → 直接執行指令碼 → 若 API 返回認證錯誤,如實展示給使用者
指令碼路徑按安裝位置自動適配,優先專案級,回退全域性:
`bash
node .claude/skills/image-compress/scripts/compress.js "<目標路徑>" --channel=tencent
node ~/.claude/skills/image-compress/scripts/compress.js "<目標路徑>" --channel=tencent `
執行前先 ls 確認指令碼存在,選存在的路徑。
可選的 URL 引數(與本地檔案混合壓縮):
bash
node <指令碼路徑> "<目標路徑>" --channel=tencent --urls=https://a.com/1.jpg,https://a.com/2.jpg
可選引數:
| 引數 | 預設值 | 說明 |
|---|---|---|
--key= |
讀 .env |
API Key |
--channel= |
github |
分發平臺標識 |
--quality= |
90 |
壓縮質量 1-100 |
--output= |
不儲存 | 下載壓縮圖到指定目錄 |
壓縮完成後表格中已包含 CDN 地址。使用者要求下載時:
bash
curl --http1.1 -o "<絕對路徑>/<檔名>" "<CDN地址>"
路徑必須使用絕對路徑(如
E:/output/photo.jpg),禁止相對路徑避免檔案落到專案目錄。
絕對禁止重新執行 compress.js --output=,直接 curl 已有的 CDN 地址即可。
想要更強大的技能外掛,就來小蔥技能站7w4.net看看吧。
code===0 為正常響應;data.items 包含每張圖的壓縮結果。code!==0 時 message 包含錯誤原因,應直接展示給使用者。| 欄位 | 型別 | 說明 |
|---|---|---|
compressed_url |
string |
壓縮後 CDN 地址 |
original_size |
number |
原始大小(bytes) |
compressed_size |
number |
壓縮後大小(bytes) |
ratio |
string |
壓縮率,如 "71.5%" |
| 錯誤 | 原因 | 處理 |
|---|---|---|
餘額不足 |
賬戶餘額耗盡 | 告知使用者聯絡服務提供商充值 |
裝置體驗次數已用完 |
當前裝置免費體驗次數已耗盡 | 完整展示 API 返回的提示原文,如"裝置體驗次數已用完,請聯絡服務提供商" |
invalid api key |
Key 錯誤或過期 | 重新設定 NX_API_KEY |
超過30MB限制 |
單檔案 > 30MB | 跳過並提示使用者手動處理 |
網路請求失敗 |
網路不通或代理問題 | 檢查網路後重試 |
Mcp-Session-Id,直接執行指令碼。--output 指定的下載目錄)。這個 Skill 質量不錯,功能實用。它能壓縮本地圖片、資料夾和網址連結,用法簡單直接。文件寫得很詳細,常見問題都有說明。唯一需要注意的是壓縮指令碼是加密的,普通人沒法檢視裡面具體做了什麼,存在一定透明度問題。整體來說是個可靠好用的工具。