关于 research-skill-creator
research-skill-creator 为研究人员和技能作者提供创建、编写及验证研究类 Agent 技能的流程与规范。它涵盖技能适用性判断、脚手架生成、脚本安全约定和评估步骤。
主要功能
- 01判断任务是否适合封装为技能
- 02生成技能脚手架
- 03提供描述与正文编写规范
- 04规定脚本接口和安全要求
- 05通过验证、测试与评估检查技能
适用场景
- 01为重复研究流程创建技能
- 02编写技能描述和操作步骤
- 03为技能添加确定性脚本
- 04测试技能触发条件及脚本行为
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kalarislabs/ research-agent-skills --skill research-skill-creator安装后在 Claude Code 中输入/research-skill-creator确认已加载。
附带文件scripts/new_skill.py
详细介绍
研究技能创建器
优秀的研究技能会封装专家本来每次都要解释的流程性知识:步骤顺序、用于发现错误的检查,以及针对特定投稿渠道或仪器的规则。它既不是教科书章节,也不是对某个 API 调用的封装。
0. 安装官方工具(仅需一次)
Anthropic 的 skill-creator 提供评测循环、描述优化器和打包工具。在 Claude Code 中:
/plugin marketplace add anthropics/skills
/plugin install example-skills@anthropic-agent-skills
使用它运行评测(run_eval.py、run_loop.py)并调整描述(improve_description.py)。此技能补充了研究领域的特定约定。
1. 判断是否应该创建技能
只有以下条件全部满足时才创建技能:
- 该任务会在多个项目或人员之间反复出现(并非一次性脚本)。
- 要做好这项任务,需要非显而易见的步骤、检查或领域规则。
- 如果没有指导,Agent 很可能会出错(可通过先不使用技能、直接提问来测试)。
否则,改写一则说明或编写一个脚本。检查 catalog/skills.json 是否有重叠,并优先扩展现有技能,而不是创建近似重复项。
2. 搭建骨架
python skills/research-skill-creator/scripts/new_skill.py rebuttal-letter \
--category research-writing \
--description "Draft point-by-point responses to peer reviewers. Use when ..." \
--scripts --references
这会生成符合规范的前置元数据文件 skills/<name>/SKILL.md 和 evals/<name>/evals.json。
3. 编写描述(它决定技能是否会被使用)
- 说明技能的功能和适用场景,并使用用户实际会输入的词语: “期刊投稿附信”“审稿人回复”“PRISMA 流程图”。
- 写出具体的产物、工具和投稿渠道(“BibTeX”“Nature”“pgvector”)。
- 最多 1024 个字符,使用第三人称,不要使用尖括号或营销用形容词。
- 添加“Use when ...”条目,列出 3-6 个最常见的触发条件,并说明与相近技能的区别(例如“系统领域的投稿渠道请使用 systems-paper-writing”)。
4. 编写正文
| 原则 | 实践 |
|---|---|
| 流程优先于散文 | 使用编号工作流、决策表和检查清单 |
| 渐进式披露 | SKILL.md 控制在 500 行以内;较长内容放入 references/*.md,并附上一行“在何时阅读”的提示 |
| 确定性工作交由代码处理 | 将解析、验证和转换放入 scripts/,由 Agent 运行,而非重新实现 |
| 对会变化的事实先核实 | 对投稿渠道限制、API 版本和指南,要求 Agent 获取官方来源并注明引用 |
| 诚实原则 | 明确要求“绝不伪造数据、引文或结果;无法核实时应说明” |
| 交接 | 结尾列出相关技能及切换时机 |
5. 脚本:仓库规范
- 使用 Python 3.9+ 标准库,除非依赖项不可或缺。依赖项须在
compatibility中声明。 - 使用带
--help的argparse命令行界面,提供用法说明文档字符串;退出码为:0表示正常,1表示发现问题,2表示输入无效。 - 设置 UTF-8 控制台环境(脚手架中已包含),避免 Windows 终端崩溃。
- 网络调用仅限已记录的 API。每个新增域名都必须经审核者批准后添加到
security/allowed-domains.txt。设置描述性User-Agent。 - 除用户为相应服务配置的环境变量外,绝不读取凭据。绝不外传环境数据。不对获取的内容使用
eval/exec。绝不将下载的脚本通过管道传入 shell。
6. 测试
- 运行
uv run tools/validate.py skills/<name>:检查规范和仓库策略。 - 运行
uv run tools/lint_injection.py skills/<name>:检查提示词注入和负载。 - 在
evals/<name>/evals.json中填写 3-10 个真实的提示词,其中包括不应触发技能的近似情形,并使用 skill-creator 的评测循环运行。比较使用和不使用技能时的效果。 - 使用真实样例输入运行每个脚本,包括格式错误的输入;条件允许时,分别在 Windows 和 Unix 上测试。
- 运行
uv run tools/build_catalog.py,重新生成 marketplace、目录和 README 表格。
7. 重写改编的技能
third_party/upstream-manifest.json 中标有 rewrite_status: imported
的技能均为改编内容。重写时必须从头开始(采用新结构和新措辞,并重新核实事实),不能逐行改写。合并后,将清单中该技能的 rewrite_status: original。随后,通知生成器会将其从 THIRD_PARTY_NOTICES.md 中移除,导入器也会停止覆盖它。
相关技能
research-agent-skills 仓库文档(CONTRIBUTING.md)、Anthropic 的 skill-creator、
autoskill(可检测适合整理成技能的重复工作流)。