/install file-compression
File Compression
Compress files with Python-first workflows and Node.js fallback workflows.
Supported File Types
- PDF:
.pdf - Image:
.jpg,.jpeg,.png,.webp
What This Skill Can Do
- Compress PDF with preset quality levels.
- Compress image with quality/resize/format controls.
- Switch backend automatically when dependencies are missing.
- Detect bad compression results and retry with better strategy.
Installation Spec (Before Running)
Required binaries:
python3(recommended>= 3.8)nodegs(Ghostscript, required for PDF Ghostscript paths)
Python install spec:
python3 -m pip install -r {baseDir}/requirements.txt
Node install spec:
cd {baseDir}
npm install
Ghostscript install examples:
- macOS:
brew install ghostscript - Ubuntu/Debian:
sudo apt-get update && sudo apt-get install -y ghostscript
Safety note:
- Explain to the user before each install command that third-party packages are being installed.
- If installation fails, report the failing command and switch to available fallback backend.
CLI Options Cheat Sheet
PDF (scripts/compress_pdf.py):
--preset screen|ebook|printer|prepress--strategy auto|ghostscript|pikepdf--remove-metadata--no-linearize--overwrite
PDF Node (scripts/compress_pdf_node.mjs):
--preset screen|ebook|printer|prepress
Image (scripts/compress_image.py):
--quality \x3C1-100>--format keep|jpeg|png|webp--max-width \x3Cn>--max-height \x3Cn>--strategy auto|pillow|node--overwrite
Image Node (scripts/compress_image_node.mjs):
--quality \x3C1-100>--format keep|jpeg|png|webp--max-width \x3Cn>--max-height \x3Cn>
Example Set (Python + Node)
PDF default:
python {baseDir}/scripts/compress_pdf.py in.pdf out.pdf
PDF aggressive:
python {baseDir}/scripts/compress_pdf.py in.pdf out.pdf --preset screen --strategy ghostscript
PDF with pikepdf:
python {baseDir}/scripts/compress_pdf.py in.pdf out.pdf --strategy pikepdf --remove-metadata
PDF via Node:
node {baseDir}/scripts/compress_pdf_node.mjs in.pdf out.pdf --preset ebook
Image default:
python {baseDir}/scripts/compress_image.py in.jpg out.jpg --quality 75
Image convert + resize:
python {baseDir}/scripts/compress_image.py in.png out.webp --format webp --quality 72 --max-width 1920
Image force Node backend:
python {baseDir}/scripts/compress_image.py in.jpg out.jpg --strategy node --quality 70
Image direct Node:
node {baseDir}/scripts/compress_image_node.mjs in.jpg out.jpg --quality 70 --max-width 1600
Environment and Fallback
Check and install in this order:
- Python:
python3 --version(fallback:python --version) - Node:
node --version - Ghostscript:
gs --version(required for PDF Ghostscript paths) - Python deps when needed:
pip install pikepdfpip install pillow
- Node deps when needed:
npm install
Fallback policy:
- PDF:
ghostscript->pikepdf->node-ghostscript - Image:
pillow->node-sharp
If python3.8+ is unavailable, try python3.11/3.10/3.9/3.8; if still blocked, use Node flow when possible.
Execution Transparency
Always communicate each step:
- Tell user what you are checking or running.
- Show the exact command before execution.
- For slow steps (
pip install,npm install, large Ghostscript jobs), say you are waiting. - After each step, report result and next action.
Bad Result Recovery
When output_size >= input_size, do not stop:
- Report exact from/to numbers and compression ratio.
- Explain likely cause:
- PDF: already optimized, scanned-image content, metadata overhead, unsuitable preset.
- Image: unsuitable format conversion, quality too high, small-file overhead.
- Retry with alternate strategy:
- PDF:
ebook -> screen, then switch backend. - Image: lower quality, switch backend, convert to
webp, optionally resize.
- PDF:
- Return the best attempt and state which command produced it.
Agent Response Contract
After every compression task, always return:
- Output absolute path.
from \x3Cbefore_size> to \x3Cafter_size>.saved \x3Cdelta_size> (\x3Cratio>%).- Backend used.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install file-compression - 安装完成后,直接呼叫该 Skill 的名称或使用
/file-compression触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
File Compression 是什么?
Compress files to reduce storage and transfer size. Use this skill when users ask to shrink PDFs or images, optimize upload/share size, or balance quality an... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 461 次。
如何安装 File Compression?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install file-compression」即可一键安装,无需额外配置。
File Compression 是免费的吗?
是的,File Compression 完全免费(开源免费),可自由下载、安装和使用。
File Compression 支持哪些平台?
File Compression 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 File Compression?
由 HeXavi8(@hexavi8)开发并维护,当前版本 v1.0.1。