Image Crop and Rotate 图像裁剪旋转技能
一个将图片从中心裁剪至50%并顺时针旋转90度的本地图像处理技能,配合沙箱环境全程保护隐私。
脚本仅做本地图像读写,无网络、无凭据访问、无外部副作用;代码完整可审计,输入/输出路径由用户显式提供,错误会打印诊断信息。扣分项:无用户确认机制、无对源图像不可恢复处理的回滚说明、依赖 Pillow 但未在技能内声明版本、发布者身份未经验证。
脚本自洽:参数校验、输入文件与输出目录检查、异常捕获与 traceback、退出码明确;文档与脚本行为一致(尺寸计算、ROTATE_270 等价顺时针 90°)。扣分项:静态评审未执行,无测试证据;对损坏/非图像文件、透明度/EXIF 旋转等边界情况未处理(Image.open 可能触发 EXIF 方向偏移),错误消息虽可读但覆盖不全,故按静态上限 10 分封顶。
适用场景描述清晰(中心裁剪 50% + 顺时针 90°),触发语义明确,不易被误触发。扣分项:功能范围极窄且固定(参数不可调,用户要求任意比例或角度时并不适用,但未声明此非适用边界);无中文支持说明;文档假设 /mnt/user-data 路径,仅在特定沙箱环境可用,环境适配证据有限。
文档结构清晰(Overview/When to Use/Process/Example),许可 Apache-2.0 明确。扣分项:技能本身无版本号或变更记录;未附技能级 requirements.txt(Pillow 依赖需从仓库根 requirements.txt 推断);维护责任与更新路径依赖发布者身份而发布者未经核实;无 FAQ 或已知限制说明。
目标明确、脚本逻辑简单直接,逻辑上能完成声明的裁剪与旋转任务并输出可用图像。扣分项:静态评审未验证实际输出;相比直接用 PIL 一行代码,边际价值有限;固定 50%/90° 缺乏灵活性,部分用户任务仍需手动改脚本。
源码完全可审计,为主要可验证材料。扣分项:无测试套件、无提交的实际执行证据(CI 仅构建 Docker 镜像,不覆盖本技能路径)、无示例输出文件或第三方佐证,静态上限 5 分亦不可达,实际仅 3 分。
- 静态评审,未执行任何代码;所有结论基于源码阅读。
- 脚本硬编码 /mnt/user-data 路径,仅在配套沙箱/MCP 环境中可用,直接本地使用需自行调整路径。
- 未处理 EXIF 方向信息,带旋转元数据的 JPEG 处理结果可能与预期不符。
- 裁剪比例和旋转角度固定为 50%/90°顺时针,其他需求需修改脚本。
- 发布者未经 FollowSkills 企业注册表核实;技能无独立版本与变更记录,更新需自行跟踪仓库。
- Pillow 依赖未在技能目录内声明,需确保运行环境已安装。
这个 Skill 能做什么,适合哪些场景?
image-crop-rotate 是 instavm/open-skills 技能集合中的一个独立技能,通过 Python PIL/Pillow 脚本对图像执行两项固定操作:从中心裁剪至原尺寸的50%,然后顺时针旋转90度。技能包包含一个 SKILL.md 说明文件和 scripts/crop_and_rotate.py 脚本。它设计为在 OpenSkills 的本地沙箱容器中运行,数据不离开本机。操作是固定的,不支持自定义裁剪比例或旋转角度。
读取输入图像文件,运行 crop_and_rotate.py 脚本,先从中心裁剪至原图的50%(例如 1000x800 变为 500x400),再顺时针旋转90度(500x400 变为 400x500),并将结果保存到指定输出路径。支持 PIL/Pillow 支持的所有格式(JPEG、PNG、GIF、BMP、TIFF 等),并打印处理前后的尺寸信息。
- 需要在本地处理包含敏感内容的截图或照片、不愿上传云端的用户
- 需要批量将图片缩小一半并改变方向的资料整理者(脚本一次调用处理一张图)
- 已部署 OpenSkills MCP 服务器、希望用 Claude Desktop 或 Gemini CLI 调用图像工具的用户
- 需要验证图像处理结果尺寸(脚本会输出原始、裁剪和最终尺寸)的开发者
这个 Skill 有哪些优点和局限?
- 完全本地执行,数据不离开 Mac,隐私有保障
- 实现极简,仅依赖 PIL/Pillow,行为可预期
- 脚本会输出各阶段尺寸,便于核对结果
- 支持 JPEG、PNG、GIF、BMP、TIFF 等常见格式
- 操作完全固定:只能50%中心裁剪加90度顺时针旋转,无法自定义参数
- 一次只处理一张图片,README 中的批量处理示例属于整个技能集合的通用能力,未见本技能自带批处理逻辑
- 依赖 OpenSkills 沙箱的 /mnt/user-data 路径约定,脱离该环境需自行调整路径
- 未提供测试套件或独立于 OpenSkills 的使用文档
如何安装这个 Skill?
前提:已按 open-skills 仓库 README 安装 OpenSkills(需 Apple Silicon Mac、Python 3.10+,运行 ./install.sh 并 pip install -r examples/requirements.txt)。该技能位于仓库的 skills/public/image-crop-rotate/ 目录;安装脚本是否自动将其放入 ~/.open-skills/assets/skills/ 目录,README 未明确说明,请以实际安装输出为准。
如何使用这个 Skill?
- 将待处理图片放入 ~/.open-skills/assets/outputs/(容器内对应 /mnt/user-data/)。2. 让 AI 助手调用该技能,例如输入:"把这张图片从中心裁剪到50%并顺时针旋转90度"。3. AI 会运行:python scripts/crop_and_rotate.py <输入路径> <输出路径>。4. 处理结果出现在 ~/.open-skills/assets/outputs/ 中。也可直接手动执行脚本。
这个 Skill 与同类方案有什么区别?
源材料表明该技能运行于 OpenSkills 平台,可作为 Anthropic 官方图像处理技能(需上传云端)的本地替代方案;除此之外未提及其他竞品。