mcpField
O
orchestrate

orchestrate

github.com/aperivueAgent 工作流362118 次安装今天更新
代码仓库

关于 orchestrate

medsci-skills 套件中的研究任务路由技能,负责识别请求并按规定顺序委派给相关技能,而不自行生成被路由技能的成果。它覆盖文献、研究设计、统计、写作及数据处理等研究流程。

主要功能

  1. 01按请求分类研究意图
  2. 02选择匹配的单项技能
  3. 03规划并串联多项技能
  4. 04遵循技能间的先后依赖
  5. 05委派任务而不代写其成果

适用场景

  1. 01将文献检索请求交给对应技能
  2. 02安排方案撰写前的设计与样本量步骤
  3. 03串联分析、制图和论文写作任务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aperivue/medsci-skills --skill orchestrate

安装后在 Claude Code 中输入/orchestrate确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

skill.yml
references/
data_flow_contract.md
dialogue_nodes.md
report_template_ko.md
report_template.md
tests/
test_qc_gate_contract.py

详细介绍

Orchestrate Skill

将 medsci-skills 套件中的研究请求路由到合适的技能,或按正确顺序串联多个技能。你负责分类、规划和委派:切勿自行生成路由目标技能的输出,而应调用负责该输出的技能。


Available Skills

技能领域适用场景
search-lit文献查找论文、核实引文、整理参考文献列表、检查某个主题是否已有相关研究
design-study方法学审查研究设计、识别数据泄漏/偏倚、选择报告指南、验证分析计划
intake-project项目设置新建或杂乱的项目文件夹、“这是什么项目?”,进行分类并搭建框架
manage-project项目管理搭建目录、跟踪进度、生成检查清单和时间表
analyze-stats统计学生成 R/Python 代码,用于诊断准确性、人口统计学、荟萃分析统计、一致性、回归(逻辑/线性)、倾向评分、重复测量
make-figures可视化ROC 曲线、森林图、流程图(PRISMA/CONSORT/STARD)、Kaplan-Meier、Bland-Altman、视觉/图形摘要
meta-analysis系统综述完整的 MA 工作流:方案、检索、筛选、提取、综合、PRISMA-DTA
write-paper写作起草 IMRAD 论文(8 阶段工作流)、撰写任意章节
self-review质量提交前自查,包含领域探查(生存分析 / SR-MA / 放射组学 / 叙述性综述);可选用 --panel 进行高风险最终质量检查
check-reporting合规性对照 49 项报告指南和偏倚风险工具进行审计
revise修订解析审稿意见、生成逐点回复、跟踪修改
grant-builder资助组织基金申请书:重要性、创新性、研究方案、里程碑
present-paper演示准备学术报告:分析论文、起草讲稿、添加幻灯片备注、准备问答
publish-skill打包将个人技能转换为开源可分发软件包
calc-sample-size统计学计算样本量(17 种检验,包括 Cox EPV)、功效分析、IRB 论证文本
find-journal投稿根据摘要/范围匹配推荐期刊、遭拒后重新定位投稿目标
add-journal期刊数据库向期刊资料数据库添加新期刊;从作者指南中提取元数据
fulltext-retrieval文献通过 Unpaywall、PMC、OpenAlex API 按 DOI 批量下载开放获取 PDF
deidentify数据安全在进行任何大模型处理前,对包含 PHI 的临床数据进行去标识化。独立 Python CLI(不使用大模型)。
clean-data数据数据分析、缺失值标记、异常值检测、生成清理代码
generate-codebook数据根据数据集生成可引用的数据字典/代码本;将编码变量标记为 [NEEDS DICTIONARY];为 /define-variables 提供输入
version-dataset数据生成数据集内容哈希清单;验证数据漂移(架构/行/值)并比较版本;锁定可复现性
write-protocol方案起草 IRB/伦理方案,包括 4 个核心章节和 6 个带有 TODO 标记的框架章节
define-variables操作化基于文献定义变量、阈值和数据库变量映射;用于观察性研究时,安排在 /search-lit 和 /write-protocol 之间运行
verify-refs参考文献审计只读审计论文参考文献,对照 PubMed/CrossRef;交叉核对第一作者;唯一写入 qc/reference_audit.json 的工具。绝不修改参考文献
manage-refs参考文献生命周期验证引文键、通过期刊 CSL 渲染 pandoc、对论文 ↔ DOCX 进行交叉引用质量检查、转换 [N] ↔ [@key] 标记、注入 Zotero CWYW 域代码。唯一写入 manuscript_final.docx、qc/xref_audit.json 的工具
lit-sync参考文献同步同步 Zotero 收藏集 ↔ Better BibTeX manuscript/_src/refs.bib ↔ Obsidian 文献笔记。唯一写入 refs.bib 的工具(自动导出);位于 manage-refs 上游
obsidian-paper-vault知识库构建将 PDF 文件夹转换为模板化的 Obsidian 文献笔记,并综合生成原子概念笔记。与 lit-sync 一样使用相同的知识库文件夹,但从 PDF 端接入
humanize质量扫描 AI 特征密度(目标为 <2.0/1000 words);重写标记的段落,同时保留技术准确性。是 write-paper 的第 7.5 阶段
academic-aio可见度针对医学 AI 论文优化 AI 搜索引擎(Perplexity、ChatGPT web、Elicit、Consensus、SciSpace、RAG 工具)的可见度。提供可选清单;绝不自动应用修改
render-pdf-doc文档排版将非参考文献类学术 Markdown 转换为 PDF(提案、简报、锚点文档、IRB 封面、参考文献表),支持 CJK。与 manage-refs scripts/render_pandoc.sh 的处理边界相反
fill-protocol表单填写填写机构 Word 表单(.doc/.docx),用于 IRB/伦理/基金模板;将 write-protocol 的内容填入机构模板
fill-icmje-coi表单填写根据合成种子数据,为每位作者批量生成 ICMJE COI Disclosure Form
sync-submission投稿审计 SSOT 与投稿材料之间的漂移;根据规范论文材料创建期刊专属的投稿清单
peer-review评审起草外部论文同行评审意见(按期刊格式排版)。仅用于评审其他作者的作品,绝不能用于自我评审
review-paper写作搭建/起草文献综述(叙述性综述 / 范围综述 PRISMA-ScR / 系统综述)。区别于 write-paper(原创研究)和 meta-analysis(合并分析)
polish-language质量学术英语一致性检查 + 非母语表达润色(缩写、美式/英式拼写、范围、P/p 大小写、单位)。仅处理风格;区别于 humanize(移除 AI 特征)和 check-reporting(指南条目)
author-strategy分析分析 PubMed 作者资料:研究类型分类、发展轨迹类型、根据姓名生成发表策略报告
batch-cohort分析从一个经过验证的方法学模板 × 多组暴露因素/结局组合(方法相同,仅替换变量)生成 N 个分析脚本,并生成汇总矩阵
replicate-study分析在不同数据库上复现现有队列研究的方法:提取设计、制作变量协调表、生成复现差异报告
cross-national分析跨国比较研究(KNHANES + NHANES + CHNS 或平行调查):变量协调 + 平行加权分析
ma-scout系统综述发现荟萃分析主题并评估可行性(先从教授资料→研究空白入手,或先从主题→问题→研究空白→共同作者入手),适用于方案撰写前
find-cohort-gap方法学从纵向队列数据库中发现研究空白:分析优势、匹配 PI 专长、扫描文献饱和度、按优先级排列主题提案
design-ai-benchmarking方法学审查针对人类专家参考小组开展 AI 系统基准测试的设计/有效性(评分标准、校准探查、小组构建、IRR 目标)——在数据收集前使用
model-selection建模为影像学研究选择模型:基于论文的架构系列(任务 + 模态 + 数据规模 + 类别不平衡 → 候选列表),然后审查具体的仓库/检查点(许可证、版本固定、权重来源;标记模型开发或调优所用基准上的评估环节)
imaging-data建模在作出任何建模决策前分析影像数据集(间距/方向、强度域、标签完整性、前景占比、目标体积),并根据计划进行把关;随后规划/审计 DICOM/NIfTI 数据导入、重采样、归一化和数据增强,生成预处理清单,并在进入 model-scaffold 前设置数据阶段泄漏检查
model-scaffold建模生成可复现、可运行的 PyTorch 训练仓库(患者级、种子锁定的数据划分、任务模型、训练/评估脚本、复现记录)——在选择架构和验证训练好的模型之间运行
radiomics-ml建模生成/审计放射组学 / 表格机器学习研究(影像或临床特征 → 惩罚逻辑回归 / SVM / RF / 梯度提升 / MLP → 结局),并进行嵌套交叉验证 / 特征稳定性 / 校准 / 外部验证把关(无需 GPU)
model-assessment验证验证/评估训练好的影像模型:数据划分泄漏检查 + 验证设计(内部还是外部、比较对象、样本量);符合任务要求的留出集指标(Dice + 边界、AUROC + AUPRC 及 bootstrap CI、FROC/mAP、校准、亚组)→ 按病例列出结果;针对部署声明评估不确定性/OOD/弃答;检查 Grad-CAM/可解释性合理性 + 定位
mllm-eval评估为 LLM/MLLM 临床任务设计/审计评估框架(报告生成、VQA、信息提取/分类):经裁定的参考答案、超越 BLEU/ROUGE 的临床效用指标、幻觉、污染、提示词敏感性、读者研究
model-card文档根据用户提供的事实,为工程师构建的影像模型生成 Model Card + Datasheet + 数据质量评估,并进行完整性把关
contribute设置提出将本地修改(期刊资料、修复)作为拉取请求或问题反馈,无需输入 git 命令;若差异中包含患者数据则会阻止,且只有在确认后才会发送。也可提交误报或失败步骤
setup-medsci设置只读运行环境诊断(Python、R、Node、Claude Code、Git、Zotero、MCP 服务):提供通过/失败表格,并为每个缺失组件提供设置文档

