scientify 3.0.0 → 3.1.0

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.
Files changed (64) hide show
  1. package/README.en.md +21 -1
  2. package/README.md +27 -0
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/cli/research.d.ts.map +1 -1
  6. package/dist/src/cli/research.js +42 -1
  7. package/dist/src/cli/research.js.map +1 -1
  8. package/dist/src/commands.d.ts.map +1 -1
  9. package/dist/src/commands.js +159 -1
  10. package/dist/src/commands.js.map +1 -1
  11. package/dist/src/release-gate.d.ts +14 -0
  12. package/dist/src/release-gate.d.ts.map +1 -0
  13. package/dist/src/release-gate.js +124 -0
  14. package/dist/src/release-gate.js.map +1 -0
  15. package/dist/src/templates/bootstrap.d.ts.map +1 -1
  16. package/dist/src/templates/bootstrap.js +139 -62
  17. package/dist/src/templates/bootstrap.js.map +1 -1
  18. package/openclaw.plugin.json +8 -1
  19. package/package.json +1 -1
  20. package/skills/algorithm-selection/SKILL.md +103 -0
  21. package/skills/algorithm-selection/references/candidate-template.md +13 -0
  22. package/skills/algorithm-selection/references/selection-template.md +39 -0
  23. package/skills/artifact-review/SKILL.md +146 -0
  24. package/skills/artifact-review/references/release-gate-template.md +40 -0
  25. package/skills/artifact-review/references/review-checklist.md +45 -0
  26. package/skills/artifact-review/references/style-review-checklist.md +30 -0
  27. package/skills/baseline-runner/SKILL.md +103 -0
  28. package/skills/baseline-runner/references/baseline-matrix-template.md +9 -0
  29. package/skills/baseline-runner/references/baseline-report-template.md +25 -0
  30. package/skills/dataset-validate/SKILL.md +104 -0
  31. package/skills/dataset-validate/references/data-validation-template.md +38 -0
  32. package/skills/figure-standardize/SKILL.md +110 -0
  33. package/skills/figure-standardize/references/caption-template.md +12 -0
  34. package/skills/figure-standardize/references/figure-placement-template.md +30 -0
  35. package/skills/figure-standardize/references/figure-style-guide.md +36 -0
  36. package/skills/release-layout/SKILL.md +73 -0
  37. package/skills/release-layout/references/page-structure.md +14 -0
  38. package/skills/research-experiment/SKILL.md +10 -1
  39. package/skills/research-survey/SKILL.md +19 -2
  40. package/skills/write-paper/SKILL.md +252 -0
  41. package/skills/write-paper/references/boundary-notes-template.md +34 -0
  42. package/skills/write-paper/references/claim-inventory-template.md +32 -0
  43. package/skills/write-paper/references/evidence-contract.md +57 -0
  44. package/skills/write-paper/references/figure-callout-template.md +38 -0
  45. package/skills/write-paper/references/figures-manifest-template.md +44 -0
  46. package/skills/write-paper/references/latex/README.md +22 -0
  47. package/skills/write-paper/references/latex/build_paper.sh +41 -0
  48. package/skills/write-paper/references/latex/manuscript.tex +39 -0
  49. package/skills/write-paper/references/latex/references.bib +10 -0
  50. package/skills/write-paper/references/latex/sections/ablations.tex +3 -0
  51. package/skills/write-paper/references/latex/sections/abstract.tex +3 -0
  52. package/skills/write-paper/references/latex/sections/conclusion.tex +3 -0
  53. package/skills/write-paper/references/latex/sections/discussion_scope.tex +7 -0
  54. package/skills/write-paper/references/latex/sections/experimental_protocol.tex +3 -0
  55. package/skills/write-paper/references/latex/sections/introduction.tex +3 -0
  56. package/skills/write-paper/references/latex/sections/main_results.tex +9 -0
  57. package/skills/write-paper/references/latex/sections/method_system.tex +3 -0
  58. package/skills/write-paper/references/latex/sections/problem_setup.tex +3 -0
  59. package/skills/write-paper/references/latex/sections/related_work.tex +3 -0
  60. package/skills/write-paper/references/paper-template.md +155 -0
  61. package/skills/write-paper/references/paragraph-contract.md +139 -0
  62. package/skills/write-paper/references/paragraph-examples.md +171 -0
  63. package/skills/write-paper/references/style-banlist.md +81 -0
  64. package/skills/write-review-paper/SKILL.md +10 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-gate.js","sourceRoot":"","sources":["../../src/release-gate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/templates/bootstrap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAqC7D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAiFvC"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/templates/bootstrap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA4D7D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAuIvC"}
