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,324 @@
1
+ ---
2
+ name: qzcli
3
+ description: Manage GPU compute jobs on the Qizhi (启智) platform using qzcli — a kubectl-style CLI tool. Use when user says "qzcli", "启智平台", "submit job", "stop job", "查计算组", "avail", "list jobs", "batch submit", or needs to manage distributed training jobs on a Qizhi instance.
4
+ argument-hint: "[login|avail|list|create|stop <job-id>|batch|status|watch]"
5
+ allowed-tools: Bash(*), Read, Write
6
+ ---
7
+
8
+ # qzcli — 启智平台任务管理
9
+
10
+ A kubectl/docker-style CLI for managing GPU compute jobs on the Qizhi (启智) platform.
11
+
12
+ **GitHub:** [tianyilt/qzcli_tool](https://github.com/tianyilt/qzcli_tool)
13
+
14
+ ## Environment contract
15
+
16
+ Qizhi is the scheduler-cluster shape of `../shared-references/compute-env-contract.md`:
17
+ images are built OFF-platform and referenced at submit time, so the declarative
18
+ env spec + `env:<name>@<specHash>` ledger (`.aris/compute/qizhi.md`) is what
19
+ keeps "which image has which stack" answerable. Run the kernel witness inside a
20
+ submitted job (not on the login side) before trusting an image for a long run.
21
+
22
+ ## Installation
23
+
24
+ ```bash
25
+ pip install rich requests prompt_toolkit mcp
26
+ git clone https://github.com/tianyilt/qzcli_tool
27
+ cd qzcli_tool && pip install -e .
28
+ ```
29
+
30
+ ### MCP Integration (optional)
31
+
32
+ To use qzcli as an MCP tool directly from Claude Code or Codex:
33
+
34
+ ```bash
35
+ # Claude Code
36
+ claude mcp add qzcli -- qzcli-mcp
37
+
38
+ # Codex
39
+ codex mcp add qzcli -- qzcli-mcp
40
+ ```
41
+
42
+ ---
43
+
44
+ ## Configuration
45
+
46
+ Credentials are read in this priority order:
47
+ `CLI args > --password-stdin > env vars > QZCLI_ENV_FILE (.env) > ~/.qzcli/config.json > interactive input`
48
+
49
+ ```bash
50
+ # Option A: env file (recommended)
51
+ mkdir -p ~/.qzcli
52
+ cat > ~/.qzcli/.env <<'EOF'
53
+ QZCLI_USERNAME="your_username"
54
+ QZCLI_PASSWORD="your_password"
55
+ EOF
56
+
57
+ # Option B: environment variables
58
+ export QZCLI_USERNAME="your_username"
59
+ export QZCLI_PASSWORD="your_password"
60
+ export QZCLI_API_URL="https://qz.yourorg.edu.cn"
61
+ ```
62
+
63
+ Config files are stored in `~/.qzcli/`: `config.json`, `.cookie`, `resources.json`, `jobs.json`.
64
+
65
+ ---
66
+
67
+ ## Quick Start
68
+
69
+ ```bash
70
+ # 1. Login
71
+ qzcli login
72
+
73
+ # 2. Discover and cache workspaces/compute groups (run once, re-run after joining new workspaces)
74
+ qzcli res -u
75
+
76
+ # 3. Check available nodes
77
+ qzcli avail
78
+
79
+ # 4. List running jobs
80
+ qzcli ls -c -r
81
+ ```
82
+
83
+ ---
84
+
85
+ ## Authentication
86
+
87
+ ```bash
88
+ # Interactive login
89
+ qzcli login
90
+
91
+ # With credentials
92
+ qzcli login -u YOUR_USERNAME -p 'YOUR_PASSWORD'
93
+
94
+ # Read password from stdin (for scripts)
95
+ echo 'YOUR_PASSWORD' | qzcli login -u YOUR_USERNAME --password-stdin
96
+
97
+ # Check current cookie
98
+ qzcli cookie --show
99
+
100
+ # Clear cookie
101
+ qzcli cookie --clear
102
+ ```
103
+
104
+ **Note:** `qzcli avail` auto-refreshes the cookie if it expires and credentials are configured.
105
+
106
+ ---
107
+
108
+ ## Resource Discovery
109
+
110
+ ```bash
111
+ # List cached workspaces
112
+ qzcli res --list
113
+
114
+ # Refresh all workspace resource cache (run this first!)
115
+ qzcli res -u
116
+
117
+ # Refresh a specific workspace
118
+ qzcli res -w MY_WORKSPACE -u
119
+
120
+ # Set a human-readable alias for a workspace
121
+ qzcli res -w ws-xxxxxxxx --name "My Workspace"
122
+ ```
123
+
124
+ ---
125
+
126
+ ## Check Available Nodes
127
+
128
+ ```bash
129
+ # All workspaces
130
+ qzcli avail
131
+
132
+ # Including low-priority task nodes (slower but more accurate)
133
+ qzcli avail --lp
134
+
135
+ # Specific workspace
136
+ qzcli avail -w MY_WORKSPACE
137
+
138
+ # Find compute groups with N free nodes
139
+ qzcli avail -n 4
140
+
141
+ # Export IDs for scripting
142
+ qzcli avail -n 4 -e
143
+
144
+ # Show idle node names
145
+ qzcli avail -w MY_WORKSPACE -v
146
+ ```
147
+
148
+ ---
149
+
150
+ ## Job Submission
151
+
152
+ ### Interactive (recommended for first-time use)
153
+
154
+ ```bash
155
+ # Full interactive selection: workspace → project → compute group → spec
156
+ qzcli create -i
157
+
158
+ # Interactive for a specific workspace only
159
+ qzcli create -i -w "My Workspace"
160
+ ```
161
+
162
+ The TUI shows GPU type, availability, and spec status at each level. Press `Enter/→` to go deeper, `←` to go back.
163
+
164
+ ### Non-interactive
165
+
166
+ ```bash
167
+ # Using names (resolved from qzcli res cache)
168
+ qzcli create \
169
+ --name "my-training-job" \
170
+ --command "bash /path/to/train.sh" \
171
+ --workspace "My Workspace" \
172
+ --compute-group "My Compute Group" \
173
+ --image YOUR_REGISTRY/team/image:tag \
174
+ --instances 4 \
175
+ --priority 10
176
+
177
+ # Using IDs directly
178
+ qzcli create \
179
+ --name "my-job" \
180
+ --command "bash /path/to/train.sh" \
181
+ --workspace ws-YOUR_WORKSPACE_ID \
182
+ --compute-group lcg-YOUR_LCG_ID \
183
+ --spec YOUR_SPEC_ID \
184
+ --image YOUR_REGISTRY/team/image:tag \
185
+ --instances 4
186
+ ```
187
+
188
+ **Key parameters:**
189
+
190
+ | Parameter | Default | Description |
191
+ |-----------|---------|-------------|
192
+ | `--name` / `-n` | required | Job name |
193
+ | `--command` / `-c` | required | Command to run |
194
+ | `--workspace` / `-w` | | Workspace name or ID (`ws-...`) |
195
+ | `--compute-group` / `-g` | auto | Compute group name or ID (`lcg-...`) |
196
+ | `--spec` / `-s` | auto | Resource spec ID |
197
+ | `--image` / `-m` | | Docker image |
198
+ | `--instances` | 1 | Number of instances |
199
+ | `--shm` | 1200 | Shared memory (GiB) |
200
+ | `--priority` | 10 | Priority (1–10) |
201
+ | `--dry-run` | | Preview only, don't submit |
202
+ | `--json` | | JSON output for scripting |
203
+
204
+ ```bash
205
+ # Preview before submitting
206
+ qzcli create --name test --command "echo hi" --workspace "My Workspace" \
207
+ --image YOUR_IMAGE --dry-run
208
+ ```
209
+
210
+ ### Env-var passthrough (for existing submission scripts)
211
+
212
+ ```bash
213
+ # Pass vars directly — do NOT use "export VAR; bash script.sh"
214
+ WORKSPACE_ID="ws-YOUR_WORKSPACE_ID" \
215
+ LCG_ID="lcg-YOUR_LCG_ID" \
216
+ SPEC_ID="YOUR_SPEC_ID" \
217
+ CHECKPOINT_DIR="/path/to/checkpoint" \
218
+ bash YOUR_SUBMIT_SCRIPT.sh
219
+ ```
220
+
221
+ ### HPC / CPU jobs (Slurm)
222
+
223
+ ```bash
224
+ qzcli hpc \
225
+ --name "my-cpu-job" \
226
+ --workspace ws-YOUR_WORKSPACE_ID \
227
+ --compute-group lcg-YOUR_LCG_ID \
228
+ --predef-quota-id YOUR_QUOTA_ID \
229
+ --cpu 55 --mem-gi 300 --instances 30 \
230
+ --image YOUR_REGISTRY/team/cpu-image:tag \
231
+ --entrypoint "cd /path/to/dir && bash run.sh"
232
+ ```
233
+
234
+ ---
235
+
236
+ ## Batch Submission
237
+
238
+ ```bash
239
+ # Submit from config file
240
+ qzcli batch batch_config.json --delay 3
241
+
242
+ # Preview all jobs
243
+ qzcli batch batch_config.json --dry-run
244
+
245
+ # Continue on error
246
+ qzcli batch batch_config.json --continue-on-error
247
+ ```
248
+
249
+ **Config format** (`batch_config.json`):
250
+
251
+ ```json
252
+ {
253
+ "defaults": {
254
+ "workspace": "ws-YOUR_WORKSPACE_ID",
255
+ "compute_group": "lcg-YOUR_LCG_ID",
256
+ "spec": "YOUR_SPEC_ID",
257
+ "image": "YOUR_REGISTRY/team/image:tag",
258
+ "instances": 4,
259
+ "priority": 10
260
+ },
261
+ "matrix": {
262
+ "checkpoint": ["/path/to/ckpt1", "/path/to/ckpt2"],
263
+ "step": [50000, 100000]
264
+ },
265
+ "name_template": "eval-{checkpoint_basename}-step{step}",
266
+ "command_template": "bash eval.sh --checkpoint {checkpoint} --step {step}"
267
+ }
268
+ ```
269
+
270
+ Matrix keys are Cartesian-producted (2×2 = 4 jobs above). Use `{key_basename}` for path basenames.
271
+
272
+ ### Shell loop (alternative)
273
+
274
+ ```bash
275
+ for step in 040000 050000 060000; do
276
+ qzcli create \
277
+ --name "eval-step${step}" \
278
+ --command "bash eval.sh --step $step" \
279
+ --workspace "My Workspace" \
280
+ --compute-group "My Compute Group" \
281
+ --instances 4
282
+ sleep 3
283
+ done
284
+ ```
285
+
286
+ ---
287
+
288
+ ## Job Management
289
+
290
+ ```bash
291
+ # List jobs
292
+ qzcli ls -c -w MY_WORKSPACE # specific workspace
293
+ qzcli ls -c --all-ws # all workspaces
294
+ qzcli ls -c -w MY_WORKSPACE -r # running only
295
+ qzcli ls -c -w MY_WORKSPACE -n 50 # show 50
296
+
297
+ # Stop a job
298
+ qzcli stop JOB_ID
299
+
300
+ # Job status / details
301
+ qzcli status JOB_ID
302
+
303
+ # Watch all running jobs (refresh every 10s)
304
+ qzcli watch -i 10
305
+
306
+ # Workspace view with GPU utilization
307
+ qzcli ws
308
+ qzcli ws -a # all projects
309
+ qzcli ws -p "My Project"
310
+ ```
311
+
312
+ ---
313
+
314
+ ## Troubleshooting
315
+
316
+ | Problem | Cause | Fix |
317
+ |---------|-------|-----|
318
+ | Cookie expired | Session gap | Re-run `qzcli login` |
319
+ | `未找到名称为 'xxx' 的工作空间` | Stale cache | Run `qzcli res -u` |
320
+ | No resources in `create -i` | Cache empty | Run `qzcli login && qzcli res -u` |
321
+ | `qzcli-mcp` not found | Not installed | `cd qzcli_tool && pip install -e .` |
322
+ | Spec not in workspace | ID mismatch | Match spec ID to the correct workspace |
323
+ | Silent job failure | Script `sys.exit(0)` | Check job logs directly |
324
+ | zsh glob errors | Remote shell is zsh | Wrap commands in `bash -c` or use Python |
@@ -0,0 +1,305 @@
1
+ ---
2
+ name: rebuttal
3
+ description: "Workflow 4: Submission rebuttal pipeline. Parses external reviews, enforces coverage and grounding, drafts a safe text-only rebuttal under venue limits, and manages follow-up rounds. Use when user says \"rebuttal\", \"reply to reviewers\", \"ICML rebuttal\", \"OpenReview response\", or wants to answer external reviews safely."
4
+ argument-hint: "[paper-path-or-review-bundle]"
5
+ allowed-tools: Bash(*), Read, Grep, Glob, Write, Edit, Skill
6
+ ---
7
+
8
+ # Workflow 4: Rebuttal
9
+
10
+ Prepare and maintain a grounded, venue-compliant rebuttal for: **$ARGUMENTS**
11
+
12
+ ## Scope
13
+
14
+ This skill is optimized for:
15
+ - ICML-style **text-only rebuttal**
16
+ - strict **character limits**
17
+ - **multiple reviewers**
18
+ - **follow-up rounds** after the initial rebuttal
19
+ - safe drafting with **no fabrication**, **no overpromise**, and **full issue coverage**
20
+
21
+ This skill does **not**:
22
+ - run new experiments automatically
23
+ - generate new theorem claims automatically
24
+ - edit or upload a revised PDF
25
+ - submit to OpenReview / CMT / HotCRP
26
+
27
+ If the user already has new results, derivations, or approved commitments, the skill can incorporate them as **user-confirmed evidence**.
28
+
29
+ ## Lifecycle Position
30
+
31
+ ```text
32
+ Workflow 1: idea-discovery
33
+ Workflow 1.5: experiment-bridge
34
+ Workflow 2: auto-review-loop (pre-submission)
35
+ Workflow 3: paper-writing
36
+ Workflow 4: rebuttal (post-submission external reviews)
37
+ ```
38
+
39
+ ## Constants
40
+
41
+ - **VENUE = `ICML`** — Default venue. Override if needed.
42
+ - **RESPONSE_MODE = `TEXT_ONLY`** — v1 default.
43
+ - **REVIEWER_MODEL = `gpt-5.6-sol`** — Used via Codex MCP for internal stress-testing.
44
+ - **REVIEWER_BACKEND = `codex`** — Default: Codex xhigh stress tester. Use `--reviewer: oracle-pro` only when explicitly requested; if Oracle is unavailable, warn and fall back to Codex xhigh. See `../shared-references/reviewer-routing.md`.
45
+ - **MAX_INTERNAL_DRAFT_ROUNDS = 2** — draft → lint → revise.
46
+ - **MAX_STRESS_TEST_ROUNDS = 1** — One Codex MCP critique round.
47
+ - **MAX_FOLLOWUP_ROUNDS = 3** — per reviewer thread.
48
+ - **AUTO_EXPERIMENT = false** — When `true`, automatically invoke `/experiment-bridge` to run supplementary experiments when the strategy plan identifies reviewer concerns that require new empirical evidence. When `false` (default), pause and present the evidence gap to the user for manual handling.
49
+ - **QUICK_MODE = false** — When `true`, only run Phase 0-3 (parse reviews, atomize concerns, build strategy). Outputs `ISSUE_BOARD.md` + `STRATEGY_PLAN.md` and stops — no drafting, no stress test. Useful for quickly understanding what reviewers want before deciding how to respond.
50
+ - **REBUTTAL_DIR = `rebuttal/`**
51
+ - **RENDER_HTML = true** — When `true` (default), auto-render `rebuttal/REBUTTAL_DRAFT_rich.md` to HTML after Phase 6 / Phase 8 finalization via `/render-html`. Uses **full review gate** (reviewer-facing pre-submission deliverable). The plain-text `PASTE_READY.txt` is NOT rendered (it's character-counted plain text by design). Set `false` to skip, or pass `— render html: false`. **Non-blocking**: failures don't invalidate the rebuttal.
52
+
53
+ > Override: `/rebuttal "paper/" — venue: NeurIPS, character limit: 5000`
54
+
55
+ ## Required Inputs
56
+
57
+ 1. **Paper source** — PDF, LaTeX directory, or narrative summary
58
+ 2. **Raw reviews** — pasted text, markdown, or PDF with reviewer IDs
59
+ 3. **Venue rules** — venue name, character/word limit, text-only or revised PDF allowed
60
+ 4. **Current stage** — initial rebuttal or follow-up round
61
+
62
+ If venue rules or limit are missing, **stop and ask** before drafting.
63
+
64
+ ## Safety Model
65
+
66
+ Three hard gates — if any fails, do NOT finalize:
67
+
68
+ 1. **Provenance gate** — every factual statement maps to: `paper`, `review`, `user_confirmed_result`, `user_confirmed_derivation`, or `future_work`. No source = blocked.
69
+ 2. **Commitment gate** — every promise maps to: `already_done`, `approved_for_rebuttal`, or `future_work_only`. Not approved = blocked.
70
+ 3. **Coverage gate** — every reviewer concern ends in: `answered`, `deferred_intentionally`, or `needs_user_input`. No issue disappears.
71
+
72
+ ## Workflow
73
+
74
+ ### Phase 0: Resume or Initialize
75
+
76
+ 1. If `rebuttal/REBUTTAL_STATE.md` exists → resume from recorded phase
77
+ 2. Otherwise → create `rebuttal/`, initialize all output documents
78
+ 3. Load paper, reviews, venue rules, any user-confirmed evidence
79
+
80
+ ### Phase 1: Validate Inputs and Normalize Reviews
81
+
82
+ 1. Validate venue rules are explicit
83
+ 2. Normalize all reviewer text into `rebuttal/REVIEWS_RAW.md` (verbatim)
84
+ 3. Record metadata in `rebuttal/REBUTTAL_STATE.md`
85
+ 4. If ambiguous, pause and ask
86
+
87
+ ### Phase 2: Atomize and Classify Reviewer Concerns
88
+
89
+ Create `rebuttal/ISSUE_BOARD.md`.
90
+
91
+ For each atomic concern:
92
+ - `issue_id` (e.g., R1-C2)
93
+ - `reviewer`, `round`, `raw_anchor` (short quote)
94
+ - `issue_type`: assumptions / theorem_rigor / novelty / empirical_support / baseline_comparison / complexity / practical_significance / clarity / reproducibility / other
95
+ - `severity`: critical / major / minor
96
+ - `reviewer_stance`: positive / swing / negative / unknown
97
+ - `response_mode`: direct_clarification / grounded_evidence / nearest_work_delta / assumption_hierarchy / narrow_concession / future_work_boundary
98
+ - `status`: open / answered / deferred / needs_user_input
99
+
100
+ ### Phase 3: Build Strategy Plan
101
+
102
+ Create `rebuttal/STRATEGY_PLAN.md`.
103
+
104
+ 1. Identify 2-4 **global themes** resolving shared concerns
105
+ 2. Choose **response mode** per issue
106
+ 3. Build **character budget** (10-15% opener, 75-80% per-reviewer, 5-10% closing)
107
+ 4. Identify **blocked claims** (ungrounded or unapproved)
108
+ 5. If unresolved blockers → pause and present to user
109
+
110
+ **QUICK_MODE exit**: If `QUICK_MODE = true`, stop here. Present `ISSUE_BOARD.md` + `STRATEGY_PLAN.md` to the user and summarize: how many issues per reviewer, shared vs unique concerns, recommended priorities, and evidence gaps. The user can then decide to continue with full rebuttal (`/rebuttal — quick mode: false`) or write manually.
111
+
112
+ ### Phase 3.5: Evidence Sprint (when AUTO_EXPERIMENT = true)
113
+
114
+ **Skip entirely if `AUTO_EXPERIMENT` is `false` — instead, pause and present the evidence gaps to the user.**
115
+
116
+ If the strategy plan identifies issues that require new empirical evidence (tagged `response_mode: grounded_evidence` with `evidence_source: needs_experiment`):
117
+
118
+ 1. Generate a mini experiment plan from the reviewer concerns:
119
+ - What to run (ablation, baseline comparison, scale-up, condition check)
120
+ - Success criterion (what result would satisfy the reviewer)
121
+ - Estimated GPU-hours
122
+
123
+ 2. Invoke `/experiment-bridge` with the mini plan:
124
+ ```
125
+ /experiment-bridge "rebuttal/REBUTTAL_EXPERIMENT_PLAN.md"
126
+ ```
127
+
128
+ 3. Wait for results, then update `ISSUE_BOARD.md`:
129
+ - Tag completed experiments as `user_confirmed_result`
130
+ - Update evidence source for relevant issue cards
131
+
132
+ 4. If experiments fail or are inconclusive:
133
+ - Switch response mode to `narrow_concession` or `future_work_boundary`
134
+ - Do NOT fabricate positive results
135
+
136
+ 5. Save experiment results to `rebuttal/REBUTTAL_EXPERIMENTS.md` for provenance tracking.
137
+
138
+ **Time guard**: If estimated GPU-hours exceed rebuttal deadline, skip and flag for manual handling.
139
+
140
+ ### Phase 4: Draft Initial Rebuttal
141
+
142
+ Create `rebuttal/REBUTTAL_DRAFT_v1.md`.
143
+
144
+ Structure:
145
+ 1. **Short opener** — thank reviewers + 2-4 global resolutions
146
+ 2. **Per-reviewer numbered responses** — answer → evidence → implication
147
+ 3. **Short closing** — resolved / remaining / acceptance case
148
+
149
+ Default reply pattern per issue:
150
+ - Sentence 1: direct answer
151
+ - Sentence 2-4: grounded evidence
152
+ - Last sentence: implication for the paper
153
+
154
+ Heuristics from 5 successful rebuttals:
155
+ - Evidence > assertion
156
+ - Global narrative first, per-reviewer detail second
157
+ - Concrete numbers for counter-intuitive points
158
+ - Name closest prior work + exact delta for novelty disputes
159
+ - Concede narrowly when reviewer is right
160
+ - For theory: separate core vs technical assumptions
161
+ - Answer friendly reviewers too
162
+
163
+ Hard rules:
164
+ - NEVER invent experiments, numbers, derivations, citations, or links
165
+ - NEVER promise what user hasn't approved
166
+ - If no strong evidence exists, say less not more
167
+
168
+ Also generate `rebuttal/PASTE_READY.txt` (plain text, exact character count).
169
+
170
+ Also generate `rebuttal/REVISION_PLAN.md` — the **overall revision checklist**.
171
+
172
+ This document is the single source of truth for every paper revision promised (explicitly or implicitly) in the rebuttal draft. It exists so the author can track follow-through after the rebuttal is submitted, and so the commitment gate in Phase 5 has a concrete artifact to validate against.
173
+
174
+ Structure:
175
+
176
+ 1. **Header**
177
+ - Paper title, venue, character limit, rebuttal round
178
+ - Links back to `ISSUE_BOARD.md`, `STRATEGY_PLAN.md`, `REBUTTAL_DRAFT_v1.md`
179
+
180
+ 2. **Overall checklist** — a single flat GitHub-style checklist covering **every** revision item, so the author can tick items off as they land in the camera-ready / revised PDF:
181
+
182
+ ```markdown
183
+ ## Overall Checklist
184
+
185
+ - [ ] (R1-C2) Add assumption hierarchy table to Section 3.1 — commitment: `approved_for_rebuttal` — owner: author — status: pending
186
+ - [ ] (R2-C1) Clarify novelty delta vs. Smith'24 in Section 2 related work — commitment: `already_done` — status: verify wording
187
+ - [ ] (R3-C4) Add runtime breakdown figure to Appendix B — commitment: `future_work_only` — status: deferred, note in camera-ready
188
+ - ...
189
+ ```
190
+
191
+ Checklist items must be **atomic** (one paper edit per line) and each must reference its `issue_id` so it maps back to `ISSUE_BOARD.md`.
192
+
193
+ 3. **Grouped view** — the same items regrouped by (a) paper section/location and (b) severity, so the author can plan the revision pass efficiently.
194
+
195
+ 4. **Commitment summary** — counts of `already_done` / `approved_for_rebuttal` / `future_work_only`, plus any `needs_user_input` items that are blocking.
196
+
197
+ 5. **Out-of-scope log** — reviewer concerns that will **not** trigger a paper revision (e.g. `deferred_intentionally`, `narrow_concession` with no edit), with a one-line reason each. This keeps the checklist honest: nothing silently disappears.
198
+
199
+ Rules for `REVISION_PLAN.md`:
200
+ - Every checklist item must map to at least one `issue_id` from `ISSUE_BOARD.md`.
201
+ - Every promise in `REBUTTAL_DRAFT_v1.md` that implies a paper edit must appear as a checklist item — if it is not in the plan, it is a commitment-gate violation.
202
+ - Never add items that are not backed by the draft or by user-confirmed evidence.
203
+ - On rerun / follow-up rounds, update checkbox state in place rather than regenerating from scratch.
204
+
205
+ ### Phase 5: Safety Validation
206
+
207
+ Run all lints:
208
+ 1. **Coverage** — every issue maps to draft anchor
209
+ 2. **Provenance** — every factual sentence has source
210
+ 3. **Commitment** — promises are approved AND every paper-edit promise in the draft appears as a checklist item in `REVISION_PLAN.md` (and vice versa — no orphan items in the plan)
211
+ 4. **Tone** — flag aggressive/submissive/evasive phrases
212
+ 5. **Consistency** — no contradictions across reviewer replies
213
+ 6. **Limit** — exact character count, compress if over (redundancy → friendly → opener → wording, never drop critical answers)
214
+
215
+ ### Phase 6: Codex Reviewer Stress Test
216
+
217
+ ```
218
+ spawn_agent:
219
+ model: gpt-5.6-sol
220
+ reasoning_effort: xhigh
221
+ message: |
222
+ Stress-test this rebuttal draft:
223
+ [raw reviews + issue board + draft + venue rules]
224
+
225
+ 1. Unanswered or weakly answered concerns?
226
+ 2. Unsupported factual statements?
227
+ 3. Risky or unapproved promises?
228
+ 4. Tone problems?
229
+ 5. Paragraph most likely to backfire with meta-reviewer?
230
+ 6. Minimal grounded fixes only. Do NOT invent evidence.
231
+
232
+ Verdict: safe to submit / needs revision
233
+ ```
234
+
235
+ Save full response to `rebuttal/MCP_STRESS_TEST.md`. If hard safety blocker → revise before finalizing.
236
+
237
+ ### Phase 7: Finalize — Two Versions
238
+
239
+ Produce **two outputs** for different purposes:
240
+
241
+ 1. **`rebuttal/PASTE_READY.txt`** — the strict version
242
+ - Plain text, exact character count, fits venue limit
243
+ - Ready to paste directly into OpenReview / CMT / HotCRP
244
+ - No markdown formatting, no extras
245
+
246
+ 2. **`rebuttal/REBUTTAL_DRAFT_rich.md`** — the extended version
247
+ - Same structure but with **more detail**: fuller explanations, additional evidence, optional paragraphs
248
+ - Marked with `[OPTIONAL — cut if over limit]` for sections that exceed the strict version
249
+ - Author can read this to understand the full reasoning, then manually decide what to keep/cut/rewrite
250
+ - Useful for follow-up rounds — the extra material is pre-written
251
+
252
+ 3. Update `rebuttal/REBUTTAL_STATE.md`
253
+ 4. Refresh `rebuttal/REVISION_PLAN.md` so the overall checklist matches the final draft (add items, mark `already_done` as checked, carry forward any `pending` items)
254
+ 5. Present to user:
255
+ - `PASTE_READY.txt` character count vs venue limit
256
+ - `REBUTTAL_DRAFT_rich.md` for review and manual editing
257
+ - `REVISION_PLAN.md` checklist — counts of pending / approved / deferred
258
+ - Remaining risks + lines needing manual approval
259
+
260
+ ### Phase 8: Follow-Up Rounds
261
+
262
+ When new reviewer comments arrive:
263
+
264
+ 1. Append verbatim to `rebuttal/FOLLOWUP_LOG.md`
265
+ 2. Link to existing issues or create new ones
266
+ 3. Draft **delta reply only** (not full rewrite)
267
+ 4. Update `rebuttal/REVISION_PLAN.md` in place — add any new checklist items introduced by the follow-up, tick off items the author has already completed, and keep existing items' status current
268
+ 5. Re-run safety lints
269
+ 6. Use Codex MCP reply for continuity if useful
270
+ 7. Rules: escalate technically not rhetorically; concede if reviewer is correct; stop arguing if reviewer is immovable and no new evidence exists
271
+
272
+ ### Phase 9: Render HTML view (auto, when `RENDER_HTML = true`, default)
273
+
274
+ After Phase 6 (initial rebuttal) or Phase 8 (follow-up rounds) finalize `rebuttal/REBUTTAL_DRAFT_rich.md`, invoke:
275
+
276
+ ```
277
+ /render-html "rebuttal/REBUTTAL_DRAFT_rich.md"
278
+ ```
279
+
280
+ Full review gate (reviewer-facing pre-submission deliverable). Do NOT render `rebuttal/PASTE_READY.txt` (it's exact-character-count plain text by design).
281
+
282
+ **Non-blocking**: if `/render-html` fails, log the failure and treat the rebuttal phase as complete — the `PASTE_READY.txt` and `REBUTTAL_DRAFT_rich.md` are the canonical outputs.
283
+
284
+ Skip if `RENDER_HTML = false`.
285
+
286
+ ## Key Rules
287
+
288
+ - **Large file handling**: If Write fails, retry with Bash heredoc silently.
289
+ - **Never fabricate.** No invented evidence, numbers, derivations, citations, or links.
290
+ - **Never overpromise.** Only promise what user explicitly approved.
291
+ - **Full coverage.** Every reviewer concern tracked and accounted for.
292
+ - **Preserve raw records.** Reviews and MCP outputs stored verbatim.
293
+ - **Global + per-reviewer structure.** Shared concerns in opener.
294
+ - **Answer friendly reviewers too.** Reinforce supportive framing.
295
+ - **Meta-reviewer closing.** Summarize resolved/remaining/why accept.
296
+ - **Evidence > rhetoric.** Derivations and numbers over prose.
297
+ - **Concede selectively.** Narrow honest concessions > broad denials.
298
+ - **Don't waste space on unwinnable arguments.** Answer once, move on.
299
+ - **Respect the limit.** Character budget is a hard constraint.
300
+ - **Resume cleanly.** Continue from REBUTTAL_STATE.md on rerun.
301
+ - **Anti-hallucination citations.** Any reference added must go through DBLP → CrossRef → [VERIFY].
302
+
303
+ ## Review Tracing
304
+
305
+ After each `spawn_agent` or `send_input` reviewer call, save the trace following `../shared-references/review-tracing.md`. Write files directly to `.aris/traces/rebuttal/<date>_run<NN>/`. Respect the `--- trace:` parameter when present (default: `full`).