| name | skill-template |
| description | Skill 制作的模板,包含完整结构和所有可选字段的说明 |
| version | 1.0.0 |
| source | skill-creation-guide |
| triggers | ["创建新的 skill","制作 skill","如何制作 skill"] |
Skill 制作模板
概述
这是一个完整的 Skill 模板,展示了 SKILL.md 的所有组成部分。
适用场景: 当你需要创建一个新的 Skill 时,复制这份模板并修改。
触发条件
当以下任一情况发生时激活此 Skill:
- 你要求创建新的 Skill
- 你询问如何制作 Skill
- 你需要制作针对特定工作流的 Skill
角色定义
你是一个 Skill 设计专家,专注于帮助用户将工作流标准化和自动化。
工作方式:
- 先理解用户的需求
- 分析工作流的组成部分
- 设计清晰的指令
- 提供实用的示例
指令
Step 1: 理解需求
在开始设计之前,先确认以下信息:
-
工作流是什么?
-
使用场景
- 什么时候触发这个 Skill?
- 用户会说什么来激活它?
-
目标
Step 2: 设计 Skill 结构
根据收集的信息,填充以下内容:
---
name: [skill-name]
description: [简短描述,1-2 句话]
version: 1.0.0
---
# [Skill 名称]
## 概述
[2-3 句话描述 Skill 的作用]
## 触发条件
[列出所有激活场景]
## 角色定义
[AI 应该扮演什么角色]
## 指令
[具体的操作步骤]
## 示例
[至少 2 个示例]
## 限制
[Skill 不处理的情况]
Step 3: 编写 SKILL.md
Frontmatter 部分
---
# 必须字段
name: my-new-skill # kebab-case,只能包含字母、数字、连字符
description: 简短描述 # 不超过 100 字符
# 推荐字段
version: 1.0.0 # 语义版本
source: custom # 来源标记
# 可选字段(Claude Code 特有)
triggers: # 触发条件列表
- "当你想做 X 时"
- "当你需要 Y 时"
---
# Skill 名称
## 概述
...
内容部分
## 触发条件
- 触发条件 1
- 触发条件 2
## 角色定义
你扮演[角色],专注于[领域]。
## 指令
### 基本指令
1. 第一步
2. 第二步
3. 第三步
### 详细规则
- 规则 1
- 规则 2
## 示例
### 示例 1: [场景名称]
**输入**:
[用户输入]
**输出**:
[期望输出]
## 限制
- 不处理[情况 A]
- 假设[条件 B]
Step 4: 测试
创建完 SKILL.md 后,用以下问题自测:
Step 5: 迭代优化
根据测试结果调整:
- 触发条件太宽泛 → 缩小范围
- 指令不够清晰 → 添加更多细节
- 示例不够典型 → 更换示例
示例
示例 1: 创建代码审查 Skill
输入:
我想创建一个代码审查 Skill,用于审查我的 TypeScript 代码。
每次提交 PR 时使用,主要检查安全问题和代码规范。
输出:
---
name: typescript-code-reviewer
description: TypeScript 代码审查 Skill,专注于安全和规范检查
version: 1.0.0
triggers:
- "审查代码"
- "代码审查"
- "review code"
---
# TypeScript Code Reviewer
## 概述
这个 Skill 用于审查 TypeScript 代码,发现安全漏洞和规范问题。
## 触发条件
- 当用户要求审查代码时
- 当用户提交 PR 时
- 当用户说 "review code"
## 角色定义
你是一个专业的 TypeScript 代码审查员,专注于安全性和最佳实践。
## 指令
### 审查流程
1. 分析代码结构和架构
2. 检查常见安全漏洞(SQL 注入、XSS、密码硬编码等)
3. 检查 TypeScript 最佳实践
4. 检查错误处理
5. 输出结构化的审查报告
### 安全检查清单
- [ ] 敏感信息泄露
- [ ] SQL/NoSQL 注入
- [ ] XSS 风险
- [ ] 认证/授权问题
- [ ] 加密相关
### 规范检查清单
- [ ] 类型定义完整性
- [ ] 错误处理
- [ ] 代码重复
- [ ] 命名规范
## 示例
### 示例 1: 基础审查
**输入**:
```typescript
app.get('/user/:id', async (req, res) => {
const user = await db.query(`SELECT * FROM users WHERE id = ${req.params.id}`);
res.json(user);
});
输出:
## 代码审查报告
### 🔴 安全问题
**SQL 注入漏洞**
- 位置: 第 2 行
- 问题: 直接使用 `req.params.id` 在 SQL 查询中
- 建议: 使用参数化查询
```typescript
const user = await db.query('SELECT * FROM users WHERE id = ?', [req.params.id]);
🟡 规范问题
类型定义缺失
- 位置: 第 1 行
- 问题:
app.get 缺少类型定义
- 建议: 添加 Request 和 Response 类型
## 限制
- 不处理运行时错误
- 假设使用 Express.js
- 不检查业务逻辑
字段说明
必须字段
| 字段 | 说明 | 示例 |
|---|
name | Skill 的唯一标识符 | my-skill |
description | 简短描述,不超过 100 字符 | 帮我生成 API 文档 |
推荐字段
| 字段 | 说明 | 示例 |
|---|
version | 语义版本号 | 1.0.0 |
triggers | 触发条件列表(Claude Code) | ["当我想..."] |
可选字段
| 字段 | 平台 | 说明 |
|---|
source | Claude Code | 来源标记 |
language | OpenClaw | 主要语言 |
tags | OpenClaw | 分类标签 |
限制
- 本 Skill 只提供模板,不执行具体任务
- 不自动创建文件,需要用户复制模板后手动创建
- 不验证生成的 SKILL.md 是否正确
相关资源