@@ -5,29 +5,52 @@
5
5
  export function renderBootstrapMd(projectName) {
6
6
  return `# Research Agent Bootstrap
7
7
 
8
- 你刚刚被创建为课题「${projectName}」的研究 agent。你需要完成首次配置。
9
-
10
- ## 引导流程
11
-
12
- 1. 向用户问好,说明你是课题「${projectName}」的研究 agent,请用户描述研究方向
13
- 2. 根据用户回答,提取:
14
- - 核心域关键词(3-5 个)
15
- - 建议的 arXiv 分类(如 cs.LG, cs.AI),如果研究方向不属于 arXiv 覆盖范围则留空
16
- - 建议的文献来源偏好(arXiv、OpenAlex、或两者兼用)
17
- 3. 与用户讨论研究方向的边界和重点,确认以上配置,接受调整
18
- 4. 确认后执行以下写入操作:
19
- - 更新 SOUL.md:填写研究方向、核心域各字段
20
- - 生成 config.json(参考下方模板)
21
- 5. 询问用户是否立即执行 Day 0(构建初始知识状态)
22
- - 如果是,执行 /metabolism 完成首轮文献检索和知识库构建(Day 0 模式)
23
- 6. 删除本文件(BOOTSTRAP.md)
24
-
25
- ## config.json 模板
8
+ You were just created as the research agent for project "${projectName}". Complete the initial setup before starting downstream work.
9
+
10
+ ## Bootstrap Flow
11
+
12
+ 1. Greet the user, explain that you are the research agent for project "${projectName}", and ask them to describe the research direction.
13
+ 2. Based on the user's answer, extract:
14
+ - core-domain keywords (3-5)
15
+ - suggested arXiv categories (for example "cs.LG", "cs.AI"); leave empty if the topic is outside arXiv coverage
16
+ - preferred literature sources ("arxiv", "openalex", or both)
17
+ 3. Discuss scope and priorities with the user, confirm the configuration, and accept adjustments.
18
+ 4. Once confirmed, write the following files:
19
+ - update SOUL.md with the project direction and domain fields
20
+ - generate config.json using the template below
21
+ 5. Ask whether the user wants to run Day 0 immediately to build the initial knowledge state.
22
+ - If yes, run /metabolism to perform the first literature retrieval and knowledge-base construction pass.
23
+ 6. If the project already has partial outputs, use the shortest matching path instead of restarting from Day 0:
24
+ - existing papers/ -> /research-survey
25
+ - existing survey_res.md, but route still undecided -> /algorithm-selection
26
+ - existing survey_res.md -> /research-plan
27
+ - existing plan_res.md, but data quality still needs review -> /dataset-validate
28
+ - existing plan_res.md, and matched baseline evidence is needed -> /baseline-runner
29
+ - existing implementation code -> /research-review
30
+ - existing review PASS -> /research-experiment
31
+ - existing experiment_res.md plus figures -> /write-paper
32
+ - existing paper/draft.md -> /artifact-review
33
+ - existing figures with inconsistent captions or style -> /figure-standardize
34
+ - preparing README.md or release-facing docs -> /release-layout after a fresh release gate exists
35
+ 7. After the initial setup, tell the user the recommended next command and expected output files, then delete this file (BOOTSTRAP.md).
36
+
37
+ ## Common Entry Paths
38
+
39
+ - I only have a research direction and no materials yet -> finish setup, then run /metabolism
40
+ - I already have a batch of papers -> run /research-survey
41
+ - I finished the survey but have not chosen a model route -> run /algorithm-selection
42
+ - I already have a plan and want to validate the data first -> run /dataset-validate
43
+ - I already have a plan and want honest baseline numbers first -> run /baseline-runner
44
+ - I already have implementation code -> run /research-review
45
+ - I already have experiment results and figures -> run /write-paper
46
+ - I already have a draft that needs review -> run /artifact-review
47
+
48
+ ## config.json Template
26
49
 
27
50
  \`\`\`json
28
51
  {
29
52
  "projectId": "${projectName}",
30
- "keywords": ["关键词1", "关键词2"],
53
+ "keywords": ["keyword-1", "keyword-2"],
31
54
  "arxivCategories": ["cs.LG"],
32
55
  "sources": ["arxiv", "openalex"],
33
56
  "currentDay": 0,
@@ -36,22 +59,22 @@ export function renderBootstrapMd(projectName) {
36
59
  }
37
60
  \`\`\`
38
61
 
39
- > **注意:** \`arxivCategories\` \`sources\` 根据研究领域灵活配置。
40
- > 自然科学、社会科学等非 CS 领域可将 \`arxivCategories\` 设为 \`[]\`,主要依赖 OpenAlex
62
+ > **Note:** Configure \`arxivCategories\` and \`sources\` based on the research domain.
63
+ > For natural science, social science, or other non-CS topics, it is fine to set \`arxivCategories\` to \`[]\` and rely primarily on OpenAlex.
41
64
  `;
42
65
  }