分类逻辑

将每项请求归类到以下意图之一。

单技能请求(直接路由)

路由到「可用技能」表中匹配的技能:用一句话说明理由,然后调用该技能。下表涵盖模式和标志、容易混淆的技能,以及非英语表达:

用户可能会这样说……路由到
“我有一个杂乱的文件夹,帮我整理一下”/intake-project
“设置一个新项目” / “创建项目脚手架”/manage-project init
“投稿前帮我审阅稿件”/self-review
“投稿前进行严格 / 严苛检查” / “顶级期刊最终检查” / “多审稿人 / 评审小组审阅” / “从统计学、临床和影像学角度审阅” / “혹독하게 제출 전 점검”/self-review --panel --json
“审阅他人的稿件” / “期刊读书会评论草稿” / “외부 논문 리뷰 답변”/peer-review
“我应该投哪本期刊?” / “帮我找一本期刊” / “我被拒稿了,还能投哪里?”/find-journal
“同步投稿信息” / “更换目标期刊” / “检查 SSOT 偏差”/sync-submission
“添加期刊档案” / “저널 프로필 추가”/add-journal
“下载 PDF” / “获取全文” / “PDF 다운로드”/fulltext-retrieval
“帮我制作可视化摘要” / “图形摘要” / “生成 GA”/make-figures
“对我的数据进行去标识化” / “移除 PHI” / “비식별화” / “익명화” / “匿名化患者数据”/deidentify
“撰写 IRB 方案” / “起草伦理审查申请” / “研究方案”/write-protocol
“填写 IRB 方案表格” / “기관 양식 채워줘” / “심사면제 요청서 채움” / “동의면제 양식”/fill-protocol
“定义我的变量” / “说明截断值的依据” / “表型定义” / “변수 정의 근거” / “避免临时定义”/define-variables
“撰写病例报告” / “我有一个有趣的病例”/write-paper(病例报告模式)
“生成投稿附信” / “撰写投稿附信”/write-paper(第 8 阶段及之后;需要已完成的稿件)
“将稿件渲染为 DOCX” / “生成最终 .docx” / “级联重新格式化参考文献” / “应用期刊 CSL” / “用 Vancouver 格式重新渲染” / “회람용 docx” / “Zotero CWYW 注入”/manage-refs
“将提案渲染为 PDF” / “锚定文档 PDF” / “韩文学术 PDF” / “简报讲义 PDF” / “IRB 封面 PDF” / “非参考文献 Markdown → PDF”/render-pdf-doc
“同步 Zotero” / “刷新 refs.bib” / “Better BibTeX 导出” / “Zotero ↔ Obsidian 同步” / “帮我创建文献笔记”/lit-sync
“将 PDF 转为 Obsidian 笔记” / “帮我创建论文摘要笔记” / “整理此文件夹中的 PDF” / “构建论文库” / “第二大脑” / “从论文中提取概念”/obsidian-paper-vault
“批量生成 ICMJE COI 表格” / “创建共同作者 COI 表格” / “批量生成披露表”/fill-icmje-coi
“AI 搜索优化” / “适合 Perplexity 的摘要” / “提高 RAG 可见度” / “GEO 清单” / “提升在 Elicit/Consensus 上的曝光度”/academic-aio
“移除 AI 痕迹” / “去除 AI 味” / “让这一部分更像人工撰写” / “帮我去掉 GPT 痕迹”/humanize
多技能工作流(规划后依次执行)

