dsh-aris-panel 0.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 (442) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +98 -0
  3. package/README_CN.md +87 -0
  4. package/dsh/checkout.patch.yml +38 -0
  5. package/dsh/client.js +634 -0
  6. package/dsh/cordis.patch.yml +44 -0
  7. package/dsh/index.mjs +76 -0
  8. package/dsh/run-status.mjs +182 -0
  9. package/dsh/scope-limits.mjs +50 -0
  10. package/dsh/workbench.mjs +291 -0
  11. package/mcp-servers/claude-review/README.md +93 -0
  12. package/mcp-servers/claude-review/run_with_claude_aws.sh +49 -0
  13. package/mcp-servers/claude-review/server.py +718 -0
  14. package/mcp-servers/codex-image2/README.md +65 -0
  15. package/mcp-servers/codex-image2/server.py +893 -0
  16. package/mcp-servers/feishu-bridge/requirements.txt +1 -0
  17. package/mcp-servers/feishu-bridge/server.py +240 -0
  18. package/mcp-servers/gemini-review/README.md +171 -0
  19. package/mcp-servers/gemini-review/server.py +1856 -0
  20. package/mcp-servers/llm-chat/requirements.txt +1 -0
  21. package/mcp-servers/llm-chat/server.py +664 -0
  22. package/mcp-servers/manual-review/README.md +133 -0
  23. package/mcp-servers/manual-review/server.py +910 -0
  24. package/mcp-servers/manual-review/ui.html +279 -0
  25. package/mcp-servers/minimax-chat/requirements.txt +1 -0
  26. package/mcp-servers/minimax-chat/server.py +381 -0
  27. package/package.json +51 -0
  28. package/skills/ablation-planner/SKILL.md +123 -0
  29. package/skills/alphaxiv/SKILL.md +196 -0
  30. package/skills/analyze-results/SKILL.md +46 -0
  31. package/skills/arxiv/SKILL.md +248 -0
  32. package/skills/auto-paper-improvement-loop/SKILL.md +651 -0
  33. package/skills/auto-review-loop/SKILL.md +1137 -0
  34. package/skills/auto-review-loop-llm/SKILL.md +259 -0
  35. package/skills/auto-review-loop-minimax/SKILL.md +302 -0
  36. package/skills/citation-audit/SKILL.md +502 -0
  37. package/skills/claims-drafting/SKILL.md +227 -0
  38. package/skills/comm-lit-review/SKILL.md +297 -0
  39. package/skills/deepxiv/SKILL.md +263 -0
  40. package/skills/dse-loop/SKILL.md +296 -0
  41. package/skills/embodiment-description/SKILL.md +129 -0
  42. package/skills/exa-search/SKILL.md +205 -0
  43. package/skills/experiment-audit/SKILL.md +311 -0
  44. package/skills/experiment-bridge/SKILL.md +376 -0
  45. package/skills/experiment-plan/SKILL.md +249 -0
  46. package/skills/experiment-queue/SKILL.md +431 -0
  47. package/skills/experiment-queue/scripts/build_manifest.py +142 -0
  48. package/skills/experiment-queue/scripts/queue_manager.py +433 -0
  49. package/skills/feishu-notify/SKILL.md +156 -0
  50. package/skills/figure-description/SKILL.md +138 -0
  51. package/skills/figure-spec/SKILL.md +262 -0
  52. package/skills/figure-spec/scripts/figure_renderer.py +799 -0
  53. package/skills/formula-derivation/SKILL.md +280 -0
  54. package/skills/gemini-search/SKILL.md +231 -0
  55. package/skills/grant-proposal/SKILL.md +698 -0
  56. package/skills/idea-creator/SKILL.md +542 -0
  57. package/skills/idea-discovery/SKILL.md +521 -0
  58. package/skills/idea-discovery-robot/SKILL.md +363 -0
  59. package/skills/integrity-forensics/SKILL.md +284 -0
  60. package/skills/interview-cheatsheet/SKILL.md +245 -0
  61. package/skills/invention-structuring/SKILL.md +188 -0
  62. package/skills/jurisdiction-format/SKILL.md +192 -0
  63. package/skills/kill-argument/SKILL.md +437 -0
  64. package/skills/mermaid-diagram/SKILL.md +419 -0
  65. package/skills/meta-apply/SKILL.md +141 -0
  66. package/skills/meta-optimize/SKILL.md +437 -0
  67. package/skills/monitor-experiment/SKILL.md +140 -0
  68. package/skills/novelty-check/SKILL.md +101 -0
  69. package/skills/openalex/SKILL.md +237 -0
  70. package/skills/overleaf-sync/SKILL.md +220 -0
  71. package/skills/paper-claim-audit/SKILL.md +348 -0
  72. package/skills/paper-compile/SKILL.md +266 -0
  73. package/skills/paper-figure/SKILL.md +312 -0
  74. package/skills/paper-illustration/SKILL.md +736 -0
  75. package/skills/paper-illustration-image2/SKILL.md +391 -0
  76. package/skills/paper-illustration-image2/scripts/paper_illustration_image2.py +255 -0
  77. package/skills/paper-plan/SKILL.md +386 -0
  78. package/skills/paper-poster/SKILL.md +19 -0
  79. package/skills/paper-poster-html/DESIGN_FINAL.md +176 -0
  80. package/skills/paper-poster-html/IMPLEMENTATION_CONVENTIONS.md +161 -0
  81. package/skills/paper-poster-html/LICENSES/posterly-MIT.txt +21 -0
  82. package/skills/paper-poster-html/NOTICE.md +57 -0
  83. package/skills/paper-poster-html/SKILL.md +323 -0
  84. package/skills/paper-poster-html/scripts/_posterly/__init__.py +0 -0
  85. package/skills/paper-poster-html/scripts/_posterly/canvas.py +200 -0
  86. package/skills/paper-poster-html/scripts/_posterly/measure.py +588 -0
  87. package/skills/paper-poster-html/scripts/_posterly/polish.py +498 -0
  88. package/skills/paper-poster-html/scripts/_posterly/preflight.py +489 -0
  89. package/skills/paper-poster-html/scripts/_posterly/render.py +215 -0
  90. package/skills/paper-poster-html/scripts/_posterly/textutil.py +16 -0
  91. package/skills/paper-poster-html/scripts/_posterly/verify_final.py +171 -0
  92. package/skills/paper-poster-html/scripts/asset_check.py +897 -0
  93. package/skills/paper-poster-html/scripts/extract_pdf_figures.py +666 -0
  94. package/skills/paper-poster-html/scripts/poster_check.py +251 -0
  95. package/skills/paper-poster-html/scripts/preprocess_figures.py +238 -0
  96. package/skills/paper-poster-html/scripts/render_preview.py +217 -0
  97. package/skills/paper-poster-html/scripts/run_gates.py +556 -0
  98. package/skills/paper-poster-html/scripts/style_check.py +1324 -0
  99. package/skills/paper-poster-html/templates/COMPONENTS.md +462 -0
  100. package/skills/paper-poster-html/templates/README.md +170 -0
  101. package/skills/paper-poster-html/templates/landscape_4col.html +1032 -0
  102. package/skills/paper-poster-html/templates/landscape_hero.html +1046 -0
  103. package/skills/paper-poster-html/templates/portrait_2col.html +947 -0
  104. package/skills/paper-poster-html/templates/tokens/acl.json +9 -0
  105. package/skills/paper-poster-html/templates/tokens/cvpr.json +9 -0
  106. package/skills/paper-poster-html/templates/tokens/generic.json +9 -0
  107. package/skills/paper-poster-html/templates/tokens/iclr.json +9 -0
  108. package/skills/paper-poster-html/templates/tokens/icml.json +9 -0
  109. package/skills/paper-poster-html/templates/tokens/neurips.json +9 -0
  110. package/skills/paper-slides/SKILL.md +635 -0
  111. package/skills/paper-talk/SKILL.md +381 -0
  112. package/skills/paper-write/SKILL.md +604 -0
  113. package/skills/paper-write/templates/IEEEtran.bst +2409 -0
  114. package/skills/paper-write/templates/IEEEtran.cls +6347 -0
  115. package/skills/paper-write/templates/iclr2026.tex +84 -0
  116. package/skills/paper-write/templates/icml2025.tex +87 -0
  117. package/skills/paper-write/templates/ieee_conference.tex +89 -0
  118. package/skills/paper-write/templates/ieee_journal.tex +93 -0
  119. package/skills/paper-write/templates/math_commands.tex +48 -0
  120. package/skills/paper-write/templates/neurips2025.tex +80 -0
  121. package/skills/paper-writing/SKILL.md +916 -0
  122. package/skills/patent-novelty-check/SKILL.md +153 -0
  123. package/skills/patent-pipeline/SKILL.md +344 -0
  124. package/skills/patent-review/SKILL.md +203 -0
  125. package/skills/pixel-art/SKILL.md +137 -0
  126. package/skills/prior-art-search/SKILL.md +146 -0
  127. package/skills/proof-checker/SKILL.md +866 -0
  128. package/skills/proof-orchestrator/NOTICE.md +24 -0
  129. package/skills/proof-orchestrator/SKILL.md +254 -0
  130. package/skills/proof-orchestrator/references/audit-output-contract.md +126 -0
  131. package/skills/proof-orchestrator/references/deepseek-routing.md +74 -0
  132. package/skills/proof-orchestrator/references/dispatch-prompts.md +227 -0
  133. package/skills/proof-orchestrator/references/notation-audit.md +135 -0
  134. package/skills/proof-orchestrator/references/proof-audit-rubric.md +70 -0
  135. package/skills/proof-orchestrator/references/stress-tests.md +38 -0
  136. package/skills/proof-writer/SKILL.md +223 -0
  137. package/skills/qzcli/SKILL.md +324 -0
  138. package/skills/rebuttal/SKILL.md +376 -0
  139. package/skills/render-html/SKILL.md +316 -0
  140. package/skills/render-html/scripts/render_html.py +1006 -0
  141. package/skills/render-html/scripts/templates/academic.html +703 -0
  142. package/skills/render-html/scripts/templates/dashboard.html +333 -0
  143. package/skills/research-lit/SKILL.md +756 -0
  144. package/skills/research-pipeline/SKILL.md +384 -0
  145. package/skills/research-refine/SKILL.md +770 -0
  146. package/skills/research-refine-pipeline/SKILL.md +186 -0
  147. package/skills/research-review/SKILL.md +198 -0
  148. package/skills/research-wiki/SKILL.md +461 -0
  149. package/skills/resubmit-pipeline/SKILL.md +447 -0
  150. package/skills/result-to-claim/SKILL.md +311 -0
  151. package/skills/run-experiment/SKILL.md +313 -0
  152. package/skills/semantic-scholar/SKILL.md +236 -0
  153. package/skills/serverless-modal/SKILL.md +335 -0
  154. package/skills/shared-references/acceptance-gate.md +324 -0
  155. package/skills/shared-references/assurance-contract.md +248 -0
  156. package/skills/shared-references/capture-antipatterns.md +78 -0
  157. package/skills/shared-references/citation-discipline.md +583 -0
  158. package/skills/shared-references/compute-env-contract.md +163 -0
  159. package/skills/shared-references/effort-contract.md +183 -0
  160. package/skills/shared-references/evidence-precheck.md +65 -0
  161. package/skills/shared-references/experiment-integrity.md +49 -0
  162. package/skills/shared-references/external-cadence.md +326 -0
  163. package/skills/shared-references/fan-out-pattern.md +366 -0
  164. package/skills/shared-references/injection-hygiene.md +127 -0
  165. package/skills/shared-references/integration-contract.md +461 -0
  166. package/skills/shared-references/output-composition.md +93 -0
  167. package/skills/shared-references/output-language.md +45 -0
  168. package/skills/shared-references/output-manifest.md +49 -0
  169. package/skills/shared-references/output-versioning.md +111 -0
  170. package/skills/shared-references/patent-format-cn.md +199 -0
  171. package/skills/shared-references/patent-format-ep.md +173 -0
  172. package/skills/shared-references/patent-format-us.md +161 -0
  173. package/skills/shared-references/patent-writing-principles.md +197 -0
  174. package/skills/shared-references/prior-art-databases.md +141 -0
  175. package/skills/shared-references/resumable-runs.md +109 -0
  176. package/skills/shared-references/review-scope-limits.md +81 -0
  177. package/skills/shared-references/review-tracing.md +391 -0
  178. package/skills/shared-references/reviewer-independence.md +79 -0
  179. package/skills/shared-references/reviewer-routing.md +852 -0
  180. package/skills/shared-references/skill-governance.md +104 -0
  181. package/skills/shared-references/taste-calibration.md +85 -0
  182. package/skills/shared-references/venue-checklists.md +114 -0
  183. package/skills/shared-references/wiki-helper-resolution.md +134 -0
  184. package/skills/shared-references/writing-principles.md +525 -0
  185. package/skills/skills-codex/README.md +102 -0
  186. package/skills/skills-codex/README_CN.md +100 -0
  187. package/skills/skills-codex/ablation-planner/SKILL.md +126 -0
  188. package/skills/skills-codex/alphaxiv/SKILL.md +186 -0
  189. package/skills/skills-codex/analyze-results/SKILL.md +45 -0
  190. package/skills/skills-codex/arxiv/SKILL.md +210 -0
  191. package/skills/skills-codex/auto-paper-improvement-loop/SKILL.md +574 -0
  192. package/skills/skills-codex/auto-review-loop/SKILL.md +500 -0
  193. package/skills/skills-codex/auto-review-loop-llm/SKILL.md +247 -0
  194. package/skills/skills-codex/auto-review-loop-minimax/SKILL.md +290 -0
  195. package/skills/skills-codex/citation-audit/SKILL.md +504 -0
  196. package/skills/skills-codex/claims-drafting/SKILL.md +239 -0
  197. package/skills/skills-codex/comm-lit-review/SKILL.md +299 -0
  198. package/skills/skills-codex/comm-lit-review/references/domain-taxonomy.md +57 -0
  199. package/skills/skills-codex/comm-lit-review/references/output-template.md +37 -0
  200. package/skills/skills-codex/comm-lit-review/references/source-policy.md +99 -0
  201. package/skills/skills-codex/comm-lit-review/references/venue-tiering.md +112 -0
  202. package/skills/skills-codex/deepxiv/SKILL.md +142 -0
  203. package/skills/skills-codex/dse-loop/SKILL.md +285 -0
  204. package/skills/skills-codex/embodiment-description/SKILL.md +129 -0
  205. package/skills/skills-codex/exa-search/SKILL.md +192 -0
  206. package/skills/skills-codex/experiment-audit/SKILL.md +286 -0
  207. package/skills/skills-codex/experiment-bridge/SKILL.md +356 -0
  208. package/skills/skills-codex/experiment-plan/SKILL.md +249 -0
  209. package/skills/skills-codex/experiment-queue/SKILL.md +401 -0
  210. package/skills/skills-codex/feishu-notify/SKILL.md +155 -0
  211. package/skills/skills-codex/figure-description/SKILL.md +138 -0
  212. package/skills/skills-codex/figure-spec/SKILL.md +252 -0
  213. package/skills/skills-codex/formula-derivation/SKILL.md +280 -0
  214. package/skills/skills-codex/gemini-search/SKILL.md +205 -0
  215. package/skills/skills-codex/grant-proposal/SKILL.md +626 -0
  216. package/skills/skills-codex/idea-creator/SKILL.md +405 -0
  217. package/skills/skills-codex/idea-discovery/SKILL.md +475 -0
  218. package/skills/skills-codex/idea-discovery-robot/SKILL.md +362 -0
  219. package/skills/skills-codex/integrity-forensics/SKILL.md +106 -0
  220. package/skills/skills-codex/interview-cheatsheet/SKILL.md +245 -0
  221. package/skills/skills-codex/invention-structuring/SKILL.md +188 -0
  222. package/skills/skills-codex/jurisdiction-format/SKILL.md +192 -0
  223. package/skills/skills-codex/kill-argument/SKILL.md +403 -0
  224. package/skills/skills-codex/mermaid-diagram/SKILL.md +379 -0
  225. package/skills/skills-codex/meta-apply/SKILL.md +154 -0
  226. package/skills/skills-codex/meta-optimize/SKILL.md +348 -0
  227. package/skills/skills-codex/monitor-experiment/SKILL.md +98 -0
  228. package/skills/skills-codex/novelty-check/SKILL.md +89 -0
  229. package/skills/skills-codex/openalex/SKILL.md +228 -0
  230. package/skills/skills-codex/overleaf-sync/SKILL.md +220 -0
  231. package/skills/skills-codex/paper-claim-audit/SKILL.md +350 -0
  232. package/skills/skills-codex/paper-compile/SKILL.md +253 -0
  233. package/skills/skills-codex/paper-figure/SKILL.md +311 -0
  234. package/skills/skills-codex/paper-illustration/SKILL.md +690 -0
  235. package/skills/skills-codex/paper-illustration-image2/SKILL.md +383 -0
  236. package/skills/skills-codex/paper-illustration-image2/scripts/paper_illustration_image2.py +255 -0
  237. package/skills/skills-codex/paper-plan/SKILL.md +278 -0
  238. package/skills/skills-codex/paper-poster/SKILL.md +19 -0
  239. package/skills/skills-codex/paper-poster-html/SKILL.md +377 -0
  240. package/skills/skills-codex/paper-slides/SKILL.md +571 -0
  241. package/skills/skills-codex/paper-talk/SKILL.md +381 -0
  242. package/skills/skills-codex/paper-write/SKILL.md +411 -0
  243. package/skills/skills-codex/paper-write/templates/IEEEtran.bst +2409 -0
  244. package/skills/skills-codex/paper-write/templates/IEEEtran.cls +6347 -0
  245. package/skills/skills-codex/paper-write/templates/aaai2026.bst +1493 -0
  246. package/skills/skills-codex/paper-write/templates/aaai2026.sty +315 -0
  247. package/skills/skills-codex/paper-write/templates/aaai2026.tex +952 -0
  248. package/skills/skills-codex/paper-write/templates/acl.sty +312 -0
  249. package/skills/skills-codex/paper-write/templates/acl2026.tex +377 -0
  250. package/skills/skills-codex/paper-write/templates/acl_natbib.bst +1940 -0
  251. package/skills/skills-codex/paper-write/templates/acm.bst +3081 -0
  252. package/skills/skills-codex/paper-write/templates/acm_mm2026.tex +204 -0
  253. package/skills/skills-codex/paper-write/templates/acmart.cls +3520 -0
  254. package/skills/skills-codex/paper-write/templates/cvpr.bst +1448 -0
  255. package/skills/skills-codex/paper-write/templates/cvpr.sty +508 -0
  256. package/skills/skills-codex/paper-write/templates/cvpr2026.tex +63 -0
  257. package/skills/skills-codex/paper-write/templates/iclr2026.tex +84 -0
  258. package/skills/skills-codex/paper-write/templates/iclr2026_conference.bst +1440 -0
  259. package/skills/skills-codex/paper-write/templates/iclr2026_conference.sty +246 -0
  260. package/skills/skills-codex/paper-write/templates/icml2026.sty +767 -0
  261. package/skills/skills-codex/paper-write/templates/icml2026.tex +662 -0
  262. package/skills/skills-codex/paper-write/templates/ieee_conference.tex +89 -0
  263. package/skills/skills-codex/paper-write/templates/ieee_journal.tex +93 -0
  264. package/skills/skills-codex/paper-write/templates/math_commands.tex +48 -0
  265. package/skills/skills-codex/paper-write/templates/neurips2026.tex +493 -0
  266. package/skills/skills-codex/paper-write/templates/neurips_2026.sty +437 -0
  267. package/skills/skills-codex/paper-writing/SKILL.md +731 -0
  268. package/skills/skills-codex/patent-novelty-check/SKILL.md +153 -0
  269. package/skills/skills-codex/patent-pipeline/SKILL.md +344 -0
  270. package/skills/skills-codex/patent-review/SKILL.md +202 -0
  271. package/skills/skills-codex/pixel-art/SKILL.md +139 -0
  272. package/skills/skills-codex/prior-art-search/SKILL.md +146 -0
  273. package/skills/skills-codex/proof-checker/SKILL.md +554 -0
  274. package/skills/skills-codex/proof-orchestrator/SKILL.md +260 -0
  275. package/skills/skills-codex/proof-orchestrator/references/audit-output-contract.md +126 -0
  276. package/skills/skills-codex/proof-orchestrator/references/deepseek-routing.md +76 -0
  277. package/skills/skills-codex/proof-orchestrator/references/dispatch-prompts.md +227 -0
  278. package/skills/skills-codex/proof-orchestrator/references/notation-audit.md +135 -0
  279. package/skills/skills-codex/proof-orchestrator/references/proof-audit-rubric.md +70 -0
  280. package/skills/skills-codex/proof-orchestrator/references/stress-tests.md +38 -0
  281. package/skills/skills-codex/proof-writer/SKILL.md +222 -0
  282. package/skills/skills-codex/qzcli/SKILL.md +324 -0
  283. package/skills/skills-codex/rebuttal/SKILL.md +305 -0
  284. package/skills/skills-codex/render-html/SKILL.md +305 -0
  285. package/skills/skills-codex/render-html/scripts/__pycache__/render_html.cpython-314.pyc +0 -0
  286. package/skills/skills-codex/render-html/scripts/render_html.py +909 -0
  287. package/skills/skills-codex/render-html/scripts/templates/academic.html +342 -0
  288. package/skills/skills-codex/render-html/scripts/templates/dashboard.html +333 -0
  289. package/skills/skills-codex/research-lit/SKILL.md +464 -0
  290. package/skills/skills-codex/research-pipeline/SKILL.md +340 -0
  291. package/skills/skills-codex/research-refine/SKILL.md +721 -0
  292. package/skills/skills-codex/research-refine-pipeline/SKILL.md +186 -0
  293. package/skills/skills-codex/research-review/SKILL.md +135 -0
  294. package/skills/skills-codex/research-wiki/SKILL.md +421 -0
  295. package/skills/skills-codex/resubmit-pipeline/SKILL.md +444 -0
  296. package/skills/skills-codex/result-to-claim/SKILL.md +246 -0
  297. package/skills/skills-codex/run-experiment/SKILL.md +236 -0
  298. package/skills/skills-codex/semantic-scholar/SKILL.md +219 -0
  299. package/skills/skills-codex/serverless-modal/SKILL.md +335 -0
  300. package/skills/skills-codex/shared-references/acceptance-gate.md +336 -0
  301. package/skills/skills-codex/shared-references/assurance-contract.md +139 -0
  302. package/skills/skills-codex/shared-references/capture-antipatterns.md +84 -0
  303. package/skills/skills-codex/shared-references/citation-discipline.md +452 -0
  304. package/skills/skills-codex/shared-references/compute-env-contract.md +163 -0
  305. package/skills/skills-codex/shared-references/effort-contract.md +143 -0
  306. package/skills/skills-codex/shared-references/evidence-precheck.md +73 -0
  307. package/skills/skills-codex/shared-references/experiment-integrity.md +49 -0
  308. package/skills/skills-codex/shared-references/external-cadence.md +334 -0
  309. package/skills/skills-codex/shared-references/fan-out-pattern.md +375 -0
  310. package/skills/skills-codex/shared-references/injection-hygiene.md +132 -0
  311. package/skills/skills-codex/shared-references/integration-contract.md +372 -0
  312. package/skills/skills-codex/shared-references/output-composition.md +98 -0
  313. package/skills/skills-codex/shared-references/output-language.md +45 -0
  314. package/skills/skills-codex/shared-references/output-manifest.md +40 -0
  315. package/skills/skills-codex/shared-references/output-versioning.md +111 -0
  316. package/skills/skills-codex/shared-references/patent-format-cn.md +199 -0
  317. package/skills/skills-codex/shared-references/patent-format-ep.md +173 -0
  318. package/skills/skills-codex/shared-references/patent-format-us.md +161 -0
  319. package/skills/skills-codex/shared-references/patent-writing-principles.md +197 -0
  320. package/skills/skills-codex/shared-references/prior-art-databases.md +141 -0
  321. package/skills/skills-codex/shared-references/resumable-runs.md +125 -0
  322. package/skills/skills-codex/shared-references/review-scope-limits.md +81 -0
  323. package/skills/skills-codex/shared-references/review-tracing.md +144 -0
  324. package/skills/skills-codex/shared-references/reviewer-independence.md +66 -0
  325. package/skills/skills-codex/shared-references/reviewer-routing.md +128 -0
  326. package/skills/skills-codex/shared-references/skill-governance.md +119 -0
  327. package/skills/skills-codex/shared-references/taste-calibration.md +90 -0
  328. package/skills/skills-codex/shared-references/venue-checklists.md +73 -0
  329. package/skills/skills-codex/shared-references/wiki-helper-resolution.md +69 -0
  330. package/skills/skills-codex/shared-references/writing-principles.md +525 -0
  331. package/skills/skills-codex/slides-polish/SKILL.md +563 -0
  332. package/skills/skills-codex/specification-writing/SKILL.md +211 -0
  333. package/skills/skills-codex/system-profile/SKILL.md +103 -0
  334. package/skills/skills-codex/training-check/SKILL.md +83 -0
  335. package/skills/skills-codex/vast-gpu/SKILL.md +394 -0
  336. package/skills/skills-codex/web-debug-search/SKILL.md +334 -0
  337. package/skills/skills-codex/wiki-enrich/SKILL.md +255 -0
  338. package/skills/skills-codex/writing-systems-papers/SKILL.md +184 -0
  339. package/skills/skills-codex-claude-review/README.md +79 -0
  340. package/skills/skills-codex-claude-review/README_CN.md +78 -0
  341. package/skills/skills-codex-claude-review/auto-paper-improvement-loop/SKILL.md +581 -0
  342. package/skills/skills-codex-claude-review/auto-review-loop/SKILL.md +510 -0
  343. package/skills/skills-codex-claude-review/novelty-check/SKILL.md +102 -0
  344. package/skills/skills-codex-claude-review/paper-figure/SKILL.md +319 -0
  345. package/skills/skills-codex-claude-review/paper-plan/SKILL.md +287 -0
  346. package/skills/skills-codex-claude-review/paper-write/SKILL.md +420 -0
  347. package/skills/skills-codex-claude-review/research-refine/SKILL.md +732 -0
  348. package/skills/skills-codex-claude-review/research-review/SKILL.md +149 -0
  349. package/skills/skills-codex-gemini-review/README.md +176 -0
  350. package/skills/skills-codex-gemini-review/README_CN.md +175 -0
  351. package/skills/skills-codex-gemini-review/auto-paper-improvement-loop/SKILL.md +331 -0
  352. package/skills/skills-codex-gemini-review/auto-review-loop/SKILL.md +304 -0
  353. package/skills/skills-codex-gemini-review/grant-proposal/SKILL.md +630 -0
  354. package/skills/skills-codex-gemini-review/idea-creator/SKILL.md +263 -0
  355. package/skills/skills-codex-gemini-review/idea-discovery/SKILL.md +275 -0
  356. package/skills/skills-codex-gemini-review/idea-discovery-robot/SKILL.md +365 -0
  357. package/skills/skills-codex-gemini-review/novelty-check/SKILL.md +92 -0
  358. package/skills/skills-codex-gemini-review/paper-figure/SKILL.md +289 -0
  359. package/skills/skills-codex-gemini-review/paper-plan/SKILL.md +265 -0
  360. package/skills/skills-codex-gemini-review/paper-poster-html/SKILL.md +102 -0
  361. package/skills/skills-codex-gemini-review/paper-slides/SKILL.md +582 -0
  362. package/skills/skills-codex-gemini-review/paper-write/SKILL.md +346 -0
  363. package/skills/skills-codex-gemini-review/paper-writing/SKILL.md +312 -0
  364. package/skills/skills-codex-gemini-review/research-refine/SKILL.md +674 -0
  365. package/skills/skills-codex-gemini-review/research-review/SKILL.md +112 -0
  366. package/skills/slides-polish/SKILL.md +565 -0
  367. package/skills/specification-writing/SKILL.md +211 -0
  368. package/skills/system-profile/SKILL.md +103 -0
  369. package/skills/training-check/SKILL.md +132 -0
  370. package/skills/vast-gpu/SKILL.md +394 -0
  371. package/skills/web-debug-search/SKILL.md +334 -0
  372. package/skills/wiki-enrich/SKILL.md +257 -0
  373. package/skills/writing-systems-papers/SKILL.md +184 -0
  374. package/templates/CLAUDE_MD_TEMPLATE.md +29 -0
  375. package/templates/EXPERIMENT_LOG_TEMPLATE.md +47 -0
  376. package/templates/EXPERIMENT_PLAN_TEMPLATE.md +51 -0
  377. package/templates/EXPERIMENT_PLAN_TEMPLATE_CN.md +53 -0
  378. package/templates/FINDINGS_TEMPLATE.md +52 -0
  379. package/templates/IDEA_CANDIDATES_TEMPLATE.md +47 -0
  380. package/templates/IDEA_CANDIDATES_TEMPLATE_CN.md +47 -0
  381. package/templates/INVENTION_BRIEF_TEMPLATE.md +87 -0
  382. package/templates/MANIFEST_TEMPLATE.md +7 -0
  383. package/templates/NARRATIVE_REPORT_TEMPLATE.md +49 -0
  384. package/templates/PAPER_PLAN_TEMPLATE.md +47 -0
  385. package/templates/PATENT_CLAIMS_TEMPLATE.md +78 -0
  386. package/templates/PATENT_SPECIFICATION_TEMPLATE.md +68 -0
  387. package/templates/README.md +57 -0
  388. package/templates/RESEARCH_BRIEF_TEMPLATE.md +35 -0
  389. package/templates/RESEARCH_BRIEF_TEMPLATE_CN.md +41 -0
  390. package/templates/RESEARCH_CONTRACT_TEMPLATE.md +60 -0
  391. package/templates/claude-hooks/corpus_write_guard.json +16 -0
  392. package/templates/claude-hooks/corpus_write_guard.py +85 -0
  393. package/templates/claude-hooks/meta_logging.json +74 -0
  394. package/templates/gitignore-trace.txt +3 -0
  395. package/tools/__pycache__/check_skills_inventory.cpython-314.pyc +0 -0
  396. package/tools/arxiv_fetch.py +311 -0
  397. package/tools/capture_filter.py +126 -0
  398. package/tools/check_skills_inventory.py +273 -0
  399. package/tools/convert_skills_to_llm_chat.py +282 -0
  400. package/tools/copilot_native_evidence.py +818 -0
  401. package/tools/deepxiv_fetch.py +213 -0
  402. package/tools/evidence_check.py +212 -0
  403. package/tools/exa_search.py +425 -0
  404. package/tools/experiment_queue/README.md +118 -0
  405. package/tools/experiment_queue/build_manifest.py +44 -0
  406. package/tools/experiment_queue/queue_manager.py +44 -0
  407. package/tools/extract_paper_style.py +560 -0
  408. package/tools/figure_renderer.py +69 -0
  409. package/tools/forensics_gate.py +669 -0
  410. package/tools/generate_codex_claude_review_overrides.py +299 -0
  411. package/tools/idea_discovery_gate.py +256 -0
  412. package/tools/install_aris.ps1 +1372 -0
  413. package/tools/install_aris.sh +1370 -0
  414. package/tools/install_aris_codex.sh +1023 -0
  415. package/tools/install_aris_copilot.sh +1052 -0
  416. package/tools/iteration_log.py +143 -0
  417. package/tools/lint_skills_helpers.sh +84 -0
  418. package/tools/meta_opt/check_ready.sh +80 -0
  419. package/tools/meta_opt/log_event.sh +91 -0
  420. package/tools/meta_opt/trigger_eval.py +280 -0
  421. package/tools/meta_opt/trigger_evals.sample.json +28 -0
  422. package/tools/openalex_fetch.py +326 -0
  423. package/tools/overleaf_audit.sh +104 -0
  424. package/tools/overleaf_setup.sh +150 -0
  425. package/tools/paper_illustration_image2.py +62 -0
  426. package/tools/provenance.py +294 -0
  427. package/tools/research_wiki.py +1720 -0
  428. package/tools/review_gate.py +502 -0
  429. package/tools/run_state.py +399 -0
  430. package/tools/save_trace.sh +477 -0
  431. package/tools/semantic_scholar_fetch.py +438 -0
  432. package/tools/skill-groups.tsv +116 -0
  433. package/tools/skill_picker.py +238 -0
  434. package/tools/smart_update.ps1 +521 -0
  435. package/tools/smart_update.sh +591 -0
  436. package/tools/smart_update_codex.sh +419 -0
  437. package/tools/smart_update_copilot.sh +605 -0
  438. package/tools/threat_scan.py +222 -0
  439. package/tools/verify_paper_audits.sh +487 -0
  440. package/tools/verify_papers.py +613 -0
  441. package/tools/verify_wiki_coverage.sh +176 -0
  442. package/tools/watchdog.py +485 -0
