在 SKILL.md 中调用 scripts/ 目录下的脚本,关键在于明确指示 AI 何时运行、如何传参以及如何处理输出。你需要将脚本视为 AI 的“手和脚”,通过自然语言指令告诉 AI 如何操作这些工具。
以下是具体的调用方式和模板示例:
🛠️ 核心调用逻辑
在 SKILL.md 的正文中,你不需要写代码来调用脚本,而是用自然语言指令告诉 AI:
- 触发条件:什么时候该运行脚本?
- 命令格式:运行哪个脚本?参数是什么?
- 参数来源:参数从哪里获取(用户输入、上一步的输出、文件内容)?
- 结果处理:脚本运行后,AI 该做什么(读取输出、报错处理、展示给用户)?
📝 在模板中如何编写
假设你的技能目录结构如下:
my-skill/
├── SKILL.md
└── scripts/└── analyze_data.py
你应该在 SKILL.md 的 核心指令 部分这样描述:
示例模板
---
name: data-analyzer
description: 分析用户提供的 CSV 数据文件,生成统计摘要。当用户上传 CSV 文件或要求“分析数据”时触发。
version: 1.0.0
---# 数据分析助手## 角色定义
你是一名数据分析师,擅长使用 Python 脚本处理 CSV 数据并提取关键指标。## 核心指令
请严格按照以下步骤执行任务:1. **获取输入**:- 确认用户是否提供了 CSV 文件路径或内容。如果没有,请询问用户。2. **执行脚本**:- **调用工具**:使用 `Bash` 工具运行位于 `scripts/analyze_data.py` 的脚本。- **参数传递**:将用户提供的文件路径作为参数传递给脚本。- **命令示例**:```bashpython scripts/analyze_data.py --file "用户提供的文件路径"```3. **处理输出**:- 读取脚本的标准输出(stdout)。- 如果脚本执行成功,将输出的 JSON 数据格式化为易读的 Markdown 表格或列表展示给用户。- 如果脚本报错(stderr),请将错误信息完整反馈给用户,并建议检查文件格式。## 输出格式
- **统计摘要**:使用 Markdown 表格展示均值、中位数、最大值。
- **异常检测**:列出数据中的异常点。## 错误处理
- 如果 `scripts/analyze_data.py` 不存在或无法执行,请提示用户检查技能安装。
- 如果文件路径无效,请引导用户重新上传。
💡 关键点解析
明确路径
在指令中明确写出脚本的相对路径(如 scripts/analyze_data.py),这样 AI 知道去哪里找工具。
参数化
用占位符(如 "用户提供的文件路径")告诉 AI 参数是动态的,需要从上下文提取。
工具权限
确保你的 AI 环境(如 Cursor, Claude Desktop)配置了允许执行 Bash 或 Shell 命令的权限,否则 AI 无法运行脚本。
结果解析
脚本通常输出纯文本或 JSON。你需要告诉 AI 拿到这些文本后做什么(例如:“将 JSON 输出转换为 Markdown 表格”)。
🚀 进阶:处理复杂交互
如果脚本需要多个参数或交互式输入,可以在 SKILL.md 中写得更细致:
## 复杂参数处理
如果用户同时提供了“开始日期”和“结束日期”,请在运行脚本时添加 `--start` 和 `--end` 标志:
```bash
python scripts/generate_report.py --start "2023-01-01" --end "2023-12-31"
如果用户未提供日期,默认使用当前月份。
通过这种方式,`SKILL.md` 就成为了连接 **用户意图** 和 **脚本功能** 的桥梁。