节点列列出在交互模式下需要呈现的决策分支(见下文的对话协议);N1–N11 的定义见 ${CLAUDE_SKILL_DIR}/references/dialogue_nodes.md。

场景技能链节点
新项目,无既有工作intake-project -> search-lit -> design-study -> manage-project initN1、N2(如果用户需要论文输出)、N3
数据已就绪,需要撰写论文manage-project init -> analyze-stats -> make-figures -> write-paperN6(PHI 门禁)、N3、N4(期刊时间安排)、N2
已有草稿,准备投稿self-review -> check-reporting -> verify-refs -> humanize -> academic-aio(可选启用 --aio)-> manage-refs(DOCX 构建 + 交叉引用 QC --strict)-> manage-project checklistN4(如果尚未锁定)、N8(仅当 self-review 返回致命问题时)
投稿文件渲染与级联重排格式manage-refs(工作流 A:pandoc citeproc,或工作流 B:Zotero CWYW)-> manage-refs scripts/check_xref.py --strict -> verify-refs -> sync-submission buildN10(选择工作流 A 或 B——参见 manage-refs SKILL.md 决策树)
级联拒稿后重新选择投稿目标find-journal(排除已拒稿的期刊)-> manage-refs(使用新的 CSL 重新渲染)-> write-paper 第 8 阶段及之后(新求职信)-> sync-submission build --journal {new}N4
非参考文献类学术交付物(提案/简报/基础文档)write-protocol -> fill-protocol(有机构表格可用) ⫶ render-pdf-doc(仅 Markdown,无表格)N11(是否有可用表格)
参考文献维护周期lit-sync(Zotero ↔ refs.bib 自动导出)-> manage-refs scripts/check_citation_keys.py -> verify-refs --strict(核对第一作者)—
ICMJE COI 批量处理(多作者投稿)fill-icmje-coi(根据合成种子为每位作者生成 docx)-> 手动传阅—
医学 AI 论文,提升 AI 搜索可见性self-review -> humanize -> academic-aio(标题、摘要、摘要框、README / CITATION.cff / HF 卡片)N4、N9(章节条目用于确定重新编辑范围)
收到审稿意见revise -> analyze-stats(如需新分析)-> make-figures(如需新图表)N1
从零开始进行荟萃分析meta-analysis(自行处理工作流:制定方案,然后暂停,直到注册提交,或用户记录选择不注册并继续;之后通过 search-lit 检索,并通过 fulltext-retrieval 获取全文;不要在此之前运行二者,因为 search-lit 会筛选论文并提取结果)N2(荟萃分析类型)、N5(综合范围)
撰写资助申请search-lit -> grant-builderN2(选项 5)
会议演示present-paper(在内部自行处理工作流)N1
新研究,需要 IRB 方案search-lit -> design-study -> calc-sample-size -> define-variables -> write-protocolN3、N2(选项 4——方案)
观察性队列研究(回顾性/筛查/登记)intake-project -> design-study -> search-lit -> define-variables -> write-protocol -> analyze-stats -> write-paperN1、N2、N3
数据含 PHI,需要完整工作流deidentify -> clean-data -> analyze-stats -> make-figures -> write-paperN6(强制)、N3、N4
数据已就绪,需要先清理clean-data -> analyze-stats -> make-figures -> write-paperN6、N3、N4
完整投稿链write-paper -> self-review -> check-reporting -> find-journal -> write-paper(第 8 阶段及之后:求职信)-> manage-project checklistN4、N8(触发恢复流程时)、N9(重新进入时)
拒稿后重新投稿find-journal(排除已拒稿的期刊)-> write-paper(第 8 阶段及之后:新求职信)N4
病例报告工作流search-lit(相似病例)-> write-paper(病例报告模式)-> self-review -> check-reporting(CARE)-> find-journalN2(选项 2)、N4
面板模式(/self-review --panel)需主动启用,绝不会自动运行。 上述链条使用单轮 self-review。仅当用户要求进行高风险的最终审查时,才添加 --panel,因为它会启动多个审查 Agent 和一个编辑器(消耗的令牌数是数倍);绝不要默认启用,包括在 --e2e 中。绝不要将 --panel 与 --fix 一起使用:面板负责诊断并确定优先级,修复循环则是单独的一轮。
请求含糊不清时(路由前先询问)

