帮助用户从一个想法出发,对话式创建高质量的 Skill;也可以对已有 Skill 进行质量审计并给出改进建议。
根据用户输入判断使用哪个模式:
创建模式 — 用户想要做一个新 Skill
审计模式 — 用户想检查/优化已有 Skill
灵感模式 — 用户不确定做什么
通过提问收集信息。用户回答越详细,生成的 Skill 质量越高。缺失项可合理推断。
必须明确的信息:
| 维度 | 问题 | 示例 |
|------|------|------|
| 做什么 | 这个 Skill 的核心功能是什么? | "根据关键词搜集参考图,拼合成情绪板" |
| 谁来用 | 目标用户是谁?什么场景下触发? | "设计师,在找灵感的时候用" |
| 输入 | 用户需要提供什么? | "关键词、风格偏好、图片数量" |
| 输出 | 最终交付什么? | "HTML 预览页 + 拼合好的 PNG" |
可选但能提升质量的信息:
| 维度 | 问题 |
|------|------|
| 参考 | 有没有想参考的已有 Skill 或产品? |
| 技术 | 需要调用什么 API 或工具?有什么技术约束? |
| 风格 | 对输出的格式/样式有什么偏好? |
| 约束 | 有什么一定不要/一定要的? |
如果用户只给了一句话(如"做一个记账的 Skill"),不要反复追问,而是:
[TODO] 标注需要用户确认的假设
根据需求选择最佳 Skill 架构模式:
| 模式 | 适用场景 | 典型结构 | 代表 Skill |
|------|---------|---------|-----------|
| 工作流型 | 有清晰的步骤序列 | Step 1 → Step 2 → Step 3 | car-matchmaker |
| 工具型 | 包装脚本/API 调用 | Setup → Run → Output | 批量绘图 |
| 分析型 | 输入数据 → 输出报告 | 数据采集 → 分析 → 报告 | 市场调研 |
| 生成型 | 根据描述创作内容 | 理念 → 创作 → 精修 | canvas-design |
| 聚合型 | 多源数据汇总 | 搜集 → 过滤 → 摘要 | 新闻摘要 |
| 管理型 | 记录 + 追踪 + 提醒 | 记录 → 统计 → 可视化 | 习惯打卡 |
| 对话型 | 多轮交互引导 | 提问 → 回答 → 反馈 | 面试陪练 |
根据架构设计,自动生成完整的 Skill 文件夹:
YAML Frontmatter 规则:
---
name: hyphen-case-name # 必须:小写+连字符,最长64字符
description: "..." # 必须:清晰描述功能+触发场景+触发词,最长1024字符
description_zh: "..." # 建议:中文简述
description_en: "..." # 建议:英文简述
---
description 写法要点:
< 或 > 字符
"汽车选购匹配师。当用户需要买车推荐、选车对比时使用。触发词:买车、选车、推荐车。"
正文结构(根据架构模式选择):
工作流型示例:
# Skill 名称
一句话说明核心功能。
## 工作流程
1. **步骤名** — 简述
2. **步骤名** — 简述
3. **步骤名** — 简述
## Step 1:步骤名
详细指令...
## Step 2:步骤名
详细指令...
## 注意事项
- 关键约束和边界情况
SKILL.md 写作原则:
{baseDir} — 脚本路径使用 {baseDir} 占位符,系统会自动替换
判断是否需要脚本:
脚本规范:
--help 参数说明
encoding='utf-8'
if __name__ == "__main__": main()
放在 references/ 目录,适用于:
包含:功能介绍、使用方式、文件结构、注意事项。
生成完毕后,自动运行审计流程(见下方),确保生成的 Skill 质量达标。如有问题,自动修复后再交付。
对一个已有 Skill 进行全面质量审计。
python {baseDir}/scripts/audit_skill.py <skill_directory>
或直接告诉我要审计哪个 Skill,我会自动读取并检查。
| 检查项 | 分值 | 标准 |
|--------|------|------|
| SKILL.md 存在 | 5 | 文件存在且非空 |
| Frontmatter 格式正确 | 5 | YAML 格式,含 name + description |
| name 规范 | 3 | hyphen-case,≤64 字符 |
| description 规范 | 3 | ≤1024 字符,无 <>,包含触发词 |
| 目录结构合理 | 4 | scripts/references/assets 按需存在 |
| 检查项 | 分值 | 标准 |
|--------|------|------|
| 有明确的工作流 | 8 | 步骤清晰,AI 可无歧义执行 |
| 有输入/输出说明 | 5 | 说明了需要什么、产出什么 |
| 有示例 | 5 | 至少 1 个完整的使用示例 |
| 有边界处理 | 4 | 说明了异常情况如何处理 |
| 无冗余内容 | 3 | 没有 AI 已知的常识性内容 |
| 检查项 | 分值 | 标准 |
|--------|------|------|
| description 说明了做什么 | 5 | 第一句话能让人理解功能 |
| description 说明了何时触发 | 5 | 包含使用场景 |
| 有足够的触发关键词 | 5 | 中英文触发词,覆盖常见说法 |
| 检查项 | 分值 | 标准 |
|--------|------|------|
| 语法正确 | 5 | Python AST 解析通过 |
| 有 --help | 3 | argparse 或用法说明 |
| 有错误处理 | 4 | try/except 或参数校验 |
| 无第三方依赖 | 4 | 或在 SKILL.md 中说明了依赖 |
| 编码兼容 | 4 | UTF-8 读写,print 无 emoji |
| 检查项 | 分值 | 标准 |
|--------|------|------|
| 有 README.md | 5 | 包含功能/使用/注意事项 |
| 注释充分 | 5 | 脚本有 docstring,关键逻辑有注释 |
| 检查项 | 分值 | 标准 |
|--------|------|------|
| 使用 {baseDir} 引用脚本 | 3 | 而非硬编码路径 |
| 中英文描述都有 | 3 | description_zh + description_en |
| 输出格式专业 | 4 | HTML 有样式,报告有结构 |
══════════════════════════════════════════
Skill 质量审计报告:{skill_name}
══════════════════════════════════════════
结构完整性 ████████░░ 16/20
指令质量 █████████░ 22/25
描述与触发 ██████████ 15/15
脚本质量 ██████░░░░ 12/20
文档质量 ████░░░░░░ 5/10
最佳实践 ███████░░░ 7/10
综合评分:77/100 等级:B+
══════════════════════════════════════════
[!] 问题清单:
1. [脚本] print 语句包含 emoji,Windows 下会报 GBK 编码错误
2. [脚本] collect_images.py 缺少 --count=0 时的边界处理
3. [文档] 缺少 README.md
4. [最佳实践] 缺少 description_en
[*] 改进建议:
1. 将脚本中的 emoji print 替换为纯 ASCII 文本
2. 在 --count 参数中添加 minimum=1 校验
3. 生成 README.md 包含功能/使用/注意事项
4. 在 frontmatter 中添加 description_en
══════════════════════════════════════════
审计后询问用户是否要自动修复。
当用户不确定做什么 Skill 时,根据以下维度推荐:
输出格式:
推荐 5 个 Skill 方向:
1. 📊 expense-tracker(记账分析师)
做什么:自然语言记账 → 自动分类 → 月度报告
难度:★★☆ 预计耗时:30分钟
为什么推荐:高频刚需,现有 Skill 中没有
2. 🍳 meal-planner(食谱规划师)
...
~/.workbuddy/skills/{skill-name}/(用户级)
共 1 个版本