科学
用于自然科学或工程任务、科学软件路由、模拟、数据集分析、模型拟合、包检查、通过shell进行HPC工作、验证,以及使用DeepScientist的`artifact.science(...)`科学证据图进行有依据的科学声明。包含FermiLink skilled-scipkg软件包卡片的渐进披露目录。
文件预览
--- name: science description: Use for natural-science or engineering tasks, scientific software routing, simulation, dataset analysis, model fitting, package checks, HPC-through-shell work, validation, and evidence-backed scientific claims using DeepScientist's `artifact.science(...)` Science Evidence Graph. Includes a progressive-disclosure catalog of FermiLink skilled-scipkg package cards. skill_role: companion skill_order: 160 --- # Science ## One-Sentence Summary Use `bash_exec(...)` to do the real scientific work, use this skill to choose the right package/reference path, and use `artifact.science(...)` to record the durable Science Evidence Graph. ## Match Signals Use this skill when the task includes any of these signals: - natural science, engineering, simulation, scientific software, numerical solver, HPC, SLURM, SSH, model fitting, or dataset analysis - package names such as PySCF, LAMMPS, OpenMM, GROMACS, MEEP, Scanpy, Astropy, Geant4, OpenFOAM, CP2K, ABINIT, or similar scientific packages - requests to verify an environment, run a solver, reproduce a computational result, analyze scientific data, validate units/convergence/schema, or make a scientific claim - SetupAgent needs to organize a science task into a Copilot handoff or autonomous startup brief ## Control Surface - Real execution: always `bash_exec(...)`. - Evidence records: `artifact.science(...)` under the existing `artifact` MCP namespace. - User-visible milestones or blockers: `artifact.interact(...)`. - Package knowledge: this skill's references and package cards. - Do not create a top-level `science` MCP namespace. - Do not migrate FermiLink runner, HPC profile manager, CLI workflow, FastAPI backend, Chainlit UI, or source implementation into DeepScientist runtime. ## Progressive Disclosure Read only the references needed for the active task: - `references/package-index.min.json`: compact index of the 169 package cards; search this first when a package/domain is unclear. - `references/domain-index.md`: human-readable grouping by inferred scientific domain. - `references/packages/<package_id>.md`: package-specific routing card with knowledge URL, source URL, package-check pattern, expected science nodes, evidence paths, and pitfalls. - `references/package-check-playbook.md`: package availability checks before treating a solver as usable. - `references/artifact-science-tool.md`: exact `artifact.science(...)` contract and examples. - `references/hpc-via-bash-exec.md`: SSH, scheduler, queue, and remote-log discipline through `bash_exec(...)`. - `references/claim-type-discipline.md`: computed / parsed / digitized / hypothesis claim discipline. - `references/science-task-brief-template.md`: SetupAgent and startup brief shape; use as context, not as a required `goal.md` file. ## Workflow 1. Classify the task: package check, computational run, dataset analysis, parameter sweep, validation, claim, or startup brief. 2. If a package/domain is involved, search `references/package-index.min.json` and open only the relevant `references/packages/<package_id>.md` cards. 3. Treat package cards as knowledge pointers only. They do not prove the solver, Python module, executable, license server, dataset, GPU backend, or HPC module exists. 4. Before computed work, use `bash_exec(...)` for import, executable, version, environment-module, and small smoke-test checks when relevant. 5. Record package checks with `artifact.science(..., node_type="science.package_check", ...)`. 6. Run solver commands, scripts, SSH, sbatch/squeue, log reads, and data analysis through `bash_exec(...)`. 7. Record scientific execution as `science.computational_run`, `science.dataset_analysis`, or `science.parameter_sweep` with concrete input, log, output, and evidence paths. 8. Validate convergence, units, schema, controls, tolerances, seeds, or physical/statistical invariants, then record `science.validation_result`. 9. Record `science.claim` only after evidence paths or related science nodes support it. 10. Use `artifact.interact(...)` for decisions or milestones that the user should see, but never as the only scientific evidence. Science node ids are stable logical ids, not mutable file slots. Call `record_node` once for a new node id. If status, evidence, or interpretation changes later, call `update_node` so the graph remains append-only. If a package check fails or is blocked and that fact affects the route, record it as `science.package_check` with `status="failed"` or `status="blocked"` and point to the log or diagnostic file. ## Science Node Types Use only these v1 node types unless the runtime contract changes: - `science.package_check` - `science.computational_run` - `science.dataset_analysis` - `science.parameter_sweep` - `science.validation_result` - `science.claim` Prefer `science.computational_run` over a narrower simulation-only term when the work is solver execution, numerical computation, model fitting, or engineering computation. ## Claim Discipline Every `science.claim` needs `claim_type`: - `computed`: produced by real execution in the current quest - `parsed`: read from supplied or existing data - `digitized`: extracted from a paper figure, image, or PDF figure - `hypothesis`: plausible but not yet verified by computation or data Computed claims must link to evidence paths or related computed/validation nodes. If that evidence does not exist yet, record a `hypothesis`, blocker, or validation need instead. ## SetupAgent Usage For natural-science or engineering startup sessions, SetupAgent should decide whether the task is actually suited to autonomous work: - Ordinary bounded tasks such as one package check, one local calculation, one dataset inspection, or one result explanation should usually route to Copilot mode. - Long simulation campaigns, HPC campaigns, paper reproduction, or idea-driven scientific research can route to autonomous mode only when compute, data, privacy, network, and success criteria are clear enough. - When routing to Copilot, fill `session_patch.copilot_handoff.startup_message` with the organized science brief and set `create_and_send=true` so the collaboration workspace starts directly. - When routing to autonomous, fill `session_patch.science_task` and `session_patch.science_task_brief`; use the brief shape from `references/science-task-brief-template.md` without requiring a `goal.md` file. - Include expected packages, package-check requirement, expected science node types, HPC expectation, and whether solver installation is unknown. ## Package Catalog Provenance The package catalog is generated from FermiLink's skilled-scipkg channel and is stored as DeepScientist-native routing material. The cards preserve package ids, descriptions, tags, knowledge URLs, source archive URLs, and upstream project URLs. They do not vendor package source trees and do not install runtimes. If deeper package knowledge must be downloaded during a quest, preserve the source URL and license context in the quest evidence. Do not paste large knowledge-base text into reports without attribution. ## AVOID / Pitfalls - Do not treat this skill as a solver installation or package manager. - Do not call a result `computed` from a plot redraw, paper figure reading, or guess. - Do not weaken tolerances, filters, physical models, convergence criteria, or validation checks merely to make a run pass. - Do not submit remote/HPC jobs without a log path and status-reading plan. - Do not create science evidence only in chat. - Do not let package-card metadata override task-specific evidence. - Do not use FermiLink as a runtime dependency; use the DeepScientist-native package cards as routing references and keep real execution in `bash_exec(...)`. ## Validation A science task is ready to report when these are true: - package availability is checked or explicitly blocked - each run or analysis has concrete input/log/output/evidence paths when applicable - validation status is recorded separately from raw execution status when correctness matters - claims are typed as computed, parsed, digitized, or hypothesis - evidence nodes are linked so Canvas can reconstruct the Science Evidence Graph
SKILL.md
| name | science |
|---|---|
| description | Use for natural-science or engineering tasks, scientific software routing, simulation, dataset analysis, model fitting, package checks, HPC-through-shell work, validation, and evidence-backed scientific claims using DeepScientist's `artifact.science(...)` Science Evidence Graph. Includes a progressive-disclosure catalog of FermiLink skilled-scipkg package cards. |
| skill_role | companion |
| skill_order | 160 |
科学
一句话总结
使用bash_exec(...)完成实际的科学工作,使用本技能选择正确的软件包/参考路径,并使用artifact.science(...)记录持久的科学证据图。
匹配信号
当任务包含以下任何信号时使用本技能:
- 自然科学、工程、模拟、科学软件、数值求解器、HPC、SLURM、SSH、模型拟合或数据集分析
- 软件包名称如PySCF、LAMMPS、OpenMM、GROMACS、MEEP、Scanpy、Astropy、Geant4、OpenFOAM、CP2K、ABINIT或类似的科学软件包
- 请求验证环境、运行求解器、复现计算结果、分析科学数据、验证单位/收敛性/模式或提出科学声明
- SetupAgent需要将科学任务组织成Copilot交接或自主启动简报
控制面
- 实际执行:始终使用
bash_exec(...)。 - 证据记录:使用
artifact.science(...),在现有artifactMCP命名空间下。 - 用户可见的里程碑或障碍:使用
artifact.interact(...)。 - 包知识:本技能的参考资料和包卡片。
- 不要创建顶级
scienceMCP命名空间。 - 不要将FermiLink运行器、HPC配置文件管理器、CLI工作流、FastAPI后端、Chainlit UI或源代码实现迁移到DeepScientist运行时中。
渐进披露
只阅读当前任务所需的参考资料:
references/package-index.min.json:169个包卡片的紧凑索引;当包或领域不明确时首先搜索此文件。references/domain-index.md:按推断的科学领域进行易读的分组。references/packages/<package_id>.md:特定包的路径卡片,包含知识URL、源URL、包检查模式、预期的科学节点、证据路径和陷阱。references/package-check-playbook.md:在将求解器视为可用之前的包可用性检查。references/artifact-science-tool.md:artifact.science(...)的确切契约和示例。references/hpc-via-bash-exec.md:通过bash_exec(...)进行SSH、调度器、队列和远程日志操作的规范。references/claim-type-discipline.md:计算、解析、数字化或假设声明的规范。references/science-task-brief-template.md:SetupAgent和启动简报模板;用作上下文,而不是必需的goal.md文件。
工作流
- 任务分类:包检查、计算运行、数据集分析、参数扫描、验证、声明或启动简报。
- 如果涉及包/领域,搜索
references/package-index.min.json并仅打开相关的references/packages/<package_id>.md卡片。 - 将包卡片仅视为知识指针。它们不证明求解器、Python模块、可执行文件、许可证服务器、数据集、GPU后端或HPC模块是否存在。
- 在计算工作之前,使用
bash_exec(...)执行导入、可执行文件、版本、环境模块和小型冒烟测试检查(相关时)。 - 使用
artifact.science(..., node_type=\"science.package_check\", ...)记录包检查。 - 通过
bash_exec(...)运行求解器命令、脚本、SSH、sbatch/squeue、日志读取和数据分析。 - 记录科学执行,如
science.computational_run、science.dataset_analysis或science.parameter_sweep,并提供具体的输入、日志、输出和证据路径。 - 验证收敛性、单位、模式、控制、容差、种子或物理/统计不变量,然后记录
science.validation_result。 - 只有在证据路径或相关科学节点支持后才记录
science.claim。 - 使用
artifact.interact(...)处理用户应该看到的决策或里程碑,但绝不要将其作为唯一的科学证据。
科学节点ID是稳定的逻辑ID,不是可变的文件槽位。为新节点ID调用一次record_node。如果之后状态、证据或解释发生变化,调用update_node以保持图是追加式的。如果包检查失败或被阻止,并且这一事实影响路由,则将其记录为science.package_check,状态为"failed"或"blocked",并指向日志或诊断文件。
科学节点类型
除非运行时契约改变,否则只使用这些v1节点类型:
science.package_checkscience.computational_runscience.dataset_analysisscience.parameter_sweepscience.validation_resultscience.claim
当工作是求解器执行、数值计算、模型拟合或工程计算时,优先使用science.computational_run,而不是更窄的仅仿真术语。
声明规范
每个science.claim需要claim_type:
computed:由当前任务中的实际执行产生parsed:从提供或现有数据中读取digitized:从论文图形、图像或PDF图形中提取hypothesis:看似合理但尚未通过计算或数据验证
计算声明必须链接到证据路径或相关的计算/验证节点。如果该证据尚不存在,则记录一个hypothesis、障碍或验证需求。
SetupAgent用法
对于自然科学或工程的启动会话,SetupAgent应决定任务是否实际适合自主工作:
- 普通的有界任务,如一个包检查、一个本地计算、一个数据集检查或一个结果解释,通常应路由到Copilot模式。
- 长时间的模拟活动、HPC活动、论文复现或创意驱动的科学研究,只有在计算、数据、隐私、网络和成功标准足够清晰时才可路由到自主模式。
- 当路由到Copilot时,用组织好的科学简报填充
session_patch.copilot_handoff.startup_message,并设置create_and_send=true,以便直接启动协作工作区。 - 当路由到自主模式时,填充
session_patch.science_task和session_patch.science_task_brief;使用references/science-task-brief-template.md中的简报模板,而不需要goal.md文件。 - 包括预期的包、包检查要求、预期的科学节点类型、HPC期望,以及求解器安装是否未知。
包目录来源
包目录从FermiLink的skilled-scipkg频道生成,并存储为DeepScientist原生的路由材料。卡片保留了包ID、描述、标签、知识URL、源归档URL和上游项目URL。它们不提供包源代码树,也不安装运行时。
如果在任务期间必须下载更深的包知识,请在任务证据中保留源URL和许可证上下文。不要在没有注明出处的情况下将大量知识库文本粘贴到报告中。
避免 / 陷阱
- 不要将本技能视为求解器安装程序或包管理器。
- 不要将从绘图重绘、论文图形阅读或猜测得到的结果称为
computed。 - 不要仅仅为了使运行通过而放宽容差、过滤器、物理模型、收敛标准或验证检查。
- 不要在没有日志路径和状态读取计划的情况下提交远程/HPC作业。
- 不要只在聊天中创建科学证据。
- 不要让包卡片元数据覆盖特定任务的证据。
- 不要使用FermiLink作为运行时依赖;使用DeepScientist原生的包卡片作为路由参考,并将实际执行保持在
bash_exec(...)中。
验证
当满足以下条件时,科学任务可以报告:
- 包可用性已检查或明确受阻
- 每个运行或分析在适用时都有具体的输入/日志/输出/证据路径
- 当正确性重要时,验证状态与原始执行状态分开记录
- 声明类型为计算、解析、数字化或假设
- 证据节点已链接,以便画布能够重建科学证据图