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,731 @@
1
+ ---
2
+ name: paper-writing
3
+ description: "Workflow 3: Full paper writing pipeline that goes from a narrative report to a polished, submission-ready PDF. Use when user says \"写论文全流程\", \"write paper pipeline\", \"从报告到PDF\", \"paper writing\", or wants the complete paper generation workflow."
4
+ argument-hint: "[narrative-report-path-or-topic]"
5
+ allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, Skill
6
+ ---
7
+
8
+ # Workflow 3: Paper Writing Pipeline
9
+
10
+ > **Codex assurance:** every base semantic audit is same-family provisional.
11
+ > The pipeline still completes when all mandatory audits are green, but the
12
+ > Final Report must say `Submission-ready: provisional`; only cross-family or
13
+ > deterministic accepted audit coverage may say `yes`.
14
+
15
+ Orchestrate a complete paper writing workflow for: **$ARGUMENTS**
16
+
17
+ ## Overview
18
+
19
+ This skill chains five sub-skills into a single automated pipeline:
20
+
21
+ ```
22
+ /paper-plan → /paper-figure → /paper-write → /paper-compile → /auto-paper-improvement-loop
23
+ (outline) (plots) (LaTeX) (build PDF) (review & polish ×2)
24
+ ```
25
+
26
+ Each phase builds on the previous one's output. The final deliverable is a polished, reviewed `paper/` directory with LaTeX source and compiled PDF.
27
+
28
+ In this hybrid pack, the pipeline itself is unchanged, but `paper-plan` and `paper-write` use Orchestra-adapted shared references for stronger story framing and prose guidance.
29
+
30
+ ## Constants
31
+
32
+ - **VENUE = `ICLR`** — Target venue. Options: `ICLR`, `NeurIPS`, `ICML`, `CVPR`, `ACL`, `AAAI`, `ACM`, `IEEE_JOURNAL` (IEEE Transactions / Letters), `IEEE_CONF` (IEEE conferences). Affects style file, page limit, citation format.
33
+ - **MAX_IMPROVEMENT_ROUNDS = 2** — Number of review→fix→recompile rounds in the improvement loop.
34
+ - **REVIEWER_MODEL = `gpt-5.6-sol`** — Model used via Codex MCP for plan review, figure review, writing review, and improvement loop.
35
+ - **AUTO_PROCEED = true** — Auto-continue between phases. Set `false` to pause and wait for user approval after each phase.
36
+ - **HUMAN_CHECKPOINT = false** — When `true`, the improvement loop (Phase 5) pauses after each round's review to let you see the score and provide custom modification instructions. When `false` (default), the loop runs fully autonomously. Passed through to `/auto-paper-improvement-loop`.
37
+ - **ILLUSTRATION = `figurespec`** — Architecture/illustration generator for Phase 2b: `figurespec` (default, deterministic JSON→SVG via `/figure-spec`, best for architecture/workflow/topology), `gemini` (AI-generated via `/paper-illustration`, best for qualitative method illustrations; needs `GEMINI_API_KEY`), `mermaid` (Mermaid syntax via `/mermaid-diagram`, free, best for flowcharts), or `false` (skip Phase 2b, manual only).
38
+
39
+ > Override inline: `/paper-writing "NARRATIVE_REPORT.md" — venue: NeurIPS, illustration: gemini, human checkpoint: true`
40
+ > IEEE example: `/paper-writing "NARRATIVE_REPORT.md" — venue: IEEE_JOURNAL`
41
+
42
+ ## Inputs
43
+
44
+ This pipeline accepts one of:
45
+
46
+ 1. **`NARRATIVE_REPORT.md`** (best) — structured research narrative with claims, experiments, results, figures
47
+ 2. **Research direction + experiment results** — the skill will help draft the narrative first
48
+ 3. **Existing `PAPER_PLAN.md`** — skip Phase 1, start from **Phase 1.5** (the contract negotiation still runs; only resuming a genuine pre-1.5 legacy run may skip it, and then Phase 6.0's row 0 records "no contract")
49
+
50
+ The more detailed the input (especially figure descriptions and quantitative results), the better the output.
51
+
52
+ ## Pipeline
53
+
54
+ ### Phase 0: Assurance Setup
55
+
56
+ Resolve the active `assurance` level and persist it so Phase 6's external
57
+ verifier reads the same value. **Run once at pipeline start, before Phase 1.**
58
+
59
+ **Resolution order** (first match wins):
60
+
61
+ 1. Explicit `— assurance: draft | submission` in `$ARGUMENTS`
62
+ 2. Derived from `— effort:`
63
+ - `lite` / `balanced` → `draft` (default, **zero change from current behavior**)
64
+ - `max` / `beast` → `submission`
65
+ 3. Default: `draft`
66
+
67
+ **Action:**
68
+
69
+ ```bash
70
+ mkdir -p paper/.aris
71
+ echo "<resolved-level>" > paper/.aris/assurance.txt # draft or submission
72
+ ```
73
+
74
+ **What each level does downstream:**
75
+
76
+ - **`draft`** — Existing behavior. Audits run only when their content detector
77
+ matches (Phase 4.5 / 4.7 / 5.5 / 5.8). Missing artifacts are non-blocking.
78
+ Silent-skip allowed.
79
+ - **`submission`** — The four mandatory audits (proof-checker,
80
+ paper-claim-audit, citation-audit, kill-argument) are treated as load-bearing gates. Each
81
+ sub-audit must emit its JSON artifact (PASS / WARN / FAIL / NOT_APPLICABLE /
82
+ BLOCKED / ERROR) — never silent-skip. Phase 6 runs
83
+ `verify_paper_audits.sh` (canonical name; resolved per
84
+ `shared-references/integration-contract.md` §2); a non-zero exit blocks the Final Report.
85
+
86
+ **Escape hatch:** a user wanting the old "beast = depth-only, no audit gate"
87
+ can pass `— effort: beast, assurance: draft` explicitly. Legal but
88
+ discouraged for actual submissions. See
89
+ `shared-references/assurance-contract.md` for the full contract.
90
+
91
+ **Announce the resolved level in-line before Phase 1:**
92
+
93
+ ```
94
+ 📋 Assurance: <level> (derived from effort: <effort>)
95
+ <either "current behavior, no audit gate" OR "mandatory audits gated by verify_paper_audits.sh (resolved per integration-contract §2)">
96
+ ```
97
+
98
+ ### Phase 1: Paper Plan
99
+
100
+ Invoke `/paper-plan` to create the structural outline:
101
+
102
+ ```
103
+ /paper-plan "$ARGUMENTS"
104
+ ```
105
+
106
+ **What this does:**
107
+ - Parse NARRATIVE_REPORT.md for claims, evidence, and figure descriptions
108
+ - Build a **Claims-Evidence Matrix** — every claim maps to evidence, every experiment supports a claim
109
+ - Design section structure (5-8 sections depending on paper type)
110
+ - Plan figure/table placement with data sources
111
+ - Scaffold citation structure
112
+ - GPT-5.6-Sol reviews the plan for completeness
113
+
114
+ **Output:** `PAPER_PLAN.md` with section plan, figure plan, citation scaffolding.
115
+
116
+ **Checkpoint:** Present the plan summary to the user.
117
+
118
+ ```
119
+ 📐 Paper plan complete:
120
+ - Title: [proposed title]
121
+ - Sections: [N] ([list])
122
+ - Figures: [N] auto-generated + [M] manual
123
+ - Target: [VENUE], [PAGE_LIMIT] pages
124
+
125
+ Shall I proceed with figure generation?
126
+ ```
127
+
128
+ - **User approves** (or AUTO_PROCEED=true) → proceed to Phase 1.5.
129
+ - **User requests changes** → adjust plan and re-present.
130
+
131
+ ### Phase 1.5: Negotiated Acceptance Contract (before any writing)
132
+
133
+ The plan says what the paper will contain; the CONTRACT says what "done" means
134
+ — a checklist of testable assertions, negotiated ADVERSARIALLY before the first
135
+ section is written, and graded at the end. (The plan is the boundary; the
136
+ contract is what gets graded.)
137
+
138
+ 1. **Executor proposes.** From `PAPER_PLAN.md` + `NARRATIVE_REPORT.md`, draft
139
+ `PAPER_ACCEPTANCE_CONTRACT.md`: **10–20 testable assertions** — every
140
+ headline claim has a named evidence source; every abstract number traces to
141
+ a results file; scope qualifiers the title/abstract must carry; figures
142
+ that must exist and what each must show; section-level completeness; venue
143
+ constraints. Each assertion must be CHECKABLE by reading the final PDF +
144
+ results files — no vibes ("writing is clear" is not an assertion; "every
145
+ acronym is defined at first use" is). Fewer than ~10 rubber-stamps; beyond
146
+ ~20 stalls on trivia.
147
+
148
+ 2. **Reviewer pushes back.** Spawn a FRESH reviewer agent (xhigh reasoning)
149
+ pointed at `PAPER_PLAN.md`, `PAPER_ACCEPTANCE_CONTRACT.md`, and the evidence
150
+ inventory (`NARRATIVE_REPORT.md` + results paths). Its brief: push back on
151
+ the contract, not the plan — (a) untestable/vibes assertions → demand a
152
+ checkable rewrite; (b) missing assertions (uncovered claims, untraced
153
+ numbers, foreseeable overclaims with no scope assertion); (c) assertions
154
+ the evidence cannot possibly satisfy — flag now, not after writing. It must
155
+ end with exactly one line: `CONTRACT_ACCEPTED: yes` or
156
+ `CONTRACT_ACCEPTED: no` plus numbered revision demands. A reply with a
157
+ missing or malformed verdict line is treated as `no`; request a corrected
158
+ verdict as a follow-up — the correction exchange does not consume a round.
159
+ Include the scope-limits block from
160
+ [`review-scope-limits.md`](../shared-references/review-scope-limits.md) in the
161
+ brief.
162
+
163
+ 3. **Iterate.** On `no`, revise per the demands and resubmit as a follow-up in
164
+ the SAME reviewer thread (the negotiation is one conversation). **Max 3
165
+ rounds.**
166
+
167
+ 4. **Fallback — never stall the pipeline.** Round 3 still `no` → record the
168
+ unresolved demands verbatim in a "## Disputed" section and mark
169
+ `status: contested`. A contested contract is precisely the "insert a human
170
+ when the CONTRACT is wrong" trigger, so it OVERRIDES `AUTO_PROCEED` for this
171
+ one decision: pause and present the dispute for a human tie-break. If no
172
+ human responds (unattended run), proceed — but a contested contract caps the
173
+ outcome: Phase 6 gates on the UNDISPUTED assertions and the Final Report
174
+ must set `Submission-ready: no` with the dispute reproduced verbatim; the
175
+ tie-break happens when the human returns.
176
+
177
+ **Output:** `PAPER_ACCEPTANCE_CONTRACT.md` (`status: accepted | contested`,
178
+ round count, reviewer thread/agent id). FROZEN once accepted — Phases 2–5
179
+ implement against it, never edit it; a genuinely-wrong assertion is a contract
180
+ question for a checkpoint, not a silent rewrite.
181
+
182
+ **Boundary:** the claim audit (Phases 4.7 / 5.5) stays zero-context — the
183
+ contract is a WRITER-side gate, never passed to the claim auditor (two
184
+ different nets by design).
185
+
186
+ ### Phase 2: Figure Generation
187
+
188
+ Invoke `/paper-figure` to generate data-driven plots and tables:
189
+
190
+ ```
191
+ /paper-figure "PAPER_PLAN.md"
192
+ ```
193
+
194
+ **What this does:**
195
+ - Read figure plan from PAPER_PLAN.md
196
+ - Generate matplotlib/seaborn plots from JSON/CSV data
197
+ - Generate LaTeX comparison tables
198
+ - Create `figures/latex_includes.tex` for easy insertion
199
+ - GPT-5.6-Sol reviews figure quality and captions
200
+
201
+ **Output:** `figures/` directory with PDFs, generation scripts, and LaTeX snippets.
202
+
203
+ > **Scope:** `paper-figure` covers data plots and comparison tables. Architecture diagrams, pipeline figures, and method illustrations are handled in Phase 2b below.
204
+
205
+ #### Phase 2b: Architecture & Illustration Generation
206
+
207
+ **Skip this step entirely if `illustration: false`.**
208
+
209
+ If the paper plan includes architecture diagrams, pipeline figures, audit cascades, or method illustrations, invoke the appropriate generator based on the `illustration` parameter:
210
+
211
+ **When `illustration: figurespec`** (default) — invoke `/figure-spec`:
212
+ ```
213
+ /figure-spec "[architecture/workflow description from PAPER_PLAN.md]"
214
+ ```
215
+ - Deterministic JSON → SVG vector rendering (editable, reproducible)
216
+ - Best for: system architecture, workflow pipelines, audit cascades, layered topology
217
+ - Output: `figures/*.svg` + `figures/*.pdf` (via rsvg-convert) + `figures/specs/*.json`
218
+ - No external API, runs fully local
219
+
220
+ **When `illustration: gemini`** — invoke `/paper-illustration`:
221
+ ```
222
+ /paper-illustration "[method description from PAPER_PLAN.md or NARRATIVE_REPORT.md]"
223
+ ```
224
+ - Claude plans → Gemini optimizes → Nano Banana Pro renders → Claude reviews (score ≥ 9)
225
+ - Best for: qualitative method illustrations, natural-style diagrams, result grids
226
+ - Output: `figures/ai_generated/*.png`
227
+ - Requires `GEMINI_API_KEY` environment variable
228
+
229
+ **When `illustration: mermaid`** — invoke `/mermaid-diagram`:
230
+ ```
231
+ /mermaid-diagram "[method description from PAPER_PLAN.md]"
232
+ ```
233
+ - Generates Mermaid syntax diagrams (flowchart, sequence, class, state, etc.)
234
+ - Best for: lightweight flowcharts, state machines, simple sequence diagrams
235
+ - Output: `figures/*.mmd` + `figures/*.png`
236
+ - Free, no API key needed
237
+
238
+ **When `illustration: false`** — skip entirely. All non-data figures must be created manually (draw.io, Figma, TikZ) and placed in `figures/` before Phase 3.
239
+
240
+ **Choosing the right mode:**
241
+ - Formal architecture / workflow / topology figures → `figurespec` (default)
242
+ - Method concept illustrations with natural style → `gemini`
243
+ - Quick flowchart / state machine → `mermaid`
244
+ - Full manual control → `false`
245
+
246
+ These are complementary, not mutually exclusive: you can run multiple generators for different figures in the same paper by re-invoking with different `illustration` overrides.
247
+
248
+ **Checkpoint:** List generated vs manual figures.
249
+
250
+ ```
251
+ 📊 Figures complete:
252
+ - Data plots (auto, Phase 2): [list]
253
+ - Architecture/illustrations (auto, Phase 2b, mode=<illustration>): [list]
254
+ - Manual (need your input): [list]
255
+ - LaTeX snippets: figures/latex_includes.tex
256
+
257
+ [If manual figures needed]: Please add them to figures/ before I proceed.
258
+ [If all auto]: Shall I proceed with LaTeX writing?
259
+ ```
260
+
261
+ ### Phase 3: LaTeX Writing
262
+
263
+ Invoke `/paper-write` to generate section-by-section LaTeX:
264
+
265
+ ```
266
+ /paper-write "PAPER_PLAN.md"
267
+ ```
268
+
269
+ **What this does:**
270
+ - Write each section following the plan, with proper LaTeX formatting
271
+ - Insert figure/table references from `figures/latex_includes.tex`
272
+ - Build `references.bib` from citation scaffolding
273
+ - Clean stale files from previous section structures
274
+ - Automated bib cleaning (remove uncited entries)
275
+ - De-AI polish (remove "delve", "pivotal", "landscape"...)
276
+ - GPT-5.6-Sol reviews each section for quality
277
+
278
+ **Output:** `paper/` directory with `main.tex`, `sections/*.tex`, `references.bib`, `math_commands.tex`.
279
+
280
+ **Checkpoint:** Report section completion.
281
+
282
+ ```
283
+ ✍️ LaTeX writing complete:
284
+ - Sections: [N] written ([list])
285
+ - Citations: [N] unique keys in references.bib
286
+ - Stale files cleaned: [list, if any]
287
+
288
+ Shall I proceed with compilation?
289
+ ```
290
+
291
+ ### Phase 4: Compilation
292
+
293
+ Invoke `/paper-compile` to build the PDF:
294
+
295
+ ```
296
+ /paper-compile "paper/"
297
+ ```
298
+
299
+ **What this does:**
300
+ - `latexmk -pdf` with automatic multi-pass compilation
301
+ - Auto-fix common errors (missing packages, undefined refs, BibTeX syntax)
302
+ - Up to 3 compilation attempts
303
+ - Post-compilation checks: undefined refs, page count, font embedding
304
+ - Precise page verification via `pdftotext`
305
+ - Stale file detection
306
+
307
+ **Output:** `paper/main.pdf`
308
+
309
+ **Checkpoint:** Report compilation results.
310
+
311
+ ```
312
+ 🔨 Compilation complete:
313
+ - Status: SUCCESS
314
+ - Pages: [X] (main body) + [Y] (references) + [Z] (appendix)
315
+ - Within page limit: YES/NO
316
+ - Undefined references: 0
317
+ - Undefined citations: 0
318
+
319
+ Shall I proceed with the improvement loop?
320
+ ```
321
+
322
+ ### Phase 4.5: Proof Verification (theory papers only)
323
+
324
+ **Skip this phase if the paper contains no theorems, lemmas, or proofs.**
325
+
326
+ ```
327
+ if paper contains \begin{theorem} or \begin{lemma} or \begin{proof}:
328
+ Run /proof-checker "paper/"
329
+ This invokes GPT-5.6-Sol xhigh to:
330
+ - Verify all proof steps (hypothesis discharge, interchange justification, etc.)
331
+ - Check for logic gaps, quantifier errors, missing domination conditions
332
+ - Attempt counterexamples on key lemmas
333
+ - Generate PROOF_AUDIT.md with issue list + severity
334
+
335
+ If FATAL or CRITICAL issues found:
336
+ Fix before proceeding to improvement loop
337
+ If only MAJOR/MINOR:
338
+ Proceed, improvement loop may address remaining issues
339
+ else:
340
+ skip — no proofs, no action
341
+ ```
342
+
343
+ ### Phase 4.7: Paper Claim Audit
344
+
345
+ **Skip if no result files exist (e.g., survey/position papers with no experiments).**
346
+
347
+ ```
348
+ if results/*.json or results/*.csv or outputs/*.json exist:
349
+ Run /paper-claim-audit "paper/"
350
+ Fresh zero-context reviewer compares every number in the paper
351
+ against raw result files. Catches rounding inflation, best-seed
352
+ cherry-pick, config mismatch, delta errors.
353
+
354
+ If FAIL:
355
+ Fix mismatched numbers before improvement loop
356
+ If WARN:
357
+ Proceed, but flag for manual verification
358
+ else:
359
+ skip — no experimental results to verify
360
+ ```
361
+
362
+ ### Phase 5: Auto Improvement Loop
363
+
364
+ Invoke `/auto-paper-improvement-loop` to polish the paper:
365
+
366
+ ```
367
+ /auto-paper-improvement-loop "paper/"
368
+ ```
369
+
370
+ **What this does (2 rounds):**
371
+
372
+ **Round 1:** GPT-5.6-Sol xhigh reviews the full paper → identifies CRITICAL/MAJOR/MINOR issues → Claude Code implements fixes → recompile → save `main_round1.pdf`
373
+
374
+ **Round 2:** GPT-5.6-Sol xhigh re-reviews with conversation context → identifies remaining issues → Claude Code implements fixes → recompile → save `main_round2.pdf`
375
+
376
+ **Typical improvements:**
377
+ - Fix assumption-model mismatches
378
+ - Soften overclaims to match evidence
379
+ - Add missing interpretations and notation
380
+ - Strengthen limitations section
381
+ - Add theory-aligned experiments if needed
382
+
383
+ **Output:** Three PDFs for comparison + `PAPER_IMPROVEMENT_LOG.md`.
384
+
385
+ **Format check** (included in improvement loop Step 8): After final recompilation, auto-detect and fix overfull hboxes (content exceeding margins), verify page count vs venue limit, and ensure compact formatting. Location-aware thresholds: any main-body overfull blocks completion regardless of size; appendix overfulls block only if >10pt; bibliography overfulls block only if >20pt.
386
+
387
+ ### Phase 5.5: Final Paper Claim Audit (MANDATORY submission gate)
388
+
389
+ After `/auto-paper-improvement-loop` finishes, **rerun** `/paper-claim-audit` before the final report whenever the paper contains numeric claims and machine-readable raw result files exist.
390
+
391
+ Use the same detectors as Phase 4.7:
392
+ - numeric-claim regex over `paper/main.tex` and `paper/sections/*.tex`
393
+ - raw-evidence file search in `results/`, `outputs/`, `experiments/`, and `figures/` for `.json`, `.jsonl`, `.csv`, `.tsv`, `.yaml`, or `.yml`
394
+
395
+ This phase is **mandatory** if both detectors are positive. It blocks the final report.
396
+ If numeric claims exist but no raw result files are found, stop and warn the user before declaring the paper complete.
397
+ If no numeric claims exist, skip.
398
+
399
+ ```bash
400
+ NUMERIC_CLAIMS=$(rg -n -e '[0-9]+(\.[0-9]+)?\s*(%|\\%|±|\\pm|x|×)' \
401
+ -e '(accuracy|BLEU|F1|AUC|mAP|top-1|top-5|error|loss|perplexity|speedup|improvement)' \
402
+ paper/main.tex paper/sections 2>/dev/null || true)
403
+
404
+ RAW_RESULT_FILES=$(find results outputs experiments figures -type f \
405
+ \( -name '*.json' -o -name '*.jsonl' -o -name '*.csv' -o -name '*.tsv' -o -name '*.yaml' -o -name '*.yml' \) 2>/dev/null | head -200)
406
+
407
+ if [ -n "$NUMERIC_CLAIMS" ] && [ -n "$RAW_RESULT_FILES" ]; then
408
+ Run /paper-claim-audit "paper/"
409
+ If FAIL:
410
+ Fix mismatched numbers before the final report
411
+ elif [ -n "$NUMERIC_CLAIMS" ]; then
412
+ Stop and warn: the paper contains numeric claims but no raw evidence files were found
413
+ fi
414
+ ```
415
+
416
+ **Empirical motivation:** in a real submission run, the final paper claimed a narrower experiment grid than the raw JSON actually contained, and a tolerance value was rounded down past the actual relative error. Both were caught only after manual `paper-claim-audit` invocation in the final round; the improvement loop did not detect them.
417
+
418
+ ### Phase 5.8: Citation Audit (submission gate)
419
+
420
+ After the final paper-claim-audit passes, run `/citation-audit` to verify every `\cite{...}` along three axes: existence, metadata correctness, and context appropriateness. This is the fourth and final layer of the evidence-and-claim assurance stack (`experiment-audit` → `result-to-claim` → `paper-claim-audit` → `citation-audit`).
421
+
422
+ ```
423
+ if paper/references.bib (or paper.bib) exists and contains entries cited from sec/*.tex:
424
+ Run /citation-audit "paper/"
425
+ Fresh Codex reviewer (`spawn_agent`, same-family provisional) with web/DBLP/arXiv lookup
426
+ verifies each entry:
427
+ (i) EXISTENCE — paper resolves at claimed arXiv ID / DOI / venue
428
+ (ii) METADATA — author names, year, venue, title match canonical sources
429
+ (iii) CONTEXT — cited paper actually establishes the claim it supports
430
+
431
+ Output:
432
+ - CITATION_AUDIT.md (human-readable per-entry verdict report)
433
+ - CITATION_AUDIT.json (machine-readable verdict ledger)
434
+ - Per-entry verdicts: KEEP / FIX / REPLACE / REMOVE
435
+
436
+ If any REPLACE or REMOVE verdicts:
437
+ Surface to user for human approval — never auto-modify content claims
438
+ If only FIX verdicts (metadata corrections):
439
+ Apply with user confirmation, then recompile
440
+ If all KEEP:
441
+ Pass — bibliography clean for submission
442
+ else:
443
+ skip — no bib file or no citations
444
+ ```
445
+
446
+ **Why this is the most diagnostic of the four audit layers:** wildly fake citations are easy to spot. The dangerous failure mode is a real paper used to support a claim it does not actually establish (wrong-context citations) — these slip past metadata-only checks and damage submission credibility. Run cost is wall-clock heavy (web lookup per entry); run once per submission, not per save.
447
+
448
+ **Empirical motivation:** in a real submission run, several real papers were cited in contexts they did not actually support, and at least one bib entry shipped with `author = "Anonymous"` because the metadata had not been resolved. None were caught by the improvement loop or numeric claim audit; only fresh web-lookup review surfaced them.
449
+
450
+ ### Phase 5.9: Integrity Forensics (optional here — see Codex-native note)
451
+
452
+ The mainline pipeline defaults to a pre-submission Anti-Autoresearch sweep
453
+ (`/integrity-forensics` launcher: SHA-pinned clone, evidence ledger, nine
454
+ auditor dimensions, deterministic adjudication, typed BLOCK/WARN/NO_NEW_BLOCKER
455
+ gate + append-only obligations). **In a Codex-native session this is OFF by
456
+ default**: upstream ships no Codex-native pack, so only its deterministic-only
457
+ mode is runnable here (numeric core + adjudicator with an all-unavailable
458
+ coverage map — it can flag, it can never say CLEAN; translating upstream's
459
+ reviewer calls into `spawn_agent` would rewrite an upstream contract and is
460
+ forbidden). Run it with `— self_forensics: true` for the deterministic slice,
461
+ or run the full sweep from a Claude Code session. If it runs: gate `BLOCK`
462
+ refuses the Final Report; the gate records `same-family` proposal provenance
463
+ for a Codex executor — informational, since this gate only raises flags and
464
+ grants nothing. An opted-in run (`— self_forensics: true` in `$ARGUMENTS` —
465
+ re-check `$ARGUMENTS` at Phase 6.0, not conversation memory) that reaches the
466
+ Final Report without `paper/.aris/forensics/gate.json` is **incomplete, not
467
+ skippable**: run the slice before reporting.
468
+
469
+ ### Phase 6: Final Report
470
+
471
+ **Phase 6.0 — Submission Gate**
472
+
473
+ Before writing the Final Report, resolve the active assurance level. This
474
+ uses the **same derivation rule as Phase 0** so a run where Phase 0 was
475
+ skipped or its write failed cannot silently downgrade a `beast` / `max` /
476
+ `— assurance: submission` invocation back to draft.
477
+
478
+ **Resolution at the gate** (re-derive; do not trust `.aris/assurance.txt`
479
+ alone):
480
+
481
+ 1. Parse `$ARGUMENTS` for an explicit `— assurance: draft | submission` or
482
+ an `— effort: lite | balanced | max | beast` directive.
483
+ 2. Derive the expected level:
484
+ - explicit `assurance:` wins
485
+ - else `lite` / `balanced` → `draft`, `max` / `beast` → `submission`
486
+ - else `draft`
487
+ 3. Read `paper/.aris/assurance.txt`. If the file is missing, write it now
488
+ with the derived level.
489
+ 4. If the file's value **disagrees** with the derived level (e.g. file
490
+ says `draft` but `$ARGUMENTS` says `beast`), **overwrite** the file
491
+ with the derived level and surface a one-line warning in-chat:
492
+ `⚠️ .aris/assurance.txt was draft but $ARGUMENTS says submission; overriding.`
493
+ 5. Use the re-derived level as authoritative for the rest of Phase 6.
494
+
495
+ ```bash
496
+ # Final authoritative value, written and read from the same source
497
+ ASSURANCE=<derived-from-$ARGUMENTS> # draft | submission
498
+ mkdir -p paper/.aris
499
+ echo "$ASSURANCE" > paper/.aris/assurance.txt
500
+ ```
501
+
502
+ If `ASSURANCE=draft`, skip directly to the Final Report template below —
503
+ **current behavior, no change** for the default `balanced` user.
504
+
505
+ If `ASSURANCE=submission`, run the pre-flight checklist below, then the
506
+ verifier. The verifier's exit code is the source of truth — do NOT
507
+ self-declare "audits complete" based on conversation memory.
508
+
509
+ #### Submission pre-flight checklist
510
+
511
+ Print this checklist verbatim at the start of Phase 6.0 and confirm each row
512
+ before proceeding. This resists the common failure mode of the model
513
+ skipping audits while claiming to have run them.
514
+
515
+ ```
516
+ 📋 Submission audits required before Final Report:
517
+ [ ] 0. PAPER_ACCEPTANCE_CONTRACT.md (Phase 1.5): re-read every assertion
518
+ against the final PDF + results files; each → satisfied / violated /
519
+ disputed-at-negotiation. ANY violated undisputed assertion blocks the
520
+ Final Report until fixed or the human explicitly waives it (waivers
521
+ recorded in the contract file). Contract absent (pre-1.5 run) → mark
522
+ "no contract" and continue.
523
+ [ ] 1. /proof-checker → paper/PROOF_AUDIT.json
524
+ [ ] 2. /paper-claim-audit → paper/PAPER_CLAIM_AUDIT.json
525
+ [ ] 3. /citation-audit → paper/CITATION_AUDIT.json
526
+ [ ] 4. Resolve $AUDIT_VERIFIER per integration-contract §2 (Policy A),
527
+ then: bash "$AUDIT_VERIFIER" paper/ --assurance submission
528
+ [ ] 5. Integrity forensics (Phase 5.9 — OPT-IN here): re-parse the CURRENT
529
+ $ARGUMENTS. If it contains `— self_forensics: true`, require
530
+ `python3 "$GATE_HELPER" fresh --paper-dir paper/ --anti-ar-commit
531
+ "$ANTI_AR_COMMIT"` exit 0 (produced at the current pin; gate
532
+ exists ∧ paper unchanged since ∧ ledger-bound ∧ decision
533
+ pass-capable). Exit 1 → the deterministic slice never saw this
534
+ text: run Phase 5.9 NOW. Not opted in → mark "n/a (opt-in)".
535
+ [ ] 6. Block Final Report iff verifier exit code != 0 OR row 0 found a
536
+ violated undisputed assertion OR row 5 is red. (THREE separate
537
+ gates: row 0 is graded by instruction against the contract; the
538
+ verifier checks audit JSONs only — verify_paper_audits.sh does NOT
539
+ read the contract; row 5 reads the forensics gate artifact.)
540
+ ```
541
+
542
+ > `<ARIS_REPO>` placeholder — replace with the absolute path to your ARIS
543
+ > clone (e.g. `~/Desktop/Auto-claude-code-research-in-sleep`). In a Codex
544
+ > project install, derive it from `.aris/installed-skills-codex.txt`:
545
+ > `ARIS_REPO="$(awk -F '\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills-codex.txt)"`.
546
+ > For an unmanaged flat symlink install, use the skill directory symlink:
547
+ > `ARIS_REPO="$(cd "$(readlink .agents/skills/paper-writing)/../../.." && pwd)"`.
548
+ > The path is stable across runs; store it in a shell variable if you prefer.
549
+
550
+ #### Invoking the four audits
551
+
552
+ Each sub-audit runs in a **fresh Codex thread** (never a continuation reply,
553
+ never pass prior audit output as context — this preserves reviewer
554
+ independence per `shared-references/reviewer-independence.md`).
555
+
556
+ Each sub-audit **always** emits its JSON artifact, even when the content
557
+ detector is negative. A detector-negative run emits verdict
558
+ `NOT_APPLICABLE`; a silent skip is forbidden. See the "Submission artifact
559
+ emission" section of each audit's SKILL.md.
560
+
561
+ Order:
562
+
563
+ 1. `/proof-checker "paper/"` → writes `paper/PROOF_AUDIT.json` (emits
564
+ `NOT_APPLICABLE` if the paper contains no theorems / lemmas / proofs)
565
+ 2. `/paper-claim-audit "paper/"` → writes `paper/PAPER_CLAIM_AUDIT.json`
566
+ (emits `NOT_APPLICABLE` if the paper has no numeric claims; emits
567
+ `BLOCKED` if numeric claims exist but raw result files are missing)
568
+ 3. `/citation-audit "paper/"` → writes `paper/CITATION_AUDIT.json`
569
+ (emits `NOT_APPLICABLE` if no `.bib` file or no `\cite{...}` usage)
570
+
571
+ #### Running the verifier
572
+
573
+ Resolve `$AUDIT_VERIFIER` via the canonical strict-safe chain (see
574
+ [`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2,
575
+ Policy A — gate). Under `assurance: submission` the verifier is
576
+ load-bearing: if the helper is unresolved the SKILL aborts the Final
577
+ Report rather than producing an unverified `submission-ready` claim.
578
+
579
+ ```bash
580
+ # Resolve the audit verifier (Policy A — gate; Codex-side chain).
581
+ if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills-codex.txt ]; then
582
+ ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills-codex.txt 2>/dev/null) || true
583
+ fi
584
+ AUDIT_VERIFIER=""
585
+ [ -n "${ARIS_REPO:-}" ] && [ -f "$ARIS_REPO/tools/verify_paper_audits.sh" ] && AUDIT_VERIFIER="$ARIS_REPO/tools/verify_paper_audits.sh"
586
+ [ -z "$AUDIT_VERIFIER" ] && {
587
+ echo "ERROR: verify_paper_audits.sh not resolved at \$ARIS_REPO/tools/." >&2
588
+ echo " assurance=submission requires the verifier; aborting Final Report." >&2
589
+ exit 1
590
+ }
591
+
592
+ bash "$AUDIT_VERIFIER" paper/ --assurance submission
593
+ OVERALL_ASSURANCE=$(python3 -c 'import json; print(json.load(open("paper/.aris/audit-verifier-report.json"))["overall_assurance"])')
594
+ ```
595
+
596
+ - **Exit 0** — All mandatory audits present, JSON schema-valid, hashes fresh,
597
+ no blocking verdicts. Proceed to the Final Report below. If
598
+ `OVERALL_ASSURANCE=provisional`, the report MUST say
599
+ `Submission-ready: provisional`; only `accepted` may say `yes`.
600
+ - **Exit 1** — Surface `paper/.aris/audit-verifier-report.json` to the user
601
+ verbatim, **refuse to generate the Final Report**, and list the specific
602
+ remediation for each failing row:
603
+ - `MISSING` → rerun that audit
604
+ - `STALE` → paper files edited after the audit ran; rerun the affected audit
605
+ - `BLOCKING_VERDICT` (FAIL / BLOCKED / ERROR) → fix the underlying issue,
606
+ then rerun the audit
607
+ - `SCHEMA_INVALID` → audit artifact malformed; rerun the audit
608
+
609
+ The verifier is cheap to rerun (< 1 s). After fixing any issue, rerun it
610
+ before claiming green.
611
+
612
+ #### Optional hardening (not default)
613
+
614
+ Teams that want hook-level enforcement — i.e., the harness physically
615
+ prevents a Stop event while the verifier is red — can register an equivalent
616
+ Codex stop hook if their local Codex runtime supports hooks:
617
+
618
+ ```json
619
+ {
620
+ "hooks": {
621
+ "Stop": [
622
+ {"command": "bash <ARIS_REPO>/tools/verify_paper_audits.sh paper/ --assurance submission"}
623
+ ]
624
+ }
625
+ }
626
+ ```
627
+
628
+ This is documented here, not required. Phase 6.0's verifier-as-truth
629
+ pattern is the default repo behavior.
630
+
631
+ ---
632
+
633
+ **Phase 6.1 — Final Report** (runs only after the submission gate is green,
634
+ or directly if `assurance=draft`)
635
+
636
+ ```markdown
637
+ # Paper Writing Pipeline Report
638
+
639
+ **Input**: [NARRATIVE_REPORT.md or topic]
640
+ **Venue**: [ICLR/NeurIPS/ICML/CVPR/ACL/AAAI/ACM/IEEE_JOURNAL/IEEE_CONF]
641
+ **Assurance**: [draft | submission]
642
+ **Submission-ready**: [yes | provisional | no] <!-- yes iff overall_assurance=accepted; provisional iff same-family review passed -->
643
+ **Forensics**: [NO_NEW_BLOCKER | WARN: <n> open obligations | BLOCK | n/a (opt-in, not requested)] <!-- deterministic slice only; from .aris/forensics/gate.json — a WARN's open obligations MUST be listed in this report, never silently passed -->
644
+ **Date**: [today]
645
+
646
+ ## Pipeline Summary
647
+
648
+ | Phase | Status | Output |
649
+ |-------|--------|--------|
650
+ | 0. Assurance Setup | ✅ | paper/.aris/assurance.txt = [draft\|submission] |
651
+ | 1. Paper Plan | ✅ | PAPER_PLAN.md |
652
+ | 1.5 Acceptance Contract | [accepted\|contested\|no contract] ([N] rounds) | PAPER_ACCEPTANCE_CONTRACT.md |
653
+ | 2. Figures | ✅ | figures/ ([N] auto + [M] manual) |
654
+ | 3. LaTeX Writing | ✅ | paper/sections/*.tex ([N] sections, [M] citations) |
655
+ | 4. Compilation | ✅ | paper/main.pdf ([X] pages) |
656
+ | 5. Improvement | ✅ | [score0]/10 → [score2]/10 |
657
+ | 4.5 Proof Audit | [PASS\|WARN\|FAIL\|NOT_APPLICABLE\|BLOCKED\|ERROR] | PROOF_AUDIT.{md,json} |
658
+ | 5.5 Paper Claim Audit | [PASS\|WARN\|FAIL\|NOT_APPLICABLE\|BLOCKED\|ERROR] | PAPER_CLAIM_AUDIT.{md,json} |
659
+ | 5.8 Citation Audit | [PASS\|WARN\|FAIL\|NOT_APPLICABLE\|BLOCKED\|ERROR] | CITATION_AUDIT.{md,json} |
660
+ | 6.0 Assurance Verifier | [accepted\|provisional\|blocked]; exit [0\|1] overall (N/A if draft) | .aris/audit-verifier-report.json |
661
+
662
+ ## Improvement Scores
663
+ | Round | Score | Key Changes |
664
+ |-------|-------|-------------|
665
+ | Round 0 | X/10 | Baseline |
666
+ | Round 1 | Y/10 | [summary] |
667
+ | Round 2 | Z/10 | [summary] |
668
+
669
+ ## Deliverables
670
+ - paper/main.pdf — Final polished paper
671
+ - paper/main_round0_original.pdf — Before improvement
672
+ - paper/main_round1.pdf — After round 1
673
+ - paper/main_round2.pdf — After round 2
674
+ - paper/PAPER_IMPROVEMENT_LOG.md — Full review log
675
+ - paper/PROOF_AUDIT.{md,json} — Proof-obligation verification (always emitted at `assurance=submission`; `NOT_APPLICABLE` when no theorems)
676
+ - paper/PAPER_CLAIM_AUDIT.{md,json} — Numerical claim verification (always emitted at `assurance=submission`; `NOT_APPLICABLE` when no numeric claims; omitted in `draft` mode if Phase 5.5 detector was negative)
677
+ - paper/CITATION_AUDIT.{md,json} — Bibliography verification (always emitted at `assurance=submission`; `NOT_APPLICABLE` when no `.bib` or no `\cite{...}`; omitted in `draft` mode if Phase 5.8 detector was negative)
678
+ - paper/.aris/audit-verifier-report.json — External verifier report (submission only)
679
+
680
+ ## Remaining Issues (if any)
681
+ - [items from final review that weren't addressed]
682
+
683
+ ## Next Steps
684
+ - [ ] Visual inspection of PDF
685
+ - [ ] Add any missing manual figures
686
+ - [ ] Submit to [venue] via OpenReview / CMT / HotCRP
687
+ ```
688
+
689
+ ## Output Protocols
690
+
691
+ > Follow these shared protocols for all output files:
692
+ > - **[Output Versioning Protocol](../shared-references/output-versioning.md)** — write timestamped file first, then copy to fixed name
693
+ > - **[Output Manifest Protocol](../shared-references/output-manifest.md)** — log every output to MANIFEST.md
694
+ > - **[Output Language Protocol](../shared-references/output-language.md)** — note: paper-writing always outputs English LaTeX for venue submission
695
+
696
+ ## Key Rules
697
+
698
+ - **Large file handling**: If the Write tool fails due to file size, immediately retry using Bash (`cat << 'EOF' > file`) to write in chunks. Do NOT ask the user for permission — just do it silently.
699
+ - **Don't skip phases.** Each phase builds on the previous one — skipping leads to errors.
700
+ - **Checkpoint between phases** when AUTO_PROCEED=false. Present results and wait for approval.
701
+ - **Manual figures first.** If the paper needs architecture diagrams or qualitative results, the user must provide them before Phase 3.
702
+ - **Compilation must succeed** before entering the improvement loop. Fix all errors first.
703
+ - **Preserve all PDFs.** The user needs round0/round1/round2 for comparison.
704
+ - **Document everything.** The pipeline report should be self-contained.
705
+ - **Respect page limits.** If the paper exceeds the venue limit, suggest specific cuts before the improvement loop.
706
+
707
+ ## Composing with Other Workflows
708
+
709
+ ```
710
+ /idea-discovery "direction" ← Workflow 1: find ideas
711
+ implement ← write code
712
+ /run-experiment ← deploy experiments
713
+ /auto-review-loop "paper topic" ← Workflow 2: iterate research
714
+ /paper-writing "NARRATIVE_REPORT.md" ← Workflow 3: you are here
715
+ submit! 🎉
716
+
717
+ Or use /research-pipeline for the Workflow 1+2 end-to-end flow,
718
+ then /paper-writing for the final writing step.
719
+ ```
720
+
721
+ ## Typical Timeline
722
+
723
+ | Phase | Duration | Can sleep? |
724
+ |-------|----------|------------|
725
+ | 1. Paper Plan | 5-10 min | No |
726
+ | 2. Figures | 5-15 min | No |
727
+ | 3. LaTeX Writing | 15-30 min | Yes ✅ |
728
+ | 4. Compilation | 2-5 min | No |
729
+ | 5. Improvement | 15-30 min | Yes ✅ |
730
+
731
+ **Total: ~45-90 min** for a full paper from narrative report to polished PDF.