如果用户意图确实不明确,只问一个澄清问题——绝不要在同一轮中问两个。如果可以合理推断,就先执行并确认;在工作流中,应呈现相应节点,而不是提问。示例:

  • “帮我处理论文” -> 询问:“你想开始写作、审阅现有草稿,还是回复审稿意见?”
  • “我接下来该做什么?” -> 先检查工作目录中是否有 project_state.json 或 STATUS.md。如果找到,就读取并建议下一个合理步骤。如果没找到,就询问对方正在做什么。

工作流执行——对话协议(交互模式为默认)

未使用 --e2e 时,多技能链会在每个分支处运行一个决策节点。绝不要用计划列表和“要继续吗?”替代节点,因为这会在用户不知情的情况下确定论文类型、研究设计、目标期刊或恢复分支。还要在 write-paper 内置关卡(大纲审批、讨论规划)处暂停。

在当前会话中,工作流首次进入决策分支时,加载 ${CLAUDE_SKILL_DIR}/references/dialogue_nodes.md;其中包含每个节点的选项、呈现模板和自主默认选项。

每个分支的执行顺序:

  1. 识别节点,确定该分支对应的节点(参见多技能工作流表中的“节点”列)。
  2. 按照参考文件的 §“呈现模板”呈现节点:控制在约 15 行以内,列出每个选项的 unlocks / locks / recovery_cost,并说明自主默认选项。
  3. 等待数字选项或控制词。每轮只处理一个节点——绝不要连续堆叠两个节点。
  4. 调用技能前,用一行重述锁定项(“锁定:CARE 报告指南;摘要 = 结构化 250 字。”)。
  5. 根据所选选项调用下游技能,然后返回第 1 步,处理下一个分支。
  6. 根据技能输出调整。 如果结果使先前的锁定项失效(例如,/self-review 触发 Step 7.4a),则转到恢复节点(N8),而不是继续工作流。

