name: skill-creator description: 创建新的Jazz技能以自动化工作流。当用户请求创建技能、制作技能或想要定义自定义自动化行为时使用。
技能创建器
为自动化工作流和专门任务创建有效的Jazz技能。
收集信息(问卷)
在获得足够信息之前不要创建技能。 如果用户的请求含糊(例如“创建技能”、“我想要一个X技能”)或缺少以下任何项目,请引导他们完成一个简短的问卷,而不是猜测。
当您知道以下信息时,表示信息足够:
- 目的:此技能应自动化什么特定任务或工作流?
- 位置:全局(
~/.jazz/skills/,~/.agents/skills)或项目特定(./skills/)? - 触发:Jazz应在何时自动应用此技能?(触发短语或场景。)
- 领域知识:需要什么专门信息?
- 输出格式:是否需要特定模板或格式?
如何运行问卷:
- 每次问一个或几个问题;不要一次性列出长列表。
- 如果用户提供了部分上下文,推断您可以的部分,并只询问缺失的部分。
- 在每个答案后,确认您已有的信息,并只询问仍然缺失的部分。
- 一旦拥有以上五项信息,则进行创建技能(目录 + SKILL.md 和任何支持文件)。
技能结构
skill-name/
├── SKILL.md # 必需 - 主要说明
├── reference.md # 可选 - 详细文档
├── examples.md # 可选 - 使用示例
└── scripts/ # 可选 - 实用脚本
存储位置
| 类型 | 路径 | 范围 |
|---|---|---|
| 全局 | ~/.jazz/skills/skill-name/ |
在所有项目中可用 |
| 项目特定 | ./skills/skill-name/ |
项目特定 |
| 内置 | 随Jazz发行 | 无法修改 |
SKILL.md 格式
每个技能都需要一个带有YAML前言的SKILL.md:
---
name: your-skill-name
description: 简要描述此技能的作用和使用时机
---
# 您的技能名称
## 说明
清晰、逐步的指导。
## 示例
具体的使用示例。
必需元数据
| 字段 | 要求 | 目的 |
|---|---|---|
name |
最多64字符,小写字母/数字/连字符 | 唯一标识符 |
description |
最多1024字符 | 帮助Jazz决定何时应用技能 |
编写描述
描述决定了Jazz何时应用技能。
最佳实践
-
以第三人称书写:
- ✅ “处理数据文件并生成报告”
- ❌ “我可以帮助您处理文件”
-
使用具体的触发术语:
- ✅ “从git提交生成发布说明。在发布、创建变更日志或准备发布文档时使用。”
- ❌ “帮助发布”
-
包含什么和何时:
- 什么:技能的能力
- 何时:触发场景
撰写原则
1. 简洁
上下文窗口是共享的。只添加Jazz不知道的信息。
好:
## 生成报告
使用pandas进行数据分析:
\`\`\`python
import pandas as pd
df = pd.read_csv("data.csv")
\`\`\`
不好:
## 生成报告
数据分析对于理解模式很重要。
有许多分析数据的方法,但我们推荐...
2. 保持SKILL.md在500行以下
对于详细内容,使用渐进披露。
3. 渐进披露
基本信息在SKILL.md中;详细信息在单独文件中:
## 额外资源
- 对于API详细信息,参见[reference.md](reference.md)
- 对于示例,参见[examples.md](examples.md)
4. 适当的细节级别
| 自由度 | 何时 | 示例 |
|---|---|---|
| 高(文本) | 多种有效方法 | 代码审查指南 |
| 中(模板) | 首选模式 | 报告生成 |
| 低(脚本) | 一致性关键 | 数据库迁移 |
5. 时间感知内容(当相关时)
如果技能处理新闻、研究或时间敏感信息:
- 尊重用户给定的时间范围(例如“本周”、“2024”、“过去5年”)。
- 默认为最近当没有给定时间范围时(不要假设“所有时间”)。
- 在输出中说明时间范围(例如“摘要 — 本周”或“截至2024…”)。
常见模式
模板模式
## 报告结构
\`\`\`markdown
# [标题]
## 摘要
[概述]
## 发现
- 发现 1
- 发现 2
## 建议
1. 行动 1
2. 行动 2
\`\`\`
工作流模式
## 工作流
- [ ] 步骤 1:分析输入
- [ ] 步骤 2:处理数据
- [ ] 步骤 3:生成输出
- [ ] 步骤 4:验证结果
**步骤 1:分析输入**
运行:`python scripts/analyze.py input.json`
条件模式
## 选择工作流
**创建新的?** → 遵循“创建”部分
**编辑现有的?** → 遵循“编辑”部分
创建工作流
阶段 1:发现(如需问卷)
收集目的、位置、触发、要求、示例。如果用户没有提供所有这些,引导他们回答问题直到有足够信息—然后进入阶段 2。
阶段 2:设计
- 草拟技能名称(小写、连字符、最多64字符)
- 编写具体描述
- 概述主要部分
- 识别所需支持文件
阶段 3:实施
- 创建目录结构
- 编写带有前言的SKILL.md
- 创建支持文件
- 添加实用脚本(如需)
阶段 4:验证
- [ ] SKILL.md在500行以下
- [ ] 描述使用具体触发术语
- [ ] 术语一致
- [ ] 引用一层深
- [ ] 可以被发现和加载
反模式
- ❌ Windows路径(
scripts\helper.py) - ❌ 太多选项没有默认值
- ❌ 时间敏感信息
- ❌ 术语不一致
- ❌ 模糊名称(
helper,utils)
额外资源
- 对于输出格式化模式,参见references/output-patterns.md
完整示例
目录:
code-review/
├── SKILL.md
└── standards.md
---
name: code-review
description: 为质量和安全审查代码。在审查PR或代码更改时使用。
---
# 代码审查
## 清单
- [ ] 逻辑正确,处理边界情况
- [ ] 没有安全漏洞
- [ ] 遵循样式约定
- [ ] 测试覆盖更改
## 反馈格式
- 🔴 **严重**:必须修复
- 🟡 **建议**:考虑改进
- 🟢 **不错但非必需**:可选
## 详细信息
参见[standards.md](standards.md)获取编码标准。