mcpField
P
paper-to-skill

paper-to-skill

github.com/mathews-tomAgent 工作流33786 次安装2 天前更新
代码仓库

关于 paper-to-skill

将研究论文转化为结构化、经过测试的 Skill 包的工作流 Skill,面向希望把论文方法整理为可执行 Agent 工作流的用户,结合论文分析与迭代完善。

主要功能

  1. 01接收 PDF、URL、ID 或文本论文
  2. 02提取方法和参数
  3. 03生成结构化 Skill 规范
  4. 04通过 Agent 测试迭代完善
  5. 05在包中注明论文来源

适用场景

  1. 01将算法论文转为 Skill
  2. 02依据论文实验构建工作流
  3. 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-engineer Agent(用于协同进化式技能生成)

工作流

阶段 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 技能:

分析这篇论文,重点关注:

  1. 核心贡献:新颖的方法是什么?
  2. 算法描述:提取逐步流程
  3. 输入/输出规范:输入和输出分别是什么?
  4. 关键参数及其有效范围
  5. 声称的结果及支持这些结果的证据
  6. 作者承认的失败模式和局限性
  7. 先决条件和依赖项(工具、数据、算力)

批判性分析的输出将成为技能规范的基础。

阶段 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:注明来源并完成定稿

确保生成的技能正确注明源论文:

  1. Frontmatter: 在元数据中添加 source: <paper_url>
  2. 正文: 在 SKILL.md 末尾添加来源说明部分:
    ## Attribution
    
    This skill implements the methodology from:
    > <paper title>
    > <authors>
    > <venue/arxiv, date>
    > <URL>
    
  3. 参考资料: 如果论文有补充材料(代码、数据集),请在生成的技能的 references/ 目录中创建一个来源材料参考文件,链接到这些材料
  4. 验证技能名称与 manifest.yaml 中的现有包不冲突

输出

完整的技能包位于 skills/<name>/:

  • SKILL.md,包含来源说明和基于论文的工作流
  • evals/cases.yaml,包含由协同进化循环生成的断言
  • references/,包含提取模式和来源材料
  • evals/evolution-log.yaml,记录测试工程师的迭代完善过程

错误处理

错误解决方案
论文没有明确的算法从实验部分提取方法论
论文纯属理论研究报告:没有可执行的方法论;建议改用文献综述
PDF 转换失败尝试其他方式:获取 HTML 版本或请用户粘贴文本
论文方法论需要数据/算力在技能的前提条件中注明;技能可能只能作为工作流模板
测试工程师的预算耗尽返回得分最高的迭代版本,并提示需要人工审查

局限性

  • 无法提取视觉方法论(电路图、神经网络架构图), — 仅适用于文本形式的算法描述
  • 包含多个相互依赖贡献的论文可能会生成过于复杂的技能, — 可考虑拆分为多个技能
  • 非英文论文需要在处理前翻译
  • 生成技能的质量取决于论文对方法论的描述是否清晰

评论

支持 Markdown