superlab 0.1.71 → 0.1.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/i18n.cjs +89 -6
- package/lib/lab_idea_contract.json +4 -4
- package/lib/lab_write_contract.json +1 -1
- package/package-assets/claude/commands/lab/idea.md +1 -1
- package/package-assets/claude/commands/lab/report.md +1 -0
- package/package-assets/claude/commands/lab/write.md +1 -0
- package/package-assets/claude/commands/lab-idea.md +1 -1
- package/package-assets/claude/commands/lab-report.md +1 -0
- package/package-assets/claude/commands/lab-write.md +1 -0
- package/package-assets/claude/commands/lab:idea.md +1 -1
- package/package-assets/claude/commands/lab:report.md +1 -0
- package/package-assets/claude/commands/lab:write.md +1 -0
- package/package-assets/claude/commands/lab/357/274/232idea.md +1 -1
- package/package-assets/claude/commands/lab/357/274/232report.md +1 -0
- package/package-assets/claude/commands/lab/357/274/232write.md +1 -0
- package/package-assets/codex/prompts/lab/idea.md +1 -1
- package/package-assets/codex/prompts/lab/report.md +1 -0
- package/package-assets/codex/prompts/lab/write.md +1 -1
- package/package-assets/codex/prompts/lab-idea.md +1 -1
- package/package-assets/codex/prompts/lab-report.md +1 -0
- package/package-assets/codex/prompts/lab-write.md +1 -1
- package/package-assets/codex/prompts/lab:idea.md +1 -1
- package/package-assets/codex/prompts/lab:report.md +1 -0
- package/package-assets/codex/prompts/lab:write.md +1 -1
- package/package-assets/codex/prompts/lab/357/274/232idea.md +1 -1
- package/package-assets/codex/prompts/lab/357/274/232report.md +1 -0
- package/package-assets/codex/prompts/lab/357/274/232write.md +1 -1
- package/package-assets/shared/lab/.managed/scripts/validate_collaborator_report.py +55 -1
- package/package-assets/shared/lab/.managed/scripts/validate_idea_artifact.py +75 -0
- package/package-assets/shared/lab/.managed/scripts/validate_section_draft.py +119 -0
- package/package-assets/shared/lab/.managed/scripts/validate_stage_report.py +246 -0
- package/package-assets/shared/lab/.managed/templates/final-report.md +11 -0
- package/package-assets/shared/lab/.managed/templates/idea.md +18 -0
- package/package-assets/shared/lab/.managed/templates/main-tables.md +6 -0
- package/package-assets/shared/lab/.managed/templates/paper-plan.md +9 -0
- package/package-assets/shared/lab/.managed/templates/stage-report.md +19 -0
- package/package-assets/shared/lab/.managed/templates/write-iteration.md +13 -0
- package/package-assets/shared/skills/lab/SKILL.md +18 -0
- package/package-assets/shared/skills/lab/references/paper-writing/abstract.md +14 -0
- package/package-assets/shared/skills/lab/references/paper-writing/conclusion.md +13 -0
- package/package-assets/shared/skills/lab/references/paper-writing/experiments.md +19 -0
- package/package-assets/shared/skills/lab/references/paper-writing/introduction.md +17 -2
- package/package-assets/shared/skills/lab/references/paper-writing/method.md +10 -0
- package/package-assets/shared/skills/lab/references/paper-writing/section-style-policies.md +10 -1
- package/package-assets/shared/skills/lab/stages/auto.md +20 -0
- package/package-assets/shared/skills/lab/stages/data.md +3 -0
- package/package-assets/shared/skills/lab/stages/framing.md +3 -0
- package/package-assets/shared/skills/lab/stages/idea.md +33 -19
- package/package-assets/shared/skills/lab/stages/iterate.md +3 -0
- package/package-assets/shared/skills/lab/stages/report.md +11 -0
- package/package-assets/shared/skills/lab/stages/review.md +3 -0
- package/package-assets/shared/skills/lab/stages/run.md +3 -0
- package/package-assets/shared/skills/lab/stages/spec.md +3 -0
- package/package-assets/shared/skills/lab/stages/write.md +12 -0
- package/package.json +1 -1
package/lib/i18n.cjs
CHANGED
|
@@ -57,12 +57,12 @@ const ZH_CONTENT = {
|
|
|
57
57
|
[path.join(".codex", "prompts", "lab-report.md")]: codexPrompt(
|
|
58
58
|
"基于验证后的迭代工件生成最终报告",
|
|
59
59
|
"report context",
|
|
60
|
-
"使用已安装的 `lab` 技能:`.codex/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `/lab:report`,不要只推荐别的 `/lab` 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 `/lab:report` 阶段。它必须生成给用户直接阅读的最终实验报告、受管的 `main-tables.md`,以及单独的内部 `artifact-status.md
|
|
60
|
+
"使用已安装的 `lab` 技能:`.codex/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `/lab:report`,不要只推荐别的 `/lab` 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 `/lab:report` 阶段。它必须生成给用户直接阅读的最终实验报告、受管的 `main-tables.md`,以及单独的内部 `artifact-status.md`。主报告要明确写出主指标、次级指标和必要终局证据,并用白话解释这些指标分别衡量什么、哪些只是健康度或支持性指标、以及每张主表到底证明了什么和没证明什么。报告开头必须写出核心洞见:结果让我们学到了什么、哪些证据支撑它、它带来什么行动或设计含义、仍有什么边界。主表和消融要作为洞见的诊断证据,而不只是数字容器。"
|
|
61
61
|
),
|
|
62
62
|
[path.join(".codex", "prompts", "lab-write.md")]: codexPrompt(
|
|
63
63
|
"把验证过的研究工件转成论文 section,并按小步方式修订",
|
|
64
64
|
"section or writing target",
|
|
65
|
-
`使用已安装的 \`lab\` 技能:\`.codex/skills/lab/SKILL.md\`。\n\n立刻针对用户当前给出的参数执行 \`/lab:write\`,不要只推荐别的 \`/lab\` 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n${writeContract.stage_prompt.codex_zh}`
|
|
65
|
+
`使用已安装的 \`lab\` 技能:\`.codex/skills/lab/SKILL.md\`。\n\n立刻针对用户当前给出的参数执行 \`/lab:write\`,不要只推荐别的 \`/lab\` 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n整篇论文必须沿用同一个核心洞见锚点:Introduction 制造认知反差,Method 把洞见转成设计动机,Experiments 用结果和消融诊断它,Conclusion 提炼更广泛原则和边界。不要单开 \`Our Insights\` 或 \`核心洞见\` 章节来凑数;洞见要融入动机、机制、证据和限制。\n\n${writeContract.stage_prompt.codex_zh}`
|
|
66
66
|
),
|
|
67
67
|
[path.join(".claude", "commands", "lab-idea.md")]: claudeCommand(
|
|
68
68
|
"lab-idea",
|
|
@@ -104,13 +104,13 @@ const ZH_CONTENT = {
|
|
|
104
104
|
"lab-report",
|
|
105
105
|
"基于验证后的迭代工件生成最终报告",
|
|
106
106
|
"report context",
|
|
107
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `report` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `report` 阶段。它必须生成给用户直接阅读的最终实验报告、受管的 `main-tables.md`,以及单独的内部 `artifact-status.md
|
|
107
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `report` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `report` 阶段。它必须生成给用户直接阅读的最终实验报告、受管的 `main-tables.md`,以及单独的内部 `artifact-status.md`。主报告要明确写出主指标、次级指标和必要终局证据,并用白话解释这些指标分别衡量什么、哪些只是健康度或支持性指标、以及每张主表到底证明了什么和没证明什么。报告开头必须写出核心洞见:结果让我们学到了什么、哪些证据支撑它、它带来什么行动或设计含义、仍有什么边界。主表和消融要作为洞见的诊断证据,而不只是数字容器。"
|
|
108
108
|
),
|
|
109
109
|
[path.join(".claude", "commands", "lab-write.md")]: claudeCommand(
|
|
110
110
|
"lab-write",
|
|
111
111
|
"把验证过的研究工件转成论文 section,并按小步方式修订",
|
|
112
112
|
"section or writing target",
|
|
113
|
-
`使用已安装的 \`lab\` 技能:\`.claude/skills/lab/SKILL.md\`。\n\n立刻针对用户当前给出的参数执行 \`write\` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n${writeContract.stage_prompt.claude_zh}`
|
|
113
|
+
`使用已安装的 \`lab\` 技能:\`.claude/skills/lab/SKILL.md\`。\n\n立刻针对用户当前给出的参数执行 \`write\` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n整篇论文必须沿用同一个核心洞见锚点:Introduction 制造认知反差,Method 把洞见转成设计动机,Experiments 用结果和消融诊断它,Conclusion 提炼更广泛原则和边界。不要单开 \`Our Insights\` 或 \`核心洞见\` 章节来凑数;洞见要融入动机、机制、证据和限制。\n\n${writeContract.stage_prompt.claude_zh}`
|
|
114
114
|
),
|
|
115
115
|
};
|
|
116
116
|
|
|
@@ -343,6 +343,8 @@ const ZH_SKILL_FILES = {
|
|
|
343
343
|
- 必须把已批准的主指标、次级指标和必要终局证据明确写进 \`report.md\` 与受管的 \`main-tables.md\`。
|
|
344
344
|
- 必须用白话解释选定的主指标和次级指标:每个指标在衡量什么、越高还是越低更好、它是主结果指标还是健康度/支持性指标。
|
|
345
345
|
- 如果出现 coverage、completeness、confidence 或类似健康度指标,必须明确说明这类指标回答的是“实验是否跑稳、证据是否完整”,而不是主要科学效应本身。
|
|
346
|
+
- 报告开头必须写出核心洞见:结果让我们学到了什么、为什么更简单解释不够、哪个机制最能解释结果、哪些证据支撑它、它带来什么行动或设计含义,以及仍然不能外推到哪里。
|
|
347
|
+
- 主表和消融要作为洞见的诊断证据,而不只是数字容器;每张表都应说明它回答的机制问题和不能证明的边界。
|
|
346
348
|
- 要把最关键的背景来源、方法/基线来源和指标来源直接写进报告,不要把它们藏在 \`.lab/context/*\` 里。
|
|
347
349
|
- 把 \`report.md\` 当作给外部评审或合作者看的研究 memo;来源章节必须给出人类可读的 anchor references,不能拿本地路径或内部 provenance 充数。
|
|
348
350
|
- 如果 \`.lab/context/terminology-lock.md\` 里已经冻结了方法名和 contribution bullets,就必须把它们带进报告。
|
|
@@ -687,6 +689,24 @@ const ZH_SKILL_FILES = {
|
|
|
687
689
|
- Expected advantage:
|
|
688
690
|
- 需要什么证据才能证明该优势:
|
|
689
691
|
|
|
692
|
+
## 贡献与洞见
|
|
693
|
+
|
|
694
|
+
- 贡献:
|
|
695
|
+
- 洞见:
|
|
696
|
+
- 核心洞见锚点句:
|
|
697
|
+
- 为什么这个洞见不只属于这个工件:
|
|
698
|
+
- 行动或社区价值:
|
|
699
|
+
|
|
700
|
+
## 洞见证据链
|
|
701
|
+
|
|
702
|
+
- 现象:
|
|
703
|
+
- 为什么现有解释不够:
|
|
704
|
+
- 核心洞见:
|
|
705
|
+
- 机制:
|
|
706
|
+
- 验证实验:
|
|
707
|
+
- 推广性或行动含义:
|
|
708
|
+
- 预测能力:
|
|
709
|
+
|
|
690
710
|
## 我们准备怎么做
|
|
691
711
|
|
|
692
712
|
- 用白话解释这个方向大致怎么工作:
|
|
@@ -911,6 +931,25 @@ const ZH_SKILL_FILES = {
|
|
|
911
931
|
- Primary artifact:
|
|
912
932
|
- Next owner:
|
|
913
933
|
|
|
934
|
+
## 请求结果映射
|
|
935
|
+
|
|
936
|
+
- 原始请求:
|
|
937
|
+
- 请求交付物:
|
|
938
|
+
- 完成映射:
|
|
939
|
+
- 回答形态:
|
|
940
|
+
|
|
941
|
+
## 修复控制
|
|
942
|
+
|
|
943
|
+
- 修复预算:
|
|
944
|
+
- 已用修复次数:
|
|
945
|
+
- 当前失败类型:
|
|
946
|
+
- 修复假设:
|
|
947
|
+
- 改变证据解释的旋钮:
|
|
948
|
+
- 允许的普通工程修复:
|
|
949
|
+
- 冻结核心不变:
|
|
950
|
+
- 已避免的禁用修复:
|
|
951
|
+
- 确认验证:
|
|
952
|
+
|
|
914
953
|
## 核心说明表
|
|
915
954
|
|
|
916
955
|
| 问题 | 白话回答 |
|
|
@@ -1042,6 +1081,9 @@ const ZH_SKILL_FILES = {
|
|
|
1042
1081
|
## 给用户看的总结
|
|
1043
1082
|
|
|
1044
1083
|
- 一句话结论:
|
|
1084
|
+
- 核心洞见:
|
|
1085
|
+
- 支撑该洞见的证据:
|
|
1086
|
+
- 决策或行动含义:
|
|
1045
1087
|
- 已经被验证的内容:
|
|
1046
1088
|
- 还没有被证明的内容:
|
|
1047
1089
|
- 当前最大报告风险:
|
|
@@ -1068,6 +1110,8 @@ const ZH_SKILL_FILES = {
|
|
|
1068
1110
|
|
|
1069
1111
|
- 已批准的方法名:
|
|
1070
1112
|
- 方法白话总结:
|
|
1113
|
+
- 解释或验证的机制:
|
|
1114
|
+
- 为什么该设计来自这个洞见:
|
|
1071
1115
|
- 相比 prior work 这套方法改变了什么:
|
|
1072
1116
|
- 最相关的 prior work 或 baseline 锚点:
|
|
1073
1117
|
- 这些 prior 方法各自做了什么:
|
|
@@ -1084,6 +1128,12 @@ const ZH_SKILL_FILES = {
|
|
|
1084
1128
|
- 主指标在衡量什么:
|
|
1085
1129
|
- 次级指标在衡量什么:
|
|
1086
1130
|
- 健康度/支持性指标在衡量什么,为什么它们不是主结论:
|
|
1131
|
+
- 评估对象:
|
|
1132
|
+
- 测试集预测:
|
|
1133
|
+
- 排序或分组:
|
|
1134
|
+
- 大致计算:
|
|
1135
|
+
- 方向与尺度:
|
|
1136
|
+
- 可比性边界:
|
|
1087
1137
|
|
|
1088
1138
|
## 背景来源
|
|
1089
1139
|
|
|
@@ -1133,8 +1183,14 @@ const ZH_SKILL_FILES = {
|
|
|
1133
1183
|
|
|
1134
1184
|
## 主要结果
|
|
1135
1185
|
|
|
1136
|
-
-
|
|
1137
|
-
-
|
|
1186
|
+
- 主要结果摘要:
|
|
1187
|
+
- 诊断性解读:
|
|
1188
|
+
- 这些结果在数字之外说明了什么:
|
|
1189
|
+
|
|
1190
|
+
## 消融
|
|
1191
|
+
|
|
1192
|
+
- 机制验证:
|
|
1193
|
+
- 消融在差值之外说明了什么:
|
|
1138
1194
|
|
|
1139
1195
|
## 失败尝试与局限
|
|
1140
1196
|
|
|
@@ -1209,30 +1265,36 @@ const ZH_SKILL_FILES = {
|
|
|
1209
1265
|
- Table 2 负责回答什么:
|
|
1210
1266
|
- Table 3 负责回答什么:
|
|
1211
1267
|
- Table 4 负责回答什么:
|
|
1268
|
+
- 诊断性结论:
|
|
1269
|
+
- 这些表不能证明什么:
|
|
1212
1270
|
|
|
1213
1271
|
## Table 1
|
|
1214
1272
|
|
|
1215
1273
|
- 作用:
|
|
1216
1274
|
- 使用指标:
|
|
1217
1275
|
- 最强支撑 claim:
|
|
1276
|
+
- 验证的机制或洞见:
|
|
1218
1277
|
|
|
1219
1278
|
## Table 2
|
|
1220
1279
|
|
|
1221
1280
|
- 作用:
|
|
1222
1281
|
- 使用指标:
|
|
1223
1282
|
- 最强支撑 claim:
|
|
1283
|
+
- 验证的机制或洞见:
|
|
1224
1284
|
|
|
1225
1285
|
## Table 3
|
|
1226
1286
|
|
|
1227
1287
|
- 作用:
|
|
1228
1288
|
- 使用指标:
|
|
1229
1289
|
- 最强支撑 claim:
|
|
1290
|
+
- 验证的机制或洞见:
|
|
1230
1291
|
|
|
1231
1292
|
## Table 4
|
|
1232
1293
|
|
|
1233
1294
|
- 作用:
|
|
1234
1295
|
- 使用指标:
|
|
1235
1296
|
- 最强支撑 claim:
|
|
1297
|
+
- 验证的机制或洞见:
|
|
1236
1298
|
`,
|
|
1237
1299
|
[path.join(".lab", ".managed", "templates", "paper-plan.md")]:
|
|
1238
1300
|
`# 论文计划
|
|
@@ -1437,6 +1499,19 @@ const ZH_SKILL_FILES = {
|
|
|
1437
1499
|
- Terminology consistency:
|
|
1438
1500
|
- Five-dimension self-review outcome:
|
|
1439
1501
|
|
|
1502
|
+
## 洞见融入检查
|
|
1503
|
+
|
|
1504
|
+
- 本轮使用的核心洞见锚点:
|
|
1505
|
+
- 当前 section 在洞见链中的作用:
|
|
1506
|
+
- 被挑战的常规认知或表层解释:
|
|
1507
|
+
- 新增的机制或 why-explanation:
|
|
1508
|
+
- 与洞见绑定的证据或诊断性结果:
|
|
1509
|
+
- 正文是否避免单独开 \`Our Insights\` / \`核心洞见\` 式章节:
|
|
1510
|
+
- 如果当前 section 是 Introduction,建立了什么认知反差:
|
|
1511
|
+
- 如果当前 section 是 Method,哪个设计选择由洞见推出:
|
|
1512
|
+
- 如果当前 section 是 Experiments,哪个机制被结果或消融诊断:
|
|
1513
|
+
- 如果当前 section 是 Conclusion,提炼了什么更广泛原则或行动含义:
|
|
1514
|
+
|
|
1440
1515
|
## Terminology Clarity
|
|
1441
1516
|
|
|
1442
1517
|
- Key terms introduced or revised this round:
|
|
@@ -2182,6 +2257,8 @@ ZH_CONTENT[path.join(".codex", "skills", "lab", "stages", "write.md")] = `# \`/l
|
|
|
2182
2257
|
- 不要假定固定的写作顺序,例如 Method 一定先于 Experiments;formal naming 可以先在 Method、Experiments 或其他 section 里出现。
|
|
2183
2258
|
- 如果某个 section 必须先用 canonical short names、model labels 或 ablation labels,而正式定义这些命名的 section 还没写到,就在当前 section 先做一次本地命名桥接(local naming bridge),用一句简短映射把解释性短语对齐到 canonical 的 paper-facing labels,然后后文统一复用这些 canonical labels。
|
|
2184
2259
|
- 一旦 paper-facing 模型名或消融名锁定,后续 prose、表格、caption 和排序摘要都必须复用 canonical label,不要再换回“完整模型”“去除结构主干”这类叙述性别名。
|
|
2260
|
+
- 整篇论文必须沿用同一个核心洞见锚点:Introduction 制造常规认知与本文发现之间的反差,Method 把洞见转成设计动机,Experiments 用结果和消融诊断洞见,Conclusion 提炼更广泛原则和边界。
|
|
2261
|
+
- 不要单开 \`Our Insights\` 或 \`核心洞见\` 章节来凑数;洞见要融入动机、机制、证据和限制。
|
|
2185
2262
|
- 起草或润色前,先检查当前 section 在 \`section-style-policies.md\` 里的规则块,并遵守其中的 encouraged expressions、discouraged expressions 和 banned expressions / moves。
|
|
2186
2263
|
- 不要默认当前 section 可以无限继续压句子;在同一个 section 上做新的 tighten、compress 或 polish 之前,先过一遍 section-level acceptance gate。
|
|
2187
2264
|
- section-level acceptance gate 至少要显式确认命名一致性、前后文一致性、claim / metric / ranking 与当前证据的一致性、局部清晰度、局部简洁度和 section 风格合规(section-style compliance)。
|
|
@@ -3079,7 +3156,10 @@ const zhStageReportCloseout = `
|
|
|
3079
3156
|
## 阶段报告收尾
|
|
3080
3157
|
|
|
3081
3158
|
- 阶段进入最终交接、停止、失败或升级前,必须用 \`.lab/.managed/templates/stage-report.md\` 写或更新一个 \`.lab/stage-reports/<date>--<stage>--<target>.md\`。
|
|
3159
|
+
- 先填写 \`请求结果映射\`,写清用户原始请求、请求交付物、每项交付状态,以及最终回答应如何对齐用户请求。
|
|
3160
|
+
- 填写 \`修复控制\`:没有 repair loop 时标为不适用;auto repair 时写清预算、已用次数、失败类型、修复假设、改变证据解释的旋钮、仍允许的普通工程修复、冻结核心不变、已避免的禁用修复和确认验证。
|
|
3082
3161
|
- \`核心说明表\` 必须用白话写清背景、为什么现在做、做了什么、怎么做、好结果、坏结果、验证了什么、还没验证什么、是否需要改进及原因、下一步怎么改及原因、关键证据,以及 continue/stop/revise/rerun/escalate/handoff 决策。
|
|
3162
|
+
- 如果核心说明表写明需要改进,下一步不能直接选择 \`stop\`,除非同时写明预算耗尽、冻结核心风险、安全或诚信失败、目标不可能、需要用户批准等终止边界;否则应选择 \`continue\`、\`revise\`、\`rerun\` 或 \`escalate\`。
|
|
3083
3163
|
- 阶段报告是收尾和交接工件,不是新命令,也不能替代 idea、iteration report、final report 或 write iteration 等阶段专属工件。
|
|
3084
3164
|
- 收尾前运行 \`.lab/.managed/scripts/validate_stage_report.py --stage-report <stage-report> --stage <stage>\`,并在最终给用户的总结里给出阶段报告路径和校验结果。
|
|
3085
3165
|
`;
|
|
@@ -3095,7 +3175,10 @@ for (const platformRoot of [".codex", ".claude"]) {
|
|
|
3095
3175
|
|
|
3096
3176
|
const zhStageReportGlobalRules =
|
|
3097
3177
|
"- 每个 `/lab:*` 阶段进入最终交接前,都必须在 `.lab/stage-reports/` 下写或更新一个白话阶段报告,并通过 `.lab/.managed/scripts/validate_stage_report.py` 校验。\n" +
|
|
3178
|
+
"- 阶段报告必须包含请求结果映射,写清用户原始请求、请求交付物、每项交付状态和最终回答形态。\n" +
|
|
3179
|
+
"- 阶段报告必须包含修复控制;普通工程修复不应限制问题解决能力,但会改变证据解释的 repair 必须记录预算、假设、改动旋钮、冻结核心和确认验证。\n" +
|
|
3098
3180
|
"- 阶段报告必须包含核心说明表,讲清背景、为什么做、做了什么、怎么做、好坏结果、验证与未验证边界、是否需要改进及原因、下一步怎么改及原因、关键证据和继续/停止/修订/重跑/升级/交接决策。\n" +
|
|
3181
|
+
"- 如果阶段报告写明需要改进,不能直接停止,除非下一步动作写清预算、冻结核心、安全诚信、目标不可能或需要用户批准等终止边界。\n" +
|
|
3099
3182
|
"- 阶段报告只是统一收尾和交接层,不新增用户命令,也不替代各阶段自己的受管工件。\n";
|
|
3100
3183
|
|
|
3101
3184
|
for (const platformRoot of [".codex", ".claude"]) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"stage_prompt": {
|
|
3
|
-
"codex_en": "This command runs the `/lab:idea` stage. Use `.codex/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.",
|
|
4
|
-
"claude_en": "This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.",
|
|
5
|
-
"codex_zh": "本命令运行 `/lab:idea` 阶段。把 `.codex/skills/lab/stages/idea.md` 当成两轮脑暴、两轮文献检索、最接近前作对照、source-backed proposal memo
|
|
6
|
-
"claude_zh": "本命令运行 lab workflow 的 `idea` 阶段。把 `.claude/skills/lab/stages/idea.md` 当成两轮脑暴、两轮文献检索、最接近前作对照、source-backed proposal memo
|
|
3
|
+
"codex_en": "This command runs the `/lab:idea` stage. Use `.codex/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, contribution-vs-insight separation, insight evidence chain, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what insight the idea teaches beyond the artifact, what evidence chain supports that insight, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the core insight, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.",
|
|
4
|
+
"claude_en": "This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, contribution-vs-insight separation, insight evidence chain, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what insight the idea teaches beyond the artifact, what evidence chain supports that insight, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the core insight, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.",
|
|
5
|
+
"codex_zh": "本命令运行 `/lab:idea` 阶段。把 `.codex/skills/lab/stages/idea.md` 当成两轮脑暴、两轮文献检索、最接近前作对照、source-backed proposal memo、评测草图、贡献与洞见分离、洞见证据链、暂定贡献、用户引导、最小可行实验、收敛状态和 approval gate 的单一来源。显式调用 `/lab:idea` 时,默认就是一次完整重跑,即使用户说的是“根据现有 idea 重组一下”也一样。只有当用户明确要求“只重写或重组现有 idea 文档,不重新检索”时,才允许进入 rewrite-only 模式。rewrite-only 模式只能改结构和可读性,不能改变推荐结论、paper fit 判断、收敛状态或 canonical context,并且必须明确说明:由于没有重跑文献检索,这一轮仍然处于未收敛状态。先做第一轮脑暴,产出 3-4 个候选方向。每个候选方向都要说明:它是什么、为什么值得研究、大致怎么做、解决了什么问题、主要风险是什么。再做第一轮文献检索,为每个方向补最接近前作;然后用第二轮脑暴把范围收敛到 1-2 个幸存方向,并写清每个幸存方向为什么保留、每个被淘汰方向为什么淘汰、为什么当前 narrowed recommendation 更强;最后做第二轮文献检索,补齐最终来源包,再输出协作者可读的推荐结论。任何 final recommendation、paper fit 判断或 mission 写回之前,都必须先 materialize or update `.lab/writing/idea.md` 和 `.lab/writing/idea-source-log.md`。不要以纯聊天脑暴收尾;如果当前还没收敛,就明确写出还缺什么,并停在未收敛状态。最终 idea memo 必须讲清真实场景、解决了什么问题、现有方法为什么不够、准备怎么做、大致怎么评、暂定贡献是什么、这个方向带来的洞见是什么、支撑洞见的证据链是什么、哪些部分已经 source-backed、哪些还只是 hypothesis,以及用户下一步该决定什么。它还必须包含一个用户可见的文献摘要,明确写出:找到的最接近前作、找到的近期强相关论文、以及现有工作仍未解决什么。最终给用户的简要总结里,还要说清:现有方法在做什么、为什么还是不够、推荐方向和现有方法有什么不同、核心洞见是什么、大致怎么做、主要风险是什么,以及详细版去哪里看(`.lab/writing/idea.md` 和 `.lab/writing/idea-source-log.md`)。`.lab/writing/idea-source-log.md` 必须和两轮检索实际用到的查询、来源分桶和最终来源数保持一致。文献来源包默认目标约 20 篇;如果领域确实很窄,必须显式解释为什么合理地低于这个目标。只有在 `.lab/.managed/scripts/validate_idea_artifact.py` 通过之后,才可以把最终推荐当成已收敛结论输出。",
|
|
6
|
+
"claude_zh": "本命令运行 lab workflow 的 `idea` 阶段。把 `.claude/skills/lab/stages/idea.md` 当成两轮脑暴、两轮文献检索、最接近前作对照、source-backed proposal memo、评测草图、贡献与洞见分离、洞见证据链、暂定贡献、用户引导、最小可行实验、收敛状态和 approval gate 的单一来源。显式调用 `/lab:idea` 时,默认就是一次完整重跑,即使用户说的是“根据现有 idea 重组一下”也一样。只有当用户明确要求“只重写或重组现有 idea 文档,不重新检索”时,才允许进入 rewrite-only 模式。rewrite-only 模式只能改结构和可读性,不能改变推荐结论、paper fit 判断、收敛状态或 canonical context,并且必须明确说明:由于没有重跑文献检索,这一轮仍然处于未收敛状态。先做第一轮脑暴,产出 3-4 个候选方向。每个候选方向都要说明:它是什么、为什么值得研究、大致怎么做、解决了什么问题、主要风险是什么。再做第一轮文献检索,为每个方向补最接近前作;然后用第二轮脑暴把范围收敛到 1-2 个幸存方向,并写清每个幸存方向为什么保留、每个被淘汰方向为什么淘汰、为什么当前 narrowed recommendation 更强;最后做第二轮文献检索,补齐最终来源包,再输出协作者可读的推荐结论。任何 final recommendation、paper fit 判断或 mission 写回之前,都必须先 materialize or update `.lab/writing/idea.md` 和 `.lab/writing/idea-source-log.md`。不要以纯聊天脑暴收尾;如果当前还没收敛,就明确写出还缺什么,并停在未收敛状态。最终 idea memo 必须讲清真实场景、解决了什么问题、现有方法为什么不够、准备怎么做、大致怎么评、暂定贡献是什么、这个方向带来的洞见是什么、支撑洞见的证据链是什么、哪些部分已经 source-backed、哪些还只是 hypothesis,以及用户下一步该决定什么。它还必须包含一个用户可见的文献摘要,明确写出:找到的最接近前作、找到的近期强相关论文、以及现有工作仍未解决什么。最终给用户的简要总结里,还要说清:现有方法在做什么、为什么还是不够、推荐方向和现有方法有什么不同、核心洞见是什么、大致怎么做、主要风险是什么,以及详细版去哪里看(`.lab/writing/idea.md` 和 `.lab/writing/idea-source-log.md`)。`.lab/writing/idea-source-log.md` 必须和两轮检索实际用到的查询、来源分桶和最终来源数保持一致。文献来源包默认目标约 20 篇;如果领域确实很窄,必须显式解释为什么合理地低于这个目标。只有在 `.lab/.managed/scripts/validate_idea_artifact.py` 通过之后,才可以把最终推荐当成已收敛结论输出。"
|
|
7
7
|
}
|
|
8
8
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"stage_prompt": {
|
|
3
|
-
"codex_en": "This command runs the `/lab:write` stage. Use `.codex/skills/lab/stages/write.md` as the single source of truth for template choice, paper-plan requirements, section references, validator gates, asset coverage, and final manuscript rules. Read the matching paper-writing reference, the current section block in `section-style-policies.md`, and any bundled example-bank files for the requested section, revise only one section, and keep draft rounds warning-only while final-draft or export rounds must satisfy the write-stage acceptance gates. Draft ordinary manuscript rounds in `workflow_language`, and ordinary `.tex` section drafts must stay in `workflow_language` instead of treating `paper_language` as the default draft language. When `workflow_language` and `paper_language` differ, treat the workflow-language paper layer as the default ordinary working layer. Resolve the active paper topology from `.lab/config/workflow.json` before drafting: the active canonical root is `<deliverables_root>/paper/`, and when workflow-language is active its root is `<deliverables_root>/paper/workflow-language/`. Ordinary write rounds should still edit one target paper layer at a time rather than silently refreshing both language layers. If the user names a concrete file or layer, treat that as the only target for the round unless they also explicitly request synchronization. Classify the named target path before editing it. Only active-layer targets count as managed manuscript rounds; legacy side layers such as `review_zh`, `translation_zh`, `sections_zh`, or stale `deliverables/.../workflow-language/*.md` paths are out-of-band/legacy edits and must not silently replace the active paper topology. If a workflow-language paper layer is active and the round still targets the canonical manuscript, record why canonical-only writing was acceptable in the write iteration artifact. If `paper_language_finalization_decision=convert-to-paper-language`, explicit canonical-manuscript work may target the canonical `paper_language` manuscript, but that does not make canonical the default ordinary working layer while workflow-language remains active. Treat the workflow-language paper layer as a real persisted artifact rather than a review layer, and preserve it as a full LaTeX mirror with `workflow-language/main.tex`, `workflow-language/references.bib`, `workflow-language/sections/*.tex`, `workflow-language/tables/*.tex`, `workflow-language/figures/*.tex`, and `workflow-language/analysis/analysis-asset.tex`. Do not write new workflow-language output to deprecated review-layer paths such as `docs/lab/paper/review_zh/`. Maintain `.lab/writing/terminology-glossary.md` as the write-stage glossary for full forms, approved short forms, reader-facing explanations, and aliases. Apply the same academic readability standard in every language: when the round introduces or revises key terms, abbreviations, metrics, mechanism names, or system labels, use the full form first, define any short form at first mention, explain what the term is and why it matters here, keep one natural-language paper-facing name per concept, use natural-language full names in prose, do not use labels containing `_` or `-` in reader-facing prose, apply the same first-mention rule to table headers, table captions, table notes, and figure captions or labels, do not assume a fixed drafting order such as Method before Experiments, add a local naming bridge when a section uses canonical short names before their defining section has been drafted, and reuse the canonical label instead of replacing it with a narrative alias. Follow the current section's encouraged, discouraged, and banned expression lists from `section-style-policies.md`; section-specific banned expressions take priority over prose-polish goals. Before any additional tighten, compress, or polish pass on the same section, run a section-level acceptance gate first. That gate must explicitly confirm naming consistency, adjacent-section consistency, claim, metric, and ranking consistency with the current evidence, local clarity, local concision, and section-style compliance. If the round changes the paper's canonical experiment or evaluation protocol, treat that change as a canonical replacement unless the user explicitly scoped it as supplementary or appendix-only, run a paper-wide impact audit before more polishing, update the highest-impact stale sections and assets first, and do not default to translation/workflow-layer sync work unless the user explicitly asked for it or the language-finalization workflow requires it. Only edit both the canonical manuscript and the workflow-language paper layer in the same round when the user explicitly asks for cross-language synchronization or when a final-draft/export language-finalization step requires both layers to be refreshed together. Do not treat a routine tighten/compress/polish request as an instruction to sync the workflow-language companion. For export or remote-publication rounds, if `paper_language_finalization_decision=convert-to-paper-language`, include the workflow-language paper layer in the exported or pushed bundle by default. Allow canonical-only export or remote publication only when the user explicitly asked for it or when the remote target forbids extra files. If any gate item is unresolved, or if a banned expression or move from the current section policy remains, spend the round fixing that blocker instead of polishing sentences further, and do not default the next-step recommendation to another polish pass. Main tables must be locally self-contained: the title, header, note, and adjacent prose should tell the reader what each row and column means, the metric direction, and any relevant unit, denominator, or event condition. Short headers remain allowed, but abbreviations in paper-facing tables must be expanded locally in the same table. If Method or Experiments prose promises a metric family, the main table set must either expose those metrics directly or explicitly mark the missing ones as appendix-only and explain why. If a metric is measured but omitted because it is zero everywhere, redundant, or appendix-only, state that disposition explicitly in the table note instead of silently dropping it. Do not treat `\\resizebox{\\linewidth}{!}{...}` as the default way to fit a main table. Fit main tables by redesign first: shorten headers, move secondary metrics out of the main table, reduce or split columns, then adjust `\\tabcolsep` conservatively; only use `\\resizebox` as a last resort, keep width changes readable, and explain the width-control rationale locally in the same table note. Do not use `\\scriptsize` or `\\tiny` as the default main-table fit strategy. Keep internal identifiers out of reader-facing prose unless they are mapped once for the reader and then moved back out of prose, and record the terminology-clarity self-check, the section-level acceptance gate, section-style policy compliance, the protocol/scope impact audit, the export or remote bundle audit, the round target layer, any canonical-only justification while workflow-language was active, any cross-language sync justification, the active canonical/workflow-language roots, the resolved target path role, any out-of-band justification, and the table-semantics audit in the write iteration artifact. If the manuscript would start from the managed scaffold and no template decision is recorded yet, ask once whether to keep the default scaffold or attach a template directory first. If finalization reaches a round where `workflow_language` and `paper_language` differ, finish and preserve the workflow-language paper layer first, then ask once whether to keep the draft language or convert the canonical manuscript to `paper_language`, persist that answer, record both the language decision and the workflow-language paper-layer path in the latest write iteration, and only then edit the final manuscript in the chosen language.",
|
|
3
|
+
"codex_en": "This command runs the `/lab:write` stage. Use `.codex/skills/lab/stages/write.md` as the single source of truth for template choice, paper-plan requirements, section references, validator gates, asset coverage, and final manuscript rules. Carry the same core insight anchor through the paper: Introduction creates the cognitive contrast, Method turns the insight into design motivation, Experiments diagnose it with evidence, and Conclusion states the broader principle and boundary. Do not create a standalone `Our Insights` section just to satisfy this; weave the insight into motivation, mechanism, evidence, and limitations. Read the matching paper-writing reference, the current section block in `section-style-policies.md`, and any bundled example-bank files for the requested section, revise only one section, and keep draft rounds warning-only while final-draft or export rounds must satisfy the write-stage acceptance gates. Draft ordinary manuscript rounds in `workflow_language`, and ordinary `.tex` section drafts must stay in `workflow_language` instead of treating `paper_language` as the default draft language. When `workflow_language` and `paper_language` differ, treat the workflow-language paper layer as the default ordinary working layer. Resolve the active paper topology from `.lab/config/workflow.json` before drafting: the active canonical root is `<deliverables_root>/paper/`, and when workflow-language is active its root is `<deliverables_root>/paper/workflow-language/`. Ordinary write rounds should still edit one target paper layer at a time rather than silently refreshing both language layers. If the user names a concrete file or layer, treat that as the only target for the round unless they also explicitly request synchronization. Classify the named target path before editing it. Only active-layer targets count as managed manuscript rounds; legacy side layers such as `review_zh`, `translation_zh`, `sections_zh`, or stale `deliverables/.../workflow-language/*.md` paths are out-of-band/legacy edits and must not silently replace the active paper topology. If a workflow-language paper layer is active and the round still targets the canonical manuscript, record why canonical-only writing was acceptable in the write iteration artifact. If `paper_language_finalization_decision=convert-to-paper-language`, explicit canonical-manuscript work may target the canonical `paper_language` manuscript, but that does not make canonical the default ordinary working layer while workflow-language remains active. Treat the workflow-language paper layer as a real persisted artifact rather than a review layer, and preserve it as a full LaTeX mirror with `workflow-language/main.tex`, `workflow-language/references.bib`, `workflow-language/sections/*.tex`, `workflow-language/tables/*.tex`, `workflow-language/figures/*.tex`, and `workflow-language/analysis/analysis-asset.tex`. Do not write new workflow-language output to deprecated review-layer paths such as `docs/lab/paper/review_zh/`. Maintain `.lab/writing/terminology-glossary.md` as the write-stage glossary for full forms, approved short forms, reader-facing explanations, and aliases. Apply the same academic readability standard in every language: when the round introduces or revises key terms, abbreviations, metrics, mechanism names, or system labels, use the full form first, define any short form at first mention, explain what the term is and why it matters here, keep one natural-language paper-facing name per concept, use natural-language full names in prose, do not use labels containing `_` or `-` in reader-facing prose, apply the same first-mention rule to table headers, table captions, table notes, and figure captions or labels, do not assume a fixed drafting order such as Method before Experiments, add a local naming bridge when a section uses canonical short names before their defining section has been drafted, and reuse the canonical label instead of replacing it with a narrative alias. Follow the current section's encouraged, discouraged, and banned expression lists from `section-style-policies.md`; section-specific banned expressions take priority over prose-polish goals. Before any additional tighten, compress, or polish pass on the same section, run a section-level acceptance gate first. That gate must explicitly confirm naming consistency, adjacent-section consistency, claim, metric, and ranking consistency with the current evidence, local clarity, local concision, and section-style compliance. If the round changes the paper's canonical experiment or evaluation protocol, treat that change as a canonical replacement unless the user explicitly scoped it as supplementary or appendix-only, run a paper-wide impact audit before more polishing, update the highest-impact stale sections and assets first, and do not default to translation/workflow-layer sync work unless the user explicitly asked for it or the language-finalization workflow requires it. Only edit both the canonical manuscript and the workflow-language paper layer in the same round when the user explicitly asks for cross-language synchronization or when a final-draft/export language-finalization step requires both layers to be refreshed together. Do not treat a routine tighten/compress/polish request as an instruction to sync the workflow-language companion. For export or remote-publication rounds, if `paper_language_finalization_decision=convert-to-paper-language`, include the workflow-language paper layer in the exported or pushed bundle by default. Allow canonical-only export or remote publication only when the user explicitly asked for it or when the remote target forbids extra files. If any gate item is unresolved, or if a banned expression or move from the current section policy remains, spend the round fixing that blocker instead of polishing sentences further, and do not default the next-step recommendation to another polish pass. Main tables must be locally self-contained: the title, header, note, and adjacent prose should tell the reader what each row and column means, the metric direction, and any relevant unit, denominator, or event condition. Short headers remain allowed, but abbreviations in paper-facing tables must be expanded locally in the same table. If Method or Experiments prose promises a metric family, the main table set must either expose those metrics directly or explicitly mark the missing ones as appendix-only and explain why. If a metric is measured but omitted because it is zero everywhere, redundant, or appendix-only, state that disposition explicitly in the table note instead of silently dropping it. Do not treat `\\resizebox{\\linewidth}{!}{...}` as the default way to fit a main table. Fit main tables by redesign first: shorten headers, move secondary metrics out of the main table, reduce or split columns, then adjust `\\tabcolsep` conservatively; only use `\\resizebox` as a last resort, keep width changes readable, and explain the width-control rationale locally in the same table note. Do not use `\\scriptsize` or `\\tiny` as the default main-table fit strategy. Keep internal identifiers out of reader-facing prose unless they are mapped once for the reader and then moved back out of prose, and record the terminology-clarity self-check, the section-level acceptance gate, section-style policy compliance, the protocol/scope impact audit, the export or remote bundle audit, the round target layer, any canonical-only justification while workflow-language was active, any cross-language sync justification, the active canonical/workflow-language roots, the resolved target path role, any out-of-band justification, the insight integration audit, and the table-semantics audit in the write iteration artifact. If the manuscript would start from the managed scaffold and no template decision is recorded yet, ask once whether to keep the default scaffold or attach a template directory first. If finalization reaches a round where `workflow_language` and `paper_language` differ, finish and preserve the workflow-language paper layer first, then ask once whether to keep the draft language or convert the canonical manuscript to `paper_language`, persist that answer, record both the language decision and the workflow-language paper-layer path in the latest write iteration, and only then edit the final manuscript in the chosen language.",
|
|
4
4
|
"claude_en": "This command runs the `write` stage of the lab workflow. Use `.claude/skills/lab/stages/write.md` as the single source of truth for template choice, paper-plan requirements, section references, validator gates, asset coverage, and final manuscript rules. Read the matching paper-writing reference, the current section block in `section-style-policies.md`, and any bundled example-bank files for the requested section, revise only one section, and keep draft rounds warning-only while final-draft or export rounds must satisfy the write-stage acceptance gates. Draft ordinary manuscript rounds in `workflow_language`, and ordinary `.tex` section drafts must stay in `workflow_language` instead of treating `paper_language` as the default draft language. When `workflow_language` and `paper_language` differ, treat the workflow-language paper layer as the default ordinary working layer. Ordinary write rounds should still edit one target paper layer at a time rather than silently refreshing both language layers. If the user names a concrete file or layer, treat that as the only target for the round unless they also explicitly request synchronization. If a workflow-language paper layer is active and the round still targets the canonical manuscript, record why canonical-only writing was acceptable in the write iteration artifact. If `paper_language_finalization_decision=convert-to-paper-language`, explicit canonical-manuscript work may target the canonical `paper_language` manuscript, but that does not make canonical the default ordinary working layer while workflow-language remains active. Treat the workflow-language paper layer as a real persisted artifact rather than a review layer, and preserve it as a full LaTeX mirror with `workflow-language/main.tex`, `workflow-language/references.bib`, `workflow-language/sections/*.tex`, `workflow-language/tables/*.tex`, `workflow-language/figures/*.tex`, and `workflow-language/analysis/analysis-asset.tex`. Do not write new workflow-language output to deprecated review-layer paths such as `docs/lab/paper/review_zh/`. Maintain `.lab/writing/terminology-glossary.md` as the write-stage glossary for full forms, approved short forms, reader-facing explanations, and aliases. Apply the same academic readability standard in every language: when the round introduces or revises key terms, abbreviations, metrics, mechanism names, or system labels, use the full form first, define any short form at first mention, explain what the term is and why it matters here, keep one natural-language paper-facing name per concept, use natural-language full names in prose, do not use labels containing `_` or `-` in reader-facing prose, apply the same first-mention rule to table headers, table captions, table notes, and figure captions or labels, do not assume a fixed drafting order such as Method before Experiments, add a local naming bridge when a section uses canonical short names before their defining section has been drafted, and reuse the canonical label instead of replacing it with a narrative alias. Follow the current section's encouraged, discouraged, and banned expression lists from `section-style-policies.md`; section-specific banned expressions take priority over prose-polish goals. Before any additional tighten, compress, or polish pass on the same section, run a section-level acceptance gate first. That gate must explicitly confirm naming consistency, adjacent-section consistency, claim, metric, and ranking consistency with the current evidence, local clarity, local concision, and section-style compliance. If the round changes the paper's canonical experiment or evaluation protocol, treat that change as a canonical replacement unless the user explicitly scoped it as supplementary or appendix-only, run a paper-wide impact audit before more polishing, update the highest-impact stale sections and assets first, and do not default to translation/workflow-layer sync work unless the user explicitly asked for it or the language-finalization workflow requires it. Only edit both the canonical manuscript and the workflow-language paper layer in the same round when the user explicitly asks for cross-language synchronization or when a final-draft/export language-finalization step requires both layers to be refreshed together. Do not treat a routine tighten/compress/polish request as an instruction to sync the workflow-language companion. For export or remote-publication rounds, if `paper_language_finalization_decision=convert-to-paper-language`, include the workflow-language paper layer in the exported or pushed bundle by default. Allow canonical-only export or remote publication only when the user explicitly asked for it or when the remote target forbids extra files. If any gate item is unresolved, or if a banned expression or move from the current section policy remains, spend the round fixing that blocker instead of polishing sentences further, and do not default the next-step recommendation to another polish pass. Main tables must be locally self-contained: the title, header, note, and adjacent prose should tell the reader what each row and column means, the metric direction, and any relevant unit, denominator, or event condition. Short headers remain allowed, but abbreviations in paper-facing tables must be expanded locally in the same table. If Method or Experiments prose promises a metric family, the main table set must either expose those metrics directly or explicitly mark the missing ones as appendix-only and explain why. If a metric is measured but omitted because it is zero everywhere, redundant, or appendix-only, state that disposition explicitly in the table note instead of silently dropping it. Do not treat `\\resizebox{\\linewidth}{!}{...}` as the default way to fit a main table. Fit main tables by redesign first: shorten headers, move secondary metrics out of the main table, reduce or split columns, then adjust `\\tabcolsep` conservatively; only use `\\resizebox` as a last resort, keep width changes readable, and explain the width-control rationale locally in the same table note. Do not use `\\scriptsize` or `\\tiny` as the default main-table fit strategy. Keep internal identifiers out of reader-facing prose unless they are mapped once for the reader and then moved back out of prose, and record the terminology-clarity self-check, the section-level acceptance gate, section-style policy compliance, the protocol/scope impact audit, the export or remote bundle audit, the round target layer, any canonical-only justification while workflow-language was active, any cross-language sync justification, and the table-semantics audit in the write iteration artifact. If the manuscript would start from the managed scaffold and no template decision is recorded yet, ask once whether to keep the default scaffold or attach a template directory first. If finalization reaches a round where `workflow_language` and `paper_language` differ, finish and preserve the workflow-language paper layer first, then ask once whether to keep the draft language or convert the canonical manuscript to `paper_language`, persist that answer, record both the language decision and the workflow-language paper-layer path in the latest write iteration, and only then edit the final manuscript in the chosen language.",
|
|
5
5
|
"codex_zh": "本命令运行 `/lab:write` 阶段。把 `.codex/skills/lab/stages/write.md` 当成模板选择、paper-plan、section 参考、校验 gate、资产覆盖和最终 manuscript 规则的单一来源。读取与当前 section 对应的 paper-writing reference、`section-style-policies.md` 里与当前 section 对应的风格块,以及 bundled example-bank 文件,一次只修改一个 section;普通草稿轮次把写作校验当 warning,最终定稿或导出轮次必须满足 write-stage 的接受 gate。普通起草轮次先跟随 `workflow_language`,普通 `.tex` section 草稿也必须先停留在 `workflow_language`,不能把 `paper_language` 当成默认草稿语言,并把 workflow-language 论文层当成正式持久化产物,而不是 review 层。当 `workflow_language` 与 `paper_language` 不一致时,把 workflow-language 论文层当成普通写作轮次的默认工作层。普通写作轮次仍然只改一个目标层,不要静默同时刷新两种语言层。如果用户明确点名了某个文件或层级,就把它当成当前轮次唯一目标,除非用户另外明确要求同步。如果 workflow-language 论文层现役而本轮仍然写 canonical manuscript,必须在 write iteration artifact 里说明为什么这次 canonical-only 写作是合理的。如果 `paper_language_finalization_decision=convert-to-paper-language`,显式的 canonical manuscript 工作可以直接落在 `paper_language`,但这并不意味着只要 workflow-language 仍然现役,canonical 就变成普通轮次的默认工作层。workflow-language 层必须是一套完整的 LaTeX 镜像,至少包含 `workflow-language/main.tex`、`workflow-language/references.bib`、`workflow-language/sections/*.tex`、`workflow-language/tables/*.tex`、`workflow-language/figures/*.tex` 和 `workflow-language/analysis/analysis-asset.tex`。不要再把新的 workflow-language 输出写到已经废弃的 review 层路径,例如 `docs/lab/paper/review_zh/`。把 `.lab/writing/terminology-glossary.md` 作为写作期 glossary,用来沉淀全称、批准缩写、对外解释和可接受别名。无论当前语言是什么,都要满足同一套学术可读性标准:如果本轮引入或改写了关键术语、缩写、指标名、机制名或系统标签,就先写全称;如果后面要复用短写,就在首次出现时定义;同时说明它是什么、为什么在这里重要,保持一个概念只有一个 paper-facing 名称,并尽量避免新造的连字符拼接标签。相同的首次解释规则也适用于表头、caption、表注和图注;如果术语第一次出现在表里,就必须在同一张表里局部解释。不要假定当前 section 可以无限继续压句子;在同一个 section 上做新的 tighten、compress 或 polish 之前,先过一遍 section-level acceptance gate。这个 gate 至少要显式确认命名一致性、前后文一致性、claim / metric / ranking 与当前证据的一致性、局部清晰度、局部简洁度,以及 section-style compliance。当前 section 的写作表达必须先遵守 `section-style-policies.md` 里的鼓励表达、谨慎表达和禁用表达;只要还有禁用表达或禁用写法残留,本轮就不能算通过 section-level acceptance gate。如果本轮改动的是论文当前的 canonical 实验或评测协议(例如 split 比例、训练/测试规模、seed 或 split 数量、benchmark 集合、主表评测口径),默认把它当成主协议替换,而不是补充实验;除非用户明确说这是 supplementary 或 appendix-only。遇到这种协议替换时,先做全文影响审计(paper-wide impact audit),列出哪些 section 和资产已经过期,优先更新影响最大的 canonical section / asset,再继续润色;不要默认去做 translation/workflow-layer 同步,除非用户明确要求,或者语言最终定稿流程要求这样做。只有在用户明确要求跨语言同步,或者 final-draft/export 的语言最终定稿步骤确实要求两层一起刷新时,才允许同一轮同时修改 canonical manuscript 和 workflow-language 论文层。不要把普通 tighten/compress/polish 请求理解成“顺手同步 companion”。如果当前是导出或远程发布轮次,且 `paper_language_finalization_decision=convert-to-paper-language`,默认把 workflow-language 论文层一起带进导出的或推送的 bundle。只有在用户明确要求只导出 canonical,或者远程目标明确不允许附带额外文件时,才允许 canonical-only export。如果任何一项还没过,就先解决这个 blocker,不要默认继续 prose polish,也不要把下一步建议自动写成“再收紧一轮”。主表必须局部自足:读者只看表题、表头、表注和邻近引入或解读,就应当知道每行是什么、每列是什么、指标方向是什么,以及需要的单位、分母或触发条件。表头可以短,但表里的缩写必须在同表局部展开。如果 Method 或 Experiments 承诺了一组指标,主表就必须直接展示这些指标,或者明确标成 appendix-only 并解释原因;如果某个指标因为恒为零、冗余或只放附录而不单列,也必须在表注里显式说明,不能静默省略。不要把 `\\resizebox{\\linewidth}{!}{...}` 当成主表默认的宽度解决方案。主表如果超宽,先重构表:缩短表头但保留局部解释,把次要指标移到 appendix-only,减少或拆分列,最后才保守调整 `\\tabcolsep`;只有这些都做过仍然超宽时,才允许把 `\\resizebox` 当成最后手段,而且必须在同一张表的表注里解释宽度处理理由。不要把 `\\scriptsize` 或 `\\tiny` 当成主表默认的适配策略。内部标识符默认不要进入 reader-facing prose;若必须出现,只能在完成一次读者映射后使用,并把 terminology-clarity 自检、section-level acceptance gate、section-style policy 合规检查、protocol/scope impact audit、export 或 remote bundle 审计、当前轮次目标层、workflow-language 现役时的 canonical-only 理由、任何跨语言同步理由,以及 table-semantics 审计一起写进 write iteration artifact。如果当前稿件将从托管默认 scaffold 开始,且还没有模板决定,就先追问一次:继续使用默认 scaffold,还是先接入模板目录。如果进入最终定稿时 `workflow_language` 与 `paper_language` 不一致,就先完成并保留 workflow-language 论文层,再追问一次:保持当前语言,还是把 canonical manuscript 转成 `paper_language`;先持久化这个决定,再在最新 write iteration 里记录语言决策和 workflow-language 论文层路径,最后才允许按该语言修改最终稿。",
|
|
6
6
|
"claude_zh": "本命令运行 lab workflow 的 `write` 阶段。把 `.claude/skills/lab/stages/write.md` 当成模板选择、paper-plan、section 参考、校验 gate、资产覆盖和最终 manuscript 规则的单一来源。读取与当前 section 对应的 paper-writing reference、`section-style-policies.md` 里与当前 section 对应的风格块,以及 bundled example-bank 文件,一次只修改一个 section;普通草稿轮次把写作校验当 warning,最终定稿或导出轮次必须满足 write-stage 的接受 gate。普通起草轮次先跟随 `workflow_language`,普通 `.tex` section 草稿也必须先停留在 `workflow_language`,不能把 `paper_language` 当成默认草稿语言,并把 workflow-language 论文层当成正式持久化产物,而不是 review 层。当 `workflow_language` 与 `paper_language` 不一致时,把 workflow-language 论文层当成普通写作轮次的默认工作层。普通写作轮次仍然只改一个目标层,不要静默同时刷新两种语言层。如果用户明确点名了某个文件或层级,就把它当成当前轮次唯一目标,除非用户另外明确要求同步。如果 workflow-language 论文层现役而本轮仍然写 canonical manuscript,必须在 write iteration artifact 里说明为什么这次 canonical-only 写作是合理的。如果 `paper_language_finalization_decision=convert-to-paper-language`,显式的 canonical manuscript 工作可以直接落在 `paper_language`,但这并不意味着只要 workflow-language 仍然现役,canonical 就变成普通轮次的默认工作层。workflow-language 层必须是一套完整的 LaTeX 镜像,至少包含 `workflow-language/main.tex`、`workflow-language/references.bib`、`workflow-language/sections/*.tex`、`workflow-language/tables/*.tex`、`workflow-language/figures/*.tex` 和 `workflow-language/analysis/analysis-asset.tex`。不要再把新的 workflow-language 输出写到已经废弃的 review 层路径,例如 `docs/lab/paper/review_zh/`。把 `.lab/writing/terminology-glossary.md` 作为写作期 glossary,用来沉淀全称、批准缩写、对外解释和可接受别名。无论当前语言是什么,都要满足同一套学术可读性标准:如果本轮引入或改写了关键术语、缩写、指标名、机制名或系统标签,就先写全称;如果后面要复用短写,就在首次出现时定义;同时说明它是什么、为什么在这里重要,保持一个概念只有一个 paper-facing 名称,并尽量避免新造的连字符拼接标签。相同的首次解释规则也适用于表头、caption、表注和图注;如果术语第一次出现在表里,就必须在同一张表里局部解释。不要假定当前 section 可以无限继续压句子;在同一个 section 上做新的 tighten、compress 或 polish 之前,先过一遍 section-level acceptance gate。这个 gate 至少要显式确认命名一致性、前后文一致性、claim / metric / ranking 与当前证据的一致性、局部清晰度、局部简洁度,以及 section-style compliance。当前 section 的写作表达必须先遵守 `section-style-policies.md` 里的鼓励表达、谨慎表达和禁用表达;只要还有禁用表达或禁用写法残留,本轮就不能算通过 section-level acceptance gate。如果本轮改动的是论文当前的 canonical 实验或评测协议(例如 split 比例、训练/测试规模、seed 或 split 数量、benchmark 集合、主表评测口径),默认把它当成主协议替换,而不是补充实验;除非用户明确说这是 supplementary 或 appendix-only。遇到这种协议替换时,先做全文影响审计(paper-wide impact audit),列出哪些 section 和资产已经过期,优先更新影响最大的 canonical section / asset,再继续润色;不要默认去做 translation/workflow-layer 同步,除非用户明确要求,或者语言最终定稿流程要求这样做。只有在用户明确要求跨语言同步,或者 final-draft/export 的语言最终定稿步骤确实要求两层一起刷新时,才允许同一轮同时修改 canonical manuscript 和 workflow-language 论文层。不要把普通 tighten/compress/polish 请求理解成“顺手同步 companion”。如果当前是导出或远程发布轮次,且 `paper_language_finalization_decision=convert-to-paper-language`,默认把 workflow-language 论文层一起带进导出的或推送的 bundle。只有在用户明确要求只导出 canonical,或者远程目标明确不允许附带额外文件时,才允许 canonical-only export。如果任何一项还没过,就先解决这个 blocker,不要默认继续 prose polish,也不要把下一步建议自动写成“再收紧一轮”。主表必须局部自足:读者只看表题、表头、表注和邻近引入或解读,就应当知道每行是什么、每列是什么、指标方向是什么,以及需要的单位、分母或触发条件。表头可以短,但表里的缩写必须在同表局部展开。如果 Method 或 Experiments 承诺了一组指标,主表就必须直接展示这些指标,或者明确标成 appendix-only 并解释原因;如果某个指标因为恒为零、冗余或只放附录而不单列,也必须在表注里显式说明,不能静默省略。不要把 `\\resizebox{\\linewidth}{!}{...}` 当成主表默认的宽度解决方案。主表如果超宽,先重构表:缩短表头但保留局部解释,把次要指标移到 appendix-only,减少或拆分列,最后才保守调整 `\\tabcolsep`;只有这些都做过仍然超宽时,才允许把 `\\resizebox` 当成最后手段,而且必须在同一张表的表注里解释宽度处理理由。不要把 `\\scriptsize` 或 `\\tiny` 当成主表默认的适配策略。内部标识符默认不要进入 reader-facing prose;若必须出现,只能在完成一次读者映射后使用,并把 terminology-clarity 自检、section-level acceptance gate、section-style policy 合规检查、protocol/scope impact audit、export 或 remote bundle 审计、当前轮次目标层、workflow-language 现役时的 canonical-only 理由、任何跨语言同步理由,以及 table-semantics 审计一起写进 write iteration artifact。如果当前稿件将从托管默认 scaffold 开始,且还没有模板决定,就先追问一次:继续使用默认 scaffold,还是先接入模板目录。如果进入最终定稿时 `workflow_language` 与 `paper_language` 不一致,就先完成并保留 workflow-language 论文层,再追问一次:保持当前语言,还是把 canonical manuscript 转成 `paper_language`;先持久化这个决定,再在最新 write iteration 里记录语言决策和 workflow-language 论文层路径,最后才允许按该语言修改最终稿。"
|
|
@@ -7,4 +7,4 @@ argument-hint: idea or research problem
|
|
|
7
7
|
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
8
|
|
|
9
9
|
Execute the requested `/lab-idea` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
|
-
This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.
|
|
10
|
+
This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, contribution-vs-insight separation, insight evidence chain, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what insight the idea teaches beyond the artifact, what evidence chain supports that insight, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the core insight, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.
|
|
@@ -7,4 +7,5 @@ argument-hint: report context
|
|
|
7
7
|
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
8
|
|
|
9
9
|
Execute the requested `/lab-report` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
|
+
The report must put the core insight near the top: what was learned beyond the produced artifact, what evidence supports it, what action or design implication follows, and what boundary still applies. Use main tables and ablations as diagnostic evidence for that insight rather than only containers for metric values.
|
|
10
11
|
This command runs the `report` stage of the lab workflow. It must produce a user-facing final report plus the managed `main-tables.md` artifact, explicitly carry the approved primary and secondary metrics forward, explain the selected metrics in plain language, say which metrics are only health or support metrics, and explain what each main table proves or does not prove.
|
|
@@ -9,4 +9,5 @@ Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
|
9
9
|
Execute the requested `/lab-write` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
10
|
When the user provides reference PDFs, paper URLs, local reference-paper paths, or asks to write by reference, stay within the write stage and switch to reference-guided deep-write. Extract structure, map section/subsection slots, paragraph roles, table/figure roles, and bridge logic to the current paper, record the consumption plan, and only then draft prose. The current section must visibly realize the mapped slots; do not treat a consumption plan as enough. Reuse structure only; do not copy wording, claims, metrics, captions, or conclusions. Keep service-style or AI-assistant meta language and workflow-only placeholder language out of paper-facing prose.
|
|
11
11
|
When Method, Experiments, captions, tables, or analysis assets introduce or revise reported metrics, create or update `.lab/writing/metric-glossary.md` before prose polish. Each metric must define its paper-facing name, approved short name, table/header label, plain-language definition, calculation, unit or denominator, direction, scope or conditions, allowed aliases, forbidden aliases, and first-use location. Use the same metric names across prose, captions, table notes, table headers, and result summaries. Run `validate_metric_glossary.py` and remove forbidden aliases from reader-facing LaTeX before finalizing the round.
|
|
12
|
+
Carry the same core insight anchor through the paper: Introduction creates the cognitive contrast, Method turns the insight into design motivation, Experiments diagnose it with evidence, and Conclusion states the broader principle and boundary. Do not create a standalone `Our Insights` section just to satisfy this; weave the insight into motivation, mechanism, evidence, and limitations.
|
|
12
13
|
This command runs the `write` stage of the lab workflow. Use `.claude/skills/lab/stages/write.md` as the single source of truth for template choice, paper-plan requirements, section references, validator gates, asset coverage, and final manuscript rules. Read the matching paper-writing reference, the current section block in `section-style-policies.md`, and any bundled example-bank files for the requested section, revise only one section, and keep draft rounds warning-only while final-draft or export rounds must satisfy the write-stage acceptance gates. Draft ordinary manuscript rounds in `workflow_language`, and ordinary `.tex` section drafts must stay in `workflow_language` instead of treating `paper_language` as the default draft language. When `workflow_language` and `paper_language` differ, treat the workflow-language paper layer as the default ordinary working layer. Ordinary write rounds should still edit one target paper layer at a time rather than silently refreshing both language layers. If the user names a concrete file or layer, treat that as the only target for the round unless they also explicitly request synchronization. If a workflow-language paper layer is active and the round still targets the canonical manuscript, record why canonical-only writing was acceptable in the write iteration artifact. If `paper_language_finalization_decision=convert-to-paper-language`, explicit canonical-manuscript work may target the canonical `paper_language` manuscript, but that does not make canonical the default ordinary working layer while workflow-language remains active. Treat the workflow-language paper layer as a real persisted artifact rather than a review layer, and preserve it as a full LaTeX mirror with `workflow-language/main.tex`, `workflow-language/references.bib`, `workflow-language/sections/*.tex`, `workflow-language/tables/*.tex`, `workflow-language/figures/*.tex`, and `workflow-language/analysis/analysis-asset.tex`. Do not write new workflow-language output to deprecated review-layer paths such as `docs/lab/paper/review_zh/`. Maintain `.lab/writing/terminology-glossary.md` as the write-stage glossary for full forms, approved short forms, reader-facing explanations, and aliases. Apply the same academic readability standard in every language: when the round introduces or revises key terms, abbreviations, metrics, mechanism names, or system labels, use the full form first, define any short form at first mention, explain what the term is and why it matters here, keep one natural-language paper-facing name per concept, use natural-language full names in prose, do not use labels containing `_` or `-` in reader-facing prose, apply the same first-mention rule to table headers, table captions, table notes, and figure captions or labels, do not assume a fixed drafting order such as Method before Experiments, add a local naming bridge when a section uses canonical short names before their defining section has been drafted, and reuse the canonical label instead of replacing it with a narrative alias. Follow the current section's encouraged, discouraged, and banned expression lists from `section-style-policies.md`; section-specific banned expressions take priority over prose-polish goals. Before any additional tighten, compress, or polish pass on the same section, run a section-level acceptance gate first. That gate must explicitly confirm naming consistency, adjacent-section consistency, claim, metric, and ranking consistency with the current evidence, local clarity, local concision, and section-style compliance. If the round changes the paper's canonical experiment or evaluation protocol, treat that change as a canonical replacement unless the user explicitly scoped it as supplementary or appendix-only, run a paper-wide impact audit before more polishing, update the highest-impact stale sections and assets first, and do not default to translation/workflow-layer sync work unless the user explicitly asked for it or the language-finalization workflow requires it. Only edit both the canonical manuscript and the workflow-language paper layer in the same round when the user explicitly asks for cross-language synchronization or when a final-draft/export language-finalization step requires both layers to be refreshed together. Do not treat a routine tighten/compress/polish request as an instruction to sync the workflow-language companion. For export or remote-publication rounds, if `paper_language_finalization_decision=convert-to-paper-language`, include the workflow-language paper layer in the exported or pushed bundle by default. Allow canonical-only export or remote publication only when the user explicitly asked for it or when the remote target forbids extra files. If any gate item is unresolved, or if a banned expression or move from the current section policy remains, spend the round fixing that blocker instead of polishing sentences further, and do not default the next-step recommendation to another polish pass. Main tables must be locally self-contained: the title, header, note, and adjacent prose should tell the reader what each row and column means, the metric direction, and any relevant unit, denominator, or event condition. Short headers remain allowed, but abbreviations in paper-facing tables must be expanded locally in the same table. If Method or Experiments prose promises a metric family, the main table set must either expose those metrics directly or explicitly mark the missing ones as appendix-only and explain why. If a metric is measured but omitted because it is zero everywhere, redundant, or appendix-only, state that disposition explicitly in the table note instead of silently dropping it. Do not treat `\resizebox{\linewidth}{!}{...}` as the default way to fit a main table. Fit main tables by redesign first: shorten headers, move secondary metrics out of the main table, reduce or split columns, then adjust `\tabcolsep` conservatively; only use `\resizebox` as a last resort, keep width changes readable, and explain the width-control rationale locally in the same table note. Do not use `\scriptsize` or `\tiny` as the default main-table fit strategy. Keep internal identifiers out of reader-facing prose unless they are mapped once for the reader and then moved back out of prose, and record the terminology-clarity self-check, the section-level acceptance gate, section-style policy compliance, the protocol/scope impact audit, the export or remote bundle audit, the round target layer, any canonical-only justification while workflow-language was active, any cross-language sync justification, and the table-semantics audit in the write iteration artifact. If the manuscript would start from the managed scaffold and no template decision is recorded yet, ask once whether to keep the default scaffold or attach a template directory first. If finalization reaches a round where `workflow_language` and `paper_language` differ, finish and preserve the workflow-language paper layer first, then ask once whether to keep the draft language or convert the canonical manuscript to `paper_language`, persist that answer, record both the language decision and the workflow-language paper-layer path in the latest write iteration, and only then edit the final manuscript in the chosen language.
|
|
@@ -7,4 +7,4 @@ argument-hint: idea or research problem
|
|
|
7
7
|
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
8
|
|
|
9
9
|
Execute the requested `/lab-idea` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
|
-
This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.
|
|
10
|
+
This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, contribution-vs-insight separation, insight evidence chain, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what insight the idea teaches beyond the artifact, what evidence chain supports that insight, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the core insight, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.
|
|
@@ -7,4 +7,5 @@ argument-hint: report context
|
|
|
7
7
|
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
8
|
|
|
9
9
|
Execute the requested `/lab-report` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
|
+
The report must put the core insight near the top: what was learned beyond the produced artifact, what evidence supports it, what action or design implication follows, and what boundary still applies. Use main tables and ablations as diagnostic evidence for that insight rather than only containers for metric values.
|
|
10
11
|
This command runs the `report` stage of the lab workflow. It must produce a user-facing final report plus the managed `main-tables.md` artifact, explicitly carry the approved primary and secondary metrics forward, explain the selected metrics in plain language, say which metrics are only health or support metrics, and explain what each main table proves or does not prove.
|
|
@@ -9,4 +9,5 @@ Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
|
9
9
|
Execute the requested `/lab-write` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
10
|
When the user provides reference PDFs, paper URLs, local reference-paper paths, or asks to write by reference, stay within the write stage and switch to reference-guided deep-write. Extract structure, map section/subsection slots, paragraph roles, table/figure roles, and bridge logic to the current paper, record the consumption plan, and only then draft prose. The current section must visibly realize the mapped slots; do not treat a consumption plan as enough. Reuse structure only; do not copy wording, claims, metrics, captions, or conclusions. Keep service-style or AI-assistant meta language and workflow-only placeholder language out of paper-facing prose.
|
|
11
11
|
When Method, Experiments, captions, tables, or analysis assets introduce or revise reported metrics, create or update `.lab/writing/metric-glossary.md` before prose polish. Each metric must define its paper-facing name, approved short name, table/header label, plain-language definition, calculation, unit or denominator, direction, scope or conditions, allowed aliases, forbidden aliases, and first-use location. Use the same metric names across prose, captions, table notes, table headers, and result summaries. Run `validate_metric_glossary.py` and remove forbidden aliases from reader-facing LaTeX before finalizing the round.
|
|
12
|
+
Carry the same core insight anchor through the paper: Introduction creates the cognitive contrast, Method turns the insight into design motivation, Experiments diagnose it with evidence, and Conclusion states the broader principle and boundary. Do not create a standalone `Our Insights` section just to satisfy this; weave the insight into motivation, mechanism, evidence, and limitations.
|
|
12
13
|
This command runs the `write` stage of the lab workflow. Use `.claude/skills/lab/stages/write.md` as the single source of truth for template choice, paper-plan requirements, section references, validator gates, asset coverage, and final manuscript rules. Read the matching paper-writing reference, the current section block in `section-style-policies.md`, and any bundled example-bank files for the requested section, revise only one section, and keep draft rounds warning-only while final-draft or export rounds must satisfy the write-stage acceptance gates. Draft ordinary manuscript rounds in `workflow_language`, and ordinary `.tex` section drafts must stay in `workflow_language` instead of treating `paper_language` as the default draft language. When `workflow_language` and `paper_language` differ, treat the workflow-language paper layer as the default ordinary working layer. Ordinary write rounds should still edit one target paper layer at a time rather than silently refreshing both language layers. If the user names a concrete file or layer, treat that as the only target for the round unless they also explicitly request synchronization. If a workflow-language paper layer is active and the round still targets the canonical manuscript, record why canonical-only writing was acceptable in the write iteration artifact. If `paper_language_finalization_decision=convert-to-paper-language`, explicit canonical-manuscript work may target the canonical `paper_language` manuscript, but that does not make canonical the default ordinary working layer while workflow-language remains active. Treat the workflow-language paper layer as a real persisted artifact rather than a review layer, and preserve it as a full LaTeX mirror with `workflow-language/main.tex`, `workflow-language/references.bib`, `workflow-language/sections/*.tex`, `workflow-language/tables/*.tex`, `workflow-language/figures/*.tex`, and `workflow-language/analysis/analysis-asset.tex`. Do not write new workflow-language output to deprecated review-layer paths such as `docs/lab/paper/review_zh/`. Maintain `.lab/writing/terminology-glossary.md` as the write-stage glossary for full forms, approved short forms, reader-facing explanations, and aliases. Apply the same academic readability standard in every language: when the round introduces or revises key terms, abbreviations, metrics, mechanism names, or system labels, use the full form first, define any short form at first mention, explain what the term is and why it matters here, keep one natural-language paper-facing name per concept, use natural-language full names in prose, do not use labels containing `_` or `-` in reader-facing prose, apply the same first-mention rule to table headers, table captions, table notes, and figure captions or labels, do not assume a fixed drafting order such as Method before Experiments, add a local naming bridge when a section uses canonical short names before their defining section has been drafted, and reuse the canonical label instead of replacing it with a narrative alias. Follow the current section's encouraged, discouraged, and banned expression lists from `section-style-policies.md`; section-specific banned expressions take priority over prose-polish goals. Before any additional tighten, compress, or polish pass on the same section, run a section-level acceptance gate first. That gate must explicitly confirm naming consistency, adjacent-section consistency, claim, metric, and ranking consistency with the current evidence, local clarity, local concision, and section-style compliance. If the round changes the paper's canonical experiment or evaluation protocol, treat that change as a canonical replacement unless the user explicitly scoped it as supplementary or appendix-only, run a paper-wide impact audit before more polishing, update the highest-impact stale sections and assets first, and do not default to translation/workflow-layer sync work unless the user explicitly asked for it or the language-finalization workflow requires it. Only edit both the canonical manuscript and the workflow-language paper layer in the same round when the user explicitly asks for cross-language synchronization or when a final-draft/export language-finalization step requires both layers to be refreshed together. Do not treat a routine tighten/compress/polish request as an instruction to sync the workflow-language companion. For export or remote-publication rounds, if `paper_language_finalization_decision=convert-to-paper-language`, include the workflow-language paper layer in the exported or pushed bundle by default. Allow canonical-only export or remote publication only when the user explicitly asked for it or when the remote target forbids extra files. If any gate item is unresolved, or if a banned expression or move from the current section policy remains, spend the round fixing that blocker instead of polishing sentences further, and do not default the next-step recommendation to another polish pass. Main tables must be locally self-contained: the title, header, note, and adjacent prose should tell the reader what each row and column means, the metric direction, and any relevant unit, denominator, or event condition. Short headers remain allowed, but abbreviations in paper-facing tables must be expanded locally in the same table. If Method or Experiments prose promises a metric family, the main table set must either expose those metrics directly or explicitly mark the missing ones as appendix-only and explain why. If a metric is measured but omitted because it is zero everywhere, redundant, or appendix-only, state that disposition explicitly in the table note instead of silently dropping it. Do not treat `\resizebox{\linewidth}{!}{...}` as the default way to fit a main table. Fit main tables by redesign first: shorten headers, move secondary metrics out of the main table, reduce or split columns, then adjust `\tabcolsep` conservatively; only use `\resizebox` as a last resort, keep width changes readable, and explain the width-control rationale locally in the same table note. Do not use `\scriptsize` or `\tiny` as the default main-table fit strategy. Keep internal identifiers out of reader-facing prose unless they are mapped once for the reader and then moved back out of prose, and record the terminology-clarity self-check, the section-level acceptance gate, section-style policy compliance, the protocol/scope impact audit, the export or remote bundle audit, the round target layer, any canonical-only justification while workflow-language was active, any cross-language sync justification, and the table-semantics audit in the write iteration artifact. If the manuscript would start from the managed scaffold and no template decision is recorded yet, ask once whether to keep the default scaffold or attach a template directory first. If finalization reaches a round where `workflow_language` and `paper_language` differ, finish and preserve the workflow-language paper layer first, then ask once whether to keep the draft language or convert the canonical manuscript to `paper_language`, persist that answer, record both the language decision and the workflow-language paper-layer path in the latest write iteration, and only then edit the final manuscript in the chosen language.
|
|
@@ -7,4 +7,4 @@ argument-hint: idea or research problem
|
|
|
7
7
|
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
8
|
|
|
9
9
|
Execute the requested `/lab-idea` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
|
-
This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.
|
|
10
|
+
This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, contribution-vs-insight separation, insight evidence chain, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what insight the idea teaches beyond the artifact, what evidence chain supports that insight, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the core insight, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.
|
|
@@ -7,4 +7,5 @@ argument-hint: report context
|
|
|
7
7
|
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
8
|
|
|
9
9
|
Execute the requested `/lab-report` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
|
+
The report must put the core insight near the top: what was learned beyond the produced artifact, what evidence supports it, what action or design implication follows, and what boundary still applies. Use main tables and ablations as diagnostic evidence for that insight rather than only containers for metric values.
|
|
10
11
|
This command runs the `report` stage of the lab workflow. It must produce a user-facing final report plus the managed `main-tables.md` artifact, explicitly carry the approved primary and secondary metrics forward, explain the selected metrics in plain language, say which metrics are only health or support metrics, and explain what each main table proves or does not prove.
|
|
@@ -9,4 +9,5 @@ Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
|
9
9
|
Execute the requested `/lab-write` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
10
|
When the user provides reference PDFs, paper URLs, local reference-paper paths, or asks to write by reference, stay within the write stage and switch to reference-guided deep-write. Extract structure, map section/subsection slots, paragraph roles, table/figure roles, and bridge logic to the current paper, record the consumption plan, and only then draft prose. The current section must visibly realize the mapped slots; do not treat a consumption plan as enough. Reuse structure only; do not copy wording, claims, metrics, captions, or conclusions. Keep service-style or AI-assistant meta language and workflow-only placeholder language out of paper-facing prose.
|
|
11
11
|
When Method, Experiments, captions, tables, or analysis assets introduce or revise reported metrics, create or update `.lab/writing/metric-glossary.md` before prose polish. Each metric must define its paper-facing name, approved short name, table/header label, plain-language definition, calculation, unit or denominator, direction, scope or conditions, allowed aliases, forbidden aliases, and first-use location. Use the same metric names across prose, captions, table notes, table headers, and result summaries. Run `validate_metric_glossary.py` and remove forbidden aliases from reader-facing LaTeX before finalizing the round.
|
|
12
|
+
Carry the same core insight anchor through the paper: Introduction creates the cognitive contrast, Method turns the insight into design motivation, Experiments diagnose it with evidence, and Conclusion states the broader principle and boundary. Do not create a standalone `Our Insights` section just to satisfy this; weave the insight into motivation, mechanism, evidence, and limitations.
|
|
12
13
|
This command runs the `write` stage of the lab workflow. Use `.claude/skills/lab/stages/write.md` as the single source of truth for template choice, paper-plan requirements, section references, validator gates, asset coverage, and final manuscript rules. Read the matching paper-writing reference, the current section block in `section-style-policies.md`, and any bundled example-bank files for the requested section, revise only one section, and keep draft rounds warning-only while final-draft or export rounds must satisfy the write-stage acceptance gates. Draft ordinary manuscript rounds in `workflow_language`, and ordinary `.tex` section drafts must stay in `workflow_language` instead of treating `paper_language` as the default draft language. When `workflow_language` and `paper_language` differ, treat the workflow-language paper layer as the default ordinary working layer. Ordinary write rounds should still edit one target paper layer at a time rather than silently refreshing both language layers. If the user names a concrete file or layer, treat that as the only target for the round unless they also explicitly request synchronization. If a workflow-language paper layer is active and the round still targets the canonical manuscript, record why canonical-only writing was acceptable in the write iteration artifact. If `paper_language_finalization_decision=convert-to-paper-language`, explicit canonical-manuscript work may target the canonical `paper_language` manuscript, but that does not make canonical the default ordinary working layer while workflow-language remains active. Treat the workflow-language paper layer as a real persisted artifact rather than a review layer, and preserve it as a full LaTeX mirror with `workflow-language/main.tex`, `workflow-language/references.bib`, `workflow-language/sections/*.tex`, `workflow-language/tables/*.tex`, `workflow-language/figures/*.tex`, and `workflow-language/analysis/analysis-asset.tex`. Do not write new workflow-language output to deprecated review-layer paths such as `docs/lab/paper/review_zh/`. Maintain `.lab/writing/terminology-glossary.md` as the write-stage glossary for full forms, approved short forms, reader-facing explanations, and aliases. Apply the same academic readability standard in every language: when the round introduces or revises key terms, abbreviations, metrics, mechanism names, or system labels, use the full form first, define any short form at first mention, explain what the term is and why it matters here, keep one natural-language paper-facing name per concept, use natural-language full names in prose, do not use labels containing `_` or `-` in reader-facing prose, apply the same first-mention rule to table headers, table captions, table notes, and figure captions or labels, do not assume a fixed drafting order such as Method before Experiments, add a local naming bridge when a section uses canonical short names before their defining section has been drafted, and reuse the canonical label instead of replacing it with a narrative alias. Follow the current section's encouraged, discouraged, and banned expression lists from `section-style-policies.md`; section-specific banned expressions take priority over prose-polish goals. Before any additional tighten, compress, or polish pass on the same section, run a section-level acceptance gate first. That gate must explicitly confirm naming consistency, adjacent-section consistency, claim, metric, and ranking consistency with the current evidence, local clarity, local concision, and section-style compliance. If the round changes the paper's canonical experiment or evaluation protocol, treat that change as a canonical replacement unless the user explicitly scoped it as supplementary or appendix-only, run a paper-wide impact audit before more polishing, update the highest-impact stale sections and assets first, and do not default to translation/workflow-layer sync work unless the user explicitly asked for it or the language-finalization workflow requires it. Only edit both the canonical manuscript and the workflow-language paper layer in the same round when the user explicitly asks for cross-language synchronization or when a final-draft/export language-finalization step requires both layers to be refreshed together. Do not treat a routine tighten/compress/polish request as an instruction to sync the workflow-language companion. For export or remote-publication rounds, if `paper_language_finalization_decision=convert-to-paper-language`, include the workflow-language paper layer in the exported or pushed bundle by default. Allow canonical-only export or remote publication only when the user explicitly asked for it or when the remote target forbids extra files. If any gate item is unresolved, or if a banned expression or move from the current section policy remains, spend the round fixing that blocker instead of polishing sentences further, and do not default the next-step recommendation to another polish pass. Main tables must be locally self-contained: the title, header, note, and adjacent prose should tell the reader what each row and column means, the metric direction, and any relevant unit, denominator, or event condition. Short headers remain allowed, but abbreviations in paper-facing tables must be expanded locally in the same table. If Method or Experiments prose promises a metric family, the main table set must either expose those metrics directly or explicitly mark the missing ones as appendix-only and explain why. If a metric is measured but omitted because it is zero everywhere, redundant, or appendix-only, state that disposition explicitly in the table note instead of silently dropping it. Do not treat `\resizebox{\linewidth}{!}{...}` as the default way to fit a main table. Fit main tables by redesign first: shorten headers, move secondary metrics out of the main table, reduce or split columns, then adjust `\tabcolsep` conservatively; only use `\resizebox` as a last resort, keep width changes readable, and explain the width-control rationale locally in the same table note. Do not use `\scriptsize` or `\tiny` as the default main-table fit strategy. Keep internal identifiers out of reader-facing prose unless they are mapped once for the reader and then moved back out of prose, and record the terminology-clarity self-check, the section-level acceptance gate, section-style policy compliance, the protocol/scope impact audit, the export or remote bundle audit, the round target layer, any canonical-only justification while workflow-language was active, any cross-language sync justification, and the table-semantics audit in the write iteration artifact. If the manuscript would start from the managed scaffold and no template decision is recorded yet, ask once whether to keep the default scaffold or attach a template directory first. If finalization reaches a round where `workflow_language` and `paper_language` differ, finish and preserve the workflow-language paper layer first, then ask once whether to keep the draft language or convert the canonical manuscript to `paper_language`, persist that answer, record both the language decision and the workflow-language paper-layer path in the latest write iteration, and only then edit the final manuscript in the chosen language.
|
|
@@ -7,4 +7,4 @@ argument-hint: idea or research problem
|
|
|
7
7
|
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
8
|
|
|
9
9
|
Execute the requested `/lab-idea` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
|
-
This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.
|
|
10
|
+
This command runs the `idea` stage of the lab workflow. Use `.claude/skills/lab/stages/idea.md` as the single source of truth for the two brainstorm passes, two literature sweeps, closest-prior comparison, source-backed proposal memo, evaluation sketch, contribution-vs-insight separation, insight evidence chain, tentative contributions, user guidance, minimum viable experiment, convergence status, and approval gate. An explicit `/lab:idea` request defaults to a full-stage rerun, even if the user asks to reorganize or rewrite an existing idea memo. Only switch to rewrite-only mode when the user explicitly asks to only reorganize or rewrite the existing idea artifact without new searching. Rewrite-only mode may improve structure or readability, but it must not change the recommendation, paper-fit judgment, convergence status, or canonical context; it must say that the stage remains unconverged because the literature sweeps were not rerun. Start with brainstorm pass 1 over 3-4 candidate directions. For each candidate direction, explain what it is, why it matters, roughly how it would work, what problem it solves, and its main risk. Run literature sweep 1 with real closest-prior references for each direction, narrow the field with brainstorm pass 2 to 1-2 surviving directions, explain why each survivor remains, why each rejected direction was dropped, and why the narrowed recommendation is stronger now, then run literature sweep 2 to build the final source bundle before producing a collaborator-readable recommendation. Materialize or update `.lab/writing/idea.md` and `.lab/writing/idea-source-log.md` before any final recommendation, paper-fit judgment, or mission writeback. Do not end the stage with a chat-only brainstorm; if the work is still unconverged, say so explicitly, list what is still missing, and stop there. The final idea memo must explain the real-world scenario, the problem solved, why current methods fall short, roughly how the idea would work, how it would be evaluated, what the tentative contributions are, what insight the idea teaches beyond the artifact, what evidence chain supports that insight, what is already source-backed, what is still hypothesis-only, and what the user should decide next. It must also include a user-visible literature summary naming the closest prior found, the recent strong papers found, and what existing work still does not solve. In the final user-facing summary, say what current methods do, why they still fall short, how the proposed direction differs, the core insight, the rough approach, the main risk, and where to read the full idea artifact and source log. Keep `.lab/writing/idea-source-log.md` synchronized with the actual search queries, bucketed sources, and final source count used in both sweeps. The literature bundle should default to about 20 sources unless the field is genuinely narrow and that smaller bundle is explicitly justified. Only after `.lab/.managed/scripts/validate_idea_artifact.py` passes may the stage present a final recommendation as converged.
|
|
@@ -7,4 +7,5 @@ argument-hint: report context
|
|
|
7
7
|
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
8
|
|
|
9
9
|
Execute the requested `/lab-report` command against the user's argument now. Do not only recommend another lab stage. If a blocking prerequisite is missing, say exactly what is missing and ask at most one clarifying question.
|
|
10
|
+
The report must put the core insight near the top: what was learned beyond the produced artifact, what evidence supports it, what action or design implication follows, and what boundary still applies. Use main tables and ablations as diagnostic evidence for that insight rather than only containers for metric values.
|
|
10
11
|
This command runs the `report` stage of the lab workflow. It must produce a user-facing final report plus the managed `main-tables.md` artifact, explicitly carry the approved primary and secondary metrics forward, explain the selected metrics in plain language, say which metrics are only health or support metrics, and explain what each main table proves or does not prove.
|