43
66
  export function renderSoulMd(projectName) {
44
67
  return `# Project Agent — ${projectName}
45
68
 
46
- 你是课题「${projectName}」的研究 agent。
69
+ You are the research agent for project "${projectName}".
47
70
 
48
- ## 研究方向
49
- { BOOTSTRAP 流程填写}
71
+ ## Research Direction
72
+ {Filled during the BOOTSTRAP flow}
50
73
 
51
- ## 核心域
52
- 关键词: { BOOTSTRAP 流程填写}
53
- arXiv 分类: { BOOTSTRAP 流程填写,不适用则留空}
54
- 文献来源: {arXiv / OpenAlex / 两者兼用}
74
+ ## Core Domain
75
+ Keywords: {Filled during the BOOTSTRAP flow}
76
+ arXiv Categories: {Filled during the BOOTSTRAP flow; leave empty if not applicable}
77
+ Literature Sources: {arXiv / OpenAlex / both}
55
78
  `;
56
79
  }
57
80
  export function renderAgentsMd() {
@@ -59,32 +82,43 @@ export function renderAgentsMd() {
59
82
 
60
83
  ## Workspace Layout
61
84
 
62
- agent 的工作目录即为项目根目录(\`$W\`)。所有文件相对于 \`$W\` 组织:
85
+ The agent workspace root is the project root (\`$W\`). All files are organized relative to \`$W\`:
63
86
 
64
87
  \`\`\`
65
88
  $W/
66
- ├── SOUL.md # 身份 + 研究方向
67
- ├── AGENTS.md # 本文档
68
- ├── config.json # 项目配置(关键词、分类、当前天数)
89
+ ├── SOUL.md # identity and project direction
90
+ ├── AGENTS.md # this document
91
+ ├── config.json # project config (keywords, categories, current day)
92
+ ├── progress_status.json # agent-defined task progress for the current goal
69
93
 
70
- ├── papers/ # 文献区:下载的论文
71
- │ ├── {arxiv_id}/ # arXiv 论文源文件
72
- │ └── {doi_slug}.pdf # PDF 文件
94
+ ├── papers/ # literature artifacts
95
+ │ ├── {arxiv_id}/ # arXiv source files
96
+ │ └── {doi_slug}.pdf # PDF files
73
97
 
74
- ├── knowledge/ # 知识区:持久知识状态
75
- │ ├── _index.md # 全景索引
76
- │ └── topic-*.md # 主题文件(上限 50
98
+ ├── knowledge/ # persistent knowledge state
99
+ │ ├── _index.md # global index
100
+ │ └── topic-*.md # topic files (limit 50)
77
101
 
78
- ├── ideas/ # 想法区:假设与研究想法
79
- │ ├── hyp-*.md # 生成的假设
80
- │ └── selected_idea.md # 选中的研究想法
102
+ ├── ideas/ # hypotheses and research ideas
103
+ │ ├── hyp-*.md # generated hypotheses
104
+ │ └── selected_idea.md # selected research idea
81
105
 
82
- ├── experiments/ # 实验代码区
83
- │ ├── run.py # 入口脚本
106
+ ├── experiments/ # experiment code and assets
107
+ │ ├── run.py # entry script
84
108
  │ ├── requirements.txt
85
- │ └── results/ # 实验结果
109
+ │ └── results/ # experiment outputs
86
110
 
87
- ├── log/ # 运行日志
111
+ ├── review/ # review, audit, and writing outputs
112
+ ├── paper/ # experiment-driven paper outputs
113
+ │ ├── manuscript.tex # top-level LaTeX entry
114
+ │ ├── build_paper.sh # PDF build script
115
+ │ ├── references.bib # bibliography placeholder
116
+ │ ├── sections/ # section-by-section TeX drafts
117
+ │ ├── figures/ # paper-local figures
118
+ │ ├── assets/ # supporting assets for paper generation
119
+ │ └── build/ # PDF, logs, and build errors
120
+
121
+ ├── log/ # run logs
88
122
  │ └── {YYYY-MM-DD}.md
89
123
 
90
124
  └── skills/ # workspace skills
@@ -92,34 +126,40 @@ $W/
92
126
 
93
127
  ## Session Context
94
128
 
95
- 你可能在不同类型的 session 中被唤醒:
96
- - **Main session**:与人类直接对话,可触发 research-pipeline 等编排 skill
97
- - **Cron session**:定时触发,执行周期性任务(如每日 metabolism
98
- - **Spawn session**:被 main session 调度(sessions_spawn),执行一次性重任务
129
+ You may be activated in different session types:
130
+ - **Main session**: direct interaction with a human; can trigger orchestration skills such as \`research-pipeline\`
131
+ - **Cron session**: scheduled execution for recurring work such as daily metabolism
132
+ - **Spawn session**: dispatched by the main session (\`sessions_spawn\`) for one-off heavy tasks
99
133
 
100
- 任务指令会在 session 启动时注入,按指令执行即可。
134
+ Task instructions are injected when the session starts. Follow the injected instructions for that session.
101
135
 
102
136
  ## Conventions
103
137
 
104
138
  ### File Existence = Step Completion
105
- 检查产出文件是否存在再执行。已存在则跳过。支持崩溃恢复和增量推进。
139
+ Check whether the output file already exists before running a step. If it exists, skip it. This enables crash recovery and incremental progress.
106
140
 
107
141
  ### Immutability
108
- 产出文件一旦写入不修改,除非用户明确要求。例外:\`project/\` implement-review 迭代中可变。
142
+ Do not modify output files once written unless the user explicitly asks you to. Exception: \`project/\` may change during implement-review iteration.
143
+
144
+ ### Progress Tracking
145
+ - Do not assume every project follows the same fixed stages.
146
+ - Define progress in \`progress_status.json\` based on the user's current goal.
147
+ - Update \`progress_status.json\` whenever the total task, current focus, subtask states, or next step changes.
148
+ - Recommended fields: \`overall_goal\`, \`current_focus\`, \`next_step\`, \`completed_tasks\`, \`total_tasks\`, \`subtasks\`.
109
149
 
110
150
  ### Knowledge File Rules
111
- - knowledge/ 下的文件是持久知识状态,修改需谨慎
112
- - 每次修改必须先读取当前内容再更新
113
- - _index.md 是全景索引,必须与 topic 文件保持同步
114
- - topic 文件数上限 50,低活跃主题应合并归档
151
+ - Files under \`knowledge/\` are persistent knowledge state and must be edited carefully.
152
+ - Always read the current file before updating it.
153
+ - \`_index.md\` is the global index and must stay in sync with the topic files.
154
+ - Limit topic files to 50. Merge or archive low-activity topics when needed.
115
155
 
116
156
  ## Research Rigor
117
157
 
118
- - 先读原文,再思考,最后作答
119
- - 不捏造引用或实验结果,每个断言需有来源
120
- - 不确定时说「不确定」而非猜测
121
- - 读论文全文(.tex),不能只读 abstract
122
- - 想法必须扎根于真实论文
158
+ - Read the source material first, think second, answer third.
159
+ - Do not fabricate citations or experiment results. Every claim needs a source.
160
+ - Say "uncertain" when uncertain instead of guessing.
161
+ - Read the full paper source (\`.tex\`) when available; do not rely on the abstract alone.
162
+ - Ground ideas in real papers rather than unsupported intuition.
123
163
 
124
164
  ## Skill Outputs Summary
125
165
 
@@ -128,12 +168,49 @@ $W/
128
168
  | /metabolism | Day 0: config.json, knowledge/ / Day 1+: papers/, knowledge/, ideas/hyp-*.md, log/ |
129
169
  | /research-collect | papers/ |
130
170
  | /research-survey | knowledge/, survey_res.md |
171
+ | /algorithm-selection | selection_res.md |
131
172
  | /research-plan | plan_res.md |
173
+ | /dataset-validate | data_validation.md |
174
+ | /baseline-runner | baseline_res.md, experiments/baselines/ |
132
175
  | /research-implement | experiments/ |
133
176
  | /research-review | experiments/review/ |
134
- | /research-experiment | experiments/results/ |
177
+ | /research-experiment | experiments/results/, experiment_res.md |
135
178
  | /idea-generation | ideas/ |
136
179
  | /write-review-paper | review/ |
180
+ | /write-paper | paper/claim_inventory.md, paper/figures_manifest.md, paper/draft.md, paper/manuscript.tex, paper/build/manuscript.pdf |
181
+ | /artifact-review | review/artifact_review.md, review/release_checklist.md, review/release_gate.json |
182
+ | /figure-standardize | reports/figures/figure_spec.md or project/figures/figure_spec.md |
183
+ | /release-layout | README.md, docs/index.html, release-facing pages |
184
+
185
+ ## Common ML Midstream Paths
186
+
187
+ - Survey exists but route choice is still unclear:
188
+ - run \`/algorithm-selection\`
189
+ - expected output: \`selection_res.md\`
190
+ - Plan exists and the project needs a dedicated data-quality check:
191
+ - run \`/dataset-validate\`
192
+ - expected output: \`data_validation.md\`
193
+ - Plan exists and the project needs honest comparison numbers:
194
+ - run \`/baseline-runner\`
195
+ - expected outputs: \`baseline_res.md\`, optional baseline artifacts under \`experiments/baselines/\`
196
+
197
+ ## Writing and Release Entry Points
198
+
199
+ Use these entry points when the project already has partial outputs and does not need to restart the full research pipeline:
200
+
201
+ - If you already have \`experiment_res.md\` and one or more result figures:
202
+ - run \`/write-paper\`
203
+ - expected outputs: \`paper/claim_inventory.md\`, \`paper/figures_manifest.md\`, \`paper/draft.md\`, \`paper/manuscript.tex\`, \`paper/build/manuscript.pdf\`
204
+ - If you already have \`paper/draft.md\` or another draft artifact that is about to be shared:
205
+ - run \`/artifact-review\`
206
+ - expected outputs: \`review/artifact_review.md\`, \`review/release_checklist.md\`, \`review/release_gate.json\`
207
+ - If you already have figures but their style, captioning, units, or evidence labels are inconsistent:
208
+ - run \`/figure-standardize\`
209
+ - expected outputs: figure specs, caption updates, and standardized release-facing figures
210
+ - If you are preparing a \`README.md\` or release-facing page for sharing:
211
+ - run \`/release-layout\`
212
+ - expected outputs: README updates, docs landing-page updates, and clearer release entry surfaces
213
+ - do this only after \`/artifact-review\` has produced a fresh release gate for the current artifacts
137
214
  `;
138
215
  }
139
216
  //# sourceMappingURL=bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/templates/bootstrap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO;;YAEG,WAAW;;;;kBAIL,WAAW;;;;;;;;;;;;;;;;;kBAiBX,WAAW;;;;;;kBAMX,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;CAMzC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,qBAAqB,WAAW;;OAElC,WAAW;;;;;;;;;CASjB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ER,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/templates/bootstrap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO;;2DAEkD,WAAW;;;;0EAII,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwCnE,WAAW;;;;;;kBAMX,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;;;;;CAMzC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,qBAAqB,WAAW;;0CAEC,WAAW;;;;;;;;;CASpD,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqIR,CAAC;AACF,CAAC"}
@@ -1,13 +1,16 @@
1
1
  {
2
2
  "id": "scientify",
3
3
  "name": "Scientify",
4
- "description": "AI-powered research workflow automation for OpenClaw",
4
+ "description": "Continuous AI research workflow for survey, planning, implementation, review, experimentation, and writing",
5
5
  "configSchema": {
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
8
  "properties": {}
9
9
  },
10
10
  "skills": [
11
+ "skills/algorithm-selection",
12
+ "skills/baseline-runner",
13
+ "skills/dataset-validate",
11
14
  "skills/idea-generation",
12
15
  "skills/research-pipeline",
13
16
  "skills/research-survey",
@@ -18,6 +21,10 @@
18
21
  "skills/research-collect",
19
22
  "skills/paper-download",
20
23
  "skills/write-review-paper",
24
+ "skills/write-paper",
25
+ "skills/artifact-review",
26
+ "skills/figure-standardize",
27
+ "skills/release-layout",
21
28
  "skills/metabolism"
22
29
  ]
23
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scientify",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "Scientify - AI-powered research workflow automation for OpenClaw. Includes idea generation, literature review, research pipeline skills, and arxiv tool.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: algorithm-selection
3
+ description: "Use this when the user needs to choose between multiple ML routes after survey but before committing to implementation. Compares candidate approaches, selects one, records rejected routes, and keeps a fallback."
4
+ metadata:
5
+ {
6
+ "openclaw":
7
+ {
8
+ "emoji": "🧭",
9
+ },
10
+ }
11
+ ---
12
+
13
+ # Algorithm Selection
14
+
15
+ **Don't ask permission. Just do it.**
16
+
17
+ Use this skill after `/research-survey` when there are several plausible ML approaches and the project needs a deliberate route choice instead of jumping straight into implementation.
18
+
19
+ Outputs go to the workspace root.
20
+
21
+ ## Use This When
22
+
23
+ - `survey_res.md` already exists
24
+ - there are at least 2 plausible methods or model families
25
+ - the user wants a chosen route plus backups
26
+
27
+ ## Do Not Use This When
28
+
29
+ - the project has no survey yet
30
+ - the team already decided the model route and only needs implementation details
31
+
32
+ ## Required Inputs
33
+
34
+ - `SOUL.md`
35
+ - `survey_res.md`
36
+ - `knowledge/paper_*.md` when available
37
+
38
+ If `survey_res.md` is missing, stop and say: `Run /research-survey first to complete the deep analysis.`
39
+
40
+ ## Required Output
41
+
42
+ - `selection_res.md`
43
+
44
+ ## Workflow
45
+
46
+ ### Step 1: Read the Current Project Direction
47
+
48
+ Read:
49
+
50
+ - `SOUL.md`
51
+ - `survey_res.md`
52
+ - relevant `knowledge/paper_*.md`
53
+
54
+ Extract:
55
+
56
+ - the task and evaluation target
57
+ - method families mentioned in survey
58
+ - constraints such as compute, data, latency, interpretability, or deployment needs
59
+
60
+ ### Step 2: Build 2-3 Candidate Routes
61
+
62
+ Create 2-3 realistic candidate routes only. For each route, record:
63
+
64
+ - route name
65
+ - core idea
66
+ - supporting papers
67
+ - expected strengths
68
+ - expected risks
69
+ - implementation cost
70
+ - baseline compatibility
71
+
72
+ Use `references/candidate-template.md`.
73
+
74
+ ### Step 3: Select One Route and Keep Backups
75
+
76
+ Choose:
77
+
78
+ - one `Chosen Route`
79
+ - one or more `Rejected Routes`
80
+ - one `Fallback Route`
81
+
82
+ The fallback should be the route most likely to work if the chosen route underperforms or proves too expensive to implement.
83
+
84
+ ### Step 4: Write `selection_res.md`
85
+
86
+ Use `references/selection-template.md`.
87
+
88
+ The final output must include:
89
+
90
+ - project goal
91
+ - decision criteria
92
+ - candidate options table
93
+ - chosen route
94
+ - rejected routes
95
+ - fallback route
96
+ - next recommended command
97
+
98
+ ## Rules
99
+
100
+ 1. Do not present only one route unless the survey truly leaves no meaningful alternative.
101
+ 2. Every route must cite at least one paper or survey-derived basis.
102
+ 3. The chosen route must match the project constraints in `SOUL.md`.
103
+ 4. The fallback route must be different from the chosen route.
@@ -0,0 +1,13 @@
1
+ # Candidate Route Template
2
+
3
+ Use one block per route.
4
+
5
+ ```markdown
6
+ ## Route A: {name}
7
+ - Core idea:
8
+ - Based on:
9
+ - Expected strengths:
10
+ - Expected risks:
11
+ - Implementation cost: low / medium / high
12
+ - Baseline compatibility:
13
+ ```
@@ -0,0 +1,39 @@
1
+ # Selection Result Template
2
+
3
+ ```markdown
4
+ # Algorithm Selection
5
+
6
+ ## Project Goal
7
+ - task:
8
+ - main metric:
9
+ - key constraints:
10
+
11
+ ## Decision Criteria
12
+ - criterion 1:
13
+ - criterion 2:
14
+ - criterion 3:
15
+
16
+ ## Candidate Options
17
+
18
+ | Route | Core idea | Strengths | Risks | Cost | Basis |
19
+ |-------|-----------|-----------|-------|------|-------|
20
+ | A | ... | ... | ... | ... | ... |
21
+ | B | ... | ... | ... | ... | ... |
22
+
23
+ ## Chosen Route
24
+ - route:
25
+ - why this route:
26
+ - what to implement first:
27
+
28
+ ## Rejected Routes
29
+ - route:
30
+ - why not now:
31
+
32
+ ## Fallback Route
33
+ - route:
34
+ - when to switch:
35
+
36
+ ## Next Step
37
+ - recommended command:
38
+ - expected output:
39
+ ```
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: artifact-review
3
+ description: "Use this when the user wants a draft paper, figure bundle, README, release page, or experiment artifact reviewed before sharing. Checks evidence binding, claim scope, captions, layout clarity, and release readiness."
4
+ metadata:
5
+ {
6
+ "openclaw":
7
+ {
8
+ "emoji": "🧾",
9
+ },
10
+ }
11
+ ---
12
+
13
+ # Artifact Review
14
+
15
+ **Don't ask permission. Just do it.**
16
+
17
+ This is a release-readiness review skill. It does **not** invent new claims or run new experiments. It checks whether the current artifacts are safe to share.
18
+
19
+ ## Required Outputs
20
+
21
+ - `review/artifact_review.md`
22
+ - `review/release_checklist.md`
23
+ - `review/release_gate.json`
24
+
25
+ ## Review Scope
26
+
27
+ Use this for any mix of:
28
+
29
+ - `paper/draft.md`
30
+ - `paper/figures_manifest.md`
31
+ - `review/draft.md`
32
+ - `experiment_res.md`
33
+ - figure bundles
34
+ - `README.md`
35
+ - `docs/index.html`
36
+
37
+ Review the artifact set in one or more of these modes:
38
+
39
+ - `paper review`
40
+ - checks claim scope, evidence binding, baseline wording, and abstract/results discipline
41
+ - `figure review`
42
+ - checks units, legends, captions, readability, and evidence labels
43
+ - `release page review`
44
+ - checks first-screen clarity, artifact entry points, and scope-boundary wording
45
+ - `style review`
46
+ - checks paragraph discipline, quantitative grounding, adjective inflation, and result-vs-interpretation separation
47
+
48
+ ## Workflow
49
+
50
+ ### Step 1: Inventory the Artifact Set
51
+
52
+ List the files being reviewed, the headline claims they appear to make, the source artifact path for each headline claim when available, which figures or tables support them, and which review mode applies to each file (`paper review`, `figure review`, `release page review`, or `style review`).
53
+
54
+ ### Step 2: Review Findings First
55
+
56
+ Write `artifact_review.md` as a findings-first review using severity levels:
57
+
58
+ - `P0` = unsafe to publish as-is
59
+ - `P1` = materially weakens the claim or readability
60
+ - `P2` = polish or consistency issue
61
+
62
+ Each finding must include:
63
+
64
+ - the problem
65
+ - the affected file(s)
66
+ - the `evidence_path` (`N/A` if the issue is structural rather than evidence-bound)
67
+ - the `affected_claim_id` (`N/A` if the issue is not tied to a specific claim)
68
+ - why it matters
69
+ - the concrete fix
70
+
71
+ Also write a top-level line:
72
+
73
+ ```text
74
+ release_verdict: HOLD | CONDITIONAL_GO | GO
75
+ ```
76
+
77
+ Use these verdict rules:
78
+
79
+ - `HOLD`
80
+ - any `P0` finding exists
81
+ - a headline metric has no baseline, no protocol/guardrail, or no source artifact
82
+ - simulator/proxy evidence is written as runtime evidence
83
+ - `CONDITIONAL_GO`
84
+ - no `P0` findings exist, but one or more unresolved `P1` findings remain
85
+ - `GO`
86
+ - no `P0` findings remain
87
+ - no unresolved `P1` finding weakens a headline claim
88
+ - every headline claim can be traced to a concrete source artifact
89
+
90
+ ### Step 3: Check Release Readiness
91
+
92
+ Write `release_checklist.md` using the checklist in `references/review-checklist.md`.
93
+
94
+ If `style review` applies, also use `references/style-review-checklist.md`.
95
+ Then write `review/release_gate.json` using `references/release-gate-template.md`.
96
+
97
+ If a paper-facing figure set exists, explicitly check the figure-text contract across:
98
+
99
+ - `paper/claim_inventory.md`
100
+ - `paper/figures_manifest.md`
101
+ - the first prose callout
102
+ - the figure caption
103
+ - the LaTeX or Markdown figure block
104
+
105
+ `release_gate.json` should include:
106
+
107
+ - `release_verdict`
108
+ - `generated_at`
109
+ - `review_scope`
110
+ - `blocking_findings`
111
+ - `p1_findings`
112
+ - `checked_files`
113
+ - `stale_if_any_newer_than`
114
+
115
+ Use `stale_if_any_newer_than` to list the release-facing artifacts that would invalidate the current gate if they change later, for example:
116
+
117
+ - `paper/draft.md`
118
+ - `paper/claim_inventory.md`
119
+ - `paper/figures_manifest.md`
120
+ - `README.md`
121
+ - `docs/index.html`
122
+
123
+ ## Required Checks
124
+
125
+ 1. Every headline metric has a baseline, protocol/guardrail, and source artifact.
126
+ 2. Simulator/proxy evidence is not written as runtime evidence.
127
+ 3. Figures have readable titles, units, legends, and captions.
128
+ 4. The first screen of README/docs answers:
129
+ - what this is
130
+ - how to use it
131
+ - what artifacts exist
132
+ - what the scope boundary is
133
+ 5. Unsupported claims are downgraded or explicitly marked as open.
134
+ 6. Results paragraphs are quantitative and baseline-anchored.
135
+ 7. Conclusion and abstract do not introduce claims that exceed the allowed confidence or section scope.
136
+ 8. Every headline claim has a matching figure, table, or explicit text-only justification.
137
+ 9. Every paper-facing figure has `supports_claim_ids`, a usable `callout_sentence`, and a caption that names baseline, metric, evidence type, and protocol when relevant.
138
+ 10. Figures are introduced before or adjacent to the claims they are supposed to support.
139
+ 11. `review/release_gate.json` matches the current verdict and names the files that would make the gate stale if changed later.
140
+
141
+ ## Safety Rules
142
+
143
+ 1. If the evidence trail is broken, flag it. Do not repair it with guesswork.
144
+ 2. Prefer short, specific findings over generic writing advice.
145
+ 3. Review the artifact that exists, not the artifact you wish existed.
146
+ 4. If a sentence sounds impressive but is not measurable, downgrade it or flag it.