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,583 @@
1
+ # Citation Discipline and Hallucination Prevention
2
+
3
+ Use this reference only when the built-in DBLP/CrossRef workflow in `paper-write` is not enough.
4
+
5
+ This is an intentionally longer reference. It is not meant to replace the main workflow. Instead, it gives stricter standards for handling citations when:
6
+
7
+ - the title, authors, year, or venue are ambiguous,
8
+ - multiple papers could match the same description,
9
+ - DBLP / CrossRef do not return a sufficiently clean result,
10
+ - you need to verify that a specific factual claim really comes from the cited paper,
11
+ - or you need to clean and standardize a bibliography in a more disciplined way.
12
+
13
+ > **Quick map**: pre-search filter → `Pre-Search Verification Protocol` (this
14
+ > file); submission-time bibliography audit → [`/citation-audit`](../citation-audit/SKILL.md);
15
+ > numerical-claim audit → [`/paper-claim-audit`](../paper-claim-audit/SKILL.md).
16
+
17
+ ## Contents
18
+
19
+ - [Why Citation Verification Matters](#why-citation-verification-matters)
20
+ - [Useful Sources and APIs](#useful-sources-and-apis)
21
+ - [Standard Verification Workflow](#standard-verification-workflow)
22
+ - [How to Add an Entry to the Bibliography](#how-to-add-an-entry-to-the-bibliography)
23
+ - [BibTeX Management Rules](#bibtex-management-rules)
24
+ - [Common Entry Templates](#common-entry-templates)
25
+ - [Common Failures and Troubleshooting](#common-failures-and-troubleshooting)
26
+ - [Final Verification Checklist](#final-verification-checklist)
27
+
28
+ ## Why Citation Verification Matters
29
+
30
+ ### Typical Citation Hallucination Patterns
31
+
32
+ The dangerous case is usually not a wildly fake citation. It is a citation that looks *plausible enough* to slip through:
33
+
34
+ - real authors plus a fake title,
35
+ - a real title plus the wrong year,
36
+ - a real arXiv ID plus the wrong venue,
37
+ - a real topic plus a non-existent DOI,
38
+ - or a preprint version and published version silently merged into one entry.
39
+
40
+ These mistakes are easy to miss by eye and disproportionately damaging during submission, review, and rebuttal.
41
+
42
+ ### Consequences
43
+
44
+ If citation quality is weak, the mild consequences include:
45
+
46
+ - reviewers conclude the related-work section is unreliable,
47
+ - the bibliography looks messy and exposes a low-trust workflow,
48
+ - claims appear unsupported because the cited source does not actually say what the paper attributes to it.
49
+
50
+ The more serious consequences include:
51
+
52
+ - being called out for hallucinated references,
53
+ - surfacing compliance problems in desk checks or later review,
54
+ - and creating an avoidable trust crisis around the paper.
55
+
56
+ ### Core Principle
57
+
58
+ **Never generate citations from memory.**
59
+
60
+ If a citation cannot be verified programmatically or from trusted project materials:
61
+
62
+ - mark it explicitly as unresolved,
63
+ - tell the user,
64
+ - and do not fabricate a plausible-looking BibTeX entry.
65
+
66
+ ## Useful Sources and APIs
67
+
68
+ ### Primary Sources
69
+
70
+ | Source | Best Use | Strengths | Caveats |
71
+ |--------|----------|-----------|---------|
72
+ | DBLP | CS/ML conference papers, BibTeX retrieval | Strong structure, strong venue metadata | Some preprints are better covered by arXiv |
73
+ | CrossRef | DOI lookup, BibTeX content negotiation | Official metadata source, ideal when DOI exists | Quality depends on DOI registration |
74
+ | Semantic Scholar | Paper search, citation graph, abstract lookup | Good discovery experience for ML literature | Free access may be rate limited |
75
+ | arXiv | Preprint lookup | Strong coverage for ML preprints | Not a substitute for formal publication metadata |
76
+ | OpenAlex | Open metadata graph, cross-checking | Broad coverage and useful as a second source | Structure may differ from DBLP conventions |
77
+
78
+ ### How to Choose
79
+
80
+ Common decision logic:
81
+
82
+ ```text
83
+ Need to search ML papers -> Semantic Scholar / DBLP
84
+ Already have a DOI -> CrossRef content negotiation
85
+ Only have an arXiv clue -> arXiv + CrossRef / Semantic Scholar for cross-checking
86
+ Need a second verification source -> OpenAlex / Semantic Scholar / arXiv
87
+ ```
88
+
89
+ ### About Google Scholar
90
+
91
+ Google Scholar is not the default verification backbone here. Do not treat “I found something by hand in Scholar” as the same thing as clean, trustworthy, structured metadata.
92
+
93
+ ## Standard Verification Workflow
94
+
95
+ ### Five-Step Process
96
+
97
+ ```text
98
+ 1. SEARCH -> find candidate papers
99
+ 2. VERIFY -> confirm the paper exists in at least two trustworthy sources
100
+ 3. RETRIEVE -> get BibTeX programmatically
101
+ 4. VALIDATE -> confirm the claim you cite is really supported by the paper
102
+ 5. ADD -> add the entry to the bibliography with clean keys and formatting
103
+ ```
104
+
105
+ ### Pre-Search Verification Protocol
106
+
107
+ This is the **fast filter** that runs between Step 1 (SEARCH) and Step 2 (full
108
+ VERIFY). It catches LLM-hallucinated references at search time — before
109
+ fabricated arXiv IDs / DOIs / titles propagate into idea-creator, novelty-check,
110
+ landscape surveys, or downstream writing.
111
+
112
+ The protocol is implemented by `verify_papers.py` (canonical name; helper
113
+ path resolved per `integration-contract.md` §2, Policy D1). The script is
114
+ called by `/research-lit` (Step 1.5, mandatory), and is referenced by
115
+ `/idea-creator` and `/novelty-check` as a required filter on cited papers.
116
+
117
+ **Three-layer fallback:**
118
+
119
+ 1. **arXiv API batch verify** — `arxiv.org/api/query?id_list=...` confirms up
120
+ to 40 arXiv IDs per request. Cheapest, most authoritative; always run first
121
+ when arXiv IDs are present.
122
+ 2. **CrossRef DOI lookup** — `api.crossref.org/works/{doi}` confirms the DOI
123
+ resolves. Run when arXiv ID is absent or arXiv check returned `unverified`.
124
+ 3. **Semantic Scholar fuzzy title search** — `api.semanticscholar.org/graph/v1/paper/search`
125
+ with normalized fuzzy match (default threshold 0.6 word overlap, max(words1, words2)).
126
+ Run only when no arXiv ID and (no DOI **or** DOI failed verification).
127
+
128
+ **Per-paper status (one of four):**
129
+
130
+ - `verified` — at least one layer confirmed existence
131
+ - `unverified` — all applicable layers ran cleanly and found no match
132
+ - `verify_pending` — any layer hit a transient failure (timeout, 5xx, rate
133
+ limit) and no earlier layer verified; **do NOT count against hallucination
134
+ rate**
135
+ - `error` — the input entry itself was malformed (no arXiv, no DOI, no title)
136
+
137
+ **Top-level verdict** (aligns loosely with `assurance-contract.md`):
138
+
139
+ - `PASS` — hallucination rate ≤ threshold (default 0.20) and no pending
140
+ - `WARN` — hallucination rate > threshold or any pending
141
+ - `BLOCKED` — input/output/cache prerequisites missing
142
+ - `ERROR` — tool itself crashed
143
+
144
+ **Retention rule (over silent removal).** Unverified papers must remain in
145
+ downstream output tagged `[UNVERIFIED]` so the user can audit what was
146
+ filtered. Silent removal hides search-quality problems. Verified papers are
147
+ tagged `✅` with the verification method (`arxiv` / `crossref` / `s2` /
148
+ `s2_fallback_from_doi`).
149
+
150
+ **High-hallucination warning.** When more than 20 % of terminal results
151
+ (verified + unverified, excluding pending) come back `unverified`, surface
152
+ `high_hallucination_rate` to the user. This is a signal that the search query
153
+ or upstream source is producing fabricated entries — re-run with narrower
154
+ terms before continuing.
155
+
156
+ **Caching.** Default cache scope is per-project at
157
+ `<project>/.aris/cache/verify_papers.json` with 30-day TTL. Cache keys use
158
+ canonical identifier priority: `arxiv:{id_without_version}` →
159
+ `doi:{lowercase}` → `title:{sha1_of_normalized_title}[:16]`. The cache value
160
+ preserves all known identifiers so the same paper found through different
161
+ search paths reconciles correctly.
162
+
163
+ **CrossRef User-Agent.** Set `ARIS_VERIFY_EMAIL` to your institutional email
164
+ to reduce CrossRef rate-limit risk. Default is a placeholder
165
+ (`aris-research@anonymous.local`) — fine for low-volume use, but CrossRef
166
+ prefers a real contact for higher polite-pool throughput.
167
+
168
+ **When NOT to use this protocol.** This is search-time filtering, not
169
+ submission-time auditing. It does not replace `/citation-audit` (which checks
170
+ already-written `.bib` entries against DBLP/CrossRef metadata + cite-context)
171
+ or `/paper-claim-audit` (which verifies numerical claims against raw result
172
+ files). Run pre-search verification on candidate lists; run the audit skills
173
+ before submission.
174
+
175
+ **Invocation contract** (callers — `/research-lit`, `/idea-creator`,
176
+ `/novelty-check` — must follow). Resolve `$VERIFY_PAPERS` via the
177
+ canonical chain in `integration-contract.md` §2, then invoke under
178
+ the Policy D1 fallback. The full copy-safe snippet:
179
+
180
+ ```bash
181
+ # 1. Resolve $VERIFY_PAPERS via the canonical strict-safe chain (§2).
182
+ cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
183
+ if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
184
+ ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
185
+ fi
186
+ if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
187
+ ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
188
+ fi
189
+ VERIFY_PAPERS=".aris/tools/verify_papers.py"
190
+ [ -f "$VERIFY_PAPERS" ] || VERIFY_PAPERS="tools/verify_papers.py"
191
+ [ -f "$VERIFY_PAPERS" ] || { [ -n "${ARIS_REPO:-}" ] && VERIFY_PAPERS="$ARIS_REPO/tools/verify_papers.py"; }
192
+ [ -f "$VERIFY_PAPERS" ] || VERIFY_PAPERS=""
193
+
194
+ # 2. Invoke (Policy D1 fallback wraps invocation failure too).
195
+ verify_ok=false
196
+ if [ -n "$VERIFY_PAPERS" ]; then
197
+ if python3 "$VERIFY_PAPERS" --input candidate_papers.json --output verified_papers.json; then
198
+ verify_ok=true
199
+ fi
200
+ fi
201
+ if [ "$verify_ok" = "false" ]; then
202
+ command -v python3 >/dev/null 2>&1 || { echo "ERROR: python3 unavailable; BLOCKED." >&2; exit 1; }
203
+ echo "WARN: verify_papers.py unresolved or invocation failed; emitting [UNVERIFIED] fallback." >&2
204
+ python3 - <<'PY'
205
+ import json
206
+ cands = json.load(open('candidate_papers.json'))
207
+ out = {
208
+ 'verdict': 'WARN',
209
+ 'reason_code': 'verify_papers_unavailable',
210
+ 'summary': 'verify_papers.py helper unresolved or invocation failed; all candidates tagged [UNVERIFIED] for audit visibility.',
211
+ 'papers': [dict(p, status='unverified', method='none') for p in cands],
212
+ }
213
+ with open('verified_papers.json', 'w') as f:
214
+ json.dump(out, f, indent=2)
215
+ PY
216
+ fi
217
+ ```
218
+
219
+ `candidate_papers.json` schema:
220
+
221
+ ```json
222
+ [
223
+ {"id": "p1", "arxiv_id": "2307.03172", "doi": null, "title": "Lost in the Middle"},
224
+ {"id": "p2", "arxiv_id": null, "doi": "10.1145/...", "title": null},
225
+ {"id": "p3", "arxiv_id": null, "doi": null, "title": "Some Paper Title"}
226
+ ]
227
+ ```
228
+
229
+ `verified_papers.json` schema (top-level `verdict` + per-paper `status` —
230
+ see helper docstring for the full envelope).
231
+
232
+ ### Step 1: Search
233
+
234
+ Prefer **specific searches**, not broad topic words.
235
+
236
+ Good query patterns:
237
+
238
+ - `paper title + first author`
239
+ - `method name + dataset + first author`
240
+ - `claim keyword + author`
241
+ - exact phrases from the title
242
+
243
+ While searching, record:
244
+
245
+ - title,
246
+ - authors,
247
+ - year,
248
+ - DOI,
249
+ - arXiv ID,
250
+ - venue / journal.
251
+
252
+ If multiple similar papers appear, do not add anything to `.bib` yet. First compare title details, year, and author order.
253
+
254
+ ### Step 2: Verify Existence
255
+
256
+ In the ideal case, confirm the same paper in at least two sources:
257
+
258
+ - Semantic Scholar + CrossRef,
259
+ - DBLP + DOI,
260
+ - arXiv + Semantic Scholar,
261
+ - DBLP + OpenAlex.
262
+
263
+ The minimum standard for “this is the same paper” is:
264
+
265
+ - highly matching title,
266
+ - matching first author,
267
+ - matching or explainable year,
268
+ - matching DOI and/or arXiv ID.
269
+
270
+ If you only found the paper in one place, the citation is still not very stable.
271
+
272
+ ### Step 3: Retrieve BibTeX Programmatically
273
+
274
+ Preferred order:
275
+
276
+ 1. direct DBLP `.bib`,
277
+ 2. DOI content negotiation,
278
+ 3. manual completion only if the metadata base is already trustworthy.
279
+
280
+ DBLP pattern:
281
+
282
+ ```bash
283
+ curl -s "https://dblp.org/search/publ/api?q=TITLE+AUTHOR&format=json&h=3"
284
+ curl -s "https://dblp.org/rec/{key}.bib"
285
+ ```
286
+
287
+ CrossRef / DOI pattern:
288
+
289
+ ```bash
290
+ curl -sLH "Accept: application/x-bibtex" "https://doi.org/{doi}"
291
+ ```
292
+
293
+ If both DBLP and DOI fail, move to explicit placeholder handling instead of guessing.
294
+
295
+ ### Step 4: Validate the Claim
296
+
297
+ This is the step people most often skip and the step that matters the most.
298
+
299
+ Before writing claims such as:
300
+
301
+ - “X first proved …”
302
+ - “Y showed that …”
303
+ - “Prior work found …”
304
+ - “Z outperformed B on benchmark A …”
305
+
306
+ check that the cited paper really supports that statement.
307
+
308
+ The minimum standard is:
309
+
310
+ - the claim is directly supported by the title, abstract, or introduction,
311
+ - or you have read the relevant section, table, theorem, or figure in the paper itself.
312
+
313
+ Do **not**:
314
+
315
+ - assume a paper supports your claim because the title sounds related,
316
+ - inherit a claim from someone else’s related-work section without checking,
317
+ - confuse “this paper is about the same topic” with “this paper establishes this exact statement.”
318
+
319
+ ### Step 5: Add the Entry
320
+
321
+ Only after Steps 1-4 are complete should the entry go into `.bib`.
322
+
323
+ Check before adding:
324
+
325
+ - Is the entry type correct?
326
+ - Are the authors complete?
327
+ - Are the year and venue accurate?
328
+ - Does the citation key match the project style?
329
+ - Is this a duplicate of an existing entry?
330
+
331
+ ## How to Add an Entry to the Bibliography
332
+
333
+ ### Recommended Decision Tree
334
+
335
+ ```text
336
+ Is there already a project-local .bib entry?
337
+ Yes -> reuse it, then verify it
338
+ No -> continue
339
+
340
+ Can DBLP provide a direct .bib entry?
341
+ Yes -> use DBLP
342
+ No -> continue
343
+
344
+ Do you have a DOI?
345
+ Yes -> use DOI content negotiation
346
+ No -> continue
347
+
348
+ Can you confirm the paper in two trustworthy sources with enough metadata?
349
+ Yes -> manually complete an entry from trusted metadata
350
+ No -> use an explicit placeholder and report it to the user
351
+ ```
352
+
353
+ ### Placeholder Policy
354
+
355
+ If verification fails, leave an explicit placeholder such as:
356
+
357
+ ```latex
358
+ % TODO: verify before submission
359
+ \cite{PLACEHOLDER_author2024_verify}
360
+ ```
361
+
362
+ Or mark uncertainty inside the `.bib` file:
363
+
364
+ ```bibtex
365
+ % [VERIFY] could not confirm DOI / venue / exact title
366
+ ```
367
+
368
+ The principle is:
369
+
370
+ - make uncertainty visible,
371
+ - keep bad metadata out of the final draft,
372
+ - and report unresolved citations before finalization.
373
+
374
+ ## BibTeX Management Rules
375
+
376
+ ### BibTeX vs BibLaTeX
377
+
378
+ This `insleep`-derived workflow still prioritizes compatibility with existing conference templates. It does not force a move to BibLaTeX.
379
+
380
+ Still, you should know the tradeoff:
381
+
382
+ | Aspect | BibTeX | BibLaTeX |
383
+ |--------|--------|----------|
384
+ | Unicode support | Weaker | Better |
385
+ | Entry types | Standard | Richer |
386
+ | Backend | `bibtex` | `biber` |
387
+ | Compatibility with older venue templates | Usually stronger | Not always safe |
388
+
389
+ In this skill pack, if the template is already fixed, prefer compatibility over modernization.
390
+
391
+ ### Citation Key Format
392
+
393
+ Prefer a stable key format:
394
+
395
+ ```text
396
+ firstauthor_year_keyword
397
+ ```
398
+
399
+ For example:
400
+
401
+ ```text
402
+ vaswani_2017_attention
403
+ devlin_2019_bert
404
+ brown_2020_language
405
+ ```
406
+
407
+ If the project already uses a different key style, preserve consistency rather than mixing styles.
408
+
409
+ ### Keep Only Cited Entries
410
+
411
+ Do not let `references.bib` become a dumping ground.
412
+
413
+ Rules:
414
+
415
+ - keep only entries that are actually cited,
416
+ - remove duplicates,
417
+ - remove abandoned keys,
418
+ - and choose explicitly between preprint and published versions when both exist.
419
+
420
+ ### When to Prefer the Published Version
421
+
422
+ Prefer the formal published version when:
423
+
424
+ - a conference or journal version clearly exists,
425
+ - you need stable venue information for related work,
426
+ - page / volume / publisher metadata matters for submission quality.
427
+
428
+ Keeping the arXiv version can still be appropriate when:
429
+
430
+ - the work is not formally published yet,
431
+ - the community primarily cites the preprint,
432
+ - or the specific version matters for the content you are citing.
433
+
434
+ ## Common Entry Templates
435
+
436
+ ### Conference Paper
437
+
438
+ ```bibtex
439
+ @inproceedings{vaswani_2017_attention,
440
+ title = {Attention Is All You Need},
441
+ author = {Vaswani, Ashish and Shazeer, Noam and Parmar, Niki and
442
+ Uszkoreit, Jakob and Jones, Llion and Gomez, Aidan N. and
443
+ Kaiser, Lukasz and Polosukhin, Illia},
444
+ booktitle = {Advances in Neural Information Processing Systems},
445
+ year = {2017}
446
+ }
447
+ ```
448
+
449
+ ### Journal Article
450
+
451
+ ```bibtex
452
+ @article{hochreiter_1997_long,
453
+ title = {Long Short-Term Memory},
454
+ author = {Hochreiter, Sepp and Schmidhuber, J{\"u}rgen},
455
+ journal = {Neural Computation},
456
+ volume = {9},
457
+ number = {8},
458
+ pages = {1735--1780},
459
+ year = {1997}
460
+ }
461
+ ```
462
+
463
+ ### arXiv Preprint
464
+
465
+ ```bibtex
466
+ @misc{brown_2020_language,
467
+ title = {Language Models are Few-Shot Learners},
468
+ author = {Brown, Tom and Mann, Benjamin and Ryder, Nick and others},
469
+ year = {2020},
470
+ eprint = {2005.14165},
471
+ archiveprefix = {arXiv},
472
+ primaryclass = {cs.CL}
473
+ }
474
+ ```
475
+
476
+ ## Common Failures and Troubleshooting
477
+
478
+ ### Case 1: No Results Found
479
+
480
+ Check:
481
+
482
+ - Was the title misspelled?
483
+ - Was the author misspelled?
484
+ - Is the query too broad?
485
+ - Should the search use an exact phrase instead?
486
+
487
+ Useful fixes:
488
+
489
+ - add the first author,
490
+ - add the year,
491
+ - search with a distinctive title phrase rather than a broad topic term.
492
+
493
+ ### Case 2: DOI Does Not Resolve Cleanly
494
+
495
+ Possible reasons:
496
+
497
+ - the DOI exists but is not well connected through CrossRef,
498
+ - the DOI is not the best lookup path for this paper,
499
+ - the work mainly exists as an arXiv preprint.
500
+
501
+ Useful fixes:
502
+
503
+ - return to DBLP,
504
+ - cross-check the DOI in Semantic Scholar / OpenAlex,
505
+ - manually complete an entry from trusted metadata only when the metadata is already reliable.
506
+
507
+ ### Case 3: Several Papers Look Similar
508
+
509
+ This is one of the most dangerous situations.
510
+
511
+ Check:
512
+
513
+ - author order,
514
+ - year,
515
+ - title wording,
516
+ - abstract-level claim,
517
+ - and, if needed, the PDF front page or the relevant section.
518
+
519
+ Until those match, do not assume any of them is the correct paper.
520
+
521
+ ### Case 4: BibTeX Compilation Errors
522
+
523
+ Common causes:
524
+
525
+ - missing commas,
526
+ - unmatched braces,
527
+ - unescaped special characters,
528
+ - Unicode that does not play well with the template.
529
+
530
+ Check:
531
+
532
+ - whether each field ends correctly,
533
+ - whether title text needs LaTeX escaping,
534
+ - whether accented names are encoded safely.
535
+
536
+ ### Case 5: The Same Paper Exists Under Two Keys
537
+
538
+ Fix it by:
539
+
540
+ - choosing one canonical key,
541
+ - updating all in-text citations,
542
+ - and deleting the duplicate entry.
543
+
544
+ Do not leave two nearly identical entries in the final bibliography.
545
+
546
+ ## Final Verification Checklist
547
+
548
+ Before treating a citation as complete, verify:
549
+
550
+ - [ ] the paper was confirmed in at least two trustworthy sources,
551
+ - [ ] the DOI or arXiv ID was checked,
552
+ - [ ] the BibTeX was retrieved programmatically or completed from trusted metadata,
553
+ - [ ] the entry type is correct (`@inproceedings`, `@article`, `@misc`, etc.),
554
+ - [ ] the author list is complete and well formatted,
555
+ - [ ] the year and venue were checked,
556
+ - [ ] the citation key matches the project style,
557
+ - [ ] the specific claim you cite is actually supported by the paper,
558
+ - [ ] any unresolved uncertainty is marked with `[VERIFY]` or an explicit placeholder.
559
+
560
+ ## Output Discipline: Verification Lives in the Trace, Not in Prose
561
+
562
+ Two rules on how verification shows up in what the reader sees (adapted from
563
+ Anthropic's Claude Science `literature-review` skill, Apache-2.0):
564
+
565
+ - **Never write a "citations verified" line in the output.** Not as an opener,
566
+ not as a footer, not as a subtitle — "All DOIs verified", "no retraction
567
+ flags", "bibliography checked" are process narration. Verification is
568
+ something that happens in your tool trace (the `verify_papers` run, the DBLP
569
+ lookups, the audit JSON); the reader infers it from citations that resolve
570
+ and claims that hold up. A reply or section whose content is "I verified
571
+ things" is not content. (ARIS-specific: the machine-readable verification
572
+ record belongs in the audit artifact — `CITATION_AUDIT.json`, traces — never
573
+ as reassurance prose in the paper or report body.)
574
+ - **A style/consistency lint runs ONCE, as a lint — not as a loop-until-clean
575
+ gate.** Run it on the full draft, fix what it lists in a single editing
576
+ pass, and move on; do not re-run until it returns clean. A lint that becomes
577
+ a convergence loop burns rounds polishing cosmetics while real
578
+ (cross-model-review) gates wait. Quality/correctness convergence belongs to
579
+ the reviewer loops, not to lints.
580
+
581
+ ## Bottom Line
582
+
583
+ **When a citation is uncertain, leave an explicit gap instead of silently inventing metadata.**