mcpField
R
research-skill-creator

research-skill-creator

github.com/kalarislabsAgent 工作流7349 次安装3 天前更新
代码仓库

关于 research-skill-creator

research-skill-creator 为研究人员和技能作者提供创建、编写及验证研究类 Agent 技能的流程与规范。它涵盖技能适用性判断、脚手架生成、脚本安全约定和评估步骤。

主要功能

  1. 01判断任务是否适合封装为技能
  2. 02生成技能脚手架
  3. 03提供描述与正文编写规范
  4. 04规定脚本接口和安全要求
  5. 05通过验证、测试与评估检查技能

适用场景

  1. 01为重复研究流程创建技能
  2. 02编写技能描述和操作步骤
  3. 03为技能添加确定性脚本
  4. 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. 测试

  1. 运行 uv run tools/validate.py skills/<name>:检查规范和仓库策略。
  2. 运行 uv run tools/lint_injection.py skills/<name>:检查提示词注入和负载。
  3. 在 evals/<name>/evals.json 中填写 3-10 个真实的提示词,其中包括不应触发技能的近似情形,并使用 skill-creator 的评测循环运行。比较使用和不使用技能时的效果。
  4. 使用真实样例输入运行每个脚本,包括格式错误的输入;条件允许时,分别在 Windows 和 Unix 上测试。
  5. 运行 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(可检测适合整理成技能的重复工作流)。

评论

支持 Markdown