把 source-brief 放进一个练习项目,分别用点名、不点名、不相关三种请求试一遍,把结果记下来。
放在项目里,还是个人目录
这篇接着用上一篇写的 source-brief。
OpenAI 的配置说明里有两个常用位置:项目级的放在仓库里的 .agents/skills,个人级的放在 ~/.agents/skills。练习的话放项目目录就行,找起来方便。在项目根目录执行:
mkdir -p .agents/skills/source-brief
# 把上一篇的 SKILL.md 存到这里:
# .agents/skills/source-brief/SKILL.md只放一份就好。两边都放,改着改着就不知道哪个是最新的了。
先点名调用一次
按 Build skills 的说明,在 Codex CLI 或 IDE 插件里,可以用 /skills 选技能,也可以输入 $ 加名字直接提及。任务和 description 对得上时,Codex 也可能自己选用。第一次先点名,确认它能找到文件:
$source-brief
请把下面这段材料整理成阅读卡片。
原文:本次笔记只比较两种整理方法,没有统计使用人数。
标题、作者、日期均未提供。然后看输出:有没有凭空补出作者或者使用人数?结论能不能对回原文?它说自己用了 Skill,只能说明文件被找到了,摘要写得对不对还得自己看。
不写名字,再试一次
开一个新对话,贴同样的原文,只说“把这段材料做成阅读卡片”。点名能用、这样却不触发,先去看 description 是不是没覆盖这种说法。
再试一句不相关的,比如“帮我拟五个文章标题,不用做阅读卡片”,看它会不会误用这个 Skill。OpenAI 讲技能评测的文章也是这么分的:点名调用、自动调用、不该调用。结果可以按下面的格式记:
提示:把材料做成阅读卡片
预期:使用 source-brief
实际:________
输出缺口:________
下一次只修改:________只想手动调用的话
不想让 Codex 自己挑这个 Skill,可以在它的 agents/openai.yaml 里加上:
policy:
allow_implicit_invocation: false按官方的调用策略说明,这样会关掉自动调用,点名还能用。默认值是 true,没这个需求就不用加。
关掉以后,自然语言请求不触发是正常的,不用再去改 description。
常见问题
- 技能列表里没有:查项目路径、文件名和 YAML 头。官方说明提到技能文件改动会被自动检测,还是不出现就重启一下。也看看是不是改到了另一份副本。
- 点名能用,自动不触发:看 description 和调用策略,再各拿一条该触发、不该触发的请求试试。
- 用上了,但结果不对:先看原文给全了没有、输出要求写清楚没有。加过脚本的话,再看脚本的依赖和报错。
以前手动禁用过技能的,也去配置里看一眼。网上旧教程里的路径可能和现在不一样,对不上时以当前文档和工具里实际能看到的为准。
前面那几条测试请求和修改记录留着,下次改 Skill 时可以直接拿来再跑一遍。
参考资料
主要参考了下面这些官方文档。文中的示例是为练习另写的,不是官方原文。
- Build skillsOpenAI
点名调用、自动调用、加载方式和调用策略。
- CustomizationOpenAI
项目级 .agents/skills 和个人级 ~/.agents/skills 的区别。
- Testing Agent Skills Systematically with EvalsOpenAI
参考了它的测试分类和反例思路。
个人免责声明
本文是个人学习笔记,仅供本人学习使用。示例只作参考,实际用法以官方文档为准。