superlab 0.1.14 → 0.1.16
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/README.md +22 -13
- package/README.zh-CN.md +22 -13
- package/bin/superlab.cjs +38 -0
- package/lib/auto_contracts.cjs +7 -3
- package/lib/auto_runner.cjs +33 -52
- package/lib/auto_state.cjs +27 -21
- package/lib/context.cjs +15 -0
- package/lib/i18n.cjs +150 -78
- package/lib/install.cjs +14 -10
- package/package-assets/claude/commands/lab-auto.md +13 -0
- package/package-assets/claude/commands/lab-data.md +10 -0
- package/package-assets/claude/commands/lab-framing.md +10 -0
- package/package-assets/claude/commands/lab-idea.md +10 -0
- package/package-assets/claude/commands/lab-iterate.md +10 -0
- package/package-assets/claude/commands/lab-report.md +10 -0
- package/package-assets/claude/commands/lab-review.md +10 -0
- package/package-assets/claude/commands/lab-run.md +10 -0
- package/package-assets/claude/commands/lab-spec.md +10 -0
- package/package-assets/claude/commands/lab-write.md +10 -0
- package/package-assets/claude/commands/lab.md +32 -27
- package/package-assets/codex/prompts/lab-write.md +1 -1
- package/package-assets/codex/prompts/lab.md +1 -0
- package/package-assets/shared/lab/.managed/templates/final-report.md +12 -0
- package/package-assets/shared/lab/.managed/templates/main-tables.md +37 -0
- package/package-assets/shared/lab/config/workflow.json +3 -1
- package/package-assets/shared/lab/context/auto-outcome.md +3 -0
- package/package-assets/shared/skills/lab/SKILL.md +6 -2
- package/package-assets/shared/skills/lab/references/paper-writing/abstract.md +7 -1
- package/package-assets/shared/skills/lab/references/paper-writing/examples/abstract/template-a.md +21 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/abstract/template-b.md +34 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/abstract/template-c.md +28 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/abstract-examples.md +13 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/index.md +21 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/novel-task-challenge-decomposition.md +18 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/pipeline-not-recommended-abstract-only.md +30 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/pipeline-version-1-one-contribution-multi-advantages.md +30 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/pipeline-version-2-two-contributions.md +34 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/pipeline-version-3-new-module-on-existing-pipeline.md +18 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/pipeline-version-4-observation-driven.md +16 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/technical-challenge-version-1-existing-task.md +32 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/technical-challenge-version-2-existing-task-insight-backed-by-traditional.md +33 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/technical-challenge-version-3-novel-task.md +21 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/version-1-task-then-application.md +14 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/version-2-application-first.md +10 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/version-3-general-to-specific-setting.md +14 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction/version-4-open-with-challenge.md +20 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/introduction-examples.md +25 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/method/example-of-the-three-elements.md +67 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/method/method-writing-common-issues-note.md +10 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/method/module-design-instant-ngp.md +55 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/method/module-motivation-patterns.md +15 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/method/module-triad-neural-body.md +19 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/method/neural-body-annotated-figure-text.md +66 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/method/overview-template.md +30 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/method/pre-writing-questions.md +17 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/method/section-skeleton.md +9 -0
- package/package-assets/shared/skills/lab/references/paper-writing/examples/method-examples.md +24 -0
- package/package-assets/shared/skills/lab/references/paper-writing/introduction.md +7 -1
- package/package-assets/shared/skills/lab/references/paper-writing/method.md +6 -2
- package/package-assets/shared/skills/lab/references/paper-writing-integration.md +26 -0
- package/package-assets/shared/skills/lab/stages/auto.md +9 -1
- package/package-assets/shared/skills/lab/stages/report.md +5 -1
- package/package-assets/shared/skills/lab/stages/write.md +16 -1
- package/package.json +1 -1
- package/package-assets/claude/commands/lab/auto.md +0 -14
- package/package-assets/claude/commands/lab/data.md +0 -11
- package/package-assets/claude/commands/lab/framing.md +0 -11
- package/package-assets/claude/commands/lab/idea.md +0 -11
- package/package-assets/claude/commands/lab/iterate.md +0 -11
- package/package-assets/claude/commands/lab/report.md +0 -11
- package/package-assets/claude/commands/lab/review.md +0 -11
- package/package-assets/claude/commands/lab/run.md +0 -11
- package/package-assets/claude/commands/lab/spec.md +0 -11
- package/package-assets/claude/commands/lab/write.md +0 -11
package/lib/i18n.cjs
CHANGED
|
@@ -10,12 +10,11 @@ ${body}
|
|
|
10
10
|
`;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
function claudeCommand(name, description,
|
|
13
|
+
function claudeCommand(name, description, argumentHint, body) {
|
|
14
14
|
return `---
|
|
15
15
|
name: "${name}"
|
|
16
16
|
description: ${description}
|
|
17
|
-
|
|
18
|
-
tags: [${tags}]
|
|
17
|
+
argument-hint: ${argumentHint}
|
|
19
18
|
---
|
|
20
19
|
|
|
21
20
|
${body}
|
|
@@ -61,55 +60,55 @@ const ZH_CONTENT = {
|
|
|
61
60
|
[path.join(".codex", "prompts", "lab-write.md")]: codexPrompt(
|
|
62
61
|
"把验证过的研究工件转成论文 section,并按小步方式修订",
|
|
63
62
|
"section or writing target",
|
|
64
|
-
"使用已安装的 `lab` 技能:`.codex/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `/lab:write`,不要只推荐别的 `/lab` 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 `/lab:write` 阶段。它必须先有来自 `/lab:framing` 的已批准 framing artifact,再读取 `.codex/skills/lab/references/paper-writing/` 下与当前 section
|
|
63
|
+
"使用已安装的 `lab` 技能:`.codex/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `/lab:write`,不要只推荐别的 `/lab` 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 `/lab:write` 阶段。它必须先有来自 `/lab:framing` 的已批准 framing artifact,再读取 `.codex/skills/lab/references/paper-writing/` 下与当前 section 对应的参考文件;如果当前是 `abstract`、`introduction` 或 `method`,还必须继续读取 `.codex/skills/lab/references/paper-writing/examples/index.md`、对应的 examples index,以及 1-2 个具体 example 文件。然后结合 `paper-review.md` 与 `does-my-writing-flow-source.md`,先写 mini-outline,再只修改一个 section。第一次进入会产出论文 `.tex` 的路径时,如果 `paper_template_root` 为空,必须先问一次:继续使用默认 LaTeX scaffold,还是先接入模板目录。"
|
|
65
64
|
),
|
|
66
|
-
[path.join(".claude", "commands", "lab
|
|
67
|
-
"
|
|
65
|
+
[path.join(".claude", "commands", "lab-idea.md")]: claudeCommand(
|
|
66
|
+
"lab-idea",
|
|
68
67
|
"在进入规格前调研并打磨论文或实验想法",
|
|
69
|
-
"
|
|
70
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行
|
|
68
|
+
"idea 或 research problem",
|
|
69
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `idea` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `idea` 阶段。它必须先用清晰简洁的话定义问题与失败场景,说明现有方法哪里不够、我们的想法为何更好,再做 idea classification、contribution category、breakthrough level 的归类,并收束出至少三个一眼就有意义的点,最后保留进入 `spec` 前的 approval gate。"
|
|
71
70
|
),
|
|
72
|
-
[path.join(".claude", "commands", "lab
|
|
73
|
-
"
|
|
71
|
+
[path.join(".claude", "commands", "lab-framing.md")]: claudeCommand(
|
|
72
|
+
"lab-framing",
|
|
74
73
|
"在写作前收紧方法名、模块名、论文题目和 contribution framing",
|
|
75
|
-
"
|
|
76
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行
|
|
74
|
+
"naming、title 或 contribution framing target",
|
|
75
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `framing` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `framing` 阶段。它必须围绕 paper-facing framing,收紧方法名、模块名、题目和 contribution bullets,审查当前领域与相邻领域的术语是否 canonical、对象是否明确,并在进入 `write` 前保留 approval gate。"
|
|
77
76
|
),
|
|
78
|
-
[path.join(".claude", "commands", "lab
|
|
79
|
-
"
|
|
77
|
+
[path.join(".claude", "commands", "lab-spec.md")]: claudeCommand(
|
|
78
|
+
"lab-spec",
|
|
80
79
|
"把已批准的 idea 转成统一的 lab change 目录",
|
|
81
|
-
"
|
|
82
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行
|
|
80
|
+
"approved idea context",
|
|
81
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `spec` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `spec` 阶段。它必须围绕一个 change id,在 `.lab/changes/<change-id>/` 下生成 proposal/design/spec/tasks,并让这个 change 成为后续 run 和 iterate 的统一入口。"
|
|
83
82
|
),
|
|
84
|
-
[path.join(".claude", "commands", "lab
|
|
85
|
-
"
|
|
83
|
+
[path.join(".claude", "commands", "lab-run.md")]: claudeCommand(
|
|
84
|
+
"lab-run",
|
|
86
85
|
"执行最小可行实验并标准化输出",
|
|
87
|
-
"
|
|
88
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行
|
|
86
|
+
"run context",
|
|
87
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `run` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `run` 阶段。它必须从最小实验开始,登记 run,生成标准化评估摘要,并验证结果格式。"
|
|
89
88
|
),
|
|
90
|
-
[path.join(".claude", "commands", "lab
|
|
91
|
-
"
|
|
89
|
+
[path.join(".claude", "commands", "lab-iterate.md")]: claudeCommand(
|
|
90
|
+
"lab-iterate",
|
|
92
91
|
"在固定成功标准下执行有边界的实验迭代",
|
|
93
|
-
"
|
|
94
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行
|
|
92
|
+
"iteration mission",
|
|
93
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `iterate` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `iterate` 阶段。它必须冻结 mission、声明 completion_promise、只做小步改动、每轮生成评估和 iteration report;若风险连续两轮升高则切 diagnostic mode,并在失败结束时记录 blockers 与 next actions。"
|
|
95
94
|
),
|
|
96
|
-
[path.join(".claude", "commands", "lab
|
|
97
|
-
"
|
|
95
|
+
[path.join(".claude", "commands", "lab-review.md")]: claudeCommand(
|
|
96
|
+
"lab-review",
|
|
98
97
|
"以审稿人模式审查研究方案或结果",
|
|
99
|
-
"
|
|
100
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行
|
|
98
|
+
"artifact or result to review",
|
|
99
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `review` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `review` 阶段。它必须先给简洁摘要,再按 findings -> fatal flaws -> fix priority -> residual risks 的顺序输出,优先检查方法学漏洞、对照公平性、数据泄漏、统计不足和 unsupported claims。"
|
|
101
100
|
),
|
|
102
|
-
[path.join(".claude", "commands", "lab
|
|
103
|
-
"
|
|
101
|
+
[path.join(".claude", "commands", "lab-report.md")]: claudeCommand(
|
|
102
|
+
"lab-report",
|
|
104
103
|
"基于验证后的迭代工件生成最终报告",
|
|
105
|
-
"
|
|
106
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行
|
|
104
|
+
"report context",
|
|
105
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `report` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `report` 阶段。它必须汇总标准化摘要、保留失败尝试和局限,并生成最终实验报告。"
|
|
107
106
|
),
|
|
108
|
-
[path.join(".claude", "commands", "lab
|
|
109
|
-
"
|
|
107
|
+
[path.join(".claude", "commands", "lab-write.md")]: claudeCommand(
|
|
108
|
+
"lab-write",
|
|
110
109
|
"把验证过的研究工件转成论文 section,并按小步方式修订",
|
|
111
|
-
"
|
|
112
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行
|
|
110
|
+
"section or writing target",
|
|
111
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `write` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `write` 阶段。它必须先有来自 `framing` 阶段的已批准 framing artifact,再读取 `.claude/skills/lab/references/paper-writing/` 下与当前 section 对应的参考文件;如果当前是 `abstract`、`introduction` 或 `method`,还必须继续读取 `.claude/skills/lab/references/paper-writing/examples/index.md`、对应的 examples index,以及 1-2 个具体 example 文件。然后结合 `paper-review.md` 与 `does-my-writing-flow-source.md`,先写 mini-outline,再只修改一个 section。第一次进入会产出论文 `.tex` 的路径时,如果 `paper_template_root` 为空,必须先问一次:继续使用默认 LaTeX scaffold,还是先接入模板目录。"
|
|
113
112
|
),
|
|
114
113
|
};
|
|
115
114
|
|
|
@@ -291,8 +290,10 @@ const ZH_SKILL_FILES = {
|
|
|
291
290
|
## 必要输出
|
|
292
291
|
|
|
293
292
|
- 方法概述
|
|
293
|
+
- 选定指标摘要
|
|
294
294
|
- 实验设置
|
|
295
295
|
- 已验证主结果
|
|
296
|
+
- 位于 \`<deliverables_root>/main-tables.md\` 的受管主表工件
|
|
296
297
|
- 消融
|
|
297
298
|
- 失败尝试
|
|
298
299
|
- 局限性
|
|
@@ -317,13 +318,15 @@ const ZH_SKILL_FILES = {
|
|
|
317
318
|
- 每个主要 claim 都要指向已记录的 summary 或 iteration artifact。
|
|
318
319
|
- 主表结构、gate 和最终结果 framing 必须对齐已批准的评估协议。
|
|
319
320
|
- 不要凭记忆重述指标定义、baseline 行为或对比方法实现;直接引用评估协议里记录的来源。
|
|
321
|
+
- 必须把已批准的主指标、次级指标和必要终局证据明确写进 \`report.md\` 与受管的 \`main-tables.md\`。
|
|
320
322
|
- 如果报告依赖了对原始指标或原始实现的偏差,必须明确写出这个偏差。
|
|
323
|
+
- 如果 workflow language 是中文,\`report.md\` 和 \`<deliverables_root>/main-tables.md\` 也应使用中文,除非文件路径、代码标识符或字面指标名必须保持原样。
|
|
321
324
|
- 解释优先保守,不要写成营销文案。
|
|
322
325
|
- 要给 \`/lab:write\` 留下清晰 handoff,尤其是 section draft 可以直接引用的证据链接。
|
|
323
326
|
|
|
324
327
|
## 交互约束
|
|
325
328
|
|
|
326
|
-
- 开始前先简洁说明:campaign outcome
|
|
329
|
+
- 开始前先简洁说明:campaign outcome、选定的主指标和次级指标、最强已支撑 claim、最大的报告风险。
|
|
327
330
|
- 如果某个未决前提会改变报告解释,一次只问一个问题。
|
|
328
331
|
- 如果存在多种报告 framing,先给 2-3 个方案、trade-offs 和推荐项,优先最忠于证据的 framing。
|
|
329
332
|
- 如果某种 framing 会实质影响后续论文 claim,要保留 approval gate。
|
|
@@ -679,27 +682,78 @@ const ZH_SKILL_FILES = {
|
|
|
679
682
|
- 方差和显著性问题是否交代清楚?
|
|
680
683
|
`,
|
|
681
684
|
[path.join(".lab", ".managed", "templates", "final-report.md")]:
|
|
682
|
-
`#
|
|
685
|
+
`# 最终报告
|
|
683
686
|
|
|
684
687
|
## 目标
|
|
685
688
|
|
|
686
689
|
- 本轮研究目标:
|
|
687
690
|
- 是否达标:
|
|
688
691
|
|
|
692
|
+
## 选定指标
|
|
693
|
+
|
|
694
|
+
- 主指标:
|
|
695
|
+
- 次级指标:
|
|
696
|
+
- 必要终局证据:
|
|
697
|
+
|
|
698
|
+
## 主表工件
|
|
699
|
+
|
|
700
|
+
- 受管主表路径:\`<deliverables_root>/main-tables.md\`
|
|
701
|
+
- 最终表现摘要:
|
|
702
|
+
- 主表覆盖情况:
|
|
703
|
+
|
|
689
704
|
## 主要结果
|
|
690
705
|
|
|
691
|
-
-
|
|
692
|
-
-
|
|
706
|
+
- 主要发现 1:
|
|
707
|
+
- 主要发现 2:
|
|
693
708
|
|
|
694
709
|
## 失败尝试与局限
|
|
695
710
|
|
|
696
|
-
-
|
|
697
|
-
-
|
|
711
|
+
- 失败尝试:
|
|
712
|
+
- 局限:
|
|
698
713
|
|
|
699
714
|
## 仍需加强的 claims
|
|
700
715
|
|
|
701
|
-
- Claim
|
|
702
|
-
-
|
|
716
|
+
- Claim:
|
|
717
|
+
- 缺失支持:
|
|
718
|
+
`,
|
|
719
|
+
[path.join(".lab", ".managed", "templates", "main-tables.md")]:
|
|
720
|
+
`# 主表工件
|
|
721
|
+
|
|
722
|
+
## 选定指标
|
|
723
|
+
|
|
724
|
+
- 主指标:
|
|
725
|
+
- 次级指标:
|
|
726
|
+
- 必要终局证据:
|
|
727
|
+
|
|
728
|
+
## 最终表现摘要
|
|
729
|
+
|
|
730
|
+
- 主要结果摘要:
|
|
731
|
+
- 最重要数字:
|
|
732
|
+
- 报告边界:
|
|
733
|
+
|
|
734
|
+
## Table 1
|
|
735
|
+
|
|
736
|
+
- 作用:
|
|
737
|
+
- 使用指标:
|
|
738
|
+
- 最强支撑 claim:
|
|
739
|
+
|
|
740
|
+
## Table 2
|
|
741
|
+
|
|
742
|
+
- 作用:
|
|
743
|
+
- 使用指标:
|
|
744
|
+
- 最强支撑 claim:
|
|
745
|
+
|
|
746
|
+
## Table 3
|
|
747
|
+
|
|
748
|
+
- 作用:
|
|
749
|
+
- 使用指标:
|
|
750
|
+
- 最强支撑 claim:
|
|
751
|
+
|
|
752
|
+
## Table 4
|
|
753
|
+
|
|
754
|
+
- 作用:
|
|
755
|
+
- 使用指标:
|
|
756
|
+
- 最强支撑 claim:
|
|
703
757
|
`,
|
|
704
758
|
[path.join(".lab", ".managed", "templates", "paper-plan.md")]:
|
|
705
759
|
`# 论文计划
|
|
@@ -829,7 +883,9 @@ const ZH_SKILL_FILES = {
|
|
|
829
883
|
"results_root": "results",
|
|
830
884
|
"figures_root": "figures",
|
|
831
885
|
"deliverables_root": "docs/research",
|
|
832
|
-
"paper_template_root": ""
|
|
886
|
+
"paper_template_root": "",
|
|
887
|
+
"paper_template_decision": "unconfirmed",
|
|
888
|
+
"paper_template_final_reminder_acknowledged": false
|
|
833
889
|
}`,
|
|
834
890
|
[path.join(".lab", "context", "mission.md")]:
|
|
835
891
|
`# 研究主线
|
|
@@ -995,30 +1051,33 @@ const ZH_SKILL_FILES = {
|
|
|
995
1051
|
|
|
996
1052
|
## 目标
|
|
997
1053
|
|
|
998
|
-
-
|
|
999
|
-
-
|
|
1000
|
-
-
|
|
1001
|
-
-
|
|
1002
|
-
-
|
|
1003
|
-
-
|
|
1004
|
-
-
|
|
1005
|
-
-
|
|
1006
|
-
-
|
|
1007
|
-
-
|
|
1008
|
-
-
|
|
1054
|
+
- 目标:
|
|
1055
|
+
- 主指标:
|
|
1056
|
+
- 次级指标:
|
|
1057
|
+
- 必要终局证据:
|
|
1058
|
+
- 实验阶梯:
|
|
1059
|
+
- 指标释义:
|
|
1060
|
+
- 指标来源论文:
|
|
1061
|
+
- 指标实现来源:
|
|
1062
|
+
- 对比方法来源论文:
|
|
1063
|
+
- 对比方法实现来源:
|
|
1064
|
+
- 与原始实现的偏差:
|
|
1065
|
+
- 终止目标类型:
|
|
1066
|
+
- 终止目标目标值:
|
|
1067
|
+
- 必要终止工件:
|
|
1009
1068
|
|
|
1010
1069
|
## 结果
|
|
1011
1070
|
|
|
1012
|
-
-
|
|
1013
|
-
-
|
|
1014
|
-
-
|
|
1015
|
-
-
|
|
1016
|
-
-
|
|
1017
|
-
-
|
|
1018
|
-
-
|
|
1019
|
-
-
|
|
1020
|
-
-
|
|
1021
|
-
-
|
|
1071
|
+
- 状态: idle
|
|
1072
|
+
- 目标是否达成: 否
|
|
1073
|
+
- 停止原因:
|
|
1074
|
+
- 是否已升格: 否
|
|
1075
|
+
- 最终工件:
|
|
1076
|
+
- 最终 rung:
|
|
1077
|
+
- 已执行阶段:
|
|
1078
|
+
- 已完成迭代数: 0
|
|
1079
|
+
- 开始时间:
|
|
1080
|
+
- 结束时间:
|
|
1022
1081
|
`,
|
|
1023
1082
|
[path.join(".lab", "context", "auto-status.md")]:
|
|
1024
1083
|
`# 自动模式状态
|
|
@@ -1299,8 +1358,15 @@ ZH_CONTENT[path.join(".codex", "skills", "lab", "stages", "write.md")] = `# \`/l
|
|
|
1299
1358
|
- 最终稿必须是 LaTeX。
|
|
1300
1359
|
- 如果配置了 \`paper_template_root\`,先检查该模板目录,再按其结构起草论文。
|
|
1301
1360
|
- 已接入的模板目录可能包含用户或上游修改,默认不要改模板文件。
|
|
1302
|
-
-
|
|
1361
|
+
- 如果没有配置模板且 \`paper_template_decision\` 是 \`unconfirmed\`,在第一次起草 \`.tex\` 之前必须先追问一次:继续使用默认 LaTeX scaffold,还是先接入模板目录。
|
|
1362
|
+
- 如果用户选择默认 scaffold,就把该决定持久化到 \`.lab/config/workflow.json\`,写成 \`paper_template_decision: default-scaffold\`。
|
|
1363
|
+
- 如果用户选择接入模板,就停止当前写作回合,先转到 \`superlab paper attach-template --path <dir>\`。
|
|
1364
|
+
- 如果 \`paper_template_decision\` 已经是 \`default-scaffold\`,就使用交付目录下的默认 LaTeX scaffold。
|
|
1365
|
+
- 如果当前是最终导出或最终定稿轮次、\`paper_template_root\` 仍为空、\`paper_template_decision\` 是 \`default-scaffold\`,且 \`paper_template_final_reminder_acknowledged\` 是 \`false\`,就在最终定稿前再提醒一次是否切到模板。
|
|
1366
|
+
- 如果用户在最终提醒里仍确认继续使用默认 scaffold,就把 \`paper_template_final_reminder_acknowledged\` 持久化为 \`true\`。
|
|
1303
1367
|
- 只加载当前 section guide,不要一次加载全部章节参考。
|
|
1368
|
+
- 如果当前 section 是 \`abstract\`、\`introduction\` 或 \`method\`,还必须继续读取本地 example bank:\`references/paper-writing/examples/index.md\`、对应的 examples index,以及 1-2 个具体 example 文件。
|
|
1369
|
+
- 例子只能复用结构、段落角色和句法逻辑,不能直接复用原句。
|
|
1304
1370
|
- 先写 mini-outline 再写 prose。
|
|
1305
1371
|
- 如果缺少 framing artifact,不要继续写作,直接回到 \`/lab:framing\`。
|
|
1306
1372
|
- 如果某个 claim 没有证据支撑,就削弱或删除。
|
|
@@ -1406,24 +1472,24 @@ ZH_CONTENT[path.join(".codex", "prompts", "lab-auto.md")] = codexPrompt(
|
|
|
1406
1472
|
);
|
|
1407
1473
|
|
|
1408
1474
|
ZH_CONTENT[path.join(".claude", "commands", "lab.md")] = claudeCommand(
|
|
1409
|
-
"
|
|
1475
|
+
"lab",
|
|
1410
1476
|
"查看 /lab 研究工作流总览并选择合适阶段",
|
|
1411
|
-
"
|
|
1412
|
-
"# `/lab` for Claude\n\n`/lab`
|
|
1477
|
+
"[stage] [target]",
|
|
1478
|
+
"# `/lab` for Claude\n\n`/lab` 是 Claude Code 里的 lab 工作流分发入口。调用方式有两种:\n\n- `/lab <stage> ...`\n- `/lab-idea`、`/lab-data`、`/lab-auto`、`/lab-framing`、`/lab-spec`、`/lab-run`、`/lab-iterate`、`/lab-review`、`/lab-report`、`/lab-write`\n\n## 阶段别名\n\n- `/lab idea ...` 或 `/lab-idea`\n- `/lab data ...` 或 `/lab-data`\n- `/lab auto ...` 或 `/lab-auto`\n- `/lab framing ...` 或 `/lab-framing`\n- `/lab spec ...` 或 `/lab-spec`\n- `/lab run ...` 或 `/lab-run`\n- `/lab iterate ...` 或 `/lab-iterate`\n- `/lab review ...` 或 `/lab-review`\n- `/lab report ...` 或 `/lab-report`\n- `/lab write ...` 或 `/lab-write`\n\n## 调度规则\n\n- 始终使用 `skills/lab/SKILL.md` 作为工作流合同。\n- 用户显式调用 `/lab <stage> ...` 或 `/lab-<stage>` 时,要立刻执行该 stage,而不是只推荐别的阶段。\n- 先给简洁摘要,再决定是否写工件,最后回报输出路径和下一步。\n- 如果歧义会影响结论,一次只问一个问题;如果有多条可行路径,先给 2-3 个方案再收敛。\n- `spec` 前应已有经批准的数据集与 benchmark 方案。\n- `run`、`iterate`、`auto`、`report` 都应遵循 `.lab/context/eval-protocol.md`。\n- `auto` 只编排已批准边界内的执行阶段,不替代手动的 idea/data/framing/spec 决策。\n- `write` 前必须已有经批准的 `framing` 工件。\n\n## 如何输入 `/lab auto`\n\n- 把 `Autonomy level L1/L2/L3` 视为执行权限级别,不要和论文里的 layer、phase、table 编号混用。\n- 把 `paper layer`、`phase`、`table` 视为实验目标。例如 `paper layer 3` 或 `Phase 1 reviewer fidelity` 不是 `Autonomy level L3`。\n- 一条好的 `/lab auto` 输入应至少说清:objective、自治级别、terminal goal、scope、allowed modifications。\n- 如果 workflow language 是中文,摘要、清单条目、任务标签和进度更新都应使用中文,除非文件路径、代码标识符或字面指标名必须保持原样。\n- 示例:`/lab auto 自治级别 L2。目标:推进 paper layer 3 的 organizer enforcement。终止条件:完成 bounded protocol、测试、最小实现和一轮小规模结果。允许修改:evaluator prompt registry、ingestion、parser。`\n"
|
|
1413
1479
|
);
|
|
1414
1480
|
|
|
1415
|
-
ZH_CONTENT[path.join(".claude", "commands", "lab
|
|
1416
|
-
"
|
|
1481
|
+
ZH_CONTENT[path.join(".claude", "commands", "lab-data.md")] = claudeCommand(
|
|
1482
|
+
"lab-data",
|
|
1417
1483
|
"在进入规格前锁定数据集、下载来源和 benchmark 组合",
|
|
1418
|
-
"
|
|
1419
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行
|
|
1484
|
+
"dataset 或 benchmark target",
|
|
1485
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `data` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `data` 阶段。它必须把已批准的 idea 转成数据集与 benchmark 方案,记录每个候选数据集的年份、使用过它的论文、下载来源、许可或访问限制,以及 classic-public、recent-strong-public、claim-specific 三类 benchmark 的纳入理由,和 canonical baselines、strong historical baselines、recent strong public methods、closest prior work 四类对比方法的纳入理由。"
|
|
1420
1486
|
);
|
|
1421
1487
|
|
|
1422
|
-
ZH_CONTENT[path.join(".claude", "commands", "lab
|
|
1423
|
-
"
|
|
1488
|
+
ZH_CONTENT[path.join(".claude", "commands", "lab-auto.md")] = claudeCommand(
|
|
1489
|
+
"lab-auto",
|
|
1424
1490
|
"在已批准边界内编排自动实验循环",
|
|
1425
|
-
"
|
|
1426
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行
|
|
1491
|
+
"auto mode objective",
|
|
1492
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `auto` 阶段,不要只推荐别的 lab 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 lab workflow 的 `auto` 阶段。它必须读取 `.lab/context/eval-protocol.md`、`.lab/context/auto-mode.md`、`.lab/context/auto-status.md` 与 `.lab/context/auto-outcome.md`,先确认 autonomy level、approval status 与 terminal goal schema,再把 eval-protocol 里的指标释义、主表计划、来源约束与结构化实验阶梯当作执行依据,在不修改 mission、framing 和核心 claims 的前提下编排已批准的 `run`、`iterate`、`review`、`report`,轮询长任务完成情况;如果声明了 rung,就保持会话活着并按 rung 转移继续推进。\n如果仓库的 workflow language 是中文,摘要、清单条目、任务标签和进度更新都必须使用中文,除非某个文件路径、代码标识符或字面指标名必须保持原样。\n把 `Layer 3`、`Phase 1`、`Table 2` 这类表达视为论文范围目标;只有显式写成 `Autonomy level L3` 或 `自治级别 L3` 时,才把它当成执行权限级别。\n不要用 `sleep 30`、单次 `pgrep` 或一次性的 `metrics.json` 探针来代替真实长任务命令;当真实实验进程还活着时,只允许发进度更新并继续等待。"
|
|
1427
1493
|
);
|
|
1428
1494
|
|
|
1429
1495
|
ZH_CONTENT[path.join(".codex", "skills", "lab", "SKILL.md")] = `---
|
|
@@ -1949,6 +2015,12 @@ ZH_CONTENT[path.join(".codex", "skills", "lab", "stages", "auto.md")] = `# \`/la
|
|
|
1949
2015
|
- 先做输入归一化:把 \`Autonomy level L1/L2/L3\` 视为执行权限级别,把 \`Layer 3\`、\`Phase 1\`、\`Table 2\` 视为论文范围目标。
|
|
1950
2016
|
- 如果用户同时提了论文层、实验 phase 和自治级别,先用一句话重述:objective、自治级别、terminal goal、scope、allowed modifications。
|
|
1951
2017
|
- 如果 workflow language 是中文,摘要、清单条目、任务标签和进度更新都应使用中文,除非文件路径、代码标识符或字面指标名必须保持原样。
|
|
2018
|
+
- 当循环即将进入 \`write\`,且 \`paper_template_root\` 为空时:
|
|
2019
|
+
- 如果 \`paper_template_decision\` 是 \`unconfirmed\`,必须先追问一次:继续使用默认 scaffold,还是先接入模板目录
|
|
2020
|
+
- 如果用户选择默认 scaffold,就持久化 \`paper_template_decision: default-scaffold\`
|
|
2021
|
+
- 如果用户选择模板,就停止当前循环并转到 \`superlab paper attach-template --path <dir>\`
|
|
2022
|
+
- 如果当前是最终导出或最终定稿、\`paper_template_decision\` 是 \`default-scaffold\`,且 \`paper_template_final_reminder_acknowledged\` 是 \`false\`,就在最终定稿前再提醒一次
|
|
2023
|
+
- 如果用户在最终提醒里仍确认继续使用默认 scaffold,就持久化 \`paper_template_final_reminder_acknowledged: true\`
|
|
1952
2024
|
- 不要把 \`sleep 30\`、单次 \`pgrep\` 或一次性的 \`metrics.json\` 探针当成 rung 主命令;这些只能算进度检查。
|
|
1953
2025
|
- 当真实实验进程还活着时,只允许发进度更新并继续等待,不能把这一 rung 当作已经完成。
|
|
1954
2026
|
`;
|
package/lib/install.cjs
CHANGED
|
@@ -326,6 +326,8 @@ function detectLegacyPlatform(targetDir) {
|
|
|
326
326
|
fs.existsSync(path.join(targetDir, ".codex", "prompts")) ||
|
|
327
327
|
fs.existsSync(path.join(targetDir, ".codex", "skills", "lab"));
|
|
328
328
|
const hasClaude =
|
|
329
|
+
fs.existsSync(path.join(targetDir, ".claude", "commands", "lab.md")) ||
|
|
330
|
+
fs.existsSync(path.join(targetDir, ".claude", "commands", "lab-idea.md")) ||
|
|
329
331
|
fs.existsSync(path.join(targetDir, ".claude", "commands", "lab")) ||
|
|
330
332
|
fs.existsSync(path.join(targetDir, ".claude", "skills", "lab"));
|
|
331
333
|
|
|
@@ -366,6 +368,7 @@ function detectLegacyLanguage(targetDir) {
|
|
|
366
368
|
|
|
367
369
|
const probeFiles = [
|
|
368
370
|
path.join(targetDir, ".codex", "prompts", "lab-idea.md"),
|
|
371
|
+
path.join(targetDir, ".claude", "commands", "lab-idea.md"),
|
|
369
372
|
path.join(targetDir, ".claude", "commands", "lab", "idea.md"),
|
|
370
373
|
path.join(targetDir, ".lab", ".managed", "templates", "idea.md"),
|
|
371
374
|
path.join(targetDir, ".superlab", "templates", "idea.md"),
|
|
@@ -494,16 +497,16 @@ function localizeInstalledAssets(targetDir, lang, { newlyCreatedProjectOwnedPath
|
|
|
494
497
|
path.join(".codex", "prompts", "lab-report.md"),
|
|
495
498
|
path.join(".codex", "prompts", "lab-write.md"),
|
|
496
499
|
path.join(".claude", "commands", "lab.md"),
|
|
497
|
-
path.join(".claude", "commands", "lab
|
|
498
|
-
path.join(".claude", "commands", "lab
|
|
499
|
-
path.join(".claude", "commands", "lab
|
|
500
|
-
path.join(".claude", "commands", "lab
|
|
501
|
-
path.join(".claude", "commands", "lab
|
|
502
|
-
path.join(".claude", "commands", "lab
|
|
503
|
-
path.join(".claude", "commands", "lab
|
|
504
|
-
path.join(".claude", "commands", "lab
|
|
505
|
-
path.join(".claude", "commands", "lab
|
|
506
|
-
path.join(".claude", "commands", "lab
|
|
500
|
+
path.join(".claude", "commands", "lab-idea.md"),
|
|
501
|
+
path.join(".claude", "commands", "lab-data.md"),
|
|
502
|
+
path.join(".claude", "commands", "lab-auto.md"),
|
|
503
|
+
path.join(".claude", "commands", "lab-framing.md"),
|
|
504
|
+
path.join(".claude", "commands", "lab-spec.md"),
|
|
505
|
+
path.join(".claude", "commands", "lab-run.md"),
|
|
506
|
+
path.join(".claude", "commands", "lab-iterate.md"),
|
|
507
|
+
path.join(".claude", "commands", "lab-review.md"),
|
|
508
|
+
path.join(".claude", "commands", "lab-report.md"),
|
|
509
|
+
path.join(".claude", "commands", "lab-write.md"),
|
|
507
510
|
path.join(".codex", "skills", "lab", "SKILL.md"),
|
|
508
511
|
path.join(".codex", "skills", "lab", "stages", "idea.md"),
|
|
509
512
|
path.join(".codex", "skills", "lab", "stages", "data.md"),
|
|
@@ -538,6 +541,7 @@ function localizeInstalledAssets(targetDir, lang, { newlyCreatedProjectOwnedPath
|
|
|
538
541
|
path.join(".lab", ".managed", "templates", "iteration-report.md"),
|
|
539
542
|
path.join(".lab", ".managed", "templates", "review-checklist.md"),
|
|
540
543
|
path.join(".lab", ".managed", "templates", "final-report.md"),
|
|
544
|
+
path.join(".lab", ".managed", "templates", "main-tables.md"),
|
|
541
545
|
path.join(".lab", ".managed", "templates", "paper-plan.md"),
|
|
542
546
|
path.join(".lab", ".managed", "templates", "paper-section.md"),
|
|
543
547
|
path.join(".lab", ".managed", "templates", "write-iteration.md"),
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "lab-auto"
|
|
3
|
+
description: Orchestrate approved lab execution stages inside a bounded autonomous loop
|
|
4
|
+
argument-hint: autonomous campaign target
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
|
+
|
|
9
|
+
Execute the requested `/lab-auto` 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 `auto` stage of the lab workflow. It must read `.lab/context/eval-protocol.md`, `.lab/context/auto-mode.md`, `.lab/context/auto-status.md`, and `.lab/context/auto-outcome.md`, enforce the declared terminal goal schema, orchestrate approved run, iterate, review, and report stages inside that contract, poll long-running work until completion or stop conditions, and write progress plus the final outcome back into `.lab/context/auto-status.md` and `.lab/context/auto-outcome.md`.
|
|
11
|
+
When the repository workflow language is Chinese, summaries, checklist items, task labels, and progress updates should be written in Chinese unless a literal identifier must stay unchanged.
|
|
12
|
+
Treat `Layer 3`, `Phase 1`, or `Table 2` as paper-scope targets. Treat `Autonomy level L3` as the execution permission level.
|
|
13
|
+
Do not replace the real long-running experiment command with a short watcher such as `sleep 30`, `pgrep`, or a one-shot `metrics.json` probe. While the real experiment process is still alive, emit only a progress update and keep waiting.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "lab-data"
|
|
3
|
+
description: Select datasets and benchmark packages with explicit source, year, and paper-usage audit
|
|
4
|
+
argument-hint: dataset or benchmark selection target
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
|
+
|
|
9
|
+
Execute the requested `/lab-data` 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 `data` stage of the lab workflow. It must turn the approved idea into an approved dataset package with dataset year, papers that used each dataset, source audit, download plan, explicit benchmark-role rationale for classic-public, recent-strong-public, and claim-specific benchmarks, and explicit comparison rationale for canonical baselines, strong historical baselines, recent strong public methods, and closest prior work.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "lab-framing"
|
|
3
|
+
description: Lock paper-facing naming, title, and contribution framing before drafting
|
|
4
|
+
argument-hint: naming, title, or contribution framing target
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
|
+
|
|
9
|
+
Execute the requested `/lab-framing` 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 `framing` stage of the lab workflow. Follow the installed skill, stage guide, and the project assets under `.lab/`.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "lab-idea"
|
|
3
|
+
description: Research and refine a paper or experiment idea before specification
|
|
4
|
+
argument-hint: idea or research problem
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
|
+
|
|
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. Follow the installed skill, stage guide, and the project assets under `.lab/`.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "lab-iterate"
|
|
3
|
+
description: Run bounded Ralph-style experiment iterations with fixed success criteria
|
|
4
|
+
argument-hint: iteration mission
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
|
+
|
|
9
|
+
Execute the requested `/lab-iterate` 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 `iterate` stage of the lab workflow. Follow the installed skill, stage guide, and the project assets under `.lab/`.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "lab-report"
|
|
3
|
+
description: Produce the final report from validated iteration artifacts
|
|
4
|
+
argument-hint: report context
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
|
+
|
|
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
|
+
This command runs the `report` stage of the lab workflow. Follow the installed skill, stage guide, and the project assets under `.lab/`.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "lab-review"
|
|
3
|
+
description: Review a research plan or result in reviewer mode
|
|
4
|
+
argument-hint: artifact or result to review
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
|
+
|
|
9
|
+
Execute the requested `/lab-review` 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 `review` stage of the lab workflow. Follow the installed skill, stage guide, and the project assets under `.lab/`.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "lab-run"
|
|
3
|
+
description: Execute the smallest meaningful experiment and normalize its output
|
|
4
|
+
argument-hint: run context
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
|
+
|
|
9
|
+
Execute the requested `/lab-run` 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 `run` stage of the lab workflow. Follow the installed skill, stage guide, and the project assets under `.lab/`.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "lab-spec"
|
|
3
|
+
description: Convert an approved idea into a lab change directory
|
|
4
|
+
argument-hint: approved idea context
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
|
+
|
|
9
|
+
Execute the requested `/lab-spec` 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 `spec` stage of the lab workflow. Follow the installed skill, stage guide, and the project assets under `.lab/`.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "lab-write"
|
|
3
|
+
description: Turn validated research artifacts into paper sections with small evidence-bound revisions
|
|
4
|
+
argument-hint: section or writing target
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Use the installed `lab` skill at `.claude/skills/lab/SKILL.md`.
|
|
8
|
+
|
|
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
|
+
This command runs the `write` stage of the lab workflow. It requires an approved framing artifact from the `framing` stage, must read the matching section reference from `.claude/skills/lab/references/paper-writing/`, and for `abstract`, `introduction`, or `method` it must also read `.claude/skills/lab/references/paper-writing/examples/index.md` plus the matching examples index and 1-2 concrete example files. Then it should run `paper-review.md` and `does-my-writing-flow-source.md`, build a mini-outline, and revise only one section.
|