@@ -0,0 +1,521 @@
1
+ ---
2
+ name: idea-discovery
3
+ description: "Workflow 1: Full idea discovery pipeline to go from a broad research direction to validated, pilot-tested ideas. Use when user says \"找idea全流程\", \"idea discovery pipeline\", \"从零开始找方向\", or wants the complete idea exploration workflow."
4
+ argument-hint: "[research-direction]"
5
+ allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, WebSearch, WebFetch, Skill, mcp__codex__codex, mcp__codex__codex-reply
6
+ ---
7
+
8
+ # Workflow 1: Idea Discovery Pipeline
9
+
10
+ Orchestrate a complete idea discovery workflow for: **$ARGUMENTS**
11
+
12
+ ## Overview
13
+
14
+ This skill chains sub-skills into a single automated pipeline:
15
+
16
+ ```
17
+ /research-lit → /idea-creator → /novelty-check → /research-review → /research-refine-pipeline
18
+ (survey) (brainstorm) (verify novel) (critical feedback) (refine method + plan experiments)
19
+ ```
20
+
21
+ Each phase builds on the previous one's output. The final deliverables are a validated `idea-stage/IDEA_REPORT.md` with ranked ideas, plus a refined proposal (`refine-logs/FINAL_PROPOSAL.md`) and experiment plan (`refine-logs/EXPERIMENT_PLAN.md`) for the top idea.
22
+
23
+ ## Constants
24
+
25
+ - **PILOT_MAX_HOURS = 2** — Skip any pilot experiment estimated to take > 2 hours per GPU. Flag as "needs manual pilot" in the report.
26
+ - **PILOT_TIMEOUT_HOURS = 3** — Hard timeout: kill any running pilot that exceeds 3 hours. Collect partial results if available.
27
+ - **MAX_PILOT_IDEAS = 3** — Run pilots for at most 3 top ideas in parallel. Additional ideas are validated on paper only.
28
+ - **MAX_TOTAL_GPU_HOURS = 8** — Total GPU budget across all pilots. If exceeded, skip remaining pilots and note in report.
29
+ - **AUTO_PROCEED = true** — When `true`, checkpoints are informational: report the selected option and continue in the same turn. Set to `false` to ask for explicit user confirmation and end the turn at each selection checkpoint.
30
+ - **REVIEWER_MODEL = `gpt-5.6-sol`** — Model used via Codex MCP. Must be an OpenAI model (e.g., `gpt-5.6-sol`, `o3`, `gpt-4o`). Passed to sub-skills.
31
+ - **OUTPUT_DIR = `idea-stage/`** — All idea-stage outputs go here. Create the directory if it doesn't exist.
32
+ - **ARXIV_DOWNLOAD = false** — When `true`, `/research-lit` downloads the top relevant arXiv PDFs during Phase 1. When `false` (default), only fetches metadata. Passed through to `/research-lit`.
33
+ - **COMPACT = false** — When `true`, generate compact summary files for short-context models and session recovery. Writes `idea-stage/IDEA_CANDIDATES.md` (top 3-5 ideas only) at the end of this workflow. Downstream skills read this instead of the full `idea-stage/IDEA_REPORT.md`.
34
+ - **RENDER_HTML = true** — When `true` (default), auto-render `idea-stage/IDEA_REPORT.md` to HTML at workflow end via `/render-html`. Uses `--no-review` (the source MD already went through novelty + cross-model review during Phase 3). Set `false` to skip, or pass `— render html: false`.
35
+ - **REF_PAPER = false** — Reference paper to base ideas on. Accepts: local PDF path, arXiv URL, or any paper URL. When set, the paper is summarized first (`idea-stage/REF_PAPER_SUMMARY.md`), then idea generation uses it as context. Combine with `base repo` for "improve this paper with this codebase" workflows.
36
+ - **RESUMABLE = true** — Record stage evidence under `.aris/runs/<run_id>.json` and require a deterministic evidence gate before declaring the final report complete.
37
+
38
+ > 💡 These are defaults. Override by telling the skill, e.g., `/idea-discovery "topic" — ref paper: https://arxiv.org/abs/2406.04329` or `/idea-discovery "topic" — compact: true`.
39
+
40
+ ## Checkpoint execution rule
41
+
42
+ Resolve `AUTO_PROCEED` once from `$ARGUMENTS` before Phase 0 and keep that mode
43
+ for the entire workflow.
44
+
45
+ - **`AUTO_PROCEED=true` is non-blocking.** A checkpoint is a progress update,
46
+ not a question. State the result and the automatically selected next action,
47
+ then continue executing in the **same turn**. Do not ask for confirmation,
48
+ request user input, sleep, wait for silence, or end the turn at a checkpoint.
49
+ - **`AUTO_PROCEED=false` is blocking.** Present the options, ask the user, and
50
+ end the turn. Resume only after an explicit reply.
51
+
52
+ Never implement auto-proceed as “ask, then continue if there is no response.”
53
+ Once a turn ends, silence cannot resume the workflow. The user can still
54
+ interrupt a non-blocking run at any time.
55
+
56
+ This rule governs only `AUTO_PROCEED`-controlled selection checkpoints. If the
57
+ user explicitly enables a Feishu **interactive** gate, that external approval
58
+ or reply is an intentional blocking exception; wait for that user-controlled
59
+ gate rather than treating it as a silence timeout. Feishu off/push-only modes
60
+ remain non-blocking under `AUTO_PROCEED=true`.
61
+
62
+ ## Per-stage evidence gate (`RESUMABLE = true`)
63
+
64
+ Resolve `run_state.py` and `idea_discovery_gate.py` through the same canonical
65
+ helper chain used by `/research-pipeline`: `.aris/tools/` → `tools/` →
66
+ `$ARIS_REPO/tools/` → `~/.aris/repo/tools/`. If either helper is unavailable,
67
+ the final report is `BLOCKED`; do not silently continue without a state record.
68
+
69
+ For a new run, derive `<run_id>` from the direction slug and date, then start
70
+ this ordered state record with `--executor <actual-Claude-model>` (for example,
71
+ `claude-sonnet-4.5`):
72
+
73
+ ```text
74
+ research-lit,idea-creator,novelty-check,research-review,research-refine-pipeline
75
+ ```
76
+
77
+ For each phase, mark `running` on entry and `done --artifact <path>` only after
78
+ its artifact is present. Use these artifact locators so the final gate can
79
+ check the canonical report rather than scattered scratch files:
80
+
81
+ | Phase | Artifact locator |
82
+ |---|---|
83
+ | `research-lit` | `idea-stage/IDEA_REPORT.md#literature-landscape` |
84
+ | `idea-creator` | `idea-stage/IDEA_REPORT.md#ranked-ideas` |
85
+ | `novelty-check` | `idea-stage/IDEA_REPORT.md#novelty-verification` |
86
+ | `research-review` | `idea-stage/IDEA_REPORT.md#external-critical-review` |
87
+ | `research-refine-pipeline` | `refine-logs/FINAL_PROPOSAL.md` |
88
+
89
+ `novelty-check` and `research-review` are **reviewer-bearing phases**. A
90
+ `done` status or a heading alone is not review evidence. After each phase has
91
+ folded substantive findings into its anchored report section, first record it
92
+ `done`, then, only after the configured reviewer actually returns a positive,
93
+ identity-bearing verdict, record the cross-family receipt using the actual
94
+ returned model and durable thread/trace id:
95
+
96
+ ```text
97
+ <resolved-python> <resolved-run_state.py> accept . <run_id> novelty-check --verdict-id "<thread-or-trace-id>" --reviewer "<actual-reviewer-model>"
98
+ <resolved-python> <resolved-run_state.py> accept . <run_id> research-review --verdict-id "<thread-or-trace-id>" --reviewer "<actual-reviewer-model>"
99
+ ```
100
+
101
+ Never invent either value and never call `accept` without the positive verdict
102
+ required by the run-state contract. A negative verdict does not grant a review receipt.
103
+ Leave the phase `done` and the final gate `BLOCKED`, select a surviving
104
+ or new idea, then re-run that reviewer-bearing phase. Do the same if the
105
+ reviewer is unavailable, returns no valid identity/response, or its output was
106
+ not folded into the report.
107
+
108
+ At the end of Phase 5, run:
109
+
110
+ ```text
111
+ <resolved-python> <resolved-idea_discovery_gate.py> . <run_id> --report idea-stage/IDEA_REPORT.md
112
+ ```
113
+
114
+ The gate writes its result to `gates.idea-discovery-evidence` in the run state.
115
+ On `PASS`, it has validated (but never created) the two review receipts, all
116
+ required artifacts, and non-empty anchored report sections. Per-phase
117
+ acceptance stays with each stage's own cross-model gate. On a non-zero exit, it
118
+ writes explicit `BLOCKED: <stage> evidence missing` lines to the report; do not
119
+ present the workflow as complete. On `— resume <run_id>`, start from the first
120
+ non-terminal phase and re-run the gate before finalizing.
121
+
122
+ ## Pipeline
123
+
124
+ ### Phase 0: Load Research Brief (if available)
125
+
126
+ Before starting any other phase, check for a detailed research brief in the project:
127
+
128
+ 1. Look for `RESEARCH_BRIEF.md` in the project root (or path passed as `$ARGUMENTS`)
129
+ 2. If found, read it and extract:
130
+ - Problem statement and context
131
+ - Constraints (compute, data, timeline, venue)
132
+ - What the user already tried / what didn't work
133
+ - Domain knowledge and non-goals
134
+ - Existing results (if any)
135
+ 3. Use this as the primary context for all subsequent phases — it replaces the one-line prompt
136
+ 4. If both `RESEARCH_BRIEF.md` and a one-line `$ARGUMENTS` exist, merge them (brief takes priority for details, argument sets the direction)
137
+
138
+ If no brief exists, proceed normally with `$ARGUMENTS` as the research direction.
139
+
140
+ > 💡 Create a brief from the template: `cp templates/RESEARCH_BRIEF_TEMPLATE.md RESEARCH_BRIEF.md` — keep it to ~1-2 pages (4-8k chars); long material goes in separate files referenced by path.
141
+
142
+ ### Phase 0.5: Reference Paper Summary (when REF_PAPER is set)
143
+
144
+ **Skip entirely if `REF_PAPER` is `false`.**
145
+
146
+ Summarize the reference paper before searching the literature:
147
+
148
+ 1. **If arXiv URL** (e.g., `https://arxiv.org/abs/2406.04329`):
149
+ - Invoke `/arxiv "ARXIV_ID" — download` to fetch the PDF
150
+ - Read the first 5 pages (title, abstract, intro, method overview)
151
+
152
+ 2. **If local PDF path** (e.g., `papers/reference.pdf`):
153
+ - Read the PDF directly (first 5 pages)
154
+
155
+ 3. **If other URL**:
156
+ - Fetch and extract content via WebFetch
157
+
158
+ 4. **Generate `idea-stage/REF_PAPER_SUMMARY.md`**:
159
+
160
+ ```markdown
161
+ # Reference Paper Summary
162
+
163
+ **Title**: [paper title]
164
+ **Authors**: [authors]
165
+ **Venue**: [venue, year]
166
+
167
+ ## What They Did
168
+ [2-3 sentences: core method and contribution]
169
+
170
+ ## Key Results
171
+ [Main quantitative findings]
172
+
173
+ ## Limitations & Open Questions
174
+ [What the paper didn't solve, acknowledged weaknesses, future work suggestions]
175
+
176
+ ## Potential Improvement Directions
177
+ [Based on the limitations, what could be improved or extended?]
178
+
179
+ ## Codebase
180
+ [If `base repo` is also set: link to the repo and note which parts correspond to the paper]
181
+ ```
182
+
183
+ **🚦 Checkpoint:** Present the summary to the user:
184
+
185
+ ```
186
+ 📄 Reference paper summarized:
187
+ - Title: [title]
188
+ - Key limitation: [main gap]
189
+ - Improvement directions: [2-3 bullets]
190
+
191
+ Proceeding to literature survey with this as context.
192
+ ```
193
+
194
+ Phase 1 and Phase 2 will use `idea-stage/REF_PAPER_SUMMARY.md` as additional context — `/research-lit` searches for related and competing work, `/idea-creator` generates ideas that build on or improve the reference paper.
195
+
196
+ ### Phase 1: Literature Survey
197
+
198
+ Invoke `/research-lit` to map the research landscape. Idea discovery is exactly the place where Gemini's AI-driven broad coverage adds value, so include `gemini` as a source by default unless the user already specified an explicit `— sources:` directive in their idea-discovery invocation:
199
+
200
+ ```
201
+ # If $ARGUMENTS already contains "— sources:", pass through unchanged
202
+ # (the user is in control of source selection):
203
+ /research-lit "$ARGUMENTS" — composed: idea-stage/IDEA_REPORT.md
204
+
205
+ # Otherwise (the common case), include gemini explicitly for broader discovery:
206
+ /research-lit "$ARGUMENTS" — sources: all, gemini — composed: idea-stage/IDEA_REPORT.md
207
+ ```
208
+
209
+ `— composed: idea-stage/IDEA_REPORT.md` puts `/research-lit` in composed mode (see *Output hygiene* above): it returns the landscape for folding into the report instead of writing a standalone landscape file. The report doesn't exist yet at Phase 1 — the directive names the *forthcoming* canonical doc, and `/idea-creator` creates it in Phase 2.
210
+
211
+ If `gemini-cli` is not installed, `/research-lit` skips the Gemini source gracefully with a warning — no break to the pipeline. Users who want to force-disable Gemini in idea-discovery can pass `/idea-discovery "topic" — sources: all` explicitly (which becomes the literal source list, no auto-injection).
212
+
213
+ **What this does:**
214
+ - Search arXiv, Google Scholar, Semantic Scholar for recent papers
215
+ - Plus Gemini-driven broad discovery (sub-problem decomposition, naming variants, alias coverage) when `gemini-cli` is available
216
+ - Build a landscape map: sub-directions, approaches, open problems
217
+ - Identify structural gaps and recurring limitations
218
+ - Output a literature summary (saved to working notes)
219
+
220
+ **🚦 Checkpoint:** Present the landscape summary to the user.
221
+
222
+ **When `AUTO_PROCEED=true` (non-blocking):** report the selected direction and
223
+ continue immediately in the same turn, without a question:
224
+
225
+ ```
226
+ 📚 Literature survey complete. Here's what I found:
227
+ - [key findings, gaps, open problems]
228
+
229
+ AUTO_PROCEED: selected [top-ranked direction]. Continuing to Phase 2.
230
+ ```
231
+
232
+ **When `AUTO_PROCEED=false` (blocking):** present the same findings, ask
233
+ `Does this match your understanding? Should I adjust the scope before generating ideas?`,
234
+ then end the turn.
235
+
236
+ - **User approves** → proceed to Phase 2 with the best direction.
237
+ - **User requests changes** (e.g., "focus more on X", "ignore Y", "too broad") → refine the search with updated queries, re-run `/research-lit` with adjusted scope, and present again. Repeat until the user is satisfied.
238
+
239
+ ### Phase 2: Idea Generation + Filtering + Pilots
240
+
241
+ Invoke `/idea-creator` with the landscape context (and `idea-stage/REF_PAPER_SUMMARY.md` if available):
242
+
243
+ ```
244
+ /idea-creator "$ARGUMENTS" — composed: idea-stage/IDEA_REPORT.md
245
+ ```
246
+
247
+ `/idea-creator` owns `idea-stage/IDEA_REPORT.md` as the canonical deliverable; the `— composed:` directive tells it to fold the survey/novelty findings in rather than emitting `LIT_LANDSCAPE.md` / `RESEARCH_REVIEW.md` / `MANIFEST.md` alongside.
248
+
249
+ **What this does:**
250
+ - If `idea-stage/REF_PAPER_SUMMARY.md` exists, include it as context — ideas should build on, improve, or extend the reference paper
251
+ - Brainstorm 8-12 concrete ideas via GPT-5.6-Sol xhigh
252
+ - Filter by feasibility, compute cost, quick novelty search
253
+ - Deep validate top ideas (full novelty check + devil's advocate)
254
+ - Run parallel pilot experiments on available GPUs (top 2-3 ideas)
255
+ - Rank by empirical signal
256
+ - Output `idea-stage/IDEA_REPORT.md`
257
+
258
+ **🚦 Checkpoint:** Present `idea-stage/IDEA_REPORT.md` ranked ideas to the user.
259
+
260
+ **When `AUTO_PROCEED=true` (non-blocking):** report the automatic selection and
261
+ continue immediately in the same turn, without a question:
262
+
263
+ ```
264
+ 💡 Generated X ideas, filtered to Y, piloted Z. Top results:
265
+
266
+ 1. [Idea 1] — Pilot: POSITIVE (+X%)
267
+ 2. [Idea 2] — Pilot: WEAK POSITIVE (+Y%)
268
+ 3. [Idea 3] — Pilot: NEGATIVE, eliminated
269
+
270
+ AUTO_PROCEED: selected [top-ranked idea(s)]. Continuing to Phase 3.
271
+ ```
272
+
273
+ **When `AUTO_PROCEED=false` (blocking):** present the same ranking, ask
274
+ `Which ideas should I validate further? Or should I regenerate with different constraints?`,
275
+ then end the turn.
276
+
277
+ - **User picks ideas** → proceed to Phase 3 with the selected ideas.
278
+ - **User unhappy with all ideas** → collect feedback ("what's missing?", "what direction do you prefer?"), update the prompt with user's constraints, and re-run Phase 2 (idea generation). Before
279
+ regenerating, read the already-tried directions (research-wiki Failed Ideas + any
280
+ `.aris/runs/<run_id>.iterations.jsonl`) and forbid a candidate too close to one already
281
+ tried — enforced direction diversity; when an overnight heartbeat drives the run,
282
+ record each chosen direction via `iteration_log.py note ... --direction "<frame>"`
283
+ so later ticks can reject near-duplicates (see
284
+ [`shared-references/external-cadence.md`](../shared-references/external-cadence.md) →
285
+ Stall detection & forced structural pivot). Repeat until the user selects at least 1 idea.
286
+ - **User wants to adjust scope** → go back to Phase 1 with refined direction.
287
+
288
+ ### Phase 3: Deep Novelty Verification
289
+
290
+ For each top idea (positive pilot signal), run a thorough novelty check:
291
+
292
+ ```
293
+ /novelty-check "[top idea 1 description]"
294
+ /novelty-check "[top idea 2 description]"
295
+ ```
296
+
297
+ **What this does:**
298
+ - Multi-source literature search (arXiv, Scholar, Semantic Scholar)
299
+ - Cross-verify with GPT-5.6-Sol xhigh
300
+ - Check for concurrent work (last 3-6 months)
301
+ - Identify closest existing work and differentiation points
302
+
303
+ **Update `idea-stage/IDEA_REPORT.md`** with deep novelty results. Eliminate any idea that turns out to be already published.
304
+
305
+ ### Phase 4: External Critical Review
306
+
307
+ For the surviving top idea(s), get brutal feedback:
308
+
309
+ ```
310
+ /research-review "[top idea with hypothesis + pilot results]" — composed: idea-stage/IDEA_REPORT.md
311
+ ```
312
+
313
+ In composed mode `/research-review` folds its conclusions into `idea-stage/IDEA_REPORT.md` and cites the `.aris/traces/…` path instead of writing a standalone review `.md` in the project root.
314
+
315
+ **What this does:**
316
+ - GPT-5.6-Sol xhigh acts as a senior reviewer (NeurIPS/ICML level)
317
+ - Scores the idea, identifies weaknesses, suggests minimum viable improvements
318
+ - Provides concrete feedback on experimental design
319
+
320
+ **Update `idea-stage/IDEA_REPORT.md`** with reviewer feedback and revised plan.
321
+
322
+ ### Phase 4.5: Method Refinement + Experiment Planning
323
+
324
+ After review, refine the top idea into a concrete proposal and plan experiments:
325
+
326
+ ```
327
+ /research-refine-pipeline "[top idea description + pilot results + reviewer feedback]"
328
+ ```
329
+
330
+ **What this does:**
331
+ - Freeze a **Problem Anchor** to prevent scope drift
332
+ - Iteratively refine the method via GPT-5.6-Sol review (up to 5 rounds, until score ≥ 9)
333
+ - Generate a claim-driven experiment roadmap with ablations, budgets, and run order
334
+ - Output: `refine-logs/FINAL_PROPOSAL.md`, `refine-logs/EXPERIMENT_PLAN.md`, `refine-logs/EXPERIMENT_TRACKER.md`
335
+
336
+ **🚦 Checkpoint:** Present the refined proposal summary.
337
+
338
+ **When `AUTO_PROCEED=true` (non-blocking):** report that the proposal was
339
+ selected and continue immediately in the same turn, without a question:
340
+
341
+ ```
342
+ 🔬 Method refined and experiment plan ready:
343
+ - Problem anchor: [anchored problem]
344
+ - Method thesis: [one sentence]
345
+ - Dominant contribution: [what's new]
346
+ - Must-run experiments: [N blocks]
347
+ - First 3 runs to launch: [list]
348
+
349
+ AUTO_PROCEED: accepted the top proposal. Continuing to Final Report.
350
+ ```
351
+
352
+ **When `AUTO_PROCEED=false` (blocking):** present the same summary, ask
353
+ `Proceed to implementation? Or adjust the proposal?`, then end the turn.
354
+
355
+ - **User approves** → proceed to Final Report.
356
+ - **User requests changes** → pass feedback to `/research-refine` for another round.
357
+ - **Lite mode:** If reviewer score < 6 or pilot was weak, run `/research-refine` only (skip `/experiment-plan`) and note remaining risks in the report.
358
+
359
+ ### Phase 5: Final Report
360
+
361
+ Finalize `idea-stage/IDEA_REPORT.md` with all accumulated information:
362
+
363
+ ```markdown
364
+ # Idea Discovery Report
365
+
366
+ **Direction**: $ARGUMENTS
367
+ **Date**: [today]
368
+ **Pipeline**: research-lit → idea-creator → novelty-check → research-review → research-refine-pipeline
369
+
370
+ ## Executive Summary
371
+ [2-3 sentences: best idea, key evidence, recommended next step]
372
+
373
+ ## Literature Landscape
374
+ [from Phase 1]
375
+
376
+ ## Ranked Ideas
377
+ [from Phase 2, updated with Phase 3-4 results]
378
+
379
+ ## Novelty Verification
380
+ [from Phase 3]
381
+
382
+ ## External Critical Review
383
+ [from Phase 4]
384
+
385
+ ### 🏆 Idea 1: [title] — RECOMMENDED
386
+ - Pilot: POSITIVE (+X%)
387
+ - Novelty: CONFIRMED (closest: [paper], differentiation: [what's different])
388
+ - Reviewer score: X/10
389
+ - Next step: implement full experiment → /auto-review-loop
390
+
391
+ ### Idea 2: [title] — BACKUP
392
+ ...
393
+
394
+ ## Eliminated Ideas
395
+ [ideas killed at each phase, with reasons]
396
+
397
+ ## Refined Proposal
398
+ - Proposal: `refine-logs/FINAL_PROPOSAL.md`
399
+ - Experiment plan: `refine-logs/EXPERIMENT_PLAN.md`
400
+ - Tracker: `refine-logs/EXPERIMENT_TRACKER.md`
401
+
402
+ ## Next Steps
403
+ - [ ] /run-experiment to deploy experiments from the plan
404
+ - [ ] /auto-review-loop to iterate until submission-ready
405
+ - [ ] Or invoke /research-pipeline for the complete end-to-end flow
406
+ ```
407
+
408
+ Before presenting this report as complete, run the per-stage evidence gate
409
+ above. A `BLOCKED` gate result is part of the report, not a warning to omit.
410
+
411
+ ### Phase 5.5: Write Compact Files (when COMPACT = true)
412
+
413
+ **Skip entirely if `COMPACT` is `false`.**
414
+
415
+ Write `idea-stage/IDEA_CANDIDATES.md` — a lean summary of the top 3-5 surviving ideas:
416
+
417
+ ```markdown
418
+ # Idea Candidates
419
+
420
+ | # | Idea | Pilot Signal | Novelty | Reviewer Score | Status |
421
+ |---|------|-------------|---------|---------------|--------|
422
+ | 1 | [title] | +X% | Confirmed | X/10 | RECOMMENDED |
423
+ | 2 | [title] | +Y% | Confirmed | X/10 | BACKUP |
424
+ | 3 | [title] | Negative | — | — | ELIMINATED |
425
+
426
+ ## Active Idea: #1 — [title]
427
+ - Hypothesis: [one sentence]
428
+ - Key evidence: [pilot result]
429
+ - Next step: /experiment-bridge or /research-refine
430
+ ```
431
+
432
+ This file is intentionally small (~30 lines) so downstream skills and session recovery can read it without loading the full `idea-stage/IDEA_REPORT.md` (~200+ lines).
433
+
434
+ ### Phase 5.6: Instantiate the Research Contract (always — NOT gated on COMPACT)
435
+
436
+ When Phase 4 ends with a RECOMMENDED idea, create `idea-stage/docs/research_contract.md`
437
+ from `templates/RESEARCH_CONTRACT_TEMPLATE.md` (resolve the template from the repo
438
+ root or `$ARIS_REPO/templates/`), filling in: the selected idea + selection
439
+ rationale, core claims, minimum convincing evidence, and the next-step pointer.
440
+ Skip only when the run produced no RECOMMENDED idea.
441
+
442
+ This file is the **focused working contract** for the W1 → W1.5 handoff:
443
+ `/experiment-bridge` implements against it, and `/result-to-claim` +
444
+ `/ablation-planner` read it as the claims source. It is also the #2
445
+ session-recovery file (`docs/SESSION_RECOVERY_GUIDE.md`) — a crashed session
446
+ reloads the ACTIVE idea from this contract instead of the full idea pool.
447
+
448
+ ## Output Protocols
449
+
450
+ > Follow these shared protocols for all output files:
451
+ > - **[Output Composition Protocol](../shared-references/output-composition.md)** — ONE canonical deliverable per pipeline; fold sub-skill findings in, don't scatter overlapping `.md` files
452
+ > - **[Output Versioning Protocol](../shared-references/output-versioning.md)** — write timestamped file first, then copy to fixed name
453
+ > - **[Output Manifest Protocol](../shared-references/output-manifest.md)** — maintain `MANIFEST.md` only above the 15-artifact threshold (not "log every output")
454
+ > - **[Output Language Protocol](../shared-references/output-language.md)** — respect the project's language setting
455
+
456
+ ### Output hygiene — ONE canonical doc, no duplicate MDs (REQUIRED)
457
+
458
+ This pipeline runs its sub-skills in **composed mode** (see
459
+ [`output-composition.md`](../shared-references/output-composition.md)): it owns a single
460
+ canonical deliverable and folds every sub-skill's findings into it rather than letting
461
+ each emit its own overlapping file. Concretely, for this workflow:
462
+
463
+ 1. **`idea-stage/IDEA_REPORT.md` is the single canonical deliverable.** Sub-skills'
464
+ intermediate findings (literature landscape, novelty notes, external review) are
465
+ folded into it as sections/appendices — they do NOT become standalone files just
466
+ because a sub-skill could emit one. If a sub-skill writes a scratch file, inline its
467
+ unique content into the report and delete the scratch when the phase closes.
468
+ 2. **Pass `— composed: idea-stage/IDEA_REPORT.md` to every sub-skill** (`/research-lit`,
469
+ `/idea-creator`, `/research-review`) so they fold instead of scatter. This is the
470
+ explicit signal; without it a sub-skill stays standalone by design.
471
+ 3. **Refined-method outputs stay in `refine-logs/`** (`FINAL_PROPOSAL.md` /
472
+ `EXPERIMENT_PLAN.md` / `EXPERIMENT_TRACKER.md`). Do NOT also restate them as separate
473
+ files under `idea-stage/`; the report **links** to them, it does not copy them.
474
+ 4. **No `MANIFEST.md`** for a handful of files — only above the 15-artifact threshold in
475
+ [`output-manifest.md`](../shared-references/output-manifest.md).
476
+ 5. **Pilot scratch is disposable:** keep the pilot script (reusable) + one results file
477
+ (`pilot_results.jsonl` or a small summary). Delete launcher logs, smoke files, and
478
+ redundant `*_summary.json` once the numbers are in the report.
479
+ 6. **Cross-model review traces belong in `.aris/traces/…`** (the audit trail); do not
480
+ ALSO keep a human-facing copy under `idea-stage/` — cite the trace path from the report.
481
+ 7. **Before finishing,** the `idea-stage/` top level should be roughly: `IDEA_REPORT.md`
482
+ (+ `.html`), the pilot script + results, and the `refine-logs/` dir. Nothing else
483
+ unless it carries content not in the report.
484
+
485
+ ## Render HTML view (auto, when `RENDER_HTML = true`)
486
+
487
+ After Phase 4 finalizes `idea-stage/IDEA_REPORT.md` (and the optional `IDEA_CANDIDATES.md`), invoke `/render-html` on the report so the user has a single-file HTML view for tablet / phone reading:
488
+
489
+ ```
490
+ /render-html "idea-stage/IDEA_REPORT.md" --no-review
491
+ ```
492
+
493
+ `--no-review` is intentional: source MD already passed this skill's own novelty + cross-model review. HTML render is a structural conversion, not a new claim-audit gate. Output lands at `idea-stage/IDEA_REPORT.html` with embedded source SHA256 + render timestamp.
494
+
495
+ **Non-blocking**: if `/render-html` fails (helper missing, Codex MCP unavailable, file write error), log the failure and continue — the HTML view is a convenience artifact, not a Phase 4 prerequisite.
496
+
497
+ Skip this step if `RENDER_HTML = false`.
498
+
499
+ ## Key Rules
500
+
501
+ - **Large file handling**: If the Write tool fails due to file size, immediately retry using Bash (`cat << 'EOF' > file`) to write in chunks. Do NOT ask the user for permission — just do it silently.
502
+
503
+ - **Don't skip phases.** Each phase filters and validates — skipping leads to wasted effort later.
504
+ - **Checkpoint between phases.** Briefly summarize what was found. With `AUTO_PROCEED=true`, state the selected next action and keep executing in the same turn; with `false`, ask and end the turn.
505
+ - **Kill ideas early.** It's better to kill 10 bad ideas in Phase 3 than to implement one and fail.
506
+ - **Empirical signal > theoretical appeal.** An idea with a positive pilot outranks a "sounds great" idea without evidence.
507
+ - **Document everything — inside the one report, not in scattered files.** Dead ends and eliminated ideas are valuable, so record them as sections of `idea-stage/IDEA_REPORT.md` (see *Output hygiene* above). Do not spawn a separate `.md` per phase.
508
+ - **Be honest with the reviewer.** Include negative results and failed pilots in the review prompt.
509
+ - **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.
510
+
511
+ ## Composing with Workflow 2
512
+
513
+ After this pipeline produces a validated top idea:
514
+
515
+ ```
516
+ /idea-discovery "direction" ← you are here (Workflow 1, includes method refinement + experiment planning)
517
+ /run-experiment ← deploy experiments from the plan
518
+ /auto-review-loop "top idea" ← Workflow 2: iterate until submission-ready
519
+
520
+ Or use /research-pipeline for the full end-to-end flow.
521
+ ```