什么是 Skills?
在 AI 辅助编程的语境下,Skill(技能) 更像是一种对特定任务的'能力封装'或可复用的指令单元。它不是一次性的 Prompt,而是经过抽象、总结、可以反复使用的能力描述。
简单来说,Prompt 往往针对单次提问,而 Skill 则是可以反复调用的'能力模板'。比如生成一个 Java Getter 方法、根据接口文档生成 Controller 代码、把自然语言需求转换成 SQL,或者为已有方法补充 Javadoc 注释,这些都可以被定义为一个 Skill。
为什么要使用 Skills?
在实际开发中,我们常遇到这些问题:每次都要重新描述需求、AI 输出风格不统一、Prompt 越写越复杂,以及团队成员使用方式不一致。
Skill 的核心价值在于标准化、复用和稳定输出。
使用 Skills 的好处很明显:
- 提高效率:一次编写,多次使用
- 降低心智负担:不用反复组织复杂的 Prompt
- 输出更稳定:有明确的规则约束
- 方便团队协作:可共享、可沉淀
Skills 一般怎么使用?
不论在哪个平台,Skill 的基本流程通常是一致的:选择一个 Skill,填写必要参数,调用它,然后获得结果。
从概念层面看,这就像是一个函数调用:
Skill:生成 Java 方法
输入:方法名、参数、返回值、业务描述
输出:标准 Java 方法代码
如何编写一个 Skill?
一个好的 Skill,本质是把隐性经验变成显性规则。你需要明确它的名称、目标、输入参数、约束规则和输出格式。
在输出格式里,你可以放入自己的代码风格要求。例如,如果你习惯在每个方法开始加上日志记录入参,格式定为 log.xxx,那么就在规则里明确这一点,这样生成的代码就会自动包含你期望的日志逻辑。
Skill 通用模板参考
Skill 名称:XXX
目标:用于完成 XXX 类型任务
输入参数:
- 参数 1
- 参数 2
规则:
- 遵循编码规范
- 不生成无关内容
输出:
- 指定格式结果
- 你的示例
实战示例:用 Skill 生成一个 Java 方法
下面我们通过一个具体案例来看看如何配置。假设我们需要一个能生成符合 Java 编码规范的业务方法的 Skill。
Skill 配置
- 描述:根据给定信息生成符合 Java 编码规范的业务方法。
- 输入参数:
- 方法名(methodName)
- 返回类型(returnType)
- 参数列表(parameters)
- 业务描述(description)
- 每行加上 log 日志,格式是
log.xxx打印入参
- 约束规则:
- 使用 Java 命名规范
- 包含方法注释
- 逻辑清晰、可读性强
示例输入
方法名:calculateTotalPrice
返回类型:BigDecimal
参数:BigDecimal unitPrice, int quantity
业务描述:根据单价和数量计算总价


