nature-academic-search
This skill is an academic search tool for Claude Code, integrating multiple literature databases like CrossRef, PubMed, and arXiv. It enables multi-source concurrent searching, detail retrieval by ID, formatted citation generation, and literature management. This skill significantly enhances research efficiency and the accuracy of literature reviews for researchers by streamlining the process of finding, organizing, and citing academic papers.
npx skills add https://github.com/yuan1z0825/nature-skills --skill nature-academic-searchBefore / After Comparison
1 组Researchers manually search across various academic databases, then individually organize and format citations, which is time-consuming, labor-intensive, and error-prone.
This Skill automatically integrates multi-source search results, quickly retrieves literature details, and formats citations as needed, significantly reducing the time spent on literature review and management.
Academic Search — Router
This skill is split into two layers:
- A static layer under
static/that holds versioned, reusable content fragments (the MCP tool inventory and shared modules, and source routing plus operational rules). - A dynamic layer (this file plus
manifest.yaml) that detects which workflow the user needs and loads that workflow, reaching for shared modules and scripts only when a step needs them.
Do not try to apply the search logic from memory or from this router. Always load fragments from disk as described below.
Routing protocol
Follow these five steps every time the skill is invoked.
1. Load the manifest and the core layer
Read manifest.yaml. It declares the workflow axis, the allowed values, and the file paths each value maps to.
Also read every file listed under always_load:
static/core/tools.md— the MCP tool inventory (core search, extended search, PubMed utilities) and the shared-module map.static/core/routing-and-ops.md— the T1→T2→T3 source routing quick guide, environment setup, error handling, and limitations.
2. Detect the workflow
Map the user's need to one or more workflow values:
multi-source-search— find literature across sources.citation-verification— verify citations extracted from a document.mesh-strategy— build a MeSH/PubMed search strategy.citation-file-mgmt— convert/manage.nbib/.ris/.bibfiles.reference-mgmt— BibTeX, related-article discovery, ID conversion.
A combined request (for example search then export) may need more than one. State the detected workflow(s) in one short line before proceeding.
3. Load the matching workflow fragment(s)
Read the file mapped for each detected workflow (under references/workflows/). Do not read every workflow. Each workflow file links to the shared modules it needs.
4. Run the workflow using the loaded material
Apply the loaded material in this order:
- Core tools and routing (
core/tools.md,core/routing-and-ops.md) — which MCP tool for which need, and the T1→T2→T3 fallback chain that is the standard execution order across all workflows. - The workflow fragment — its specific steps.
- Shared modules and scripts on demand (dedup, citation parser, search strategy, RIS/BibTeX format, format converter).
Report specific tool failures and continue with remaining tools; broaden terms when there are no results; fall back to manual generation from MCP-fetched metadata if a script fails twice.
5. Reach for references only when needed
The files under references/ (and scripts/) are deep references, not defaults. Open them on demand per the references.on_demand table in the manifest — for example references/source-tiers.md for the full reliability classification, references/dedup-engine.md / references/citation-parser.md / references/search-strategy.md / references/ris-bibtex-format.md for the shared modules, and scripts/academic_search.py (no-MCP fallback discovery search) / scripts/format-converter.py / scripts/preflight.py for the tooling.
Why this split
- The static layer is versioned and reviewable; the workflow files and shared modules were already factored this way.
- The dynamic layer keeps each invocation cheap: only the workflow the user needs enters context, instead of all five plus every module.
- The router itself is short on purpose. Update fragments and references, not this file, when adding scope.
- This structure mirrors the other nature-* skills (
nature-writing,nature-polishing,nature-reader,nature-paper2ppt,nature-figure,nature-citation,nature-response,nature-data).
Academic Search
Claude Code 的学术搜索技能包,集成 CrossRef、PubMed、arXiv、Scopus、ScienceDirect 文献数据源。
功能
- 多源并发搜索: 默认查询 CrossRef / PubMed / arXiv,并合并返回结果
- 按 ID 获取详情: 支持 DOI、PMID、arXiv ID 自动识别
- 格式化引用: APA / Nature / IEEE / Vancouver 等风格
- MeSH 词表查询: 构建精准 PubMed 检索式
- 文献管理脚本: .nbib / .ris / .bib / .enw 格式互转
- Scopus / ScienceDirect: 支持论文、作者、机构、期刊、引用概览、PlumX 指标和 ScienceDirect 元数据检索
MCP 运行
插件默认通过 uv 启动隔离运行环境:
uv run --no-project --directory <mcp-server> --with "mcp>=1.0.0,<2.0.0" --with "requests>=2.28.0,<3.0.0" --with "toml>=0.10.2,<2.0.0" --with "lxml>=4.9.0,<6.0.0" --with "pybliometrics>=4.4.1,<5.0.0" python academic_search_server.py
PubMed 需要在环境变量 PUBMED_EMAIL 或 mcp-server/config.toml 中配置邮箱。Scopus / ScienceDirect 是可选 provider,复用本机 pybliometrics 配置,默认读取 ~/.config/pybliometrics.cfg;不要把 Elsevier API key 写入插件文件。search_papers 只有在 sources 显式包含 scopus / sciencedirect 时才会调用 Elsevier-backed provider,以避免无意消耗 Elsevier API 配额。
MCP Tools
| Tool | 说明 |
|---|---|
search_papers | 默认三源并发搜索;可显式添加 Scopus / ScienceDirect |
get_paper_by_id | 按 DOI/PMID/arXiv ID 获取详情 |
get_citation | 格式化引用生成 |
lookup_mesh | MeSH 词表查询 |
search_scopus | Scopus 高级检索 |
get_scopus_abstract | Scopus 摘要/详情元数据 |
get_scopus_citation_overview | Scopus 引用概览 |
search_scopus_authors / get_scopus_author | 作者检索与详情 |
search_scopus_affiliations / get_scopus_affiliation | 机构检索与详情 |
search_scopus_serial_titles / get_scopus_serial_title | 期刊/连续出版物检索与详情 |
get_scopus_plumx_metrics | PlumX 指标 |
search_sciencedirect | ScienceDirect 检索 |
get_sciencedirect_article_metadata | ScienceDirect 文章元数据 |
User Reviews (0)
Write a Review
No reviews yet
Statistics
User Rating
Rate this Skill