@bohuyeshan/openagent-labforge-core 3.11.5 → 3.13.1

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 (272) hide show
  1. package/README.ja.md +130 -343
  2. package/README.ko.md +128 -337
  3. package/README.md +235 -584
  4. package/README.ru.md +131 -364
  5. package/README.zh-cn.md +237 -547
  6. package/bin/openagent-labforge.js +95 -9
  7. package/bin/platform.test.ts +20 -21
  8. package/dist/agents/article-writer.d.ts +7 -0
  9. package/dist/agents/atlas/default.d.ts +1 -1
  10. package/dist/agents/atlas/gemini.d.ts +1 -1
  11. package/dist/agents/atlas/gpt.d.ts +1 -1
  12. package/dist/agents/bio-methodologist.d.ts +1 -1
  13. package/dist/agents/bio-orchestrator.d.ts +7 -0
  14. package/dist/agents/bio-skill-guidance.d.ts +1 -0
  15. package/dist/agents/builtin-agents/general-agents.d.ts +0 -1
  16. package/dist/agents/builtin-agents/sisyphus-agent.d.ts +16 -0
  17. package/dist/agents/dynamic-agent-prompt-builder.d.ts +0 -2
  18. package/dist/agents/engineering-capability.d.ts +7 -0
  19. package/dist/agents/env-context.d.ts +1 -1
  20. package/dist/agents/github-scout.d.ts +7 -0
  21. package/dist/agents/index.d.ts +0 -1
  22. package/dist/agents/metis.d.ts +1 -1
  23. package/dist/agents/momus.d.ts +1 -1
  24. package/dist/agents/prometheus/behavioral-summary.d.ts +1 -1
  25. package/dist/agents/prometheus/gemini.d.ts +1 -1
  26. package/dist/agents/prometheus/gpt.d.ts +1 -1
  27. package/dist/agents/prometheus/interview-mode.d.ts +1 -1
  28. package/dist/agents/prometheus/plan-generation.d.ts +1 -1
  29. package/dist/agents/prometheus/plan-template.d.ts +1 -1
  30. package/dist/agents/prometheus/system-prompt.d.ts +1 -1
  31. package/dist/agents/scientific-writer.d.ts +7 -0
  32. package/dist/agents/sisyphus-junior/gpt-5-3-codex.d.ts +1 -1
  33. package/dist/agents/sisyphus-junior/gpt-5-4.d.ts +1 -1
  34. package/dist/agents/sisyphus-junior/gpt.d.ts +1 -1
  35. package/dist/agents/tech-scout.d.ts +7 -0
  36. package/dist/agents/types.d.ts +1 -1
  37. package/dist/agents/wase.d.ts +8 -0
  38. package/dist/agents/wet-lab-designer.d.ts +7 -0
  39. package/dist/agents/writing-style-rules.d.ts +1 -0
  40. package/dist/cli/config-manager/bun-install.d.ts +1 -6
  41. package/dist/cli/config-manager/cleanup-managed-mcp-from-opencode-config.d.ts +2 -0
  42. package/dist/cli/config-manager/cleanup-stale-managed-agents.d.ts +2 -0
  43. package/dist/cli/config-manager/parse-opencode-config-file.d.ts +2 -0
  44. package/dist/cli/config-manager/plugin-name-with-version.d.ts +1 -1
  45. package/dist/cli/config-manager/sync-static-agent-to-opencode-config.d.ts +2 -0
  46. package/dist/cli/config-manager/sync-static-mcp-to-opencode-config.d.ts +2 -0
  47. package/dist/cli/config-manager/write-bootstrap-skill.d.ts +15 -0
  48. package/dist/cli/config-manager.d.ts +5 -0
  49. package/dist/cli/index.js +24986 -15362
  50. package/dist/cli/install-validators.d.ts +0 -1
  51. package/dist/cli/model-fallback-types.d.ts +0 -1
  52. package/dist/cli/run/index.d.ts +0 -1
  53. package/dist/cli/run/types.d.ts +0 -1
  54. package/dist/cli/types.d.ts +0 -3
  55. package/dist/config/schema/agent-names.d.ts +36 -3
  56. package/dist/config/schema/agent-overrides.d.ts +504 -0
  57. package/dist/config/schema/background-task.d.ts +0 -2
  58. package/dist/config/schema/experimental.d.ts +5 -0
  59. package/dist/config/schema/git-master.d.ts +0 -1
  60. package/dist/config/schema/hooks.d.ts +0 -2
  61. package/dist/config/schema/mcp-policy.d.ts +1 -0
  62. package/dist/config/schema/oh-my-opencode-config.d.ts +526 -54
  63. package/dist/config/schema.d.ts +0 -1
  64. package/dist/create-hooks.d.ts +0 -13
  65. package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +1 -16
  66. package/dist/features/background-agent/constants.d.ts +2 -1
  67. package/dist/features/background-agent/manager.d.ts +5 -20
  68. package/dist/features/background-agent/process-cleanup.d.ts +1 -1
  69. package/dist/features/background-agent/task-history.d.ts +0 -1
  70. package/dist/features/background-agent/task-poller.d.ts +0 -1
  71. package/dist/features/background-agent/types.d.ts +0 -4
  72. package/dist/features/builtin-commands/commands.d.ts +4 -1
  73. package/dist/features/builtin-skills/skills/bio-methods.d.ts +2 -0
  74. package/dist/features/builtin-skills/skills/bio-pipeline.d.ts +2 -0
  75. package/dist/features/builtin-skills/skills/bio-tools.d.ts +2 -0
  76. package/dist/features/builtin-skills/skills/bio-visualization.d.ts +2 -0
  77. package/dist/features/builtin-skills/skills/cell-annotation.d.ts +2 -0
  78. package/dist/features/builtin-skills/skills/differential-expression.d.ts +2 -0
  79. package/dist/features/builtin-skills/skills/geo-query.d.ts +2 -0
  80. package/dist/features/builtin-skills/skills/index.d.ts +14 -0
  81. package/dist/features/builtin-skills/skills/paper-evidence.d.ts +2 -0
  82. package/dist/features/builtin-skills/skills/pubmed-search.d.ts +2 -0
  83. package/dist/features/builtin-skills/skills/scrna-preprocessing.d.ts +2 -0
  84. package/dist/features/builtin-skills/skills/sequence-analysis.d.ts +2 -0
  85. package/dist/features/builtin-skills/skills/structural-biology.d.ts +2 -0
  86. package/dist/features/builtin-skills/skills/vector-design.d.ts +2 -0
  87. package/dist/features/builtin-skills/skills/wet-lab-design.d.ts +2 -0
  88. package/dist/features/claude-code-agent-loader/loader.d.ts +3 -3
  89. package/dist/features/claude-code-agent-loader/types.d.ts +1 -8
  90. package/dist/features/claude-code-mcp-loader/configure-allowed-env-vars.d.ts +5 -0
  91. package/dist/features/claude-code-mcp-loader/index.d.ts +1 -0
  92. package/dist/features/claude-code-mcp-loader/types.d.ts +3 -0
  93. package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +2 -2
  94. package/dist/features/claude-code-plugin-loader/loader.d.ts +2 -2
  95. package/dist/features/claude-code-plugin-loader/types.d.ts +1 -1
  96. package/dist/features/claude-code-session-state/state.d.ts +5 -0
  97. package/dist/features/opencode-skill-loader/git-master-template-injection.d.ts +1 -1
  98. package/dist/features/opencode-skill-loader/project-skill-directory-discovery.d.ts +1 -0
  99. package/dist/features/opencode-skill-loader/skill-metadata-validator.d.ts +8 -0
  100. package/dist/features/skill-mcp-manager/types.d.ts +0 -4
  101. package/dist/features/tmux-subagent/index.d.ts +0 -1
  102. package/dist/features/tmux-subagent/manager.d.ts +0 -5
  103. package/dist/features/tmux-subagent/types.d.ts +0 -2
  104. package/dist/hooks/atlas/tool-execute-after.d.ts +0 -2
  105. package/dist/hooks/atlas/types.d.ts +0 -2
  106. package/dist/hooks/atlas/verification-reminders.d.ts +0 -4
  107. package/dist/hooks/auto-slash-command/hook.d.ts +0 -7
  108. package/dist/hooks/auto-update-checker/checker.d.ts +1 -3
  109. package/dist/hooks/auto-update-checker/constants.d.ts +2 -2
  110. package/dist/hooks/comment-checker/downloader.d.ts +1 -1
  111. package/dist/hooks/compaction-context-injector/hook.d.ts +1 -5
  112. package/dist/hooks/context-window-monitor.d.ts +5 -2
  113. package/dist/hooks/index.d.ts +0 -2
  114. package/dist/hooks/keyword-detector/detector.d.ts +1 -1
  115. package/dist/hooks/keyword-detector/hook.d.ts +2 -2
  116. package/dist/hooks/keyword-detector/index.d.ts +1 -0
  117. package/dist/hooks/keyword-detector/semantic-hint.d.ts +4 -0
  118. package/dist/hooks/keyword-detector/ultrawork/autonomous.d.ts +8 -0
  119. package/dist/hooks/preemptive-compaction.d.ts +5 -2
  120. package/dist/hooks/runtime-fallback/hook.d.ts +3 -2
  121. package/dist/hooks/runtime-fallback/message-update-handler.d.ts +2 -1
  122. package/dist/hooks/runtime-fallback/types.d.ts +3 -56
  123. package/dist/hooks/session-notification-scheduler.d.ts +3 -5
  124. package/dist/hooks/session-notification.d.ts +0 -2
  125. package/dist/hooks/session-recovery/tool-pairing.d.ts +16 -0
  126. package/dist/hooks/start-work/index.d.ts +1 -1
  127. package/dist/hooks/start-work/worktree-detector.d.ts +0 -7
  128. package/dist/hooks/todo-continuation-enforcer/compaction-guard.d.ts +4 -0
  129. package/dist/hooks/todo-continuation-enforcer/constants.d.ts +6 -5
  130. package/dist/hooks/todo-continuation-enforcer/handler.d.ts +0 -1
  131. package/dist/hooks/todo-continuation-enforcer/idle-event.d.ts +0 -1
  132. package/dist/hooks/todo-continuation-enforcer/resolve-message-info.d.ts +3 -0
  133. package/dist/hooks/todo-continuation-enforcer/session-state.d.ts +1 -1
  134. package/dist/hooks/todo-continuation-enforcer/types.d.ts +8 -3
  135. package/dist/hooks/tool-output-truncator.d.ts +0 -1
  136. package/dist/index.js +56632 -56935
  137. package/dist/mcp/extended.d.ts +4 -2
  138. package/dist/mcp/index.d.ts +2 -1
  139. package/dist/mcp/types.d.ts +2 -3
  140. package/dist/openagent-labforge.schema.json +1362 -83
  141. package/dist/plugin/hooks/create-continuation-hooks.d.ts +1 -2
  142. package/dist/plugin/hooks/create-core-hooks.d.ts +0 -1
  143. package/dist/plugin/hooks/create-session-hooks.d.ts +1 -2
  144. package/dist/plugin/ultrawork-model-override.d.ts +11 -1
  145. package/dist/plugin-dispose.d.ts +12 -10
  146. package/dist/plugin-handlers/agent-config-handler.d.ts +0 -1
  147. package/dist/plugin-handlers/prometheus-agent-config-builder.d.ts +1 -1
  148. package/dist/plugin-state.d.ts +0 -5
  149. package/dist/shared/agent-display-names.d.ts +1 -0
  150. package/dist/shared/data-path.d.ts +1 -1
  151. package/dist/shared/dynamic-truncator.d.ts +7 -4
  152. package/dist/shared/external-plugin-detector.d.ts +7 -0
  153. package/dist/shared/index.d.ts +5 -3
  154. package/dist/shared/jsonc-parser.d.ts +4 -0
  155. package/dist/shared/mcp-local-command-normalizer.d.ts +1 -0
  156. package/dist/shared/migrate-legacy-config-file.d.ts +1 -0
  157. package/dist/shared/model-error-classifier.d.ts +1 -2
  158. package/dist/shared/opencode-command-dirs.d.ts +0 -1
  159. package/dist/shared/plugin-identity.d.ts +2 -3
  160. package/dist/shared/project-discovery-dirs.d.ts +4 -0
  161. package/dist/shared/session-model-state.d.ts +1 -2
  162. package/dist/shared/system-directive.d.ts +5 -6
  163. package/dist/tools/call-omo-agent/background-executor.d.ts +1 -2
  164. package/dist/tools/call-omo-agent/constants.d.ts +2 -2
  165. package/dist/tools/call-omo-agent/sync-executor.d.ts +3 -11
  166. package/dist/tools/call-omo-agent/tools.d.ts +2 -2
  167. package/dist/tools/call-omo-agent/types.d.ts +13 -0
  168. package/dist/tools/delegate-task/constants.d.ts +1 -1
  169. package/dist/tools/delegate-task/model-selection.d.ts +0 -1
  170. package/dist/tools/delegate-task/model-string-parser.d.ts +3 -1
  171. package/dist/tools/delegate-task/parent-context-resolver.d.ts +22 -0
  172. package/dist/tools/lsp/constants.d.ts +0 -1
  173. package/dist/tools/lsp/lsp-client-transport.d.ts +2 -4
  174. package/dist/tools/lsp/lsp-client-wrapper.d.ts +1 -2
  175. package/generated/skills-bundles/catalog.json +1 -1
  176. package/generated/skills-bundles/full/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +56 -55
  177. package/generated/skills-bundles/full/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +105 -104
  178. package/generated/skills-bundles/full/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +272 -271
  179. package/generated/skills-bundles/full/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +40 -39
  180. package/generated/skills-bundles/full/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +274 -273
  181. package/generated/skills-bundles/full/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +131 -130
  182. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +245 -244
  183. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +247 -246
  184. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +303 -302
  185. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -84
  186. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -87
  187. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -48
  188. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -80
  189. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +31 -31
  190. package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +126 -125
  191. package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +80 -79
  192. package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +187 -186
  193. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +11 -11
  194. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +18 -18
  195. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +20 -20
  196. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +15 -15
  197. package/generated/skills-bundles/full/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +217 -216
  198. package/generated/skills-bundles/paper/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +56 -55
  199. package/generated/skills-bundles/paper/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +105 -104
  200. package/generated/skills-bundles/paper/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +272 -271
  201. package/generated/skills-bundles/paper/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +40 -39
  202. package/generated/skills-bundles/paper/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +274 -273
  203. package/generated/skills-bundles/paper/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +131 -130
  204. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +245 -244
  205. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +247 -246
  206. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +303 -302
  207. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -84
  208. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -87
  209. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -48
  210. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -80
  211. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +31 -31
  212. package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +126 -125
  213. package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +80 -79
  214. package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +187 -186
  215. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +11 -11
  216. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +18 -18
  217. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +20 -20
  218. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +15 -15
  219. package/generated/skills-bundles/paper/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +217 -216
  220. package/package.json +36 -32
  221. package/dist/cli/openai-only-model-catalog.d.ts +0 -3
  222. package/dist/cli/run/model-resolver.d.ts +0 -4
  223. package/dist/config/schema/git-env-prefix.d.ts +0 -5
  224. package/dist/features/background-agent/remove-task-toast-tracking.d.ts +0 -1
  225. package/dist/features/background-agent/subagent-spawn-limits.d.ts +0 -23
  226. package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +0 -4
  227. package/dist/features/tmux-subagent/pane-state-parser.d.ts +0 -8
  228. package/dist/features/tmux-subagent/tracked-session-state.d.ts +0 -8
  229. package/dist/hooks/atlas/boulder-session-lineage.d.ts +0 -6
  230. package/dist/hooks/atlas/final-wave-approval-gate.d.ts +0 -4
  231. package/dist/hooks/atlas/idle-event.d.ts +0 -8
  232. package/dist/hooks/atlas/resolve-active-boulder-session.d.ts +0 -11
  233. package/dist/hooks/auto-slash-command/processed-command-store.d.ts +0 -7
  234. package/dist/hooks/auto-update-checker/checker/sync-package-json.d.ts +0 -7
  235. package/dist/hooks/compaction-context-injector/compaction-context-prompt.d.ts +0 -1
  236. package/dist/hooks/compaction-context-injector/constants.d.ts +0 -5
  237. package/dist/hooks/compaction-context-injector/recovery-prompt-config.d.ts +0 -6
  238. package/dist/hooks/compaction-context-injector/recovery.d.ts +0 -6
  239. package/dist/hooks/compaction-context-injector/session-id.d.ts +0 -2
  240. package/dist/hooks/compaction-context-injector/session-prompt-config-resolver.d.ts +0 -16
  241. package/dist/hooks/compaction-context-injector/tail-monitor.d.ts +0 -13
  242. package/dist/hooks/compaction-context-injector/types.d.ts +0 -43
  243. package/dist/hooks/compaction-context-injector/validated-model.d.ts +0 -13
  244. package/dist/hooks/delegate-task-english-directive/hook.d.ts +0 -14
  245. package/dist/hooks/delegate-task-english-directive/index.d.ts +0 -1
  246. package/dist/hooks/gpt-permission-continuation/assistant-message.d.ts +0 -23
  247. package/dist/hooks/gpt-permission-continuation/constants.d.ts +0 -4
  248. package/dist/hooks/gpt-permission-continuation/detector.d.ts +0 -1
  249. package/dist/hooks/gpt-permission-continuation/handler.d.ts +0 -12
  250. package/dist/hooks/gpt-permission-continuation/index.d.ts +0 -13
  251. package/dist/hooks/gpt-permission-continuation/session-state.d.ts +0 -15
  252. package/dist/hooks/ralph-loop/pending-verification-handler.d.ts +0 -16
  253. package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +0 -10
  254. package/dist/hooks/runtime-fallback/fallback-retry-dispatcher.d.ts +0 -11
  255. package/dist/hooks/runtime-fallback/last-user-retry-parts.d.ts +0 -4
  256. package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +0 -7
  257. package/dist/hooks/runtime-fallback/session-messages.d.ts +0 -9
  258. package/dist/hooks/runtime-fallback/session-status-handler.d.ts +0 -3
  259. package/dist/hooks/runtime-fallback/visible-assistant-response.d.ts +0 -3
  260. package/dist/hooks/session-notification-content.d.ts +0 -30
  261. package/dist/plugin/normalize-tool-arg-schemas.d.ts +0 -2
  262. package/dist/plugin/ultrawork-variant-availability.d.ts +0 -6
  263. package/dist/shared/compaction-agent-config-checkpoint.d.ts +0 -11
  264. package/dist/shared/context-limit-resolver.d.ts +0 -5
  265. package/dist/shared/fallback-chain-from-models.d.ts +0 -3
  266. package/dist/shared/question-denied-session-permission.d.ts +0 -6
  267. package/dist/shared/retry-status-utils.d.ts +0 -2
  268. package/dist/shared/vision-capable-models-cache.d.ts +0 -4
  269. package/dist/tools/delegate-task/cancel-unstable-agent-task.d.ts +0 -2
  270. package/dist/tools/look-at/multimodal-fallback-chain.d.ts +0 -4
  271. package/dist/tools/lsp/directory-diagnostics.d.ts +0 -1
  272. package/dist/tools/lsp/server-path-bases.d.ts +0 -1
