SuperAPI AI 工具集

write-a-skill

智能体与模型

查看项目

更新于 10-16 05:35

技能介绍

用途

write-a-skill 是一个用于创建新智能体技能(agent skill)的元技能。当用户想要创建、编写或构建一个新技能时,可以使用它。它指导用户按照规范的结构、渐进式披露(progressive disclosure)和捆绑资源来编写技能。

主要能力

该技能提供了一套编写技能的流程,包括需求收集、草稿撰写和用户评审三个阶段。

1. 收集需求

向用户询问以下问题:

  • 该技能覆盖什么任务或领域?
  • 它应该处理哪些具体用例?
  • 它需要可执行脚本,还是只需要指令?
  • 是否有需要包含的参考材料?

2. 起草技能

创建以下内容:

  • SKILL.md,包含简洁的指令
  • 如果内容超过 500 行,添加额外的参考文件
  • 如果需要确定性操作,添加工具脚本

3. 与用户评审

展示草稿并询问:

  • 这是否覆盖了你的用例?
  • 是否有遗漏或不清晰的地方?
  • 是否有某个部分需要更详细或更简略?

技能结构

技能目录采用如下结构:

skill-name/
├── SKILL.md           # 主指令(必需)
├── REFERENCE.md       # 详细文档(如需要)
├── EXAMPLES.md        # 使用示例(如需要)
└── scripts/           # 工具脚本(如需要)
    └── helper.js

SKILL.md 模板

---
name: skill-name
description: Brief description of capability. Use when [specific triggers].
---

# Skill Name

## Quick start

[Minimal working example]

## Workflows

[Step-by-step processes with checklists for complex tasks]

## Advanced features

[Link to separate files: See [REFERENCE.md](REFERENCE.md)]

描述(description)要求

description 是智能体在决定加载哪个技能时唯一能看到的信息。它会与所有其他已安装技能一起出现在系统提示中。智能体阅读这些描述,并根据用户请求选择相关技能。

目标是让智能体获得刚好足够的信息来判断:

  • 该技能提供什么能力
  • 何时/为何触发它(具体关键词、上下文、文件类型)

格式要求:

  • 最多 1024 字符
  • 使用第三人称
  • 第一句:它做什么
  • 第二句:“Use when [具体触发条件]”

好的示例:

Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when user mentions PDFs, forms, or document extraction.

不好的示例:

Helps with documents.

不好的示例无法让智能体将此技能与其他文档技能区分开来。

何时添加脚本

在以下情况添加工具脚本:

  • 操作是确定性的(验证、格式化)
  • 同一段代码会被重复生成
  • 错误需要显式处理

脚本相比生成的代码可以节省 token 并提高可靠性。

何时拆分文件

在以下情况拆分为单独文件:

  • SKILL.md 超过 100 行
  • 内容涉及不同领域(例如财务与销售 schema)
  • 高级功能很少被使用

评审清单

起草后,验证以下各项:

  • description 包含触发条件(“Use when...”)
  • SKILL.md 少于 100 行
  • 没有时间敏感的信息
  • 术语一致
  • 包含具体示例
  • 引用只有一层深度

适用场景

适用于需要为智能体创建新技能的场景,例如用户希望编写、构建或创建新技能时。

限制

资料中未提供关于收费、价格、平台支持范围或具体效果的信息。