--- name: research-lifecycle description: >- 当用户提出研究主题、想开始一项新研究、问"接下来该做什么"、或要求继续上次的研究流程时使用。本技能是科研工作台的元路由器:把一个研究主题拆解为 question(问题界定)→ literature(文献调研)→ hypothesis(假设形成)→ experiment(实验/计算)→ analysis(数据分析)→ writing(写作成稿)六个阶段,逐阶段调用相应插件的 skill 执行,每个阶段结束经 stage-gate 门禁审批后进入下一阶段。同义触发场景:开始研究、开题、走流程、研究流程、lifecycle、继续上次的研究、阶段推进、研究项目管理、六阶段、从选题到成稿。 argument-hint: '[研究问题或主题]' metadata: domains: [research-lifecycle, workflow, project-management] last_reviewed: '2026-08-18' --- # research-lifecycle:六阶段研究流程路由器 ## 目的 把"我想研究 X"这句话变成一条可执行、可暂停、可恢复、可审查的流程。本技能不亲自做检索、不做计算、不写论文——它负责: 1. 把研究主题规范化为 slug,建立项目级产物目录; 2. 按六阶段顺序调度对应的 skill 或插件; 3. 在每个阶段结束时移交给 `stage-gate`,等待用户审批后再推进; 4. 跨会话恢复:通过 `stage.yaml` 知道"上次走到哪、是批了还是要改"。 ## 前置检查 1. **画像检查**:读取 CLAUDE.md 研究画像。任何小节仍是 `[填空]` 时停止,引导用户先运行 `cold-start-interview`(guardrail:不带空白画像猜测默认值)。 2. **工作区检查**:确认当前目录符合 `research-workspace` 约定;不符合时先运行 research-workspace 的初始化清单,或征得用户同意后以当前状态继续。 3. **参数解析**:`argument-hint` 传入研究主题。为空时向用户提问,不接受空主题启动。 4. **slug 生成**:按下方 slug 契约计算项目标识,检查 `output/` 下是否已有同名项目——有则询问用户"继续该项目"还是"换个主题"。 5. **恢复检查**:存在 `output//stage.yaml` 时,读取 `current_stage` 与 `status`,跳到对应阶段继续(见"恢复指引"),而不是从头开始。 ## slug 契约 项目标识 slug 的生成规则(全插件统一,research-workspace 与 stage-gate 依赖同一规则): 1. 取用户输入的主题字符串,做 Unicode NFKC 规范化; 2. 转小写,去除首尾空白,把内部连续空白压缩为单个空格; 3. 对规范化后的 UTF-8 字节计算 SHA-1,取前 8 位十六进制字符作为 slug。 示例:主题 `钠离子电池 层状氧化物 掺杂` → 规范化后同原样 → sha1 前 8 位(如 `3f9a1c7e`)。 同一主题(规范化后相同)永远得到同一 slug,与大小写、全半角、多余空格无关;不同主题几乎不会碰撞。slug 只用于目录命名与归类,不追求可读性;需要可读名时在项目 `stage.yaml` 的 `note` 或阶段产物标题中保留原始主题。 ## 六阶段总览 | 阶段 | 目标 | 调用的能力 | 主要产出物 | | --- | --- | --- | --- | | question | 把模糊主题收敛为可研究的问题 | 本技能内部执行 | research-question.md | | literature | 摸清该问题的研究现状 | literature-search、literature-survey | 文献库 + 综述稿 | | hypothesis | 提出可检验的假设 | 本技能内部执行 | hypothesis.md | | experiment | 获取验证假设的数据 | 人工执行 + provenance-record 记录 | 实验/计算数据 + 运行记录 | | analysis | 从数据得出结论 | 人工执行 + provenance-record 记录 | 分析脚本 + 图表 + 结论 | | writing | 写成可交付的文稿 | review-writing + citation-verify | 论文/报告草稿 | 阶段之间一律经过 `stage-gate`:产出物落盘 → 生成 stage-report.md → 更新 stage.yaml 为 pending → **停止**,等用户 approve / revise / reject。 ## 1 · question:问题界定 **目标**:把"我想研究钠离子电池正极"收敛为"O3 型层状氧化物在钠离子电池中的循环衰减是否可以通过 Mg/Ti 共掺杂抑制"这样可研究、可证伪的问题。 **执行规程**: 1. 复述用户对主题的描述,确认理解一致; 2. 从四个维度追问:对象(研究什么)、变量(操纵/测量什么)、范围(什么条件/体系)、动机(为什么值得做,应用还是机理); 3. 起草 1-3 个候选研究问题,每个都标注"可检验性"自评:这个问题能否用数据回答?需要什么类型的证据? 4. 与用户选定最终问题,写入 `output/research-lifecycle//latest/research-question.md`,内容包括:最终问题、候选问题及取舍理由、预期贡献的一句话表述; 5. 用 provenance-record 登记产物,然后调用 stage-gate。 **不做文献检索**——"这个问题别人做到哪了"是下一阶段的事,避免把 question 开成迷你综述。 ## 2 · literature:文献调研 **目标**:回答三个问题:这个问题已被解决到什么程度?主流方法是什么?缺口(gap)在哪里? **执行规程**: 1. 从 research-question.md 提取检索关键词(中英文各一组,画像中的关键词并入); 2. 调用 `literature-search` 按画像中的数据源偏好检索(画像写"无权限"的库不碰); 3. 调用 `literature-survey` 生成综述稿,所有论断必须带来源标签(guardrail 第 1 条),检索未覆盖的判断标 `[模型知识—待核实]`; 4. 综述稿末尾必须有一节"研究缺口与本文定位",把缺口与 question 阶段的研究问题显式挂钩; 5. 产物落盘(`output/literature-search//`、`output/literature-survey//`),登记 provenance,调用 stage-gate。 **revise 常见原因**:关键词太宽/太窄、漏掉某篇关键文献、缺口论证不足。revise 意见注入后重跑本阶段,原稿归档不覆盖。 ## 3 · hypothesis:假设形成 **目标**:基于文献缺口提出 1-3 个**可证伪**的假设,并为每个假设设计验证思路。 **执行规程**: 1. 重读 research-question.md 与综述的"研究缺口"一节; 2. 每个假设写成"在条件 C 下,对对象 O 施加干预 I,将观察到效应 E"的结构化句式; 3. 为每个假设列出:所需数据类型、可行方法(实验/计算/统计)、预期判别标准(什么结果算支持、什么算证伪)、风险(最可能失败在哪); 4. 与用户选定主假设(最多保留一个备选),写入 `output/research-lifecycle//latest/hypothesis.md`; 5. 登记 provenance,调用 stage-gate。 **诚实性要求**:假设可以错——写明判别标准的意义就在于允许被证伪。禁止把假设写成"必然正确的结论预告"。 ## 4 · experiment:实验与计算 **目标**:获取能检验假设的数据。 **执行模式**:计算能力由本包计算类 skill 提供(python-analysis / r-analysis / remote-compute / hpc-slurm / run-monitor)。本阶段的做法: 1. 根据 hypothesis.md 生成**实验/计算方案书**(`experiment-plan.md`):步骤、参数、对照设置、样本量或计算规模估算、预期产物清单; 2. 方案经 stage-gate 批准后执行:本地分析调用 python-analysis / r-analysis,远程提交与长任务调用 remote-compute / hpc-slurm / run-monitor;无可用算力环境时,由用户在画像所述的算力环境中**人工执行**; 3. 每完成一个关键步骤,用户(或助手代劳)运行 `provenance-record` 的 `record_run.py` 登记产物;远程/长任务必须抓回环境信息(调度系统作业号、软件版本、节点信息)写入 note; 4. 涉及远程提交、批量下载的动作一律按 guardrail 第 8 条先向用户说明并确认; 5. 原始数据放入 `data/` 后立即视为**只读**(research-workspace 约定),任何清洗都生成新文件。 **产物**:实验/计算方案书、原始数据(data/)、provenance.jsonl 运行记录。 ## 5 · analysis:数据分析 **目标**:从 experiment 阶段的数据中得出对假设的判定。 **计算能力**:分析计算优先调用本包计算类 skill——本地分析用 python-analysis / r-analysis,远程与长任务用 remote-compute / hpc-slurm / run-monitor。 **执行规程**: 1. 分析代码放 `scripts/` 或 `notebooks/`,读取 `data/` 的原始数据(只读),结果输出到 `output/analysis//`; 2. 每个关键图表或统计结果生成后立即 record_run 登记(tool 填实际用的工具,如 "python scripts/analyze.py"); 3. 产出 `analysis-report.md`,必须包含:数据概况(样本量、缺失情况)、方法与参数、关键结果(数字与图)、对假设的判定(支持/不支持/无法判定,并写明依据的判别标准——来自 hypothesis.md)、局限性; 4. 判定为"无法判定"是合法结论,写明缺什么证据、建议补什么实验; 5. 统计显著性、效应量等数字必须与脚本输出逐项核对,禁止凭印象转述(guardrail 第 3 条:证据优先); 6. 登记 provenance,调用 stage-gate。 **与 experiment 的往返**:analysis 发现数据不足时,stage-report 的"建议"一节写明"回到 experiment 补做 X",由用户决定是否回退阶段(见决策树)。 ## 6 · writing:写作成稿 **目标**:把前五个阶段的积累写成可交付的文稿。 **执行规程**: 1. 确定文稿类型(期刊论文/学位论文章节/项目报告/综述)与目标读者,参考画像中的写作语言、目标期刊与引用格式; 2. 调用 review-writing 生成大纲并逐节成稿;所有事实性论断必须带来源标签(guardrail 第 1 条),来自本流程的产物标 `[实验数据]` 并注明文件路径; 3. 参考文献条目生成后,调用 `citation-verify` 逐条核验(DOI、作者、年份、期刊),核验未通过的条目不得进入终稿; 4. 论文级结论定型时,按 `evidence-capsule` 冻结支撑该结论的产物集合; 5. 草稿完成后按 `reviewer-protocol` 做发布前审查(guardrail 第 7 条),error 清零后才算本阶段完成; 6. 产物落盘 `output/review-writing//`,登记 provenance,调用 stage-gate。 ## 阶段间门禁 每个阶段的最后一步固定相同: 1. 确认本阶段全部产物已落盘并登记 provenance; 2. 生成 stage-report.md(四节:本阶段做了什么/关键结果/风险与疑虑/建议); 3. 更新 `output//stage.yaml`(status: pending); 4. **停止输出**,把审批三选项(approve / revise "意见" / reject)交给用户。 详细规程见 `stage-gate` SKILL.md。本技能不替用户做审批决定,也不在没有 stage.yaml 记录的情况下跳到下一阶段。 ## 恢复指引 新会话中用户说"继续上次的研究"时: 1. 列出 `output/` 下所有含 stage.yaml 的项目,让用户确认是哪一个(只有一个时直接用); 2. 读取 stage.yaml:`status: pending` → 向用户重述 stage-report 摘要并等待审批;`status: approved` → 进入下一阶段;`status: revise_requested` → 携带 note 中的意见重跑当前阶段;`status: rejected` → 展示结题说明,询问是否开启新项目; 3. 恢复时顺带检查 provenance.jsonl 的最后记录时间,向用户报告"距上次活动已 N 天"。 ## 完整流程决策树 ```text 开始:研究主题 │ ├─ 画像完整? ──否──→ cold-start-interview ──→ 回到开始 │是 ├─ slug 已存在? ──是──→ 读 stage.yaml 恢复到对应阶段 │否 ▼ [question] ──产出 research-question.md──→ stage-gate │ approve ▲ ▼ │ revise(意见注入,重跑) [literature] ──检索+综述──→ stage-gate ────────────┘ │ approve ▼ [hypothesis] ──产出 hypothesis.md──→ stage-gate │ approve ▼ [experiment] ──方案书→人工执行→数据──→ stage-gate │ approve ▼ [analysis] ──analysis-report.md──→ stage-gate │ approve │ revise 意见为"数据不足" ▼ ▼ [writing] 回到 [experiment] 补做(stage-gate 记录回退原因) │ approve ▼ 交付(writing 产物 + 证据胶囊 + reviewer 通过记录) 任意阶段 reject ──→ 写结题说明,流程终止,产物保留 ``` ## 输出模板 阶段推进时向用户输出的固定格式: ```markdown ## 阶段推进:(项目 ) - 本阶段目标:… - 将调用:… - 预计产物:… (阶段完成后) ## 阶段待审批: - stage-report:output//reports/stage-report-.md - 关键结果一句话:… - 请选择:approve(进入 <下一阶段>)/ revise "你的意见" / reject ``` ## 本技能不做什么 - 不亲自检索文献、不亲自跑计算、不亲自写论文正文——这些委托给对应插件与 skill,本技能只做调度与状态管理。 - 不跳过 stage-gate:即使产物看起来完美,也必须停下来等用户审批。 - 不替用户决定研究问题或假设:所有关键取舍(选哪个问题、信哪个假设)都以用户确认为准。 - 不修改其他阶段的归档产物:revise 是重跑并归档旧版,不是原地覆盖。 - 不亲自执行远程任务提交、批量下载等计算动作:这些委托给计算类 skill(remote-compute / hpc-slurm / run-monitor),本技能只做调度与状态管理。 ## 收尾与下一步 - 项目 writing 阶段 approve 后:提醒用户证据胶囊是否已冻结、reviewer 审查记录是否随稿保存、投稿/交付属于对外动作需用户亲自执行。 - 全流程结束后询问:"是否把本项目的关键产物整理进证据胶囊长期保存?"以及"是否开启新主题?" - 任何阶段卡住超过一次 revise:主动建议用户考虑 `customize` 调整画像(例如数据源权限限制了 literature 质量),或缩小研究问题的范围。