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,582 @@
1
+ ---
2
+ name: paper-slides
3
+ description: "Generate conference presentation slides (beamer LaTeX → PDF + editable PPTX) from a compiled paper, with speaker notes and full talk script. Use when user says \"做PPT\", \"做幻灯片\", \"make slides\", \"conference talk\", \"presentation slides\", \"生成slides\", \"写演讲稿\", or wants beamer slides for a conference talk."
4
+ argument-hint: "[paper-directory-or-talk-length]"
5
+ allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, mcp__gemini-review__review, mcp__gemini-review__review_start, mcp__gemini-review__review_reply_start, mcp__gemini-review__review_status
6
+ ---
7
+
8
+ > Override for Codex users who want **Gemini**, not a Codex-MCP reviewer, to act as the reviewer. Install this package **after** `skills/skills-codex/*`.
9
+
10
+ # Paper Slides: From Paper to Conference Talk
11
+
12
+ > **Gemini overlay assurance:** `review_independence: cross-family` and `acceptance_status: accepted`.
13
+
14
+ Generate conference presentation slides from: **$ARGUMENTS**
15
+
16
+ ## Context
17
+
18
+ This skill runs **after** Workflow 3 (`/paper-writing`). It takes a compiled paper and generates a presentation slide deck for conference oral talks, spotlight presentations, or poster lightning talks.
19
+
20
+ Unlike posters (single page, visual-first), slides tell a **temporal story**: each slide builds on the previous one, with progressive revelation of the research narrative. A good talk makes the audience understand *why this matters* before showing *what was done*.
21
+
22
+ ## Constants
23
+
24
+ - **VENUE = `NeurIPS`** — Target venue, determines color scheme. Supported: `NeurIPS`, `ICML`, `ICLR`, `AAAI`, `ACL`, `EMNLP`, `CVPR`, `ECCV`, `GENERIC`. Override via argument.
25
+ - **TALK_TYPE = `spotlight`** — Talk format. Options: `oral` (15-20 min), `spotlight` (5-8 min), `poster-talk` (3-5 min), `invited` (30-45 min). Determines slide count and content depth.
26
+ - **TALK_MINUTES = 15** — Talk duration in minutes. Auto-adjusts slide count (~1 slide/minute for oral, ~1.5 slides/minute for spotlight). Override explicitly if needed.
27
+ - **ASPECT_RATIO = `16:9`** — Slide aspect ratio. Options: `16:9` (default, modern projectors), `4:3` (legacy).
28
+ - **SPEAKER_NOTES = true** — Generate `\note{}` blocks in beamer and corresponding PPTX notes. Set `false` for clean slides without notes.
29
+ - **PAPER_DIR = `paper/`** — Directory containing the compiled paper.
30
+ - **OUTPUT_DIR = `slides/`** — Output directory for all slide files.
31
+ - **REVIEWER_MODEL = `gemini-review`** — Gemini reviewer invoked through the local `gemini-review` MCP bridge for slide review.
32
+ - **AUTO_PROCEED = false** — At each checkpoint, **always wait for explicit user confirmation**.
33
+ - **COMPILER = `latexmk`** — LaTeX build tool.
34
+ - **ENGINE = `pdflatex`** — LaTeX engine. Use `xelatex` for CJK text.
35
+
36
+ > 💡 Override: `/paper-slides "paper/" — talk_type: oral, venue: ICML, minutes: 20, aspect: 4:3`
37
+
38
+ ## Talk Type → Slide Count
39
+
40
+ | Talk Type | Duration | Slides | Content Depth |
41
+ |-----------|----------|:------:|---------------|
42
+ | `poster-talk` | 3-5 min | 5-8 | Problem + 1 method slide + 1 result + conclusion |
43
+ | `spotlight` | 5-8 min | 8-12 | Problem + 2 method + 2 results + conclusion |
44
+ | `oral` | 15-20 min | 15-22 | Full story with motivation, method detail, experiments, analysis |
45
+ | `invited` | 30-45 min | 25-40 | Comprehensive: background, related work, deep method, extensive results, discussion |
46
+
47
+ ## Venue Color Schemes
48
+
49
+ Same as `/paper-poster-html`:
50
+
51
+ | Venue | Primary | Accent | Background | Text |
52
+ |-------|---------|--------|------------|------|
53
+ | NeurIPS | `#8B5CF6` | `#2563EB` | `#FFFFFF` | `#1E1E1E` |
54
+ | ICML | `#DC2626` | `#1D4ED8` | `#FFFFFF` | `#1E1E1E` |
55
+ | ICLR | `#059669` | `#0284C7` | `#FFFFFF` | `#1E1E1E` |
56
+ | CVPR | `#2563EB` | `#7C3AED` | `#FFFFFF` | `#1E1E1E` |
57
+ | GENERIC | `#334155` | `#2563EB` | `#FFFFFF` | `#1E1E1E` |
58
+
59
+ ## State Persistence (Compact Recovery)
60
+
61
+ Persist state to `slides/SLIDES_STATE.json` after each phase:
62
+
63
+ ```json
64
+ {
65
+ "phase": 3,
66
+ "venue": "NeurIPS",
67
+ "talk_type": "spotlight",
68
+ "slide_count": 10,
69
+ "codex_thread_id": "019cfcf4-...",
70
+ "status": "in_progress",
71
+ "timestamp": "2026-03-18T15:00:00"
72
+ }
73
+ ```
74
+
75
+ **On startup**: if `SLIDES_STATE.json` exists with `"status": "in_progress"` and within 24h → resume. Otherwise → fresh start.
76
+
77
+ ## Workflow
78
+
79
+ ### Phase 0: Input Validation & Setup
80
+
81
+ 1. **Check prerequisites**:
82
+ ```bash
83
+ which pdflatex && which latexmk
84
+ ```
85
+
86
+ 2. **Verify paper exists**:
87
+ ```bash
88
+ ls $PAPER_DIR/main.tex || ls $PAPER_DIR/main.pdf
89
+ ls $PAPER_DIR/sections/*.tex
90
+ ls $PAPER_DIR/figures/
91
+ ```
92
+
93
+ 3. **Backup existing slides**: if `slides/` exists, copy to `slides-backup-{timestamp}/`
94
+
95
+ 4. **Create output directory**: `mkdir -p slides/figures`
96
+
97
+ 5. **Detect CJK**: if paper contains Chinese/Japanese/Korean, set ENGINE to `xelatex`
98
+
99
+ 6. **Determine slide count**: from TALK_TYPE and TALK_MINUTES using the table above
100
+
101
+ 7. **Check for resume**: read `slides/SLIDES_STATE.json` if it exists
102
+
103
+ **State**: Write `SLIDES_STATE.json` with `phase: 0`.
104
+
105
+ ### Phase 1: Content Extraction & Slide Outline
106
+
107
+ Read `paper/sections/*.tex` and build a slide-by-slide outline.
108
+
109
+ **Slide template by talk type**:
110
+
111
+ #### Oral (15-22 slides)
112
+
113
+ | Slide | Purpose | Content Source | Figure? |
114
+ |:-----:|---------|----------------|:-------:|
115
+ | 1 | Title | Paper metadata | No |
116
+ | 2 | Outline | Section headers | No |
117
+ | 3-4 | Motivation & Problem | Introduction | Optional |
118
+ | 5 | Key Insight | Introduction (contribution) | No |
119
+ | 6-9 | Method | Method section | Yes (hero figure) |
120
+ | 10-14 | Results | Experiments | Yes (per slide) |
121
+ | 15-16 | Analysis / Ablations | Experiments | Yes |
122
+ | 17 | Limitations | Conclusion | No |
123
+ | 18 | Conclusion / Takeaway | Conclusion | No |
124
+ | 19 | Thank You + QR | — | QR code |
125
+
126
+ #### Spotlight (8-12 slides)
127
+
128
+ | Slide | Purpose | Content Source | Figure? |
129
+ |:-----:|---------|----------------|:-------:|
130
+ | 1 | Title | Paper metadata | No |
131
+ | 2-3 | Problem + Why It Matters | Introduction | Optional |
132
+ | 4 | Key Insight | Contribution | No |
133
+ | 5-6 | Method | Method (condensed) | Yes (hero) |
134
+ | 7-9 | Results | Key results only | Yes |
135
+ | 10 | Takeaway | Conclusion | No |
136
+ | 11 | Thank You + QR | — | QR code |
137
+
138
+ #### Poster-talk (5-8 slides)
139
+
140
+ | Slide | Purpose | Content Source | Figure? |
141
+ |:-----:|---------|----------------|:-------:|
142
+ | 1 | Title | Paper metadata | No |
143
+ | 2 | Problem | Introduction (1 slide) | No |
144
+ | 3 | Method | Method (1 slide) | Yes |
145
+ | 4-5 | Results | Key result only | Yes |
146
+ | 6 | Takeaway + QR | Conclusion | QR |
147
+
148
+ **For each slide, specify**:
149
+ - Title (max 8 words)
150
+ - 3-5 bullet points (max 8 words each)
151
+ - Figure reference (if any) from paper/figures/
152
+ - Speaker note (2-3 sentences of what to say)
153
+ - Time allocation (in seconds)
154
+
155
+ **Output**: `slides/SLIDE_OUTLINE.md`
156
+
157
+ **🚦 Checkpoint:**
158
+
159
+ ```
160
+ 📊 Slide outline ready:
161
+ - Talk type: [TALK_TYPE] ([TALK_MINUTES] min)
162
+ - Slide count: [N] slides
163
+ - Figures used: [N] from paper/figures/
164
+ - Time budget: [breakdown]
165
+
166
+ Slide-by-slide outline:
167
+ 1. [Title slide]
168
+ 2. [Motivation — 1.5 min]
169
+ 3. [Problem statement — 1 min]
170
+ ...
171
+
172
+ Proceed to drafting? Or adjust the outline?
173
+ ```
174
+
175
+ **⛔ STOP HERE and wait for user response.** This is the most critical checkpoint — the outline determines the entire talk flow.
176
+
177
+ Options:
178
+ - **"go"** → proceed to Phase 2
179
+ - **adjustments** (e.g., "merge slides 3-4", "add a demo slide", "cut the ablation") → revise
180
+ - **"stop"** → save to `slides/SLIDE_OUTLINE.md`
181
+
182
+ **State**: Write `SLIDES_STATE.json` with `phase: 1`.
183
+
184
+ ### Phase 2: Slide-by-Slide Content Drafting
185
+
186
+ For each slide in the outline, draft the actual content.
187
+
188
+ **Presentation rules (enforced strictly)**:
189
+
190
+ | Rule | Rationale |
191
+ |------|-----------|
192
+ | **One message per slide** | If a slide has two ideas, split it |
193
+ | **Max 6 lines per slide** | More than 6 lines = wall of text |
194
+ | **Max 8 words per line** | Audience reads, not listens, if text is long |
195
+ | **Sentence fragments, not sentences** | "Improves F1 by 3.2%" not "Our method improves the F1 score by 3.2 percentage points" |
196
+ | **Figure slides: figure ≥60% area** | The figure IS the content; bullets are annotations |
197
+ | **Bold key numbers** | "Achieves **94.3%** accuracy" |
198
+ | **Progressive disclosure** | Use `\pause` or `\onslide` for complex slides |
199
+ | **No Related Work slide** | Unless invited talk (30+ min) |
200
+
201
+ **For each slide, produce**:
202
+ 1. `\frametitle{}`
203
+ 2. Content (itemize or figure + caption)
204
+ 3. `\note{}` with speaker text (if SPEAKER_NOTES=true)
205
+
206
+ ### Phase 3: Generate Slides LaTeX
207
+
208
+ Create `slides/main.tex` using beamer.
209
+
210
+ **Template structure**:
211
+
212
+ ```latex
213
+ \documentclass[aspectratio=169]{beamer}
214
+
215
+ % Venue theme
216
+ \usepackage{xcolor}
217
+ \definecolor{primary}{HTML}{VENUE_PRIMARY}
218
+ \definecolor{accent}{HTML}{VENUE_ACCENT}
219
+
220
+ % Clean theme
221
+ \usetheme{default}
222
+ \usecolortheme{default}
223
+ \setbeamercolor{frametitle}{fg=primary}
224
+ \setbeamercolor{title}{fg=primary}
225
+ \setbeamercolor{structure}{fg=accent}
226
+ \setbeamercolor{itemize item}{fg=primary}
227
+ \setbeamercolor{itemize subitem}{fg=accent}
228
+ \setbeamertemplate{navigation symbols}{}
229
+ \setbeamertemplate{footline}{
230
+ \hfill\insertframenumber/\inserttotalframenumber\hspace{2mm}\vspace{2mm}
231
+ }
232
+
233
+ % Packages
234
+ \usepackage{graphicx,amsmath,booktabs}
235
+ \graphicspath{{figures/}}
236
+
237
+ % Speaker notes (if enabled)
238
+ % \setbeameroption{show notes on second screen=right}
239
+
240
+ % Metadata
241
+ \title{PAPER TITLE}
242
+ \author{Author 1 \and Author 2}
243
+ \institute{Affiliation}
244
+ \date{VENUE YEAR}
245
+
246
+ \begin{document}
247
+
248
+ \begin{frame}
249
+ \titlepage
250
+ \end{frame}
251
+
252
+ % Content slides follow...
253
+
254
+ \begin{frame}{Motivation}
255
+ \begin{itemize}
256
+ \item Bullet point 1
257
+ \item Bullet point 2
258
+ \item \textbf{Key insight in bold}
259
+ \end{itemize}
260
+ \note{Speaker note: explain the motivation...}
261
+ \end{frame}
262
+
263
+ % Figure slide example
264
+ \begin{frame}{Method Overview}
265
+ \centering
266
+ \includegraphics[width=0.85\textwidth]{method_overview.pdf}
267
+ \vspace{0.5em}
268
+ \begin{itemize}
269
+ \item Key annotation about the figure
270
+ \end{itemize}
271
+ \note{Walk through the figure left to right...}
272
+ \end{frame}
273
+
274
+ % ... more slides ...
275
+
276
+ \begin{frame}{Thank You}
277
+ \centering
278
+ {\Large Questions?}\\[2em]
279
+ Paper: [URL or QR placeholder]\\
280
+ Code: [URL or QR placeholder]
281
+ \end{frame}
282
+
283
+ \end{document}
284
+ ```
285
+
286
+ **Symlink figures**:
287
+ ```bash
288
+ ln -sf ../paper/figures/*.pdf slides/figures/ 2>/dev/null
289
+ ln -sf ../paper/figures/*.png slides/figures/ 2>/dev/null
290
+ ```
291
+
292
+ **Key formatting rules**:
293
+ - Title font: ≥28pt, venue primary color
294
+ - Body font: ≥20pt
295
+ - Footnotes: ≥14pt
296
+ - No navigation symbols
297
+ - Frame numbers in bottom-right
298
+ - Clean white background (no gradients, no decorative elements)
299
+
300
+ ### Phase 4: Compile Slides
301
+
302
+ ```bash
303
+ cd slides && latexmk -$ENGINE -interaction=nonstopmode main.tex
304
+ ```
305
+
306
+ **Error handling loop** (max 3 attempts):
307
+ 1. Parse error log
308
+ 2. Fix: missing package, undefined command, file not found, overfull boxes
309
+ 3. Recompile
310
+
311
+ **Verification**:
312
+ ```bash
313
+ # Check slide count matches outline
314
+ pdfinfo slides/main.pdf | grep Pages
315
+ ```
316
+
317
+ If page count differs significantly from outline (>2 slides off), investigate.
318
+
319
+ **State**: Write `SLIDES_STATE.json` with `phase: 4`.
320
+
321
+ ### Phase 5: Gemini Review
322
+
323
+ Send the slide outline + selected LaTeX frames to Gemini:
324
+
325
+ ```
326
+ mcp__gemini-review__review_start:
327
+ prompt: |
328
+ Review this [TALK_TYPE] presentation ([TALK_MINUTES] min) for [VENUE].
329
+
330
+ Evaluate using these criteria (score 1-5 each):
331
+
332
+ 1. **Story arc** — Does the talk build a compelling narrative? (Problem → insight → method → evidence → takeaway)
333
+ 2. **Slide density** — Any slides with too much text? (Max 6 lines, 8 words/line)
334
+ 3. **Time budget** — Is [N] slides realistic for [TALK_MINUTES] minutes?
335
+ 4. **Figure visibility** — Will figures be readable on a projector?
336
+ 5. **Opening hook** — Do slides 2-3 grab attention? (Not "In this paper, we...")
337
+ 6. **Takeaway** — Is the final message clear and memorable?
338
+ 7. **Progressive build** — Are complex ideas revealed gradually?
339
+
340
+ Slide outline:
341
+ [PASTE SLIDE_OUTLINE.md]
342
+
343
+ Selected frames (LaTeX):
344
+ [PASTE KEY FRAMES]
345
+
346
+ Provide:
347
+ - Score for each criterion
348
+ - Top 3 actionable fixes
349
+ - Overall: Ready to present? (Yes / Needs revision / Major issues)
350
+ ```
351
+
352
+ After this start call, immediately save the returned `jobId` and poll `mcp__gemini-review__review_status` with a bounded `waitSeconds` until `done=true`. Treat the completed status payload's `response` as the slide review.
353
+
354
+ Apply fixes. Recompile if LaTeX was changed.
355
+
356
+ > ⚠️ If `gemini-review` MCP is not available or Gemini credentials are missing, skip external review and proceed to Phase 6. Note the skip in `SLIDES_STATE.json`.
357
+
358
+ Save review to `slides/SLIDES_REVIEW.md`.
359
+
360
+ **State**: Write `SLIDES_STATE.json` with `phase: 5`.
361
+
362
+ ### Phase 6: Speaker Notes
363
+
364
+ For each slide, ensure a `\note{}` block exists with:
365
+
366
+ 1. **What to say** (2-3 complete sentences, conversational tone)
367
+ 2. **Timing hint** (e.g., "spend 1 minute here", "quick — 20 seconds")
368
+ 3. **Transition phrase** to the next slide (e.g., "So how do we actually implement this? Let me show you...")
369
+
370
+ Also generate `slides/speaker_notes.md` as a standalone backup:
371
+
372
+ ```markdown
373
+ # Speaker Notes
374
+
375
+ ## Slide 1: Title
376
+ [No speaking — wait for introduction]
377
+
378
+ ## Slide 2: Motivation
379
+ "Thank you. So let me start with the problem we're trying to solve..."
380
+ [Time: 1.5 min]
381
+
382
+ ## Slide 3: Problem Statement
383
+ "Specifically, the challenge is..."
384
+ → Transition: "To address this, our key insight is..."
385
+ [Time: 1 min]
386
+
387
+ ...
388
+ ```
389
+
390
+ **State**: Write `SLIDES_STATE.json` with `phase: 6`.
391
+
392
+ ### Phase 7: PowerPoint Export
393
+
394
+ Generate an editable PPTX using `python-pptx`:
395
+
396
+ ```bash
397
+ python3 -c "import pptx" 2>/dev/null || pip install python-pptx
398
+ ```
399
+
400
+ Write `slides/generate_pptx.py` that:
401
+
402
+ 1. Creates a PPTX with correct aspect ratio (16:9 → 13.33" x 7.5"; 4:3 → 10" x 7.5")
403
+ 2. For each beamer frame:
404
+ - Creates a slide with matching layout
405
+ - Title in venue primary color, bold
406
+ - Bullet points with venue accent color markers
407
+ - Figures embedded as images (from slides/figures/)
408
+ - Speaker notes transferred to PPTX notes field
409
+ 3. Title slide with special formatting (centered, larger title)
410
+ 4. Thank You slide with centered text
411
+ 5. Applies venue color scheme throughout
412
+
413
+ ```bash
414
+ cd slides && python3 generate_pptx.py
415
+ # Output: slides/presentation.pptx
416
+ ```
417
+
418
+ > ⚠️ If `python-pptx` is not installed, skip with a note: "Install `pip install python-pptx` to enable PowerPoint export."
419
+
420
+ **State**: Write `SLIDES_STATE.json` with `phase: 7`.
421
+
422
+ ### Phase 8: Full Talk Script
423
+
424
+ Generate `slides/TALK_SCRIPT.md` — a complete, word-for-word script for the talk.
425
+
426
+ This is different from speaker notes (brief reminders). The talk script is a **full manuscript** that can be read aloud or used for practice.
427
+
428
+ ```markdown
429
+ # Talk Script: [Paper Title]
430
+
431
+ **Venue**: [VENUE] [YEAR]
432
+ **Talk type**: [TALK_TYPE] ([TALK_MINUTES] min)
433
+ **Total slides**: [N]
434
+
435
+ ---
436
+
437
+ ## Slide 1: Title [0:00 - 0:15]
438
+
439
+ *[Wait for chair introduction]*
440
+
441
+ "Thank you [chair name]. I'm [author] from [affiliation], and today I'll be talking about [short title]."
442
+
443
+ ---
444
+
445
+ ## Slide 2: Motivation [0:15 - 1:30]
446
+
447
+ "Let me start with the problem. [Describe the real-world motivation in accessible terms]. This matters because [impact statement].
448
+
449
+ The current state of the art approaches this with [brief existing approach]. But there's a fundamental limitation: [gap statement]."
450
+
451
+ → *Transition*: "So what's our key insight?"
452
+
453
+ ---
454
+
455
+ ## Slide 3: Key Insight [1:30 - 2:30]
456
+
457
+ "Our key observation is that [core insight in one sentence].
458
+
459
+ This leads us to propose [method name], which [one-sentence description]."
460
+
461
+ → *Transition*: "Let me walk you through how this works."
462
+
463
+ ---
464
+
465
+ ## Slide 4-N: [Continue for each slide...]
466
+
467
+ ...
468
+
469
+ ---
470
+
471
+ ## Slide [N]: Thank You [TALK_MINUTES:00]
472
+
473
+ "To summarize: we've shown that [main result]. The key takeaway is [memorable final message].
474
+
475
+ The paper and code are available at the QR code on screen. I'm happy to take questions."
476
+
477
+ ---
478
+
479
+ ## Time Budget Summary
480
+
481
+ | Slide | Topic | Duration | Cumulative |
482
+ |:-----:|-------|:--------:|:----------:|
483
+ | 1 | Title | 0:15 | 0:15 |
484
+ | 2 | Motivation | 1:15 | 1:30 |
485
+ | 3 | Key Insight | 1:00 | 2:30 |
486
+ | ... | ... | ... | ... |
487
+ | N | Thank You | 0:15 | [TALK_MINUTES]:00 |
488
+
489
+ **Total**: [sum] min (target: [TALK_MINUTES] min)
490
+
491
+ ---
492
+
493
+ ## Anticipated Q&A
494
+
495
+ ### Q1: How does this compare to [strongest baseline]?
496
+ **A**: "[Specific comparison with numbers]. Our advantage is particularly clear in [specific scenario], where we see [X%] improvement."
497
+
498
+ ### Q2: What are the main limitations?
499
+ **A**: "[Honest answer]. We see this as [future work direction]."
500
+
501
+ ### Q3: How computationally expensive is this?
502
+ **A**: "[Training/inference cost]. Compared to [baseline], our method requires [comparison]."
503
+
504
+ ### Q4: Does this generalize to [related domain]?
505
+ **A**: "[Answer based on paper's discussion section]."
506
+
507
+ ### Q5: What's the most surprising finding?
508
+ **A**: "[Interesting insight from the experiments]."
509
+
510
+ ### Q6: How sensitive is the method to [hyperparameter/design choice]?
511
+ **A**: "[Reference ablation study if available]."
512
+
513
+ ### Q7: What's the next step for this research?
514
+ **A**: "[Future work from conclusion]."
515
+
516
+ ### Q8: [Domain-specific question]
517
+ **A**: "[Answer]."
518
+ ```
519
+
520
+ ### Final Output Summary
521
+
522
+ ```
523
+ 📊 Slide generation complete:
524
+ - Talk type: [TALK_TYPE] ([TALK_MINUTES] min) for [VENUE]
525
+ - Files:
526
+ slides/
527
+ ├── main.tex # Beamer LaTeX source
528
+ ├── main.pdf # Compiled slides (primary output)
529
+ ├── presentation.pptx # Editable PowerPoint
530
+ ├── SLIDE_OUTLINE.md # Slide-by-slide outline
531
+ ├── SLIDES_REVIEW.md # Gemini review feedback
532
+ ├── speaker_notes.md # Per-slide speaker notes
533
+ ├── TALK_SCRIPT.md # Full word-for-word talk script + Q&A
534
+ ├── SLIDES_STATE.json # State persistence
535
+ ├── generate_pptx.py # PPTX generation script
536
+ └── figures/ # Symlinked from paper/figures/
537
+
538
+ Next steps:
539
+ 1. Practice with TALK_SCRIPT.md (read aloud, time yourself)
540
+ 2. Edit presentation.pptx for visual tweaks (animations, custom graphics)
541
+ 3. Review Anticipated Q&A section before the talk
542
+ 4. Do a dry run with a colleague
543
+ ```
544
+
545
+ **State**: Write `SLIDES_STATE.json` with `phase: 8, status: "completed"`.
546
+
547
+ ## Output Protocols
548
+
549
+ > Follow these shared protocols for all output files:
550
+ > - **[Output Versioning Protocol](../../shared-references/output-versioning.md)** — write timestamped file first, then copy to fixed name
551
+ > - **[Output Manifest Protocol](../../shared-references/output-manifest.md)** — log every output to MANIFEST.md
552
+ > - **[Output Language Protocol](../../shared-references/output-language.md)** — respect the project's language setting
553
+
554
+ ## Key Rules
555
+
556
+ - **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.
557
+ - **One message per slide.** If a slide has two ideas, split it into two slides.
558
+ - **Do NOT fabricate data.** All numbers must come from `paper/sections/*.tex`.
559
+ - **Bullet points only** — never full sentences on slides. Sentence fragments are fine.
560
+ - **Figure slides: figure ≥60% of slide area.** The figure IS the content.
561
+ - **Progressive disclosure**: Use `\pause` or `\onslide` for complex method slides.
562
+ - **De-AI polish**: Remove watch words from all slide text and talk script.
563
+ - **Do NOT hallucinate citations.** Reference only papers cited in the paper.
564
+ - **Opening hook matters**: Never start with "In this paper, we..." — start with the problem or a provocative question.
565
+ - **Font size minimums**: Title ≥28pt, body ≥20pt, footnotes ≥14pt.
566
+ - **Feishu notifications are optional.** If `~/.claude/feishu.json` exists, send notifications. If absent, skip.
567
+
568
+ ## Parameter Pass-Through
569
+
570
+ ```
571
+ /paper-slides "paper/" — talk_type: oral, venue: ICML, minutes: 20, aspect: 4:3, notes: false
572
+ ```
573
+
574
+ | Parameter | Default | Description |
575
+ |-----------|---------|-------------|
576
+ | `venue` | NeurIPS | Conference for color scheme |
577
+ | `talk_type` | spotlight | oral/spotlight/poster-talk/invited |
578
+ | `minutes` | 15 | Talk duration |
579
+ | `aspect` | 16:9 | Aspect ratio (16:9 / 4:3) |
580
+ | `notes` | true | Generate speaker notes |
581
+ | `engine` | pdflatex | LaTeX engine |
582
+ | `auto proceed` | false | Skip checkpoints |