Skip to main content

scientific-databases

当用户需要查询科研专业数据库(生物医学实体与临床试验、材料结构与计算性质、 宏观经济时间序列、气象与空间天气、水文地学数据)、或不确定某个数据需求该走 哪个数据库 connector 时使用。同义场景:查数据库、材料数据查询、Materials Project 查结构、FRED 查经济数据、气象数据下载、临床 trial 检索、 "帮我查一下某种材料的带隙""这个经济指标的时间序列去哪拿"。

설치로 이동

소스 정보

저장소
MiniMax-AI/MiniMax-Code-Plugins
최근 소스 활동
2026년 8월 19일 12:10
감지된 SKILL.md 언어
중국어
스타
18
포크
13

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
scientific-databases
description
当用户需要查询科研专业数据库(生物医学实体与临床试验、材料结构与计算性质、 宏观经济时间序列、气象与空间天气、水文地学数据)、或不确定某个数据需求该走 哪个数据库 connector 时使用。同义场景:查数据库、材料数据查询、Materials Project 查结构、FRED 查经济数据、气象数据下载、临床 trial 检索、 "帮我查一下某种材料的带隙""这个经济指标的时间序列去哪拿"。
argument-hint
[数据需求或检索问题]
metadata
{"domains":["data","biomedical","materials","economics","meteorology","geoscience"],"last_reviewed":"2026-08-18"}
# scientific-databases:按域聚合的科研数据库检索规程 ## 目的 把用户的专业数据需求路由到 `references/connectors.yaml` 中登记的 connector(MCP server 或直连 HTTP API),执行检索,把结果统一为 PaperDocument(文献类)或结构化 JSON(数据类)落盘,供下游技能使用。 核心原则与 literature-search 一致:诚实路由、失败留痕。此外本技能多一条 硬约束——**fail-closed 合规门禁**:凡是 `connectors.yaml` 里没有登记、 或登记为 deferred 的 connector,一律不得使用;宁可停下来告诉用户 "这个源当前不可用及原因",也不临时找表外替代品静默顶替。 ## 前置检查 1. `references/connectors.yaml` 存在且可读;它是 connector 合规的唯一 权威清单。 2. 网络可用;离线时直接说明无法检索并终止。 3. 用户需求足够具体:若过于宽泛(如"查点材料数据"),先与用户收敛到 具体物质/指标/时间范围再执行。 4. 计算 slug:需求描述规范化(Unicode NFKC 规范化、转小写、去首尾空白、 连续空白折叠为单个空格)后取 sha1 十六进制摘要前 8 位。 5. 若需求实质是文献检索(找论文而非找数据),转交 literature-search,不在本技能内重复实现。 ## 操作规程 ### 1. license gate(任何检索之前必须执行) - 在 `references/connectors.yaml` 中查找目标 connector 条目: - 表中**没有**该条目 → 停止。告知用户"该数据源未登记,按 fail-closed 原则不得使用";如需新增,走 customize 流程先改表。 - `status: deferred` → 停止。如实引用表中的 `reason` 字段说明暂缓 原因(如 KEGG 学术许可限制),不得尝试绕过或找镜像顶替。 - `status: needs-key` → 检查对应 `apiKeyEnv` 环境变量是否已配置; 未配置则停止并给出配置指引(变量名、去哪申请),不替用户申请。 - `status: active` → 放行。注意 `tested: false` 表示该条目尚未在本 仓库实测,首次使用应先小规模试运行(limit 调小),确认可用后再放量, 并把实测结果反馈给用户(建议其把 tested 改为 true)。 - license gate 的检查结果(哪个条目、哪个 status、放行还是停止)写入 manifest 的 `license_gate` 字段。 ### 2. 路由:域 → 推荐 connector | 需求域 | 首选 connector | 备选 / 说明 | | --- | --- | --- | | 生医(实体、文献、临床试验) | biomcp | paper-search(文献聚合兜底);KEGG/CADD/PanglaoDB 均 deferred,禁用 | | 材料(结构、相图、计算性质) | materials-project | 无备选;未配 MP_API_KEY 即停 | | 经济(宏观时间序列) | fred | 无备选;未配 FRED_API_KEY 即停 | | 气象(预报、再分析、气候指标) | open-meteo | 免费无 key,注意免费档日额度 | | 地学(空间天气) | spaceweather | NOAA SWPC,公开数据 | | 地学(美国水文) | usgs-water | 仅美国站点;中国水文数据不在覆盖范围,如实告知 | | 综合文献 | paper-search | 优先转交 literature-search | 路由决策与理由写入 manifest;用户也可直接指定 connector 跳过路由, 但 license gate 仍然必须过——指定表外 connector 与查不到条目同等处理。 ### 3. politeness(礼貌访问) - 请求速率 ≤ 2 req/s;批量任务在每次请求间至少间隔 0.5 秒。 - 遭遇 HTTP 429 / 503 时按指数退避重试(1s → 2s → 4s,最多 3 次); 仍失败则记 `rate_limited` 留痕,不得当作"结果为 0"。 - 批量上限:单次任务默认 ≤ 50 条记录;需要更大批量时先向用户说明 数据源的速率政策并获确认(guardrail 第 8 条:联网批量下载属危险操作)。 - 带 User-Agent 发起直连 HTTP 请求;MCP server 类 connector 的速率由 其自身实现控制,但批量上限与危险操作确认规则同样适用。 ### 4. 执行检索 - MCP 类 connector(paper-search / biomcp / open-meteo):调用其暴露的 工具;工具不可用时(server 未启动、uvx 包不存在)如实记录错误,不伪装 成"无结果"。 - HTTP 类 connector(materials-project / fred / spaceweather / usgs-water):按其官方 API 文档构造请求;接口字段以各官方文档为准, 解析失败按 `upstream_changed` 错误类型留痕。 - 逐源串行执行、逐源记录结果。 ### 5. 失败结构化记录 任一 connector 返回错误或执行异常时: - 在 manifest 的 `errors` 数组记录:connector、type(`network` / `rate_limited` / `auth_missing` / `upstream_changed` / `parse`)、 message; - 回复中如实告知"X connector 本次失败及原因"; - **查不到 ≠ 不存在**:检索结果为 0 只说明"本次在该源未命中",回复中 必须用这个措辞,不得推断"该物质/指标不存在"; - 失败不静默:禁止产出空结果文件冒充成功。 ### 6. 结果统一与落盘 - 文献类结果(biomcp、paper-search 返回的论文条目):统一为 PaperDocument: `{id, title, authors, year, venue, doi, url, abstract, source, retrieved_at}` (`source` 为字符串数组)。 - 数据类结果(材料性质、经济序列、气象数据等):保留该域原生结构, 包一层统一信封: `{connector, query, domain, retrieved_at, records: [...]}`。 - 落盘目录 `output/scientific-databases/<slug>/latest/`: - `papers.json`:文献类 PaperDocument 数组(有文献结果时); - `data.json`:数据类结构化结果(有数据结果时); - `manifest.json`:query、license_gate、路由决策、各源命中数、 errors、执行时间。 - 产物落盘后按工作区约定用 provenance-record 登记。 ## 输出模板 ### data.json(数据类信封) ```json { "connector": "open-meteo", "query": "Beijing daily mean temperature 2020-2024", "domain": "气象", "retrieved_at": "2026-08-18T00:00:00+00:00", "records": [ {"date": "2020-01-01", "tmean_c": -3.2} ] } ``` ### manifest.json ```json { "query": "LiFePO4 band gap", "slug": "1a2b3c4d", "license_gate": {"connector": "materials-project", "status": "needs-key", "decision": "pass"}, "routing": [{"connector": "materials-project", "reason": "材料计算性质"}], "hits": {"materials-project": 3}, "errors": [{"connector": "fred", "type": "auth_missing", "message": "FRED_API_KEY 未配置"}], "executed_at": "2026-08-18T00:00:00+00:00" } ``` ## 本技能不做什么 - 不使用 `connectors.yaml` 之外的任何数据源(fail-closed)。 - 不绕过 deferred 条目的暂缓原因,不找镜像或替代品静默顶替。 - 不替用户申请或保管 API key;只检查环境变量是否已配置。 - 不做批量镜像式下载;超过批量上限的需求先确认再执行。 - 不把"检索结果为 0"表述为"数据不存在",不把 connector 失败伪装成 "无结果"。 - 不做文献综述与论文级检索(交给 literature-search / literature-survey)。 - 不对数据做科学解释与结论判断;只负责取数与留痕。 ## 收尾与下一步 1. 汇总:license gate 结果、各 connector 命中数、失败源及原因,5 行内 说明;结果为 0 的源用"本次未命中"措辞。 2. 指向 `output/scientific-databases/<slug>/latest/` 下的产物文件。 3. 建议下一步:数据进 analysis 阶段处理;文献类结果可交给 literature-survey;needs-key 的源给出配置指引后等待用户配置。 4. 若全部 connector 均失败或被 gate 拦停,明确告知"本次检索整体未完成", 不产出空文件冒充成功;需要新增 connector 时建议走 customize 流程 先更新 `connectors.yaml`。
GitHub에서 보기