D

create-skill-test

作者 dotnet

create-skill-test 用于为 dotnet/skills 中的 agent 技能搭建 eval.yaml 测试文件骨架。可用它来创建技能测试、定义场景、fixtures、断言和 rubric,并降低评测设计中的过拟合风险。它不适合用于运行现有测试、排查 validator 报错或编写 SKILL.md 文件。

Stars3k
收藏0
评论0
收录时间2026年5月25日
分类Skill 测试
安装命令
npx skills add dotnet/skills --skill create-skill-test
编辑评分

该技能得分为 62/100,说明它可以上架,但建议谨慎使用:它为目录用户提供了一个真实、聚焦的 eval.yaml 测试文件搭建流程,不过适用范围较窄,而且更偏向特定仓库,不如通用型技能那样可复用。

62/100
亮点
  • 触发条件清晰:前言明确说明它用于创建 eval.yaml 测试文件、添加场景、设置 fixtures,以及检查过拟合风险。
  • 流程足够具体:正文包含明确的输入、适用/不适用场景说明,以及带约束条件的多步骤流程。
  • 对 dotnet/skills 贡献者的安装决策价值较高:它引用了 validator 检查和仓库约定,减少了通用提示带来的猜测成本。
注意点
  • 它属于实验性、测试导向内容,并且只针对 dotnet/skills 的约定,离开该仓库后可能不太通用。
  • 没有附带脚本、参考资料或支持文件,用户只能依赖文档本身来完成实现细节。
概览

create-skill-test 技能概览

create-skill-test 是一个用于构建 dotnet/skills 仓库中 agent skills 的 eval.yaml 测试文件的脚手架与校验辅助工具。它面向的是那些需要一个可靠起点来编写 skill 测试的人,而不是泛泛地用来“写一个测试”的通用提示词。它的主要作用,是把目标 skill、plugin 名称和场景想法,转化成符合仓库规范的测试结构,并附带 fixtures、断言和 rubric,尽量降低过拟合风险。

create-skill-test 更适合已经明确知道要评估哪个 skill、并且需要快速产出一个符合仓库规则的测试文件的作者。如果你只是想运行测试、排查 validator 失败,或者从零开始写 skill instructions,它就不太合适。

create-skill-test 的用途

当你要创建新的 eval 文件、为现有文件补充更多场景,或者检查自己的 rubric 是否过于依赖某一种精确输出时,就可以使用 create-skill-test。对于 create-skill-test for Skill Testing 这类流程来说,它尤其有用,因为测试设计的质量和 YAML 结构本身同样重要。

它能帮你避开什么问题

它最大的价值,是帮你避开脆弱的 eval:缺少必填字段、skill 路径不匹配、fixture 组织混乱,以及 rubric 文案不小心把某种措辞当成了正确答案,而不是去衡量真实行为。如果你希望测试在目标 skill 演进后依然有用,这一点就很关键。

它不能替代什么

它不能替代 skill-validator,也不能帮你编辑 SKILL.md 文件。如果你的目标是诊断一个坏掉的测试运行,或者调试 validator 输出,那就不是它的使用场景。

如何使用 create-skill-test 技能

安装并打开源 skill

使用 npx skills add dotnet/skills --skill create-skill-test 安装 create-skill-test。然后先阅读 SKILL.md,因为里面写明了工作流、输入要求,以及在你向模型请求生成内容之前,先判断请求是否有效的边界条件。

给这个 skill 准确的测试需求

一份好的 create-skill-test install 请求,不只是说“做一个测试”而已。你需要提供 skill 名称、plugin 名称、要验证的行为,以及任何场景约束。这个 skill 期望的输入,类似于 plugins/<plugin>/skills/ 下的目标 skill,所以命名要足够精确。

更好的需求描述可以像这样:

  • Skill: foo-bar
  • Plugin: dotnet-msbuild
  • Goal: 验证 agent 能生成有效摘要,并拒绝不受支持的路径
  • Scenario: 第一次使用、只提供了部分上下文
  • Fixture need: 一个最小输入文件和一个边界情况文件

这样一来,create-skill-test usage 流程就有足够结构去生成一个有用的 eval,而不是一个泛泛的版本。

阅读真正相关的仓库部分

先看 SKILL.md,然后如果仓库里有,再检查 README.mdAGENTS.mdmetadata.json,以及附近的 rules/resources/references/scripts/ 文件夹。在这个仓库快照里,只有 SKILL.md 被展示出来,所以 skill 定义本身就是最主要的事实来源。

迭代场景和 rubric

用第一版结果来检查测试是否真的在衡量你想要的行为。如果 rubric 奖励的是措辞而不是结果,就把它收紧;如果场景太宽泛,就拆分;如果这个 skill 只需要一条 happy path,就保持 eval 尽量小,不要为了“完整”硬加额外案例。

create-skill-test 技能常见问题

create-skill-test 只适用于 dotnet/skills 吗?

是的,它是围绕 dotnet/skills 仓库的约定,以及 plugins/<plugin>/skills/ 的目录结构来设计的。你当然可以把这个思路迁移到别处,但当你的仓库遵循相同的结构和验证预期时,create-skill-test 指南才最有价值。

我应该用它代替普通提示词吗?

当你想要一个可重复、结构更稳的 eval 脚手架,并且尽量减少结构性错误时,用 create-skill-test。普通提示词也能描述测试,但在仓库特定约定、fixture 放置位置,以及过拟合检查这些方面,通常会更弱。

它对新手友好吗?

如果你能识别目标 skill,并用自然语言讲清楚场景,那它是友好的。若你说不出 plugin 名称、skill 路径,或者被测行为是什么,那就不太友好,因为这些输入会直接决定生成结果。

什么时候不该用它?

不要把 create-skill-test 用在运行测试、排查 validator 错误,或者编写新 skill 上。这些都是相邻但不同的工作流,工具和成功标准也不一样。

如何改进 create-skill-test 技能

提供更窄、更明确的输入

create-skill-test 的最佳结果来自具体场景,而不是宽泛意图。比如“测试 skill 在缺少上下文时能否返回安全回退结果”就比“做一个全面的 eval”更强,因为它清楚地告诉 skill:什么行为重要,什么内容不应该被过度加分。

要求 rubric 质量,而不只是 YAML

如果你只要求结构,最后可能得到一个技术上有效、但仍然容易过拟合的文件。你要明确说明什么算成功、什么算失败、哪些细节只是附带信息。这样通常是提升 create-skill-test for Skill Testing 结果最快的方式。

生成后检查是否过拟合

检查断言是否在奖励某一种固定措辞、固定顺序,或者某个完全一致的示例字符串——除非这种精确度确实是必要的。好的 eval 衡量的是 skill 应该保持的行为,而不是某次运行里碰巧生成的字面表述。

根据 validator 反馈继续收敛

如果第一次输出没有通过 validation,把具体错误和对应的 YAML 片段一起反馈回去。通常这样比把整个需求重新说一遍,更容易得到更好的第二轮结果。

评分与评论

暂无评分
分享你的评价
登录后即可为这个技能评分并发表评论。
G
0/10000
最新评论
保存中...
create-skill-test 安装与使用