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,736 @@
1
+ ---
2
+ name: paper-illustration
3
+ description: "Generate publication-quality AI illustrations for academic papers using Gemini image generation. Creates architecture diagrams, method illustrations with Claude-supervised iterative refinement loop. Use when user says \"生成图表\", \"画架构图\", \"AI绘图\", \"paper illustration\", \"generate diagram\", or needs visual figures for papers."
4
+ argument-hint: "[description-or-method-file] [— style-ref: <source>]"
5
+ allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, mcp__codex__codex, mcp__codex__codex-reply, WebSearch
6
+ ---
7
+
8
+ # Paper Illustration: Multi-Stage Claude-Supervised Figure Generation
9
+
10
+ Generate publication-quality illustrations using a **multi-stage workflow** with **Claude as the STRICT supervisor/reviewer**.
11
+
12
+ ## Core Design Philosophy
13
+
14
+ ```
15
+ ┌──────────────────────────────────────────────────────────────────────────┐
16
+ │ MULTI-STAGE ITERATIVE WORKFLOW │
17
+ ├──────────────────────────────────────────────────────────────────────────┤
18
+ │ │
19
+ │ User Request │
20
+ │ │ │
21
+ │ ▼ │
22
+ │ ┌─────────────┐ │
23
+ │ │ Claude │ ◄─── Step 1: Parse request, create initial prompt │
24
+ │ │ (Planner) │ │
25
+ │ └──────┬──────┘ │
26
+ │ │ │
27
+ │ ▼ │
28
+ │ ┌─────────────┐ │
29
+ │ │ Gemini │ ◄─── Step 2: Optimize layout description │
30
+ │ │ (gemini-3-pro)│ - Refine component positioning │
31
+ │ │ Layout │ - Optimize spacing and grouping │
32
+ │ └──────┬──────┘ │
33
+ │ │ │
34
+ │ ▼ │
35
+ │ ┌─────────────┐ │
36
+ │ │ Gemini │ ◄─── Step 3: CVPR/NeurIPS style verification │
37
+ │ │ (gemini-3-pro)│ - Check color palette compliance │
38
+ │ │ Style │ - Verify arrow and font standards │
39
+ │ └──────┬──────┘ │
40
+ │ │ │
41
+ │ ▼ │
42
+ │ ┌─────────────┐ │
43
+ │ │ Paperbanana │ ◄─── Step 4: Render final image │
44
+ │ │ (gemini-3- │ - High-quality image generation │
45
+ │ │ pro-image) │ - Internal codename: Nano Banana Pro │
46
+ │ └──────┬──────┘ │
47
+ │ │ │
48
+ │ ▼ │
49
+ │ ┌─────────────┐ │
50
+ │ │ Claude │ ◄─── Step 5: STRICT visual review + SCORE (1-10) │
51
+ │ │ (Reviewer) │ - Verify EVERY arrow direction │
52
+ │ │ STRICT! │ - Verify EVERY block content │
53
+ │ └──────┬──────┘ - Verify aesthetics & visual appeal │
54
+ │ │ │
55
+ │ ▼ │
56
+ │ Score ≥ 9? ──YES──► Accept & Output │
57
+ │ │ │
58
+ │ NO │
59
+ │ │ │
60
+ │ ▼ │
61
+ │ Generate SPECIFIC improvement feedback ──► Loop back to Step 2 │
62
+ │ │
63
+ └──────────────────────────────────────────────────────────────────────────┘
64
+ ```
65
+
66
+ ## Constants
67
+
68
+ - **IMAGE_MODEL = `gemini-3-pro-image-preview`** — Paperbanana (Nano Banana Pro) for image rendering
69
+ - **REASONING_MODEL = `gemini-3-pro-preview`** — Gemini for layout optimization and style checking
70
+ - **MAX_ITERATIONS = 5** — Maximum refinement rounds
71
+ - **TARGET_SCORE = 9** — Minimum acceptable score (1-10) — RAISED FOR QUALITY
72
+ - **OUTPUT_DIR = `figures/ai_generated/`** — Output directory
73
+ - **API_KEY_ENV = `GEMINI_API_KEY`** — Environment variable
74
+
75
+ ## Optional: Style reference (`— style-ref: <source>`, opt-in)
76
+
77
+ Lets the user steer **structural** figure conventions (caption length, panel-count distribution, figure-to-table ratio in the parent paper) toward a reference paper. **Default OFF — when the user does not pass `— style-ref`, do nothing differently from before.**
78
+
79
+ Only when `— style-ref: <source>` appears in `$ARGUMENTS`, run the helper FIRST, before generating prompts:
80
+
81
+ ```bash
82
+ # Resolve $STYLE_HELPER via the canonical strict-safe chain (see
83
+ # shared-references/integration-contract.md §2). Policy A — gate:
84
+ # unresolved helper means --style-ref cannot be satisfied, so abort.
85
+ cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
86
+ if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
87
+ ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
88
+ fi
89
+ if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
90
+ ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
91
+ fi
92
+ STYLE_HELPER=".aris/tools/extract_paper_style.py"
93
+ [ -f "$STYLE_HELPER" ] || STYLE_HELPER="tools/extract_paper_style.py"
94
+ [ -f "$STYLE_HELPER" ] || { [ -n "${ARIS_REPO:-}" ] && STYLE_HELPER="$ARIS_REPO/tools/extract_paper_style.py"; }
95
+ [ -f "$STYLE_HELPER" ] || {
96
+ echo "ERROR: extract_paper_style.py not resolved at .aris/tools/, tools/, \$ARIS_REPO/tools/, or via ~/.aris/repo." >&2
97
+ echo " Fix: rerun bash tools/install_aris.sh or smart_update.sh (refreshes ~/.aris/repo), export ARIS_REPO, or copy the helper to tools/." >&2
98
+ echo " --style-ref cannot be satisfied; aborting." >&2
99
+ exit 1
100
+ }
101
+ STYLE_STATUS=0
102
+ CACHE=$(python3 "$STYLE_HELPER" --source "<source>") || STYLE_STATUS=$?
103
+ case "$STYLE_STATUS" in
104
+ 0) ;; # use $CACHE/style_profile.md as structural guidance
105
+ 2) echo "warning: style-ref skipped (missing optional dep)" >&2 ;;
106
+ 3) echo "error: --style-ref source failed; aborting illustration" >&2 ; exit 1 ;;
107
+ *) echo "error: helper failed unexpectedly; aborting illustration" >&2 ; exit 1 ;;
108
+ esac
109
+ ```
110
+
111
+ Sources accepted: local TeX dir / file, local PDF, arXiv id, http(s) URL. Overleaf URLs/IDs are rejected — clone via `/overleaf-sync setup <id>` first and pass the local clone path.
112
+
113
+ **Strict rules** (full contract in `tools/extract_paper_style.py` docstring):
114
+
115
+ - Use `style_profile.md` to align caption length and figure density with the reference paper. The CVPR/ICLR/NeurIPS visual standards above still take precedence — `--style-ref` only refines length-and-density tendencies, never image content.
116
+ - **Never copy figure content, color palettes, or specific design elements** from anything reachable through the cache. The visual design comes from the user's prompt, not the reference.
117
+ - **Never pass `— style-ref` (or the cache contents) to the Claude vision-checker / Gemini reasoning-checker sub-agents** when they score the generated image — the image must be judged on its own merits.
118
+
119
+ ## CVPR/ICLR/NeurIPS Top-Tier Conference Style Guide
120
+
121
+ **What "CVPR Style" Actually Means:**
122
+
123
+ ### Visual Standards
124
+ - **Clean white background** — No decorative patterns or gradients (unless subtle)
125
+ - **Sans-serif fonts** — Arial, Helvetica, or Computer Modern; minimum 14pt
126
+ - **Subtle color palette** — Not rainbow colors; use 3-5 coordinated colors
127
+ - **Print-friendly** — Must be readable in grayscale (many reviewers print papers)
128
+ - **Professional borders** — Thin (2-3px), solid colors, not flashy
129
+
130
+ ### Layout Standards
131
+ - **Horizontal flow** — Left-to-right is the standard for pipelines
132
+ - **Clear grouping** — Use subtle background boxes to group related modules
133
+ - **Consistent sizing** — Similar components should have similar sizes
134
+ - **Balanced whitespace** — Not cramped, not sparse
135
+
136
+ ### Arrow Standards (MOST CRITICAL)
137
+ - **Thick strokes** — 4-6px minimum (thin arrows disappear when printed)
138
+ - **Clear arrowheads** — Large, filled triangular heads
139
+ - **Dark colors** — Black or dark gray (#333333); avoid colored arrows
140
+ - **Labeled** — Every arrow should indicate what data flows through it
141
+ - **No crossings** — Reorganize layout to avoid arrow crossings
142
+ - **CORRECT DIRECTION** — Arrows must point to the RIGHT target!
143
+
144
+ ### Visual Appeal (科研风格 - Professional Academic Style)
145
+
146
+ **目标:既不保守也不花哨,找到平衡点**
147
+
148
+ #### ✅ 应该有的视觉元素:
149
+ - **Subtle gradient fills** — 淡雅的渐变填充(同色系从浅到深),不是炫彩
150
+ - **Rounded corners** — 圆角矩形(6-10px radius),现代感但不夸张
151
+ - **Clear visual hierarchy** — 通过大小、颜色深浅区分层次
152
+ - **Consistent color coding** — 统一的配色方案(3-4种主色)
153
+ - **Internal structure** — 大模块内部显示子组件(如Encoder内部的layer结构)
154
+ - **Professional typography** — 清晰的标签,适当的字号层次
155
+
156
+ #### ✅ 配色建议(学术专业):
157
+ - **Inputs**: 柔和的绿色系 (#10B981 / #34D399)
158
+ - **Encoders**: 专业的蓝色系 (#2563EB / #3B82F6)
159
+ - **Fusion**: 优雅的紫色系 (#7C3AED / #8B5CF6)
160
+ - **Outputs**: 温暖的橙色系 (#EA580C / #F97316)
161
+ - **Arrows**: 黑色或深灰 (#333333 / #1F2937)
162
+ - **Background**: 纯白 (#FFFFFF),不要花纹
163
+
164
+ #### ❌ 要避免的过度装饰:
165
+ - ❌ Rainbow color schemes (彩虹配色)
166
+ - ❌ Heavy drop shadows (重阴影效果)
167
+ - ❌ 3D effects / perspective (3D透视)
168
+ - ❌ Excessive gradients (夸张的多色渐变)
169
+ - ❌ Clip art / cartoon icons (卡通图标)
170
+ - ❌ Decorative patterns in background (背景花纹)
171
+ - ❌ Glowing effects (发光效果)
172
+ - ❌ Too many small icons (过多小图标)
173
+
174
+ #### ✓ 理想的视觉效果:
175
+ - 一眼看上去**专业、清晰**
176
+ - 有**适度的视觉吸引力**,但不抢眼
177
+ - 符合**CVPR/NeurIPS论文**的审美标准
178
+ - **打印友好**(灰度模式下也能清晰辨认)
179
+ - 像**精心设计**的学术图表,而不是PPT模板
180
+
181
+ ### What to AVOID (CRITICAL)
182
+ - ❌ Rainbow color schemes (too many colors)
183
+ - ❌ Thin, hairline arrows (arrows must be THICK)
184
+ - ❌ Unlabeled connections
185
+ - ❌ Plain boring rectangles (add some visual interest)
186
+ - ❌ **Over-decorated with shadows/glows/icons** (too flashy)
187
+ - ❌ Small text that's unreadable when printed
188
+ - ❌ **WRONG arrow directions** — This is UNACCEPTABLE!
189
+
190
+ ## Scope
191
+
192
+ | Figure Type | Quality | Examples |
193
+ |-------------|---------|----------|
194
+ | **Architecture diagrams** | Excellent | Model architecture, pipeline, encoder-decoder |
195
+ | **Method illustrations** | Excellent | Conceptual diagrams, algorithm flowcharts |
196
+ | **Conceptual figures** | Good | Comparison diagrams, taxonomy trees |
197
+
198
+ **Not for:** Statistical plots (use `/paper-figure`), photo-realistic images
199
+
200
+ ## Workflow: MUST EXECUTE ALL STEPS
201
+
202
+ ### Step 0: Pre-flight Check
203
+
204
+ ```bash
205
+ # Check API key
206
+ if [ -z "$GEMINI_API_KEY" ]; then
207
+ echo "ERROR: GEMINI_API_KEY not set"
208
+ echo "Get your key from: https://aistudio.google.com/app/apikey"
209
+ echo "Set it: export GEMINI_API_KEY='your-key'"
210
+ exit 1
211
+ fi
212
+
213
+ # Create output directory
214
+ mkdir -p figures/ai_generated
215
+ ```
216
+
217
+ ### Step 1: Claude Plans the Figure (YOU ARE HERE)
218
+
219
+ **CRITICAL: Claude must first analyze the user's request and create a detailed prompt.**
220
+
221
+ Parse the input: **$ARGUMENTS**
222
+
223
+ Claude's task:
224
+ 1. Understand what figure the user wants
225
+ 2. Identify all components, connections, data flow
226
+ 3. Create a **detailed, structured prompt** for Gemini
227
+ 4. Include style requirements AND visual appeal requirements
228
+
229
+ **Prompt Template for Claude to generate:**
230
+
231
+ ```
232
+ Create a PROFESSIONAL, VISUALLY APPEALING publication-quality academic diagram following CVPR/ICLR/NeurIPS standards.
233
+
234
+ ## Visual Style: 科研风格 (Academic Professional Style)
235
+ ### 目标:平衡 — 既不保守也不花哨
236
+
237
+ #### DO (应该有):
238
+ - **Subtle gradients** — 同色系淡雅渐变(如 #2563EB → #3B82F6),不是多色炫彩
239
+ - **Rounded corners** — 圆角矩形(6-10px),现代感
240
+ - **Clear visual hierarchy** — 通过大小、深浅区分层次
241
+ - **Internal structure** — 大模块内显示子组件结构
242
+ - **Consistent color coding** — 统一的3-4色方案
243
+ - **Professional polish** — 精致但不夸张
244
+
245
+ #### DON'T (不要有):
246
+ - ❌ Rainbow/multi-color gradients (彩虹渐变)
247
+ - ❌ Heavy drop shadows (重阴影)
248
+ - ❌ 3D effects / perspective (3D效果)
249
+ - ❌ Glowing effects (发光效果)
250
+ - ❌ Excessive decorative icons (过多装饰图标)
251
+ - ❌ Plain boring rectangles (完全平淡的方块)
252
+
253
+ #### 理想效果:
254
+ 像顶会论文中精心设计的架构图 — 专业、清晰、有适度的视觉吸引力
255
+
256
+ ## Figure Type
257
+ [Architecture Diagram / Pipeline / Comparison / etc.]
258
+
259
+ ## Components to Include (BE SPECIFIC ABOUT CONTENT)
260
+ 1. [Component 1]:
261
+ - Label: "[exact text]"
262
+ - Sub-label: "[smaller text below]"
263
+ - Position: [left/center/right, top/middle/bottom]
264
+ - Style: [border color, fill, internal structure]
265
+ 2. [Component 2]: ...
266
+
267
+ ## Layout
268
+ - Direction: [left-to-right / top-to-bottom]
269
+ - Spacing: [tight / normal / loose]
270
+ - Grouping: [how components should be grouped]
271
+
272
+ ## Connections (BE EXPLICIT ABOUT DIRECTION)
273
+ EXACT arrow specifications:
274
+ 1. [Component A] → [Component B]: Arrow goes FROM A TO B, label it "[data type]"
275
+ 2. [Component C] → [Component D]: Arrow goes FROM C TO D, label it "[data type]"
276
+ ...
277
+ VERIFY: Each arrow must point to the CORRECT target!
278
+
279
+ ## Style Requirements (CVPR/ICLR/NeurIPS Standard)
280
+
281
+ ### Visual Style
282
+ - Color palette: Professional academic colors
283
+ - Inputs: Green (#10B981)
284
+ - Encoders: Blue (#2563EB)
285
+ - Fusion modules: Purple (#7C3AED)
286
+ - Outputs: Orange (#EA580C)
287
+ - Font: Sans-serif (Arial/Helvetica), minimum 14pt, bold for labels
288
+ - Background: Clean white, no patterns
289
+ - Blocks: Rounded rectangles (8-12px radius), subtle gradient fill, colored border (2-3px)
290
+ - Subtle shadows for depth effect
291
+ - Print-friendly (must work in grayscale)
292
+
293
+ ### CRITICAL: Arrow & Data Flow Requirements
294
+ 1. **ALL arrows must be VERY THICK** - minimum 5-6px stroke width
295
+ 2. **ALL arrows must have CLEAR arrowheads** - large, visible triangular heads
296
+ 3. **ALL arrows must be BLACK or DARK GRAY** - not colored
297
+ 4. **Label EVERY arrow** with what data flows through it
298
+ 5. **VERIFY arrow direction** - each arrow MUST point to the correct target
299
+ 6. **No ambiguous connections** - every arrow should have a clear source and destination
300
+
301
+ ### Logic Clarity Requirements
302
+ 1. **Data flow must be immediately obvious** - viewer should understand the pipeline in 5 seconds
303
+ 2. **No crossing arrows** - reorganize layout to avoid arrow crossings
304
+ 3. **Consistent direction** - maintain left-to-right or top-to-bottom flow throughout
305
+ 4. **Group related components** - use subtle background boxes or spacing to group modules
306
+ 5. **Clear hierarchy** - main components larger, sub-components smaller
307
+
308
+ ## Additional Requirements
309
+ [Any specific requirements from user]
310
+ ```
311
+
312
+ ### Step 2: Gemini Layout Optimization (gemini-3-pro)
313
+
314
+ **Claude sends the initial prompt to Gemini (gemini-3-pro) for layout optimization.**
315
+
316
+ ```bash
317
+ #!/bin/bash
318
+ # Step 2: Optimize layout using Gemini gemini-3-pro
319
+ # This step refines component positioning and spacing
320
+
321
+ set -e
322
+
323
+ OUTPUT_DIR="figures/ai_generated"
324
+ mkdir -p "$OUTPUT_DIR"
325
+
326
+ API_KEY="${GEMINI_API_KEY}"
327
+ URL="https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-preview:generateContent?key=$API_KEY"
328
+
329
+ # The initial prompt from Claude
330
+ INITIAL_PROMPT='[Claude fills in the detailed prompt here]'
331
+
332
+ # Layout optimization request
333
+ LAYOUT_REQUEST="You are an expert in academic figure layout design for CVPR/NeurIPS papers.
334
+
335
+ Analyze this figure request and provide an OPTIMIZED LAYOUT DESCRIPTION:
336
+
337
+ $INITIAL_PROMPT
338
+
339
+ Provide:
340
+ 1. **Optimized Component Positions**: Exact positions (left/center/right, top/middle/bottom) for each component
341
+ 2. **Spacing Recommendations**: Specific spacing between components
342
+ 3. **Grouping Strategy**: Which components should be visually grouped together
343
+ 4. **Arrow Routing**: Optimal paths for arrows to avoid crossings
344
+ 5. **Visual Hierarchy**: Size recommendations for main vs sub-components
345
+
346
+ Output a DETAILED layout specification that will be used for rendering."
347
+
348
+ # Build JSON payload
349
+ python3 << PYTHON
350
+ import json
351
+ payload = {
352
+ "contents": [{"parts": [{"text": '''$LAYOUT_REQUEST'''}]}]
353
+ }
354
+ with open("/tmp/gemini_layout_request.json", "w") as f:
355
+ json.dump(payload, f, indent=2)
356
+ print("Layout request created")
357
+ PYTHON
358
+
359
+ # Call Gemini gemini-3-pro-preview for layout optimization (DIRECT connection, no proxy)
360
+ RESPONSE=$(curl -s --max-time 90 \
361
+ -X POST "$URL" \
362
+ -H 'Content-Type: application/json' \
363
+ -d @/tmp/gemini_layout_request.json)
364
+
365
+ # Extract layout description
366
+ LAYOUT_DESCRIPTION=$(echo "$RESPONSE" | python3 -c "
367
+ import sys, json
368
+ data = json.load(sys.stdin)
369
+ try:
370
+ print(data['candidates'][0]['content']['parts'][0]['text'])
371
+ except:
372
+ print('Error extracting layout')
373
+ ")
374
+
375
+ echo "=== Layout Optimization Complete ==="
376
+ echo "$LAYOUT_DESCRIPTION"
377
+ echo "$LAYOUT_DESCRIPTION" > "$OUTPUT_DIR/layout_description.txt"
378
+ ```
379
+
380
+ ### Step 3: Gemini Style Verification (gemini-3-pro)
381
+
382
+ **Claude sends the optimized layout to Gemini for CVPR/NeurIPS style verification.**
383
+
384
+ ```bash
385
+ #!/bin/bash
386
+ # Step 3: Verify and enhance style compliance using Gemini gemini-3-pro
387
+
388
+ API_KEY="${GEMINI_API_KEY}"
389
+ URL="https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-preview:generateContent?key=$API_KEY"
390
+
391
+ # Read layout from previous step
392
+ LAYOUT=$(cat figures/ai_generated/layout_description.txt)
393
+
394
+ # Style verification request
395
+ STYLE_REQUEST="You are a CVPR/NeurIPS paper figure reviewer specializing in visual standards.
396
+
397
+ Review and ENHANCE this figure specification for top-tier conference compliance:
398
+
399
+ $LAYOUT
400
+
401
+ Ensure compliance with:
402
+ 1. **Color Palette**: Use professional academic colors (green for inputs, blue for encoders, purple for fusion, orange for outputs)
403
+ 2. **Arrow Standards**: Thick (5-6px), black/dark gray, clear arrowheads, all labeled
404
+ 3. **Font Standards**: Sans-serif, minimum 14pt, readable in print
405
+ 4. **Visual Appeal (科研风格)**:
406
+ - ✅ Subtle same-color gradients, rounded corners (6-10px), internal structure visible
407
+ - ❌ NO heavy shadows, NO glowing effects, NO rainbow gradients
408
+
409
+ Output an ENHANCED figure specification with explicit style instructions for rendering."
410
+
411
+ # Build JSON payload
412
+ python3 << PYTHON
413
+ import json
414
+ payload = {
415
+ "contents": [{"parts": [{"text": '''$STYLE_REQUEST'''}]}]
416
+ }
417
+ with open("/tmp/gemini_style_request.json", "w") as f:
418
+ json.dump(payload, f, indent=2)
419
+ print("Style request created")
420
+ PYTHON
421
+
422
+ # Call Gemini gemini-3-pro-preview for style verification (DIRECT connection, no proxy)
423
+ RESPONSE=$(curl -s --max-time 90 \
424
+ -X POST "$URL" \
425
+ -H 'Content-Type: application/json' \
426
+ -d @/tmp/gemini_style_request.json)
427
+
428
+ # Extract style-enhanced specification
429
+ STYLE_SPEC=$(echo "$RESPONSE" | python3 -c "
430
+ import sys, json
431
+ data = json.load(sys.stdin)
432
+ try:
433
+ print(data['candidates'][0]['content']['parts'][0]['text'])
434
+ except:
435
+ print('Error extracting style spec')
436
+ ")
437
+
438
+ echo "=== Style Verification Complete ==="
439
+ echo "$STYLE_SPEC"
440
+ echo "$STYLE_SPEC" > "figures/ai_generated/style_spec.txt"
441
+ ```
442
+
443
+ ### Step 4: Paperbanana Image Rendering (gemini-3-pro-image-preview)
444
+
445
+ **Claude sends the optimized, style-verified specification to Paperbanana for rendering.**
446
+
447
+ ```bash
448
+ #!/bin/bash
449
+ # Step 4: Render image using Paperbanana (gemini-3-pro-image-preview)
450
+ # Internal codename: Nano Banana Pro
451
+ # Use DIRECT connection (no proxy) - proxy causes SSL errors
452
+
453
+ set -e
454
+
455
+ OUTPUT_DIR="figures/ai_generated"
456
+ mkdir -p "$OUTPUT_DIR"
457
+
458
+ API_KEY="${GEMINI_API_KEY}"
459
+ URL="https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent?key=$API_KEY"
460
+
461
+ # Read the style-enhanced specification from previous step
462
+ STYLE_SPEC=$(cat figures/ai_generated/style_spec.txt)
463
+
464
+ # Add rendering instructions
465
+ RENDER_PROMPT="Render a publication-quality academic diagram based on this specification:
466
+
467
+ $STYLE_SPEC
468
+
469
+ RENDERING REQUIREMENTS:
470
+ - Output a clean, professional diagram suitable for CVPR/NeurIPS submission
471
+ - Use vector-quality rendering with sharp edges and clear text
472
+ - Ensure all elements are properly aligned and spaced
473
+ - The diagram should be immediately understandable at a glance"
474
+
475
+ # Build JSON payload using Python for proper escaping
476
+ python3 << PYTHON
477
+ import json
478
+ payload = {
479
+ "contents": [{"parts": [{"text": '''$RENDER_PROMPT'''}]}],
480
+ "generationConfig": {"responseModalities": ["TEXT", "IMAGE"]}
481
+ }
482
+ with open("/tmp/gemini_request.json", "w") as f:
483
+ json.dump(payload, f, indent=2)
484
+ print("JSON payload created")
485
+ PYTHON
486
+
487
+ # Call Paperbanana API WITHOUT proxy (direct connection works better)
488
+ RESPONSE=$(curl -s --max-time 180 \
489
+ -X POST "$URL" \
490
+ -H 'Content-Type: application/json' \
491
+ -d @/tmp/gemini_request.json)
492
+
493
+ # Check for error
494
+ if echo "$RESPONSE" | grep -q '"error"'; then
495
+ echo "API Error:"
496
+ echo "$RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE"
497
+ exit 1
498
+ fi
499
+
500
+ # Extract and save image
501
+ echo "$RESPONSE" | python3 << 'PYTHON'
502
+ import sys, json, base64
503
+ from pathlib import Path
504
+
505
+ output_dir = Path("figures/ai_generated")
506
+ data = json.load(sys.stdin)
507
+
508
+ try:
509
+ parts = data['candidates'][0]['content']['parts']
510
+ iteration = 1 # Claude increments this each iteration
511
+
512
+ for part in parts:
513
+ if 'text' in part:
514
+ print(f"\n[Paperbanana]: {part['text'][:200]}...")
515
+ elif 'inlineData' in part:
516
+ img_data = base64.b64decode(part['inlineData']['data'])
517
+ img_path = output_dir / f"figure_v{iteration}.png"
518
+ with open(img_path, "wb") as f:
519
+ f.write(img_data)
520
+ print(f"\n✅ Image saved: {img_path}")
521
+ print(f" Size: {len(img_data)/1024:.1f} KB")
522
+
523
+ except Exception as e:
524
+ print(f"Parse error: {e}")
525
+ print(f"Raw response: {str(data)[:500]}")
526
+ PYTHON
527
+ ```
528
+
529
+ ### Step 5: Claude STRICT Visual Review & Scoring (MANDATORY)
530
+
531
+ **Claude MUST read the generated image and perform a STRICT review:**
532
+
533
+ 1. **Visual Analysis**: What does the image show in detail?
534
+ 2. **Strengths**: What's good about it?
535
+ 3. **STRICT Verification**: Check EVERY item below
536
+ 4. **Score**: Rate 1-10 (10 = perfect) — BE STRICT!
537
+
538
+ **STRICT Review Template:**
539
+
540
+ ```markdown
541
+ ## Claude's STRICT Review of Figure v{N}
542
+
543
+ ### What I See
544
+ [Describe the generated image in DETAIL - every block, every arrow]
545
+
546
+ ### Strengths
547
+ - [Strength 1]
548
+ - [Strength 2]
549
+
550
+ ### ═══════════════════════════════════════════════════════════════
551
+ ### STRICT VERIFICATION CHECKLIST (ALL must pass for score ≥ 9)
552
+ ### ═══════════════════════════════════════════════════════════════
553
+
554
+ #### A. Arrow Correctness Verification (CRITICAL - any failure = score ≤ 6)
555
+ Check EACH arrow:
556
+ - [ ] Arrow 1: [Source] → [Target] — Does it point to the CORRECT target?
557
+ - [ ] Arrow 2: [Source] → [Target] — Does it point to the CORRECT target?
558
+ - [ ] Arrow 3: [Source] → [Target] — Does it point to the CORRECT target?
559
+ - [ ] Arrow 4: [Source] → [Target] — Does it point to the CORRECT target?
560
+ - [ ] Arrow 5: [Source] → [Target] — Does it point to the CORRECT target?
561
+ - [ ] Arrow 6: [Source] → [Target] — Does it point to the CORRECT target?
562
+
563
+ #### B. Block Content Verification (any failure = score ≤ 7)
564
+ Check EACH block:
565
+ - [ ] Block 1 "[Name]": Has correct label? Has sub-label? Content correct?
566
+ - [ ] Block 2 "[Name]": Has correct label? Has sub-label? Content correct?
567
+ - [ ] Block 3 "[Name]": Has correct label? Has sub-label? Content correct?
568
+ - [ ] Block 4 "[Name]": Has correct label? Has sub-label? Content correct?
569
+ - [ ] Block 5 "[Name]": Has correct label? Has sub-label? Content correct?
570
+ - [ ] Block 6 "[Name]": Has correct label? Has sub-label? Content correct?
571
+ - [ ] Block 7 "[Name]": Has correct label? Has sub-label? Content correct?
572
+
573
+ #### C. Arrow Visibility (any failure = score ≤ 7)
574
+ - [ ] ALL arrows are THICK (≥5px visible stroke)
575
+ - [ ] ALL arrows have CLEAR arrowheads (large triangular heads)
576
+ - [ ] ALL arrows are BLACK or DARK GRAY (not light colors)
577
+ - [ ] NO arrows are too thin or invisible
578
+
579
+ #### D. Arrow Labels (any failure = score ≤ 7)
580
+ - [ ] EVERY arrow has a text label
581
+ - [ ] Labels are readable (not too small)
582
+ - [ ] Labels correctly describe the data flowing
583
+
584
+ #### E. Visual Appeal (科研风格 - Balanced Academic Style) (any failure = score ≤ 8)
585
+ - [ ] **有适度视觉吸引力** — 有subtle渐变或圆角,但不夸张
586
+ - [ ] **不是平淡方块** — 有一定设计感
587
+ - [ ] **不过度装饰** — 没有重阴影、发光效果、彩虹配色
588
+ - [ ] **专业学术风格** — 像CVPR论文中的图表,不是PPT模板
589
+ - [ ] **Internal structure visible** — 大模块内部显示子组件结构
590
+ - [ ] **Color palette: 3-4种协调色** — 不是彩虹,也不是纯黑白
591
+
592
+ #### E2. Visual Appeal - RED FLAGS (immediate score ≤ 7 if found)
593
+ - [ ] **NO heavy drop shadows** (重阴影 = too flashy)
594
+ - [ ] **NO glowing effects** (发光效果 = too flashy)
595
+ - [ ] **NO rainbow gradients** (彩虹渐变 = unprofessional)
596
+ - [ ] **NO excessive decorative icons** (过多装饰图标 = distracting)
597
+
598
+ #### F. Layout & Flow (any failure = score ≤ 7)
599
+ - [ ] Clean horizontal left-to-right flow
600
+ - [ ] No arrow crossings
601
+ - [ ] Data flow traceable in 5 seconds
602
+ - [ ] Balanced spacing (not cramped, not sparse)
603
+
604
+ #### G. Style Compliance
605
+ - [ ] CVPR/NeurIPS professional style
606
+ - [ ] Color palette appropriate (not rainbow)
607
+ - [ ] Font readable
608
+ - [ ] Print-friendly (grayscale test)
609
+
610
+ ### ═══════════════════════════════════════════════════════════════
611
+
612
+ ### Issues Found (BE SPECIFIC)
613
+ 1. [Issue 1]: [EXACTLY what is wrong] → [How to fix]
614
+ 2. [Issue 2]: [EXACTLY what is wrong] → [How to fix]
615
+ 3. [Issue 3]: [EXACTLY what is wrong] → [How to fix]
616
+
617
+ ### Score: X/10
618
+
619
+ ### STRICT Score Breakdown Guide:
620
+ - **10**: Perfect. No issues. Publication-ready masterpiece. 视觉风格完美平衡。
621
+ - **9**: Excellent. Minor issues that don't affect understanding. 可以直接使用。
622
+ - **8**: Good but has noticeable issues. 视觉上太平淡或太花哨都需要改进。
623
+ - **7**: Usable but has clear problems. 箭头或内容有问题。
624
+ - **6**: Has arrow direction errors (箭头指向错误) OR missing major components.
625
+ - **1-5**: Major issues. Unacceptable.
626
+
627
+ ### Visual Style Scoring (视觉风格评分):
628
+ - **太花哨 (Too flashy)**: 重阴影、发光效果、彩虹配色 → score ≤ 7
629
+ - **太平淡 (Too plain)**: 纯黑白方块、无任何视觉设计 → score ≤ 8
630
+ - **恰到好处 (Balanced)**: 适度渐变、圆角、清晰层次 → score 9-10
631
+
632
+ ### Verdict
633
+ [ ] ACCEPT (score ≥ 9 AND all critical checks pass)
634
+ [ ] REFINE (score < 9 OR any critical check fails)
635
+
636
+ **If REFINE: List the EXACT issues that must be fixed**
637
+ ```
638
+
639
+ ### Step 6: Decision Point
640
+
641
+ ```
642
+ IF score >= 9 AND all critical checks pass:
643
+ → Accept figure, generate LaTeX snippet, DONE
644
+ ELSE IF iteration < MAX_ITERATIONS:
645
+ → Generate SPECIFIC improvement prompt based on EXACT issues
646
+ → Go to Step 2 (Gemini Layout) with refined prompt
647
+ ELSE:
648
+ → Max iterations reached, show best version
649
+ → Ask user if they want to continue or accept
650
+ ```
651
+
652
+ ### Step 7: Generate Improvement Prompt (for refinement)
653
+
654
+ **Claude generates TARGETED improvement prompt with EXACT issues:**
655
+
656
+ ```
657
+ Refine this academic diagram. This is iteration {N}.
658
+
659
+ ## ═══════════════════════════════════════════════════════════════
660
+ ## CRITICAL: Fix These EXACT Issues (from previous review)
661
+ ## ═══════════════════════════════════════════════════════════════
662
+
663
+ ### Arrow Direction Errors (MUST FIX):
664
+ 1. [EXACT issue]: Arrow from [A] to [B] is pointing to wrong target. It should point to [C] instead.
665
+ 2. [EXACT issue]: ...
666
+
667
+ ### Missing Arrow Labels (MUST FIX):
668
+ 1. Arrow from [A] to [B] is missing label "[data type]"
669
+ 2. ...
670
+
671
+ ### Block Content Issues (MUST FIX):
672
+ 1. Block "[Name]" has wrong label. Should be "[correct label]"
673
+ 2. ...
674
+
675
+ ### Visual Appeal Issues (SHOULD FIX):
676
+ 1. Blocks are too plain. Add [gradients/shadows/internal structure]
677
+ 2. ...
678
+
679
+ ## Keep These Good Elements:
680
+ - [What to preserve from previous version]
681
+
682
+ ## Generate the improved figure with ALL issues fixed.
683
+ ```
684
+
685
+ ### Step 8: Final Output
686
+
687
+ When figure is accepted (score ≥ 9):
688
+
689
+ ```latex
690
+ % === AI-Generated Figure ===
691
+ \begin{figure*}[t]
692
+ \centering
693
+ \includegraphics[width=0.95\textwidth]{figures/ai_generated/figure_final.png}
694
+ \caption{[Caption based on user's original request].}
695
+ \label{fig:[label]}
696
+ \end{figure*}
697
+ ```
698
+
699
+ ## Key Rules (MUST FOLLOW - STRICT)
700
+
701
+ 1. **NEVER skip the review step** — Always read and STRICTLY score the image
702
+ 2. **NEVER accept score < 9** — Keep refining until excellence
703
+ 3. **VERIFY EVERY ARROW DIRECTION** — Wrong direction = automatic fail (score ≤ 6)
704
+ 4. **VERIFY EVERY BLOCK CONTENT** — Wrong content = automatic fail (score ≤ 7)
705
+ 5. **BE SPECIFIC in feedback** — "Arrow from A to B points to wrong target C" not "arrow is wrong"
706
+ 6. **SAVE all iterations** — Keep version history for comparison
707
+ 7. **Claude is the STRICT boss** — Accept only excellence, not "good enough"
708
+ 8. **ARROW CORRECTNESS IS NON-NEGOTIABLE** — Any wrong arrow direction = reject
709
+ 9. **VISUAL APPEAL MATTERS** — Plain boring figures = score ≤ 8
710
+ 10. **Target score is 9** — Not 8, not "good enough"
711
+ 11. **USE MULTI-STAGE WORKFLOW** — Claude → Gemini Layout → Gemini Style → Paperbanana → Claude Review
712
+ 12. **USE CORRECT MODELS** — gemini-3-pro for reasoning, gemini-3-pro-image-preview for rendering
713
+
714
+ ## Output Structure
715
+
716
+ ```
717
+ figures/ai_generated/
718
+ ├── layout_description.txt # Step 2: Gemini layout optimization output
719
+ ├── style_spec.txt # Step 3: Gemini style verification output
720
+ ├── figure_v1.png # Iteration 1 (Paperbanana render)
721
+ ├── figure_v2.png # Iteration 2
722
+ ├── figure_v3.png # Iteration 3
723
+ ├── figure_final.png # Accepted version (copy of best, score ≥ 9)
724
+ ├── latex_include.tex # LaTeX snippet
725
+ └── review_log.json # All review scores and STRICT feedback
726
+ ```
727
+
728
+ ## Model Summary
729
+
730
+ | Stage | Model | Purpose |
731
+ |-------|-------|---------|
732
+ | Step 1 | Claude | Parse request, create initial prompt |
733
+ | Step 2 | gemini-3-pro | Layout optimization (positioning, spacing, grouping) |
734
+ | Step 3 | gemini-3-pro | CVPR/NeurIPS style verification |
735
+ | Step 4 | gemini-3-pro-image-preview (Paperbanana) | High-quality image rendering |
736
+ | Step 5 | Claude | STRICT visual review and scoring |