@@ -6,189 +6,190 @@ allowed-tools: "Bash(*), Read, Glob, Grep, WebSearch, WebFetch, Write, Agent, mc
6
6
  metadata:
7
7
  category: "research/literature-and-web-search"
8
8
  ---
9
- # Research Literature Review
10
-
11
- Research topic: $ARGUMENTS
12
-
13
- ## Constants
14
-
15
- - **PAPER_LIBRARY** — Local directory containing user's paper collection (PDFs). Check these paths in order:
16
- 1. `papers/` in the current project directory
17
- 2. `literature/` in the current project directory
18
- 3. Custom path specified by user in `CLAUDE.md` under `## Paper Library`
19
- - **MAX_LOCAL_PAPERS = 20** — Maximum number of local PDFs to scan (read first 3 pages each). If more are found, prioritize by filename relevance to the topic.
20
- - **ARXIV_DOWNLOAD = false** — When `true`, download top 3-5 most relevant arXiv PDFs to PAPER_LIBRARY after search. When `false` (default), only fetch metadata (title, abstract, authors) via arXiv API no files are downloaded.
21
- - **ARXIV_MAX_DOWNLOAD = 5** — Maximum number of PDFs to download when `ARXIV_DOWNLOAD = true`.
22
-
23
- > 💡 Overrides:
24
- > - `/research-lit "topic" — paper library: ~/my_papers/` — custom local PDF path
25
- > - `/research-lit "topic" — sources: zotero, local` only search Zotero + local PDFs
26
- > - `/research-lit "topic" — sources: zotero` — only search Zotero
27
- > - `/research-lit "topic" — sources: web` — only search the web (skip all local)
28
- > - `/research-lit "topic" — arxiv download: true` — download top relevant arXiv PDFs
29
- > - `/research-lit "topic" — arxiv download: true, max download: 10` — download up to 10 PDFs
30
-
31
- ## Data Sources
32
-
33
- This skill checks multiple sources **in priority order**. All are optional — if a source is not configured or not requested, skip it silently.
34
-
35
- ### Source Selection
36
-
37
- Parse `$ARGUMENTS` for a `— sources:` directive:
38
- - **If `— sources:` is specified**: Only search the listed sources (comma-separated). Valid values: `zotero`, `obsidian`, `local`, `web`, `all`.
39
- - **If not specified**: Default to `all` search every available source in priority order.
40
-
41
- Examples:
42
- ```
43
- /research-lit "diffusion models" → all (default)
44
- /research-lit "diffusion models" — sources: all all
45
- /research-lit "diffusion models" — sources: zotero Zotero only
46
- /research-lit "diffusion models" — sources: zotero, web → Zotero + web
47
- /research-lit "diffusion models" — sources: local local PDFs only
48
- /research-lit "topic" — sources: obsidian, local, web → skip Zotero
49
- ```
50
-
51
- ### Source Table
52
-
53
- | Priority | Source | ID | How to detect | What it provides |
54
- |----------|--------|----|---------------|-----------------|
55
- | 1 | **Zotero** (via MCP) | `zotero` | Try calling any `mcp__zotero__*` tool — if unavailable, skip | Collections, tags, annotations, PDF highlights, BibTeX, semantic search |
56
- | 2 | **Obsidian** (via MCP) | `obsidian` | Try calling any `mcp__obsidian-vault__*` tool — if unavailable, skip | Research notes, paper summaries, tagged references, wikilinks |
57
- | 3 | **Local PDFs** | `local` | `Glob: papers/**/*.pdf, literature/**/*.pdf` | Raw PDF content (first 3 pages) |
58
- | 4 | **Web search** | `web` | Always available (WebSearch) | arXiv, Semantic Scholar, Google Scholar |
59
-
60
- > **Graceful degradation**: If no MCP servers are configured, the skill works exactly as before (local PDFs + web search). Zotero and Obsidian are pure additions.
61
-
62
- ## Workflow
63
-
64
- ### Step 0a: Search Zotero Library (if available)
65
-
66
- **Skip this step entirely if Zotero MCP is not configured.**
67
-
68
- Try calling a Zotero MCP tool (e.g., search). If it succeeds:
69
-
70
- 1. **Search by topic**: Use the Zotero search tool to find papers matching the research topic
71
- 2. **Read collections**: Check if the user has a relevant collection/folder for this topic
72
- 3. **Extract annotations**: For highly relevant papers, pull PDF highlights and notes these represent what the user found important
73
- 4. **Export BibTeX**: Get citation data for relevant papers (useful for `/paper-write` later)
74
- 5. **Compile results**: For each relevant Zotero entry, extract:
75
- - Title, authors, year, venue
76
- - User's annotations/highlights (if any)
77
- - Tags the user assigned
78
- - Which collection it belongs to
79
-
80
- > 📚 Zotero annotations are gold — they show what the user personally highlighted as important, which is far more valuable than generic summaries.
81
-
82
- ### Step 0b: Search Obsidian Vault (if available)
83
-
84
- **Skip this step entirely if Obsidian MCP is not configured.**
85
-
86
- Try calling an Obsidian MCP tool (e.g., search). If it succeeds:
87
-
88
- 1. **Search vault**: Search for notes related to the research topic
89
- 2. **Check tags**: Look for notes tagged with relevant topics (e.g., `#diffusion-models`, `#paper-review`)
90
- 3. **Read research notes**: For relevant notes, extract the user's own summaries and insights
91
- 4. **Follow links**: If notes link to other relevant notes (wikilinks), follow them for additional context
92
- 5. **Compile results**: For each relevant note:
93
- - Note title and path
94
- - User's summary/insights
95
- - Links to other notes (research graph)
96
- - Any frontmatter metadata (paper URL, status, rating)
97
-
98
- > 📝 Obsidian notes represent the user's **processed understanding** — more valuable than raw paper content for understanding their perspective.
99
-
100
- ### Step 0c: Scan Local Paper Library
101
-
102
- Before searching online, check if the user already has relevant papers locally:
103
-
104
- 1. **Locate library**: Check PAPER_LIBRARY paths for PDF files
105
- ```
106
- Glob: papers/**/*.pdf, literature/**/*.pdf
107
- ```
108
-
109
- 2. **De-duplicate against Zotero**: If Step 0a found papers, skip any local PDFs already covered by Zotero results (match by filename or title).
110
-
111
- 3. **Filter by relevance**: Match filenames and first-page content against the research topic. Skip clearly unrelated papers.
112
-
113
- 4. **Summarize relevant papers**: For each relevant local PDF (up to MAX_LOCAL_PAPERS):
114
- - Read first 3 pages (title, abstract, intro)
115
- - Extract: title, authors, year, core contribution, relevance to topic
116
- - Flag papers that are directly related vs tangentially related
117
-
118
- 5. **Build local knowledge base**: Compile summaries into a "papers you already have" section. This becomes the starting point — external search fills the gaps.
119
-
120
- > 📚 If no local papers are found, skip to Step 1. If the user has a comprehensive local collection, the external search can be more targeted (focus on what's missing).
121
-
122
- ### Step 1: Search (external)
123
- - Use WebSearch to find recent papers on the topic
124
- - Check arXiv, Semantic Scholar, Google Scholar
125
- - Focus on papers from last 2 years unless studying foundational work
126
- - **De-duplicate**: Skip papers already found in Zotero, Obsidian, or local library
127
-
128
- **arXiv API search** (always runs, no download by default):
129
-
130
- Locate the fetch script and search arXiv directly:
131
- ```bash
132
- # Try to find arxiv_fetch.py
133
- SCRIPT=$(find tools/ -name "arxiv_fetch.py" 2>/dev/null | head -1)
134
- # If not found, check ARIS install
135
- [ -z "$SCRIPT" ] && SCRIPT=$(find ~/.claude/skills/arxiv/ -name "arxiv_fetch.py" 2>/dev/null | head -1)
136
-
137
- # Search arXiv API for structured results (title, abstract, authors, categories)
138
- python3 "$SCRIPT" search "QUERY" --max 10
139
- ```
140
-
141
- If `arxiv_fetch.py` is not found, fall back to WebSearch for arXiv (same as before).
142
-
143
- The arXiv API returns structured metadata (title, abstract, full author list, categories, dates) — richer than WebSearch snippets. Merge these results with WebSearch findings and de-duplicate.
144
-
145
- **Optional PDF download** (only when `ARXIV_DOWNLOAD = true`):
146
-
147
- After all sources are searched and papers are ranked by relevance:
148
- ```bash
149
- # Download top N most relevant arXiv papers
150
- python3 "$SCRIPT" download ARXIV_ID --dir papers/
151
- ```
152
- - Only download papers ranked in the top ARXIV_MAX_DOWNLOAD by relevance
153
- - Skip papers already in the local library
154
- - 1-second delay between downloads (rate limiting)
155
- - Verify each PDF > 10 KB
156
-
157
- ### Step 2: Analyze Each Paper
158
- For each relevant paper (from all sources), extract:
159
- - **Problem**: What gap does it address?
160
- - **Method**: Core technical contribution (1-2 sentences)
161
- - **Results**: Key numbers/claims
162
- - **Relevance**: How does it relate to our work?
163
- - **Source**: Where we found it (Zotero/Obsidian/local/web) helps user know what they already have vs what's new
164
-
165
- ### Step 3: Synthesize
166
- - Group papers by approach/theme
167
- - Identify consensus vs disagreements in the field
168
- - Find gaps that our work could fill
169
- - If Obsidian notes exist, incorporate the user's own insights into the synthesis
170
-
171
- ### Step 4: Output
172
- Present as a structured literature table:
173
-
174
- ```
175
- | Paper | Venue | Method | Key Result | Relevance to Us | Source |
176
- |-------|-------|--------|------------|-----------------|--------|
177
- ```
178
-
179
- Plus a narrative summary of the landscape (3-5 paragraphs).
180
-
181
- If Zotero BibTeX was exported, include a `references.bib` snippet for direct use in paper writing.
182
-
183
- ### Step 5: Save (if requested)
184
- - Save paper PDFs to `literature/` or `papers/`
185
- - Update related work notes in project memory
186
- - If Obsidian is available, optionally create a literature review note in the vault
187
-
188
- ## Key Rules
189
- - Always include paper citations (authors, year, venue)
190
- - Distinguish between peer-reviewed and preprints
191
- - Be honest about limitations of each paper
192
- - Note if a paper directly competes with or supports our approach
193
- - **Never fail because a MCP server is not configured** always fall back gracefully to the next data source
194
- - Zotero/Obsidian tools may have different names depending on how the user configured the MCP server (e.g., `mcp__zotero__search` or `mcp__zotero-mcp__search_items`). Try the most common patterns and adapt.
9
+
10
+ # Research Literature Review
11
+
12
+ Research topic: $ARGUMENTS
13
+
14
+ ## Constants
15
+
16
+ - **PAPER_LIBRARY** — Local directory containing user's paper collection (PDFs). Check these paths in order:
17
+ 1. `papers/` in the current project directory
18
+ 2. `literature/` in the current project directory
19
+ 3. Custom path specified by user in `CLAUDE.md` under `## Paper Library`
20
+ - **MAX_LOCAL_PAPERS = 20** — Maximum number of local PDFs to scan (read first 3 pages each). If more are found, prioritize by filename relevance to the topic.
21
+ - **ARXIV_DOWNLOAD = false** — When `true`, download top 3-5 most relevant arXiv PDFs to PAPER_LIBRARY after search. When `false` (default), only fetch metadata (title, abstract, authors) via arXiv API — no files are downloaded.
22
+ - **ARXIV_MAX_DOWNLOAD = 5** — Maximum number of PDFs to download when `ARXIV_DOWNLOAD = true`.
23
+
24
+ > 💡 Overrides:
25
+ > - `/research-lit "topic" — paper library: ~/my_papers/`custom local PDF path
26
+ > - `/research-lit "topic" — sources: zotero, local` — only search Zotero + local PDFs
27
+ > - `/research-lit "topic" — sources: zotero` — only search Zotero
28
+ > - `/research-lit "topic" — sources: web` — only search the web (skip all local)
29
+ > - `/research-lit "topic" — arxiv download: true` — download top relevant arXiv PDFs
30
+ > - `/research-lit "topic" — arxiv download: true, max download: 10` — download up to 10 PDFs
31
+
32
+ ## Data Sources
33
+
34
+ This skill checks multiple sources **in priority order**. All are optional — if a source is not configured or not requested, skip it silently.
35
+
36
+ ### Source Selection
37
+
38
+ Parse `$ARGUMENTS` for a `— sources:` directive:
39
+ - **If `— sources:` is specified**: Only search the listed sources (comma-separated). Valid values: `zotero`, `obsidian`, `local`, `web`, `all`.
40
+ - **If not specified**: Default to `all` — search every available source in priority order.
41
+
42
+ Examples:
43
+ ```
44
+ /research-lit "diffusion models" all (default)
45
+ /research-lit "diffusion models" — sources: all all
46
+ /research-lit "diffusion models" — sources: zotero → Zotero only
47
+ /research-lit "diffusion models" — sources: zotero, web Zotero + web
48
+ /research-lit "diffusion models" — sources: local → local PDFs only
49
+ /research-lit "topic" — sources: obsidian, local, web → skip Zotero
50
+ ```
51
+
52
+ ### Source Table
53
+
54
+ | Priority | Source | ID | How to detect | What it provides |
55
+ |----------|--------|----|---------------|-----------------|
56
+ | 1 | **Zotero** (via MCP) | `zotero` | Try calling any `mcp__zotero__*` tool — if unavailable, skip | Collections, tags, annotations, PDF highlights, BibTeX, semantic search |
57
+ | 2 | **Obsidian** (via MCP) | `obsidian` | Try calling any `mcp__obsidian-vault__*` tool — if unavailable, skip | Research notes, paper summaries, tagged references, wikilinks |
58
+ | 3 | **Local PDFs** | `local` | `Glob: papers/**/*.pdf, literature/**/*.pdf` | Raw PDF content (first 3 pages) |
59
+ | 4 | **Web search** | `web` | Always available (WebSearch) | arXiv, Semantic Scholar, Google Scholar |
60
+
61
+ > **Graceful degradation**: If no MCP servers are configured, the skill works exactly as before (local PDFs + web search). Zotero and Obsidian are pure additions.
62
+
63
+ ## Workflow
64
+
65
+ ### Step 0a: Search Zotero Library (if available)
66
+
67
+ **Skip this step entirely if Zotero MCP is not configured.**
68
+
69
+ Try calling a Zotero MCP tool (e.g., search). If it succeeds:
70
+
71
+ 1. **Search by topic**: Use the Zotero search tool to find papers matching the research topic
72
+ 2. **Read collections**: Check if the user has a relevant collection/folder for this topic
73
+ 3. **Extract annotations**: For highly relevant papers, pull PDF highlights and notes — these represent what the user found important
74
+ 4. **Export BibTeX**: Get citation data for relevant papers (useful for `/paper-write` later)
75
+ 5. **Compile results**: For each relevant Zotero entry, extract:
76
+ - Title, authors, year, venue
77
+ - User's annotations/highlights (if any)
78
+ - Tags the user assigned
79
+ - Which collection it belongs to
80
+
81
+ > 📚 Zotero annotations are gold — they show what the user personally highlighted as important, which is far more valuable than generic summaries.
82
+
83
+ ### Step 0b: Search Obsidian Vault (if available)
84
+
85
+ **Skip this step entirely if Obsidian MCP is not configured.**
86
+
87
+ Try calling an Obsidian MCP tool (e.g., search). If it succeeds:
88
+
89
+ 1. **Search vault**: Search for notes related to the research topic
90
+ 2. **Check tags**: Look for notes tagged with relevant topics (e.g., `#diffusion-models`, `#paper-review`)
91
+ 3. **Read research notes**: For relevant notes, extract the user's own summaries and insights
92
+ 4. **Follow links**: If notes link to other relevant notes (wikilinks), follow them for additional context
93
+ 5. **Compile results**: For each relevant note:
94
+ - Note title and path
95
+ - User's summary/insights
96
+ - Links to other notes (research graph)
97
+ - Any frontmatter metadata (paper URL, status, rating)
98
+
99
+ > 📝 Obsidian notes represent the user's **processed understanding** — more valuable than raw paper content for understanding their perspective.
100
+
101
+ ### Step 0c: Scan Local Paper Library
102
+
103
+ Before searching online, check if the user already has relevant papers locally:
104
+
105
+ 1. **Locate library**: Check PAPER_LIBRARY paths for PDF files
106
+ ```
107
+ Glob: papers/**/*.pdf, literature/**/*.pdf
108
+ ```
109
+
110
+ 2. **De-duplicate against Zotero**: If Step 0a found papers, skip any local PDFs already covered by Zotero results (match by filename or title).
111
+
112
+ 3. **Filter by relevance**: Match filenames and first-page content against the research topic. Skip clearly unrelated papers.
113
+
114
+ 4. **Summarize relevant papers**: For each relevant local PDF (up to MAX_LOCAL_PAPERS):
115
+ - Read first 3 pages (title, abstract, intro)
116
+ - Extract: title, authors, year, core contribution, relevance to topic
117
+ - Flag papers that are directly related vs tangentially related
118
+
119
+ 5. **Build local knowledge base**: Compile summaries into a "papers you already have" section. This becomes the starting point — external search fills the gaps.
120
+
121
+ > 📚 If no local papers are found, skip to Step 1. If the user has a comprehensive local collection, the external search can be more targeted (focus on what's missing).
122
+
123
+ ### Step 1: Search (external)
124
+ - Use WebSearch to find recent papers on the topic
125
+ - Check arXiv, Semantic Scholar, Google Scholar
126
+ - Focus on papers from last 2 years unless studying foundational work
127
+ - **De-duplicate**: Skip papers already found in Zotero, Obsidian, or local library
128
+
129
+ **arXiv API search** (always runs, no download by default):
130
+
131
+ Locate the fetch script and search arXiv directly:
132
+ ```bash
133
+ # Try to find arxiv_fetch.py
134
+ SCRIPT=$(find tools/ -name "arxiv_fetch.py" 2>/dev/null | head -1)
135
+ # If not found, check ARIS install
136
+ [ -z "$SCRIPT" ] && SCRIPT=$(find ~/.claude/skills/arxiv/ -name "arxiv_fetch.py" 2>/dev/null | head -1)
137
+
138
+ # Search arXiv API for structured results (title, abstract, authors, categories)
139
+ python3 "$SCRIPT" search "QUERY" --max 10
140
+ ```
141
+
142
+ If `arxiv_fetch.py` is not found, fall back to WebSearch for arXiv (same as before).
143
+
144
+ The arXiv API returns structured metadata (title, abstract, full author list, categories, dates) — richer than WebSearch snippets. Merge these results with WebSearch findings and de-duplicate.
145
+
146
+ **Optional PDF download** (only when `ARXIV_DOWNLOAD = true`):
147
+
148
+ After all sources are searched and papers are ranked by relevance:
149
+ ```bash
150
+ # Download top N most relevant arXiv papers
151
+ python3 "$SCRIPT" download ARXIV_ID --dir papers/
152
+ ```
153
+ - Only download papers ranked in the top ARXIV_MAX_DOWNLOAD by relevance
154
+ - Skip papers already in the local library
155
+ - 1-second delay between downloads (rate limiting)
156
+ - Verify each PDF > 10 KB
157
+
158
+ ### Step 2: Analyze Each Paper
159
+ For each relevant paper (from all sources), extract:
160
+ - **Problem**: What gap does it address?
161
+ - **Method**: Core technical contribution (1-2 sentences)
162
+ - **Results**: Key numbers/claims
163
+ - **Relevance**: How does it relate to our work?
164
+ - **Source**: Where we found it (Zotero/Obsidian/local/web) — helps user know what they already have vs what's new
165
+
166
+ ### Step 3: Synthesize
167
+ - Group papers by approach/theme
168
+ - Identify consensus vs disagreements in the field
169
+ - Find gaps that our work could fill
170
+ - If Obsidian notes exist, incorporate the user's own insights into the synthesis
171
+
172
+ ### Step 4: Output
173
+ Present as a structured literature table:
174
+
175
+ ```
176
+ | Paper | Venue | Method | Key Result | Relevance to Us | Source |
177
+ |-------|-------|--------|------------|-----------------|--------|
178
+ ```
179
+
180
+ Plus a narrative summary of the landscape (3-5 paragraphs).
181
+
182
+ If Zotero BibTeX was exported, include a `references.bib` snippet for direct use in paper writing.
183
+
184
+ ### Step 5: Save (if requested)
185
+ - Save paper PDFs to `literature/` or `papers/`
186
+ - Update related work notes in project memory
187
+ - If Obsidian is available, optionally create a literature review note in the vault
188
+
189
+ ## Key Rules
190
+ - Always include paper citations (authors, year, venue)
191
+ - Distinguish between peer-reviewed and preprints
192
+ - Be honest about limitations of each paper
193
+ - Note if a paper directly competes with or supports our approach
194
+ - **Never fail because a MCP server is not configured** always fall back gracefully to the next data source
195
+ - Zotero/Obsidian tools may have different names depending on how the user configured the MCP server (e.g., `mcp__zotero__search` or `mcp__zotero-mcp__search_items`). Try the most common patterns and adapt.
@@ -13,7 +13,7 @@ Generate publishable research ideas for: $ARGUMENTS
13
13
 
14
14
  ## Overview
15
15
 
16
- Given a broad research direction from the user, systematically generate, validate, and rank concrete research ideas. This skill composes with `/research-lit` and `/novelty-check` to form a complete idea discovery pipeline.
16
+ Given a broad research direction from the user, systematically generate, validate, and rank concrete research ideas. This skill composes with `/research-lit` and `/novelty-check` to form a complete idea discovery pipeline.
17
17
 
18
18
  ## Constants
19
19
 
@@ -108,17 +108,17 @@ For each generated idea, quickly evaluate:
108
108
 
109
109
  Eliminate ideas that fail any of these. Typically 8-12 ideas reduce to 4-6.
110
110
 
111
- ### Phase 4: Deep Validation (for top ideas)
111
+ ### Phase 4: Deep Validation (for top ideas)
112
112
 
113
113
  For each surviving idea, run a deeper evaluation:
114
114
 
115
115
  1. **Novelty check**: Use the `/novelty-check` workflow (multi-source search + GPT-5.4 cross-verification) for each idea
116
116
 
117
- 2. **Critical review**: Perform a rigorous internal devil's-advocate pass:
118
- - What's the strongest objection a reviewer would raise?
119
- - What's the most likely failure mode?
120
- - How would you rank these for a top venue submission?
121
- - Which 2-3 would you actually work on?
117
+ 2. **Critical review**: Perform a rigorous internal devil's-advocate pass:
118
+ - What's the strongest objection a reviewer would raise?
119
+ - What's the most likely failure mode?
120
+ - How would you rank these for a top venue submission?
121
+ - Which 2-3 would you actually work on?
122
122
 
123
123
  3. **Combine rankings**: Merge your assessment with GPT-5.4's ranking. Select top 2-3 ideas for pilot experiments.
124
124
 
@@ -222,7 +222,7 @@ After this skill produces the ranked report:
222
222
  ```
223
223
  /idea-creator "direction" → ranked ideas
224
224
  /novelty-check "top idea" → deep novelty verification (already done in Phase 4, but user can re-run)
225
- implement → write code
226
- /run-experiment → deploy to GPU
227
- /ulw-loop → iterate until submission-ready
228
- ```
225
+ implement → write code
226
+ /run-experiment → deploy to GPU
227
+ /ulw-loop → iterate until submission-ready
228
+ ```
@@ -13,12 +13,12 @@ Orchestrate a complete idea discovery workflow for: **$ARGUMENTS**
13
13
 
14
14
  ## Overview
15
15
 
16
- This skill chains three sub-skills into a single automated pipeline:
17
-
18
- ```
19
- /research-lit → /idea-creator → /novelty-check
20
- (survey) (brainstorm) (verify novel)
21
- ```
16
+ This skill chains three sub-skills into a single automated pipeline:
17
+
18
+ ```
19
+ /research-lit → /idea-creator → /novelty-check
20
+ (survey) (brainstorm) (verify novel)
21
+ ```
22
22
 
23
23
  Each phase builds on the previous one's output. The final deliverable is a validated `IDEA_REPORT.md` with ranked ideas, pilot results, and a suggested execution plan.
24
24
 
@@ -113,15 +113,15 @@ For each top idea (positive pilot signal), run a thorough novelty check:
113
113
 
114
114
  **Update `IDEA_REPORT.md`** with deep novelty results. Eliminate any idea that turns out to be already published.
115
115
 
116
- ### Phase 4: Internal Critical Review
117
-
118
- For the surviving top idea(s), perform a rigorous internal critique:
119
-
120
- - Identify the strongest reviewer objections
121
- - List likely failure modes and missing controls
122
- - Propose minimum viable improvements to de-risk the idea
123
-
124
- **Update `IDEA_REPORT.md`** with internal review notes and a revised plan.
116
+ ### Phase 4: Internal Critical Review
117
+
118
+ For the surviving top idea(s), perform a rigorous internal critique:
119
+
120
+ - Identify the strongest reviewer objections
121
+ - List likely failure modes and missing controls
122
+ - Propose minimum viable improvements to de-risk the idea
123
+
124
+ **Update `IDEA_REPORT.md`** with internal review notes and a revised plan.
125
125
 
126
126
  ### Phase 5: Final Report
127
127
 
@@ -132,7 +132,7 @@ Finalize `IDEA_REPORT.md` with all accumulated information:
132
132
 
133
133
  **Direction**: $ARGUMENTS
134
134
  **Date**: [today]
135
- **Pipeline**: research-lit → idea-creator → novelty-check → internal review
135
+ **Pipeline**: research-lit → idea-creator → novelty-check → internal review
136
136
 
137
137
  ## Executive Summary
138
138
  [2-3 sentences: best idea, key evidence, recommended next step]
@@ -146,7 +146,7 @@ Finalize `IDEA_REPORT.md` with all accumulated information:
146
146
  ### 🏆 Idea 1: [title] — RECOMMENDED
147
147
  - Pilot: POSITIVE (+X%)
148
148
  - Novelty: CONFIRMED (closest: [paper], differentiation: [what's different])
149
- - Internal review notes: [top 2-3 risks + fixes]
149
+ - Internal review notes: [top 2-3 risks + fixes]
150
150
  - Next step: implement full experiment → /ulw-loop
151
151
 
152
152
  ### Idea 2: [title] — BACKUP
@@ -169,7 +169,7 @@ Finalize `IDEA_REPORT.md` with all accumulated information:
169
169
  - **Kill ideas early.** It's better to kill 10 bad ideas in Phase 3 than to implement one and fail.
170
170
  - **Empirical signal > theoretical appeal.** An idea with a positive pilot outranks a "sounds great" idea without evidence.
171
171
  - **Document everything.** Dead ends are just as valuable as successes for future reference.
172
- - **Be honest in the critique.** Include negative results and failed pilots in the review notes.
172
+ - **Be honest in the critique.** Include negative results and failed pilots in the review notes.
173
173
  - **Feishu notifications are optional.** If `~/.claude/feishu.json` exists, send `checkpoint` at each phase transition and `pipeline_done` at final report. If absent/off, skip silently.
174
174
 
175
175
  ## Composing with Workflow 2
@@ -13,12 +13,12 @@ Orchestrate a robotics-specific idea discovery workflow for: **$ARGUMENTS**
13
13
 
14
14
  ## Overview
15
15
 
16
- This skill chains three sub-skills into a single automated pipeline:
17
-
18
- ```
19
- /research-lit → /idea-creator (robotics framing) → /novelty-check
20
- (survey) (filter + pilot plan) (verify novel)
21
- ```
16
+ This skill chains three sub-skills into a single automated pipeline:
17
+
18
+ ```
19
+ /research-lit → /idea-creator (robotics framing) → /novelty-check
20
+ (survey) (filter + pilot plan) (verify novel)
21
+ ```
22
22
 
23
23
  But every phase must be grounded in robotics-specific constraints:
24
24
  - **Embodiment**: arm, mobile manipulator, drone, humanoid, quadruped, autonomous car, etc.
@@ -41,7 +41,7 @@ The goal is not to produce flashy demos. The goal is to produce ideas that are:
41
41
  - **PILOT_MODE = `sim-first`** — Prefer simulation or offline-log pilots before any hardware execution
42
42
  - **REAL_ROBOT_PILOTS = `explicit approval only`** — Never assume physical robot access or approval
43
43
  - **AUTO_PROCEED = true** — If user does not respond at checkpoints, proceed with the best sim-first option
44
- - **TARGET_VENUES = CoRL, RSS, ICRA, IROS, RA-L** — Default novelty and reviewer framing
44
+ - **TARGET_VENUES = CoRL, RSS, ICRA, IROS, RA-L** — Default novelty and reviewer framing
45
45
 
46
46
  > Override inline, e.g. `/idea-discovery-robot "bimanual manipulation" — only sim ideas, no real robot` or `/idea-discovery-robot "drone navigation" — focus on CoRL/RSS, 2 pilot ideas max`
47
47
 
@@ -196,7 +196,7 @@ For each idea, reject or heavily downrank if:
196
196
  2. [Idea 2] — Embodiment: [...] — Benchmark: [...] — Pilot: sim/offline — Risk: LOW/MEDIUM/HIGH
197
197
  3. [Idea 3] — requires hardware / weak benchmark / high risk
198
198
 
199
- Should I carry the top sim-first ideas into novelty checking and internal review?
199
+ Should I carry the top sim-first ideas into novelty checking and internal review?
200
200
  (If no response, I'll continue with the strongest benchmark-grounded ideas.)
201
201
  ```
202
202
 
@@ -267,16 +267,16 @@ Be especially skeptical of ideas that are just:
267
267
 
268
268
  If the method is not novel but the **finding** or **evaluation protocol** is, say that explicitly.
269
269
 
270
- ## Phase 5: Internal Robotics Review
271
-
272
- Perform an internal senior-reviewer pass. Focus on:
273
- - whether the contribution is really new for robotics, not just ML
274
- - the minimum benchmark package needed for credibility
275
- - whether the sim2real story is justified
276
- - missing baselines or failure analyses
277
- - whether the idea survives realistic infrastructure constraints
278
-
279
- Update the report with the minimum viable evidence package.
270
+ ## Phase 5: Internal Robotics Review
271
+
272
+ Perform an internal senior-reviewer pass. Focus on:
273
+ - whether the contribution is really new for robotics, not just ML
274
+ - the minimum benchmark package needed for credibility
275
+ - whether the sim2real story is justified
276
+ - missing baselines or failure analyses
277
+ - whether the idea survives realistic infrastructure constraints
278
+
279
+ Update the report with the minimum viable evidence package.
280
280
 
281
281
  ## Phase 6: Final Report
282
282
 
@@ -287,7 +287,7 @@ Write or update `IDEA_REPORT.md` with a robotics-specific structure so it stays
287
287
 
288
288
  **Direction**: $ARGUMENTS
289
289
  **Date**: [today]
290
- **Pipeline**: research-lit → idea-creator (robotics framing) → novelty-check → internal review
290
+ **Pipeline**: research-lit → idea-creator (robotics framing) → novelty-check → internal review
291
291
 
292
292
  ## Robotics Problem Frame
293
293
  - Embodiment:
@@ -308,7 +308,7 @@ Write or update `IDEA_REPORT.md` with a robotics-specific structure so it stays
308
308
  - Pilot type: sim / offline / real
309
309
  - Positive signal:
310
310
  - Novelty:
311
- - Internal review notes:
311
+ - Internal review notes:
312
312
  - Hardware risk:
313
313
  - Next step:
314
314