SuperAPI AI 工具集

skill builder

智能体与模型

查看项目

更新于 10-16 05:29

技能介绍

Skill Builder 是一个用于创建和校验 Agent Skills 的工具,目标是帮助用户构建聚焦、可被发现的技能,用清晰的描述和渐进式披露模式解决特定问题。

用途

Skill Builder 面向需要构建自定义 Agent Skill 的场景,包括:构建自定义技能、测试技能发现、设计新技能。其核心目标是让技能具备明确的问题定位和有效的触发描述,从而被正确识别和调用。

工作流程

1. 设计技能

在动手构建前,需要先明确以下问题:

  • What(做什么):这个技能解决什么具体问题?
  • When(何时用):哪些触发短语会让 Claude 使用它?(3-5 个具体短语)
  • Scope(范围):是单一能力还是多个相关特性?
  • Location(位置):个人目录(~/.claude/skills/)还是项目目录(.claude/skills/)?

示例:

  • What:从 git diff 生成清晰的提交信息
  • When:用户想创建提交、审查已暂存变更、解释代码变更
  • Scope:单一能力(仅提交信息,不含其他 git 任务)
  • Location:个人目录(跨项目可用)

2. 撰写描述

描述公式为:<做什么>。当 <触发条件1> 或 <触发条件2> 或 <触发条件3> 时使用。

  • 好的示例:从 git diff 生成清晰的提交信息。当创建提交、审查已暂存变更,或解释代码中发生了哪些变化时使用。
  • 较弱的示例:帮助处理 git(过于模糊,没有触发条件)。

有效的触发词类型:

  • 动作动词:extract、analyze、generate、review、validate、debug、migrate
  • 文件类型:PDF、.xlsx、Python files、YAML
  • 领域术语:commits、staging、forms、spreadsheets、SwiftUI

长度限制:名称最多 64 字符,描述最多 1024 字符。

3. 创建目录结构

最小技能(单一聚焦任务):

my-skill/
└── SKILL.md

需要支持文件的技能:

my-skill/
├── SKILL.md              (main instructions - keep <200 lines)
└── REFERENCE.md          (detailed patterns, examples)

4. 编写 SKILL.md

最小模板(200 行以内):

---
name: Your Skill Name
description: What it does and when to use. [Include 3-5 trigger phrases]
---

# Your Skill Name

## Quick Start

[One-paragraph overview of what this skill does]

## Instructions

1. Understand the requirement: [Ask clarifying questions]
2. [Core step with specific approach]
3. [Next step]
4. [Final step with verification]

## Examples

[2-3 concrete, realistic examples]

## Best Practices

- Do X in situation Y
- Avoid Z because...
- Use this pattern when...

5. 校验技能质量

结构检查清单:

  • YAML frontmatter 有效(第 1 行和内容前均有 ---)
  • name 少于 64 字符
  • description 少于 1024 字符
  • description 包含 3-5 个触发短语并覆盖“做什么”和“何时用”
  • Markdown 语法正确(# 用于标题,``` 用于代码块)
  • 引用的文件都存在于技能目录中

发现性检查清单:

  • description 不能用来描述另一个不同的技能
  • 触发词与用户实际表述问题的方式一致
  • 3-5 个具体术语,而非泛化语言
  • 与相关技能有清晰区分

功能检查清单:

  • 指令是分步且清晰的
  • 示例具体而非抽象
  • 记录了边界情况或限制
  • 工作流聚焦于单一能力

6. 测试发现

生成 2-3 个与描述匹配的自然提示。

以“Commit Message Generator”为例:

  • 适合:“Write a commit message for these staged changes”
  • 适合:“Help me create a clear git commit”
  • 适合:“I need to describe what I just changed”
  • 不适合:“Analyze my code”(属于其他技能的领域)

以“SwiftUI Engineer”为例:

  • 适合:“Review my SwiftUI code for anti-patterns”
  • 适合:“Debug this view rendering issue”
  • 适合:“Help me migrate this from AppKit to SwiftUI”
  • 不适合:“Write Python code”(领域不符)

7. 常见模式

  • 单一能力技能:一个具体任务(提交信息、PDF 提取)
  • 多模式技能:一个统一下的相关能力
  • SwiftUI Engineer:架构、审查、调试、现代化
  • 主文件保持 150-200 行,详细模式放在 REFERENCE.md
  • 主文件说明“何时使用哪个模式”

结构参考

最小单文件结构:

适用场景:指令简单的聚焦技能

skill/
└── SKILL.md (100-150 lines)

带渐进式披露的结构:

适用场景:相关能力较多或示例丰富

skill/
├── SKILL.md (150-200 lines with quick patterns)
└── REFERENCE.md (300-400 lines with detailed examples and TOC)

核心原则

  • 聚焦范围:一个技能 = 一个主要能力或一组相关能力
  • 具体触发:包含用户实际会说的领域术语
  • 渐进式披露:仅在需要时加载细节(使用 REFERENCE.md)
  • 具体示例:展示真实场景,而非抽象概念
  • 单层引用:所有引用从 SKILL.md 指向支持文件即可
  • 无重复:不要跨技能重复模式

需要避免的反模式

  • 过度堆叠:“做提交、审查代码、分析数据、生成文档……”→ 拆分为多个聚焦技能
  • 触发模糊:“帮助处理东西”“通用目的”→ 添加 3-5 个具体领域术语
  • 嵌套引用:SKILL.md → REFERENCE.md → DETAILS.md → 保持引用扁平(仅一层深)
  • 营销化语言:“效果惊人的神奇工具!”→ 具体说明它做什么

何时迭代

如果 Claude 未在预期时使用你的技能:

  • 首先检查 YAML 语法(最常见问题)
  • 在 description 中添加更具体的触发词
  • 确认 description 覆盖“做什么”和“何时用”
  • 用自然语言表述进行测试
  • 确保触发词与用户词汇一致