OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
社区运行状况
注册会员 1055
主题 638
模型 3026
技能包 13874
数据集 1047
论文 297
开源项目 481
技能包   文档   SkillsMP   GitHub   Clawhub   Skills.sh  

在技能中使用脚本

如何在技能包中运行命令、打包可执行脚本,以及如何为助手设计易于调用的脚本接口。

技能既可以指导助手执行 shell 命令,也可以在 scripts/ 目录中打包可复用脚本。本文涵盖:一次性命令(直接调用已有工具)、自带依赖的独立脚本、以及在 SKILL.md 中如何列出并引用这些脚本。

一次性命令

当已有工具或包能满足需求时,可以直接在 SKILL.md 的说明里写出要执行的命令,无需单独建 scripts/ 目录。很多生态都提供「按需安装并运行」的工具,例如:

  • Pythonuvxpipx run — 在隔离环境中运行指定版本的包。
  • Node.jsnpxbunx — 按需下载并执行 npm 包。
  • 其他deno rungo run 等,可直接从 URL 或包名运行。

在 SKILL.md 中应写明前置条件(如「需要 Node.js 18+」),不要默认假设助手环境已安装。运行环境类要求可写在 frontmatter 的 compatibility 字段,详见 规范

若命令变得复杂、难以一次写对,建议将逻辑放进 scripts/ 下的脚本中,在 SKILL.md 里只说明何时调用、传什么参数,这样更易维护、也便于助手按步骤执行。

在 SKILL.md 中引用 scripts/

把脚本放在技能包的 scripts/ 目录后,应在 SKILL.md列出可用脚本及其用途,方便助手发现并在合适时机调用。例如:

## 可用脚本
- **`scripts/validate.sh`** — 校验配置文件
- **`scripts/process.py`** — 处理输入数据

然后在正文中说明何时、如何调用,例如:

校验配置时执行:
  bash scripts/validate.sh "$INPUT_FILE"

处理数据时执行:
  python3 scripts/process.py --input results.json

助手会根据任务与说明选择并执行相应脚本;路径相对于技能包根目录。

设计建议

  • 脚本尽量无状态、可重复执行:通过参数或标准输入传入数据,避免依赖未写明的外部状态。
  • 在 SKILL.md 中写清参数含义与示例,便于助手正确拼写命令。
  • 复杂逻辑优先放在脚本内并做好测试,SKILL.md 只描述「何时用、怎么调」,减少助手自由发挥导致的错误。

延伸阅读

技能包目录与 scripts/ 的约定见 什么是 Skills?· 技能包目录结构规范 · 可选目录

关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 4 ms
Developed with Cursor