学术搜索
通过 MCP 工具(PubMed、CrossRef、arXiv)实现多源文献搜索、引文验证、MeSH 检索策略构建、引文文件管理(.nbib/.ris/.bib 转换)以及参考文献管理(BibTeX、相关文章发现、标识符转换)。适用于需要超出单次 MCP 调用的协调多步文献工作流的场景。
文件预览
SKILL.md
| name | nature-academic-search |
|---|---|
| description | 多源文献搜索、引文验证、MeSH 检索策略构建、引文文件管理(.nbib/.ris/.bib 转换),以及通过 MCP 工具(PubMed, CrossRef, arXiv)进行的参考文献管理(BibTeX、相关文章、ID 转换)。当用户需要超出单次 MCP 调用的协调多步文献工作流时使用。 |
| version | 2.0.0 |
| author | 社区贡献,重构为静态/动态层 |
学术搜索 — 路由器
该技能分为两层:
- 静态层 位于
static/目录下,包含版本化、可复用的内容片段(MCP 工具清单和共享模块,以及数据源路由和操作规则)。 - 动态层(本文档加上
manifest.yaml)检测用户需要哪个工作流并加载该工作流,仅在某个步骤需要时才调用共享模块和脚本。
不要尝试根据记忆或此路由器来应用搜索逻辑。始终按如下所述从磁盘加载片段。
路由协议
每次调用该技能时遵循以下五个步骤。
1. 加载清单和核心层
读取 manifest.yaml。它声明了 workflow 轴、允许的值以及每个值映射到的文件路径。
同时读取 always_load 下列出的每个文件:
static/core/tools.md— MCP 工具清单(核心搜索、扩展搜索、PubMed 实用程序)以及共享模块映射。static/core/routing-and-ops.md— T1→T2→T3 数据源路由快速指南、环境设置、错误处理和限制。
2. 检测工作流
将用户需求映射到一个或多个 workflow 值:
multi-source-search— 跨数据源查找文献。citation-verification— 验证从文档中提取的引文。mesh-strategy— 构建 MeSH/PubMed 搜索策略。citation-file-mgmt— 转换/管理.nbib/.ris/.bib文件。reference-mgmt— BibTeX、相关文章发现、ID 转换。
组合请求(例如先搜索再导出)可能需要多个工作流。在继续之前用一行简短说明检测到的工作流。
3. 加载匹配的工作流片段
读取每个检测到的工作流所映射的文件(位于 references/workflows/ 下)。不要 读取所有工作流。每个工作流文件会链接到其所需的共享模块。
4. 使用加载的材料运行工作流
按以下顺序应用加载的材料:
- 核心工具和路由(
core/tools.md,core/routing-and-ops.md)—— 哪个 MCP 工具用于哪种需求,以及 T1→T2→T3 回退链,这是所有工作流的标准执行顺序。 - 工作流片段 —— 其具体步骤。
- 按需调用共享模块和脚本(去重、引文解析器、搜索策略、RIS/BibTeX 格式、格式转换器)。
报告具体的工具失败并继续使用剩余工具;如果没有结果则拓宽检索词;如果脚本失败两次,则回退到根据 MCP 获取的元数据手动生成。
5. 仅在需要时使用参考文件
references/(及 scripts/)下的文件是深度参考资料,不是默认文件。根据清单中的 references.on_demand 表按需打开它们 —— 例如 references/source-tiers.md 获取完整的可靠性分类,references/dedup-engine.md / references/citation-parser.md / references/search-strategy.md / references/ris-bibtex-format.md 获取共享模块,scripts/format-converter.py / scripts/preflight.py 获取工具。
如此拆分的原因
- 静态层是版本化和可审查的;工作流文件和共享模块已经按此方式分解。
- 动态层使每次调用都轻量化:只有用户需要的工作流进入上下文,而不是全部五个加每个模块。
- 路由器本身有意保持简短。当添加范围时,更新片段和参考文件,而不是此文件。
- 此结构镜像了其他 nature-* 技能(
nature-writing、nature-polishing、nature-reader、nature-paper2ppt、nature-figure、nature-citation、nature-response、nature-data)。