用途:技能常带有 .py、.sh 等伴随脚本,若依赖未安装会在其他机器上静默失败。例如在 macOS 上编写的技能可能调用 brew、pbcopy 或使用 /usr/local/bin 路径,在 Linux 上不存在;Python 脚本可能导入未安装的 pandas。该工具在运行前扫描并报告可移植性问题。
主要能力:扫描伴随脚本中的操作系统特定模式与外部二进制调用;通过 PATH 查找和 which 检查二进制是否存在;与技能 frontmatter 中声明的 os_filter 字段交叉核对。检查项包括 OS_SPECIFIC_CALL(调用特定系统二进制但未声明 os_filter)、MISSING_BINARY(当前 PATH 找不到所需二进制)、BREW_ONLY(使用 brew 但 os_filter 包含非 macOS)、PYTHON_IMPORT(导入非标准库模块并检查是否可导入)、HARDCODED_PATH(绝对路径在本机不存在)。
使用方式:
python3 check.py --check python3 check.py --check --skill my-skill python3 check.py --fix-hints my-skill python3 check.py --format json
先运行扫描,优先处理 FAIL,再审查 WARN。MISSING_BINARY 可安装依赖或添加优雅回退;OS_SPECIFIC_CALL 未声明时添加 os_filter: [macos] 等;PYTHON_IMPORT 可安装模块或用 try/except ImportError 降级;HARDCODED_PATH 改用 Path.home() 或环境变量路径。若技能确实只支持单一系统,声明 os_filter: [macos],避免在其他平台被加载。
限制:资料未提供安装方式、支持的 Python 版本范围、是否支持 Windows 以外的平台细节及收费信息,暂未提供。