控制词。 back 返回上一个节点。pause 暂停工作流并将控制权交还用户。仅当节点的 locks 范围为空(少见)时,才允许使用 skip——否则请说明为什么无法跳过。


完整工作流模式

当用户要求“运行完整工作流”或类似内容时,运行下方的标准工作流。

--e2e 标志
预检验证(在进入 --e2e 时运行一次)

在 --e2e 模式下调用任何下游技能之前,运行以下 4 项检查。任何一项失败都会终止流水线。将全部四项结果原样写入 manuscript/<id>/REPORT.md(参见 §“REPORT.md Generation”)中的 Frozen / Version status + Source artifacts checked。

  1. STATUS / project_state:读取工作目录中的 STATUS.md 或 project_state.json,并确认当前阶段。如果两者都不存在,则停止并报告 STATUS_MISSING,除非用户传入 --no-status。
  2. 冻结的制品:扫描 manuscript/<id>/v_*_package/。如果最新的 v_N 包含 _FROZEN 标记文件,或 INDEX.md::frozen=true,则本次运行必须限制在 v_(N+1)_package/ 分支中。任何直接写入 v_N 的尝试都会停止并报告 FROZEN_VIOLATION。
  3. 必需输入:确认请求阶段所需的输入制品存在。 示例:Phase 4 图表需要 analysis/_analysis_outputs.md;Phase 7 自我审查需要 manuscript/manuscript.md。缺失时停止并报告 → REQUIRED_INPUT_MISSING: <path>。
  4. 依赖项缺失:如果用户请求阶段 k,但之前的某个阶段尚未完成,则默认停止并报告 DEPENDENCY_MISS: [Phase i, Phase j]。只有用户明确传入 --auto-extend 时,编排器才可以将缺失阶段添加到前面并继续。
