用途:创建或修改 uv --script 风格的 Python CLI,把重复命令封装成可直接执行的 ./scripts/... 工具,或统一这类脚本约定。
主要能力与约定:默认只依赖 uv,不手动安装依赖、不依赖宿主机预置 Python 环境,便于修改和版本控制;脚本可像可执行文件一样直接运行。
使用方式:入口脚本基本流程为 uv init --script scripts/foo.py、uv add --script scripts/foo.py <package>、chmod +x scripts/foo.py、./scripts/foo.py --help。依赖管理用 uv add --script scripts/foo.py <package> 添加、uv remove --script scripts/foo.py <package> 移除,不手工编辑头部 /// script 依赖块。入口脚本放在对应 skill 的 scripts/ 目录下,默认应能直接执行 ./scripts/foo.py,文档中不要写成 python ... 或 uv run python ...。
被其他 skill 调用时,需把调用约定模板写入该 skill 的 SKILL.md:以当前 SKILL.md 所在文件夹为 workdir,直接当作可执行命令运行,例如 cd skills/<skill-name> && ./scripts/<tool>.py --help;错误示例为 uv run python skills/<skill-name>/scripts/<tool>.py --help 或 python skills/<skill-name>/scripts/<tool>.py --help。
细节偏好:命令行优先 Typer,人类可读输出优先 Rich,参数校验优先 Pydantic;被入口脚本 import 的普通模块不写 shebang、不写 /// script;参数和输出保持稳定,需要机器可读输出时提供 --json;能通过参数传入的路径、仓库目录、配置不要依赖当前 shell cwd;模块、函数、类型写简短中文 docstring。
验证:./scripts/foo.py --help、uv run ruff check <path>、uv run ruff format --check <path>。
限制:资料未提供收费、价格、平台支持范围等信息。