superlab 0.1.8 → 0.1.9
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 +24 -4
- package/lib/install.cjs +4 -2
- package/package-assets/claude/commands/lab.md +48 -0
- package/package-assets/codex/prompts/lab.md +46 -0
- package/package-assets/shared/lab/.managed/templates/framing.md +3 -1
- package/package-assets/shared/lab/context/terminology-lock.md +2 -1
- package/package-assets/shared/skills/lab/stages/framing.md +4 -2
- package/package.json +1 -1
package/lib/i18n.cjs
CHANGED
|
@@ -23,6 +23,11 @@ ${body}
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
const ZH_CONTENT = {
|
|
26
|
+
[path.join(".codex", "prompts", "lab.md")]: codexPrompt(
|
|
27
|
+
"查看 /lab 研究工作流总览并选择合适阶段",
|
|
28
|
+
"workflow question 或 stage choice",
|
|
29
|
+
"# `/lab` for Codex\n\n`/lab` 是严格的研究工作流命令族。每次都使用同一套仓库工件和阶段边界。\n\n## 子命令\n\n- `/lab:idea`\n 调研 idea,定义问题与 failure case,归类 contribution 与 breakthrough level,对比现有方法,收束三个一眼就有意义的点,并在实现前保留 approval gate。\n\n- `/lab:framing`\n 通过审计当前领域与相邻领域的术语,锁定 paper-facing 的方法名、模块名、论文题目和 contribution bullets,并在 section 起草前保留 approval gate。\n\n- `/lab:spec`\n 把已批准的 idea 转成 `.lab/changes/<change-id>/` 下的一个 lab change 目录,并在其中写出 `proposal`、`design`、`spec`、`tasks`。\n\n- `/lab:run`\n 执行最小有意义验证运行,登记 run,并生成第一版标准化评估摘要。\n\n- `/lab:iterate`\n 在冻结 mission、阈值、verification commands 与 `completion_promise` 的前提下执行有边界的实验迭代。\n\n- `/lab:review`\n 以 reviewer mode 审查文档或结果,先给短摘要,再输出 findings、fatal flaws、fix priority 和 residual risks。\n\n- `/lab:report`\n 从 runs 和 iterations 工件生成最终研究报告。\n\n- `/lab:write`\n 使用已安装 `lab` skill 下 vendored 的 paper-writing references,把稳定 report 工件转成论文 section。\n\n## 调度规则\n\n- 始终使用 `skills/lab/SKILL.md` 作为工作流合同。\n- 用户显式调用 `/lab:<stage>` 时,要立刻执行该 stage,而不是只推荐别的 `/lab` stage。\n- 先给简洁摘要,再决定是否写工件,最后回报输出路径和下一步。\n- 如果歧义会影响结论,一次只问一个问题;如果有多条可行路径,先给 2-3 个方案再收敛。\n- `/lab:write` 前必须已有经批准的 `/lab:framing` 工件。\n"
|
|
30
|
+
),
|
|
26
31
|
[path.join(".codex", "prompts", "lab-idea.md")]: codexPrompt(
|
|
27
32
|
"在进入规格前调研并打磨论文或实验想法",
|
|
28
33
|
"idea 或 research problem",
|
|
@@ -31,7 +36,7 @@ const ZH_CONTENT = {
|
|
|
31
36
|
[path.join(".codex", "prompts", "lab-framing.md")]: codexPrompt(
|
|
32
37
|
"在写作前收紧方法名、模块名、论文题目和 contribution framing",
|
|
33
38
|
"naming、title 或 contribution framing target",
|
|
34
|
-
"使用已安装的 `lab` 技能:`.codex/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `/lab:framing`,不要只推荐别的 `/lab` 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 `/lab:framing` 阶段。它必须围绕 paper-facing framing,收紧方法名、模块名、题目和 contribution bullets
|
|
39
|
+
"使用已安装的 `lab` 技能:`.codex/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `/lab:framing`,不要只推荐别的 `/lab` 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 `/lab:framing` 阶段。它必须围绕 paper-facing framing,收紧方法名、模块名、题目和 contribution bullets,审查当前领域与相邻领域的术语是否 canonical、对象是否明确,并在进入 `/lab:write` 前保留 approval gate。"
|
|
35
40
|
),
|
|
36
41
|
[path.join(".codex", "prompts", "lab-spec.md")]: codexPrompt(
|
|
37
42
|
"把已批准的 idea 转成统一的 lab change 目录",
|
|
@@ -69,11 +74,17 @@ const ZH_CONTENT = {
|
|
|
69
74
|
"workflow, research, idea",
|
|
70
75
|
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `/lab:idea`,不要只推荐别的 `/lab` 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 `/lab:idea` 阶段。它必须先用清晰简洁的话定义问题与失败场景,说明现有方法哪里不够、我们的想法为何更好,再做 idea classification、contribution category、breakthrough level 的归类,并收束出至少三个一眼就有意义的点,最后保留进入 `/lab:spec` 前的 approval gate。"
|
|
71
76
|
),
|
|
77
|
+
[path.join(".claude", "commands", "lab.md")]: claudeCommand(
|
|
78
|
+
"LAB",
|
|
79
|
+
"查看 /lab 研究工作流总览并选择合适阶段",
|
|
80
|
+
"workflow, research, overview",
|
|
81
|
+
"# `/lab` for Claude\n\n`/lab` 是严格的研究工作流命令族。每次都使用同一套仓库工件和阶段边界。\n\n## 子命令\n\n- `/lab:idea`\n 调研 idea,定义问题与 failure case,归类 contribution 与 breakthrough level,对比现有方法,收束三个一眼就有意义的点,并在实现前保留 approval gate。\n\n- `/lab:framing`\n 通过审计当前领域与相邻领域的术语,锁定 paper-facing 的方法名、模块名、论文题目和 contribution bullets,并在 section 起草前保留 approval gate。\n\n- `/lab:spec`\n 把已批准的 idea 转成 `.lab/changes/<change-id>/` 下的一个 lab change 目录,并在其中写出 `proposal`、`design`、`spec`、`tasks`。\n\n- `/lab:run`\n 执行最小有意义验证运行,登记 run,并生成第一版标准化评估摘要。\n\n- `/lab:iterate`\n 在冻结 mission、阈值、verification commands 与 `completion_promise` 的前提下执行有边界的实验迭代。\n\n- `/lab:review`\n 以 reviewer mode 审查文档或结果,先给短摘要,再输出 findings、fatal flaws、fix priority 和 residual risks。\n\n- `/lab:report`\n 从 runs 和 iterations 工件生成最终研究报告。\n\n- `/lab:write`\n 使用已安装 `lab` skill 下 vendored 的 paper-writing references,把稳定 report 工件转成论文 section。\n\n## 调度规则\n\n- 始终使用 `skills/lab/SKILL.md` 作为工作流合同。\n- 用户显式调用 `/lab:<stage>` 时,要立刻执行该 stage,而不是只推荐别的 `/lab` stage。\n- 先给简洁摘要,再决定是否写工件,最后回报输出路径和下一步。\n- 如果歧义会影响结论,一次只问一个问题;如果有多条可行路径,先给 2-3 个方案再收敛。\n- `/lab:write` 前必须已有经批准的 `/lab:framing` 工件。\n"
|
|
82
|
+
),
|
|
72
83
|
[path.join(".claude", "commands", "lab", "framing.md")]: claudeCommand(
|
|
73
84
|
"LAB: Framing",
|
|
74
85
|
"在写作前收紧方法名、模块名、论文题目和 contribution framing",
|
|
75
86
|
"workflow, research, framing",
|
|
76
|
-
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `/lab:framing`,不要只推荐别的 `/lab` 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 `/lab:framing` 阶段。它必须围绕 paper-facing framing,收紧方法名、模块名、题目和 contribution bullets
|
|
87
|
+
"使用已安装的 `lab` 技能:`.claude/skills/lab/SKILL.md`。\n\n立刻针对用户当前给出的参数执行 `/lab:framing`,不要只推荐别的 `/lab` 阶段。只有在缺少阻塞性前提时,才明确指出缺什么,并且一次最多追问一个问题。\n\n本命令运行 `/lab:framing` 阶段。它必须围绕 paper-facing framing,收紧方法名、模块名、题目和 contribution bullets,审查当前领域与相邻领域的术语是否 canonical、对象是否明确,并在进入 `/lab:write` 前保留 approval gate。"
|
|
77
88
|
),
|
|
78
89
|
[path.join(".claude", "commands", "lab", "spec.md")]: claudeCommand(
|
|
79
90
|
"LAB: Spec",
|
|
@@ -1189,7 +1200,8 @@ ZH_CONTENT[path.join(".lab", "context", "terminology-lock.md")] = `# 已批准
|
|
|
1189
1200
|
|
|
1190
1201
|
## Source Audit
|
|
1191
1202
|
|
|
1192
|
-
-
|
|
1203
|
+
- 查阅过的当前领域来源:
|
|
1204
|
+
- 查阅过的相邻领域来源:
|
|
1193
1205
|
- 查阅过的 primary sources:
|
|
1194
1206
|
- 为什么当前 wording 可以接受:
|
|
1195
1207
|
`;
|
|
@@ -1247,18 +1259,24 @@ ZH_CONTENT[path.join(".codex", "skills", "lab", "stages", "framing.md")] = `# \`
|
|
|
1247
1259
|
- \`.lab/context/mission.md\`
|
|
1248
1260
|
- \`.lab/context/decisions.md\`
|
|
1249
1261
|
- \`.lab/context/evidence-index.md\`
|
|
1262
|
+
- \`.lab/context/terminology-lock.md\`
|
|
1250
1263
|
|
|
1251
1264
|
## 上下文写回
|
|
1252
1265
|
|
|
1253
1266
|
- \`.lab/context/state.md\`
|
|
1254
1267
|
- \`.lab/context/decisions.md\`
|
|
1268
|
+
- \`.lab/context/terminology-lock.md\`
|
|
1255
1269
|
|
|
1256
1270
|
## 必要工件
|
|
1257
1271
|
|
|
1258
1272
|
- \`.lab/writing/framing.md\`
|
|
1273
|
+
- \`.lab/context/terminology-lock.md\`
|
|
1259
1274
|
|
|
1260
1275
|
## 命名审计规则
|
|
1261
1276
|
|
|
1277
|
+
- 锁定不熟悉术语前,先查当前领域近期论文和其他 primary sources。
|
|
1278
|
+
- 如果当前领域没有稳定 canonical term,或相邻领域有可平移的表达,再查相邻领域。
|
|
1279
|
+
- 记录术语来源日志,说明看过哪些当前领域来源、哪些相邻领域来源,以及为何接受最终 wording。
|
|
1262
1280
|
- 术语要说明是 canonical、adapted 还是 newly coined。
|
|
1263
1281
|
- 尽量把对象说清楚:到底在 calibrate、rank、estimate 什么。
|
|
1264
1282
|
- 不要用 acronym-first 命名。
|
|
@@ -1333,11 +1351,13 @@ ZH_CONTENT[path.join(".lab", ".managed", "templates", "framing.md")] = `# 论文
|
|
|
1333
1351
|
|
|
1334
1352
|
## Canonical Terminology Audit
|
|
1335
1353
|
|
|
1336
|
-
-
|
|
1354
|
+
- 当前领域应优先复用的术语:
|
|
1355
|
+
- 相邻领域可借用的术语:
|
|
1337
1356
|
- 可接受的改写术语:
|
|
1338
1357
|
- 需要谨慎的新造术语:
|
|
1339
1358
|
- 必须说清楚的对象:
|
|
1340
1359
|
- 应避免的术语:
|
|
1360
|
+
- 术语来源日志:
|
|
1341
1361
|
|
|
1342
1362
|
## Candidate Framing Packs
|
|
1343
1363
|
|
package/lib/install.cjs
CHANGED
|
@@ -22,8 +22,8 @@ const ASSET_GROUPS = {
|
|
|
22
22
|
],
|
|
23
23
|
claude: [
|
|
24
24
|
{
|
|
25
|
-
from: path.join(REPO_ROOT, "package-assets", "claude", "commands"
|
|
26
|
-
to: path.join(".claude", "commands"
|
|
25
|
+
from: path.join(REPO_ROOT, "package-assets", "claude", "commands"),
|
|
26
|
+
to: path.join(".claude", "commands"),
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
from: path.join(REPO_ROOT, "package-assets", "shared", "skills", "lab"),
|
|
@@ -439,6 +439,7 @@ function localizeInstalledAssets(targetDir, lang, { newlyCreatedProjectOwnedPath
|
|
|
439
439
|
}
|
|
440
440
|
|
|
441
441
|
const relativePaths = [
|
|
442
|
+
path.join(".codex", "prompts", "lab.md"),
|
|
442
443
|
path.join(".codex", "prompts", "lab-idea.md"),
|
|
443
444
|
path.join(".codex", "prompts", "lab-framing.md"),
|
|
444
445
|
path.join(".codex", "prompts", "lab-spec.md"),
|
|
@@ -447,6 +448,7 @@ function localizeInstalledAssets(targetDir, lang, { newlyCreatedProjectOwnedPath
|
|
|
447
448
|
path.join(".codex", "prompts", "lab-review.md"),
|
|
448
449
|
path.join(".codex", "prompts", "lab-report.md"),
|
|
449
450
|
path.join(".codex", "prompts", "lab-write.md"),
|
|
451
|
+
path.join(".claude", "commands", "lab.md"),
|
|
450
452
|
path.join(".claude", "commands", "lab", "idea.md"),
|
|
451
453
|
path.join(".claude", "commands", "lab", "framing.md"),
|
|
452
454
|
path.join(".claude", "commands", "lab", "spec.md"),
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "LAB"
|
|
3
|
+
description: Overview of the /lab research workflow and stage selection
|
|
4
|
+
category: Workflow
|
|
5
|
+
tags: [workflow, research, overview]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# `/lab` for Claude
|
|
9
|
+
|
|
10
|
+
`/lab` is a strict research workflow command family. Use the same repository artifacts and stage boundaries every time.
|
|
11
|
+
|
|
12
|
+
## Subcommands
|
|
13
|
+
|
|
14
|
+
- `/lab:idea`
|
|
15
|
+
Research the idea, define the problem and failure case, classify the contribution and breakthrough level, compare against existing methods, end with three meaningful points, and keep an explicit approval gate before any implementation.
|
|
16
|
+
|
|
17
|
+
- `/lab:framing`
|
|
18
|
+
Lock paper-facing method name, module names, paper title, and contribution bullets by auditing current-field and adjacent-field terminology, then keep an approval gate before any section drafting.
|
|
19
|
+
|
|
20
|
+
- `/lab:spec`
|
|
21
|
+
Convert the approved idea into one lab change directory under `.lab/changes/<change-id>/`, then draft `proposal`, `design`, `spec`, and `tasks` inside that directory.
|
|
22
|
+
|
|
23
|
+
- `/lab:run`
|
|
24
|
+
Execute the smallest useful validation run, register it, and produce the first normalized evaluation summary.
|
|
25
|
+
|
|
26
|
+
- `/lab:iterate`
|
|
27
|
+
Run bounded Ralph Wiggum style experiment loops with a frozen mission, explicit thresholds, deterministic verification commands, `completion_promise`, and per-round reports.
|
|
28
|
+
|
|
29
|
+
- `/lab:review`
|
|
30
|
+
Audit documents or results in reviewer mode. Start with a short summary, then output findings, fatal flaws, fix priority, and residual risks.
|
|
31
|
+
|
|
32
|
+
- `/lab:report`
|
|
33
|
+
Generate the final research report from accumulated runs and iteration artifacts.
|
|
34
|
+
|
|
35
|
+
- `/lab:write`
|
|
36
|
+
Turn stable report artifacts into paper sections through small, evidence-bound writing rounds using the vendored paper-writing references under the installed `lab` skill.
|
|
37
|
+
|
|
38
|
+
## Dispatch Rules
|
|
39
|
+
|
|
40
|
+
- Always use `skills/lab/SKILL.md` as the workflow contract.
|
|
41
|
+
- When the user explicitly invokes `/lab:<stage>`, execute that stage now against the provided argument instead of only recommending another `/lab` stage.
|
|
42
|
+
- Start by giving the user a concise summary, then decide whether to write artifacts, then report the output path and next step.
|
|
43
|
+
- When ambiguity matters, ask one clarifying question at a time; when multiple paths are viable, present 2-3 approaches before converging.
|
|
44
|
+
- `/lab:spec` is not complete until the approved change is frozen under `.lab/changes/<change-id>/`.
|
|
45
|
+
- Never skip directly from `/lab:idea` to code.
|
|
46
|
+
- `/lab:iterate` requires a normalized summary from `scripts/eval_report.py`.
|
|
47
|
+
- `/lab:write` requires an approved framing artifact from `/lab:framing`.
|
|
48
|
+
- `/lab:write` requires stable report artifacts, a mini-outline, the active section guide, `paper-review.md`, and `does-my-writing-flow-source.md`, and should only change one section per round.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Overview of the /lab research workflow and stage selection
|
|
3
|
+
argument-hint: workflow question or stage choice
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# `/lab` for Codex
|
|
7
|
+
|
|
8
|
+
`/lab` is a strict research workflow command family. Use the same repository artifacts and stage boundaries every time.
|
|
9
|
+
|
|
10
|
+
## Subcommands
|
|
11
|
+
|
|
12
|
+
- `/lab:idea`
|
|
13
|
+
Research the idea, define the problem and failure case, classify the contribution and breakthrough level, compare against existing methods, end with three meaningful points, and keep an explicit approval gate before any implementation.
|
|
14
|
+
|
|
15
|
+
- `/lab:framing`
|
|
16
|
+
Lock paper-facing method name, module names, paper title, and contribution bullets by auditing current-field and adjacent-field terminology, then keep an approval gate before any section drafting.
|
|
17
|
+
|
|
18
|
+
- `/lab:spec`
|
|
19
|
+
Convert the approved idea into one lab change directory under `.lab/changes/<change-id>/`, then draft `proposal`, `design`, `spec`, and `tasks` inside that directory.
|
|
20
|
+
|
|
21
|
+
- `/lab:run`
|
|
22
|
+
Execute the smallest useful validation run, register it, and produce the first normalized evaluation summary.
|
|
23
|
+
|
|
24
|
+
- `/lab:iterate`
|
|
25
|
+
Run bounded Ralph Wiggum style experiment loops with a frozen mission, explicit thresholds, deterministic verification commands, `completion_promise`, and per-round reports.
|
|
26
|
+
|
|
27
|
+
- `/lab:review`
|
|
28
|
+
Audit documents or results in reviewer mode. Start with a short summary, then output findings, fatal flaws, fix priority, and residual risks.
|
|
29
|
+
|
|
30
|
+
- `/lab:report`
|
|
31
|
+
Generate the final research report from accumulated runs and iteration artifacts.
|
|
32
|
+
|
|
33
|
+
- `/lab:write`
|
|
34
|
+
Turn stable report artifacts into paper sections through small, evidence-bound writing rounds using the vendored paper-writing references under the installed `lab` skill.
|
|
35
|
+
|
|
36
|
+
## Dispatch Rules
|
|
37
|
+
|
|
38
|
+
- Always use `skills/lab/SKILL.md` as the workflow contract.
|
|
39
|
+
- When the user explicitly invokes `/lab:<stage>`, execute that stage now against the provided argument instead of only recommending another `/lab` stage.
|
|
40
|
+
- Start by giving the user a concise summary, then decide whether to write artifacts, then report the output path and next step.
|
|
41
|
+
- When ambiguity matters, ask one clarifying question at a time; when multiple paths are viable, present 2-3 approaches before converging.
|
|
42
|
+
- `/lab:spec` is not complete until the approved change is frozen under `.lab/changes/<change-id>/`.
|
|
43
|
+
- Never skip directly from `/lab:idea` to code.
|
|
44
|
+
- `/lab:iterate` requires a normalized summary from `scripts/eval_report.py`.
|
|
45
|
+
- `/lab:write` requires an approved framing artifact from `/lab:framing`.
|
|
46
|
+
- `/lab:write` requires stable report artifacts, a mini-outline, the active section guide, `paper-review.md`, and `does-my-writing-flow-source.md`, and should only change one section per round.
|
|
@@ -8,11 +8,13 @@
|
|
|
8
8
|
|
|
9
9
|
## Canonical Terminology Audit
|
|
10
10
|
|
|
11
|
-
-
|
|
11
|
+
- Current field terms we should prefer:
|
|
12
|
+
- Adjacent-field terms worth borrowing:
|
|
12
13
|
- Adapted terms we can justify:
|
|
13
14
|
- Newly coined terms that need caution:
|
|
14
15
|
- Objects that must be explicit:
|
|
15
16
|
- Terms to avoid:
|
|
17
|
+
- Terminology source log:
|
|
16
18
|
|
|
17
19
|
## Candidate Framing Packs
|
|
18
20
|
|
|
@@ -22,6 +22,7 @@ Record the currently approved naming and wording that later stages should reuse
|
|
|
22
22
|
|
|
23
23
|
## Source Audit
|
|
24
24
|
|
|
25
|
-
-
|
|
25
|
+
- Current-field sources reviewed:
|
|
26
|
+
- Adjacent-field sources reviewed:
|
|
26
27
|
- Primary sources reviewed:
|
|
27
28
|
- Why the approved wording is acceptable:
|
|
@@ -37,7 +37,9 @@
|
|
|
37
37
|
|
|
38
38
|
- Keep framing decisions tied to supported claims, not to speculative novelty.
|
|
39
39
|
- Audit method name, module names, paper title, and contribution bullets as one package.
|
|
40
|
-
- Review recent academic papers and other primary sources before locking unfamiliar terminology.
|
|
40
|
+
- Review recent academic papers and other primary sources from the current field before locking unfamiliar terminology.
|
|
41
|
+
- Review adjacent fields when the current field lacks a stable canonical term or when a neighboring term may transfer cleanly.
|
|
42
|
+
- Record a source log for terminology decisions, including which current-field and adjacent-field sources were checked.
|
|
41
43
|
- State whether each important term is canonical, adapted, or newly coined.
|
|
42
44
|
- Prefer names that make the object explicit.
|
|
43
45
|
- Avoid names that read like AI-packaged branding, unexplained acronyms, or implementation patch labels.
|
|
@@ -63,7 +65,7 @@
|
|
|
63
65
|
|
|
64
66
|
1. Framing target
|
|
65
67
|
2. Current naming and wording risks
|
|
66
|
-
3. Canonical terminology audit
|
|
68
|
+
3. Canonical terminology audit across current and adjacent fields
|
|
67
69
|
4. Candidate framing packs
|
|
68
70
|
5. Recommended framing pack
|
|
69
71
|
6. Forbidden claims and wording
|