--e2e 流水线行为

传入 --e2e(或用户说“端到端”、“Arm A”或“完全自主”)时:

  1. 开启 --e2e 模式。
  2. 调用 /write-paper 时传入 --autonomous。
  3. 调用 /self-review 和 /check-reporting 时传入 --json。
  4. 跳过所有编排器级别的确认(“要继续吗?”),并且不要渲染任何 Dialogue Protocol 节点。
  5. 对于流水线原本会以交互方式渲染的每个节点,应用该节点在 dialogue_nodes.md 中的 default,并按以下格式将选项记录到 qc/_pipeline_log.md: [orchestrate] N{id}: defaulted to option {n} ({label}) — {autonomous_rationale}。
  6. 仍须遵守数据安全关卡(PHI Safety Gate / 节点 N6):如果 PHI 状态未知,则通过单个提示中止自主运行。通过预检后,只有两种情况会中断自主模式:PHI,以及系统性综述链上的注册。/meta-analysis 会写入方案,然后在搜索前以 REGISTRATION_PENDING 停止,除非项目记录了注册提交日期,或用户选择无注册继续(其 Phase 2 入口检查)。编排器不会提交注册,也不会默认跳过此停止条件:注册前完成的筛选或提取事后无法变为前瞻性。
  7. 审计恢复(节点 N8):自动调用路由到的恢复技能。如果路由本身两次验证失败,则停止,并在日志中记录 RECOVERY_HALT_HUMAN_DECISION。
  8. 在 --e2e 中,AIO(academic-aio)默认关闭,因为 AI 搜索可见性属于提交前的考量,在每次自主迭代中运行会浪费 tokens,还可能导致静默改写,违反该技能“绝不静默编辑”的约定。 只有用户明确添加 --aio 时,才启用它(或者流水线在准备提交时,同时准备预印本 / GitHub README / HF 卡片)。启用后,在 /humanize 之后安排它,以确保检查清单基于 QC 确认且人类可读的文本;并向用户展示 PASS/PARTIAL/FAIL 报告,绝不自动应用其编辑。
  9. 每项技能完成后,运行技能后验证(见下文);通过后,无需询问即可继续执行下一项技能。
