SuperAPI AI 工具集

skill-creator

智能体与模型

查看项目

更新于 10-16 07:07

技能介绍

用途

Skill Creator 是一个用来创建新技能、迭代改进已有技能的技能。它适合以下场景:

  • 用户想从零开始创建一项技能
  • 用户想编辑或优化已有技能
  • 用户想衡量技能的表现

其核心流程大致为:明确技能要做什么以及大致如何实现;写出技能草稿;编写若干测试提示词,并在可访问该技能的 Claude 上运行;帮助用户从定性和定量两个角度评估结果;根据反馈重写技能;重复直到满意;再扩大测试集进行更大规模的验证。

使用该技能时,需要先判断用户处于上述流程的哪一步,再介入帮助推进。例如用户说“我想为 X 做一个技能”,可以帮助细化需求、写草稿、写测试用例、确定评估方式、运行提示词并重复迭代;如果用户已有草稿,则可直接进入评估与迭代环节。流程顺序是灵活的,如果用户表示不需要大量评估、只想直接协作,也可以照此进行。技能完成后,还可以运行技能描述改进器来优化技能的触发效果。

主要能力

  • 捕捉意图:理解技能应让 Claude 做什么、何时触发、预期输出格式,以及是否需要设置测试用例来验证技能是否有效。对可客观验证输出的技能(文件转换、数据提取、代码生成、固定工作流步骤)适合测试用例;主观输出的技能(写作风格、艺术)通常不需要。
  • 访谈与研究:主动询问边界情况、输入输出格式、示例文件、成功标准和依赖项;可检查可用的 MCP,并行研究文档、相似技能与最佳实践。
  • 编写 SKILL.md:包括 name(技能标识)、description(触发时机与功能,所有“何时使用”的信息都放这里)、compatibility(所需工具与依赖,可选)以及技能其余内容。
  • 技能写作指导:包含技能结构(SKILL.md 及可选的 scripts/、references/、assets/ 资源)、渐进式披露的三级加载体系(元数据、SKILL.md 主体、捆绑资源)、写作模式(多用祈使句、定义输出格式、示例模式)以及写作风格建议。
  • 编写测试用例:草拟 2-3 个真实用户可能说出的测试提示词,保存到 evals/evals.json。
  • 运行与评估测试用例:为每个测试用例同时启动带技能和不带技能(或旧版本技能)的子代理,运行过程中草拟量化断言,收集耗时与 token 数据,评分并聚合为基准,最后用 eval-viewer/generate_review.py 启动查看器展示结果。
  • 查看器体验:Outputs 标签页逐个展示测试用例的提示词、输出、上一轮输出、正式评分与反馈输入框;Benchmark 标签页展示各配置的通过率、耗时与 token 用量,以及逐项拆解与分析观察。
  • 改进技能:读取 feedback.json,针对用户有具体意见的测试用例进行改进。

使用方式

技能结构如下:

skill-name/
├── SKILL.md (required)
│   ├── YAML frontmatter (name, description required)
│   └── Markdown instructions
└── Bundled Resources (optional)
    ├── scripts/    - Executable code for deterministic/repetitive tasks
    ├── references/ - Docs loaded into context as needed
    └── assets/     - Files used in output (templates, icons, fonts)

进度式披露采用三级加载:元数据(name + description)始终在上下文中;SKILL.md 主体在技能触发时进入上下文;捆绑资源按需加载。建议 SKILL.md 保持在 500 行以内,超过时增加层级并给出清晰指引;大型参考文件(超过 300 行)应包含目录;多领域技能可按变体组织(如 cloud-deploy 下按 aws.md、gcp.md、azure.md 分文件)。

运行与评估测试用例时,将结果放在与技能目录同级的 <skill-name>-workspace/ 下,按迭代组织(iteration-1/、iteration-2/ 等),每个测试用例一个目录(eval-0/、eval-1/ 等),按需逐步创建。

保存测试用例到 evals/evals.json,格式示例:

{
  "skill_name": "example-skill",
  "evals": [
    {
      "id": 1,
      "prompt": "User's task prompt",
      "expected_output": "Description of expected result",
      "files": []
    }
  ]
}

为每个测试用例写 eval_metadata.json:

{
  "eval_id": 0,
  "eval_name": "descriptive-name-here",
  "prompt": "The user's task prompt",
  "assertions": []
}

运行完成后记录耗时数据到 timing.json:

{
  "total_tokens": 84852,
  "duration_ms": 23332,
  "total_duration_seconds": 23.3
}

聚合基准命令:

python -m scripts.aggregate_benchmark <workspace>/iteration-N --skill-name <name>

启动查看器:

nohup python <skill-creator-path>/eval-viewer/generate_review.py \
  <workspace>/iteration-N \
  --skill-name "my-skill" \
  --benchmark <workspace>/iteration-N/benchmark.json \
  > /dev/null 2>&1 &
VIEWER_PID=$!

迭代 2 及以上可附加 --previous-workspace <workspace>/iteration-<N-1>。在无界面环境中可用 --static <output_path> 生成独立 HTML 文件,用户点击“Submit All Reviews”后会下载 feedback.json。查看完成后关闭查看器:

kill $VIEWER_PID 2>/dev/null

适用场景与限制

适用场景包括从零创建技能、改进已有技能、衡量技能表现,以及对技能触发描述进行优化。该技能对用户的技术背景有较宽的适应性,沟通时应根据上下文线索调整措辞,例如“evaluation”“benchmark”属于可接受但需谨慎的用词,“JSON”“assertion”等术语需要确认用户了解后再使用。技能必须不包含恶意软件、漏洞利用代码或任何可能危害系统安全的内容,不应创建误导性技能或用于未经授权访问、数据外泄等恶意活动的技能。关于具体的兼容性要求、脚本依赖细节、收费与价格信息,暂未提供。