关于 paper-to-skill
将研究论文转化为结构化、经过测试的 Skill 包的工作流 Skill,面向希望把论文方法整理为可执行 Agent 工作流的用户,结合论文分析与迭代完善。
主要功能
- 01接收 PDF、URL、ID 或文本论文
- 02提取方法和参数
- 03生成结构化 Skill 规范
- 04通过 Agent 测试迭代完善
- 05在包中注明论文来源
适用场景
- 01将算法论文转为 Skill
- 02依据论文实验构建工作流
- 03记录生成的 Skill 包的来源
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mathews-tom/ armory --skill paper-to-skill安装后在 Claude Code 中输入/paper-to-skill确认已加载。
附带文件evals/cases.yamlreferences/extraction-patterns.md
详细介绍
论文到技能的流水线
将研究论文转化为可用于生产环境的技能包。该流水线会从论文中提取可执行的方法,将其整理为技能规范,再通过协同进化式优化生成经过验证的包。
这打通了研究与实践之间的闭环:今天发表的论文,明天就能成为可执行的技能,无需手动编写。
参考文件
| 文件 | 内容 | 加载时机 |
|---|---|---|
references/extraction-patterns.md | 从论文中提取方法的模式 | 始终 |
先决条件
to-markdown技能(用于 PDF/文档转换)research-critique技能(用于论文分析)test-engineerAgent(用于协同进化式技能生成)
工作流
阶段 1:论文导入
接受任意受支持格式的论文:
| 输入格式 | 操作 |
|---|---|
| arXiv ID(例如 2604.01687) | 通过 https://arxiv.org/abs/<id> 获取并转换 PDF |
| arXiv URL | 提取 ID,获取并转换 |
| PDF 文件路径 | 使用 to-markdown 技能转换 |
| 论文 URL | 通过 WebFetch 获取;如果是 PDF,则进行转换 |
| 粘贴的文本 | 直接使用 |
转换 PDF 时,调用 to-markdown 技能:
将此 PDF 转换为整洁的 Markdown,保留章节结构、表格、公式和算法伪代码。删除参考文献部分,但保留文内引用。
阶段 2:批判性分析
对转换后的论文调用 research-critique 技能:
分析这篇论文,重点关注:
- 核心贡献:新颖的方法是什么?
- 算法描述:提取逐步流程
- 输入/输出规范:输入和输出分别是什么?
- 关键参数及其有效范围
- 声称的结果及支持这些结果的证据
- 作者承认的失败模式和局限性
- 先决条件和依赖项(工具、数据、算力)
批判性分析的输出将成为技能规范的基础。
阶段 3:提取技能规范
根据批判性分析的输出,构建结构化的技能规范:
specification:
name: <kebab-case derived from paper's methodology name>
domain: <paper's application domain>
source_paper:
title: <paper title>
arxiv_id: <if available>
url: <paper URL>
authors: <first author et al.>
date: <publication date>
capabilities:
- <capability 1 derived from the methodology>
- <capability 2>
- <capability 3>
input_format: <what the skill accepts>
output_format: <what the skill produces>
algorithm_steps:
- step: 1
description: <from paper's algorithm>
parameters: [<key params with ranges>]
- step: 2
description: <next step>
failure_modes:
- <from paper's limitations section>
example_tasks:
- <task 1 the methodology would solve>
- <task 2>
- <task 3>
提取规则:
- 优先采用论文自身的算法伪代码,而非文字描述
- 纳入论文实验中的参数范围(例如,“学习率:0.001-0.01”)
- 将论文术语映射到 armory 约定(例如,“module” → “skill”,“pipeline” → “workflow”)
- 如果论文描述了多个变体,提取表现最佳的变体
常见论文类型的专用模式,请参阅 references/extraction-patterns.md。
阶段 4:生成技能
将规范交由 test-engineer Agent,进行协同进化式生成:
为以下领域演进出一项技能:[specification.domain]
能力:[specification.capabilities] 算法:[specification.algorithm_steps] 输入:[specification.input_format] 输出:[specification.output_format] 失败模式:[specification.failure_modes] 示例任务:[specification.example_tasks]
来源:[specification.source_paper.title] ([specification.source_paper.url])
test-engineer 将使用该规范作为任务描述,运行完整的协同进化循环(生成 → 验证 → oracle → 优化)。
阶段 5:注明来源并完成定稿
确保生成的技能正确注明源论文:
- Frontmatter: 在元数据中添加
source: <paper_url> - 正文: 在 SKILL.md 末尾添加来源说明部分:
## Attribution This skill implements the methodology from: > <paper title> > <authors> > <venue/arxiv, date> > <URL> - 参考资料: 如果论文有补充材料(代码、数据集),请在生成的技能的
references/目录中创建一个来源材料参考文件,链接到这些材料 - 验证技能名称与
manifest.yaml中的现有包不冲突
输出
完整的技能包位于 skills/<name>/:
SKILL.md,包含来源说明和基于论文的工作流evals/cases.yaml,包含由协同进化循环生成的断言references/,包含提取模式和来源材料evals/evolution-log.yaml,记录测试工程师的迭代完善过程
错误处理
| 错误 | 解决方案 |
|---|---|
| 论文没有明确的算法 | 从实验部分提取方法论 |
| 论文纯属理论研究 | 报告:没有可执行的方法论;建议改用文献综述 |
| PDF 转换失败 | 尝试其他方式:获取 HTML 版本或请用户粘贴文本 |
| 论文方法论需要数据/算力 | 在技能的前提条件中注明;技能可能只能作为工作流模板 |
| 测试工程师的预算耗尽 | 返回得分最高的迭代版本,并提示需要人工审查 |
局限性
- 无法提取视觉方法论(电路图、神经网络架构图), — 仅适用于文本形式的算法描述
- 包含多个相互依赖贡献的论文可能会生成过于复杂的技能, — 可考虑拆分为多个技能
- 非英文论文需要在处理前翻译
- 生成技能的质量取决于论文对方法论的描述是否清晰