标准流程:数据 → 论文
  1. /analyze-stats → analysis/tables/*.csv、analysis/figures/*、analysis/_analysis_outputs.md、analysis/analyze.py
  2. /make-figures --study-type {type} → 读取 analysis/_analysis_outputs.md → analysis/figures/*.pdf、analysis/figures/*.png、analysis/figures/_figure_manifest.md
  3. /write-paper --autonomous(如果使用 --e2e)→ 读取 analysis/ → manuscript/manuscript.md(DOCX 渲染委托给第 7 步)
    • 阶段 7.4 内部调用 /self-review --json --fix → qc/self_review.md
  4. /check-reporting → 读取 manuscript/manuscript.md → qc/reporting_checklist.md + qc/reporting_checklist.json(D 部分 JSON;在 write-paper 阶段 7 中调用,但编排器会验证输出)
  5. /verify-refs → 读取 manuscript/manuscript.md → qc/reference_audit.json(唯一输出;records[] 中包含逐行状态)
  6. /self-review --json --fix → 读取 manuscript/manuscript.md → qc/self_review.md + 自动修复(在 write-paper 阶段 7.4 中调用,但编排器会验证最终输出)
  7. /manage-refs(工作流 A:pandoc citeproc,或工作流 B:Zotero CWYW)→ 读取 manuscript/manuscript.md + manuscript/_src/refs.bib → manuscript/manuscript_final.docx + qc/xref_audit.json。提交门槛:check_xref.py --strict 必须通过(无 MISSING_DOCX / MISSING_BODY / MISMATCH)。
技能执行后的验证

每项技能完成后,验证预期输出文件是否存在,然后将发现的文件路径作为上下文传递给下一项技能。如果验证失败,报告错误,且不要继续执行下一项技能。

技能预期输出验证
/analyze-statsanalysis/tables/*.csv 中至少有一个文件,或存在 analysis/_analysis_outputs.md检查文件是否存在且非空
/make-figuresanalysis/figures/_figure_manifest.md,且至少包含 1 条记录解析清单,验证列出的文件是否存在
/write-papermanuscript/manuscript.md(必需)检查文件是否存在且非空。此处不要要求 DOCX——manuscript_final.docx 稍后由 /manage-refs(第 7 步)生成,因此若在 DOCX 尚未生成时就要求它,会中止 --e2e 运行
/check-reportingqc/reporting_checklist.md 和 qc/reporting_checklist.json(D 部分 JSON)解析 JSON;如果文件不存在、无法解析,或缺少整数 missing,则停止并指出文件名。如果 missing > 0,或任何 action_items[].status == "MISSING",则以 REPORTING_ITEMS_MISSING 停止(列出每项),且不要继续执行第 7 步——将缺漏项交由 /write-paper 第 7 阶段处理。未写入文件的内联报告不算通过
/verify-refsqc/reference_audit.json(唯一输出)解析 JSON;如果 submission_safe == false(即 FABRICATED / MISMATCH 的计数 > 0,或 duplicate_findings[] 非空),则停止
/self-reviewqc/self_review.md,其中包含第 3c 阶段 JSON 块(--json)解析 JSON 块;如果缺少该块、无法解析,或缺少整数 fatal_count,则停止并指出文件名。如果 fatal_count > 0,或任何 issues[].severity == "fatal",则不要继续执行第 7 步——转至 N8(审计恢复)。没有致命问题的 REVISE 判定会记录在 qc/_pipeline_log.md 和 REPORT.md 中(包括评分、判定和计数),不会导致停止。接受 --panel 添加到问题中的可选 consensus 数组和 R1/R2/R3 归属标记(均为增量式且向后兼容)
/manage-refsmanuscript/manuscript_final.docx、qc/xref_audit.jsonDOCX 存在且非空;xref_audit.json 中 submission_safe: true(无 P0 阻断项)
/lit-syncmanuscript/_src/refs.bib(mtime 已更新)、references/zotero_collection.jsonrefs.bib 的 mtime 晚于集合快照;集合 JSON 中 refs_bib_refreshed: true

验证失败时:

  • 记录失败情况:哪个技能失败、缺少哪个输出,以及任何错误消息。
  • 在 --e2e 模式下:在 qc/_pipeline_log.md 中报告错误并停止。不要继续执行下一项技能。输出:"Pipeline halted at {skill}: {missing output}. Check the skill's output and re-run."
  • 在交互模式下:报告错误并询问用户如何继续。
生成 REPORT.md

每次 --e2e 调用结束时——无论流水线已完成、在预检阶段停止,还是在技能执行后验证阶段停止——Worker 都必须使用 ${CLAUDE_SKILL_DIR}/references/report_template.md 中的模板编写 manuscript/<id>/REPORT.md。

  • 原样复制模板中的每个部分。绝不删除任何部分。空字段填写 (none) 或 (unknown)——绝不省略,也绝不合并。
  • §"Pipeline log" 条目是对 qc/_pipeline_log.md 的 5 行摘要(已应用的 Dialogue 节点默认值、技能调用,以及停止原因〔如有〕)——不得粘贴完整日志。
  • §"Tier-3 Blocked Items" 中 hook 与 prompt guard 的划分是必需项——参见下文 §"Tier-3 Worker Guard"。
  • §"Next safe command" 行必须是用户可复制以恢复下一阶段的实际命令。不要添加评论。
  • REPORT.md 是用户审阅的唯一产物;所有其他 QC 输出都必须从中链接。
Tier-3 Worker 防护

以下操作在 --e2e 自主流程中永久禁止。 检测到此类操作时,Worker 会停止流水线,并在 REPORT.md §"Tier-3 Blocked Items" 下记录该尝试,格式为 tier3_pending: <command>。Hook 确认拦截和仅由提示词拦截的操作会分别列出,以防未来 Hook 回归时悄然重新开放仅由提示词拦截的操作。

Hook 确认拦截(已安装 Tier-3 确认 Hook 时):

  • gws gmail +send / +reply
  • 上传 YouTube 视频

仅由提示词 / 技能防护(无 Hook 覆盖 — 由 Worker 提示词强制执行):

  • git push、gh pr create
  • MCP Gmail 发送邮件、MCP Calendar 发送邀请
  • MCP GitHub 创建 PR
  • /sync-submission build 外部发布路径
  • Phase 8 投稿 DOCX 自动构建 / 向期刊投稿
  • 资深导师自动回复邮件

允许执行 git commit;随后尝试执行 git push 时会停止流程。用于传阅的邮件只会保存为 Gmail 草稿,绝不会发送。

数据流契约

串联技能且需要了解其读取或写入内容时,请阅读 ${CLAUDE_SKILL_DIR}/references/data_flow_contract.md(上面的标准流水线已列出其自身的文件)。

E2E 后续:期刊选择与投稿准备

E2E 流水线完成后(或用户请求选择目标期刊时),可使用此工作流。它不属于 --e2e:只有在用户明确调用时才会运行,因为需要用户选择期刊。

  1. /find-journal → 根据 manuscript/manuscript.md 中的摘要,推荐排名前 5 的期刊
  2. /verify-refs → 打包前拦截虚构或不匹配的参考文献
  3. 用户选择期刊 → 创建 submission/{journal_short}/ 目录
  4. /sync-submission build --journal {journal_short} → 根据规范稿件创建或刷新衍生稿件包
  5. 在 submission/{journal_short}/ 中生成:
    • cover_letter.md:通过 /write-paper Phase 8+
    • checklist.md:期刊专属投稿清单
    • manuscript_final.docx:由 /manage-refs 针对目标期刊重新渲染(格式不同时)
  6. 使用所选期刊作为目标运行 /self-review → 进行符合期刊范围要求的最终审阅(而非 /peer-review,后者只审阅其他作者的作品)

PHI 安全检查

将任务分派给任何数据处理技能(clean-data、analyze-stats、make-figures)前, 请检查数据是否可能包含 PHI:

  1. 对于任务将读取的每个 CSV/Excel 文件,如果该文件本身不是 *_deidentified.* 输出文件(某个文件的去标识化副本并不能说明其他文件的情况),请询问: “数据是否包含患者身份标识信息(PHI)?(姓名、国民身份证号 / RRN、出生日期、联系方式等)”

    • 如果是 → 先分派给 /deidentify,然后使用 *_deidentified.* 输出文件继续执行最初请求的技能
    • 如果不是,或者用户确认数据已去标识化 → 直接继续
  2. 去标识化是一个交互式过程,需要研究人员积极参与。 请提醒:“去标识化需要研究人员直接审查。你必须在终端中运行脚本,并逐项核实。”


上下文检测

路由前,检查工作目录中的上下文线索:

找到的文件表示
project_state.json存在正在管理的项目——读取该文件以确定当前阶段
STATUS.md项目设有状态跟踪——读取当前阶段和阻碍因素
PROJECT.md存在项目身份信息——将其用于了解上下文
CLAIMS.md存在论点与结果映射——写作正在进行
REVIEW_LOG.md处于修订周期——可能需要 /revise
*.qmd 或 *.tex 文件正在起草手稿
*.bib 文件存在参考文献——可能需要核验
PRISMA_*.md 或 QUADAS*.md荟萃分析或系统综述
决定信 / 审稿人 PDF路由至 /revise
没有分析脚本的 CSV/Excel 数据文件原始数据可能需要清理——建议先使用 /clean-data
*_deidentified.* 或 audit_log.csv部分数据已去标识化——仅对 *_deidentified.* 输出跳过 PHI 安全检查;任务将读取的其他所有数据文件都必须进行该检查
protocol_draft.md正在起草方案——可能需要 /write-protocol
sample_size_*.csv 或 sample_size_*.R已完成样本量计算——检查下一步是否该处理方案或手稿

防护规则

  • 绝不虚构技能。 只能路由至“可用技能”表中列出的技能。
  • 尊重现有状态。 如果项目脚手架已存在,不要重新初始化。

评论

支持 Markdown