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
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "dsh-aris-panel",
3
+ "version": "0.1.0",
4
+ "description": "ARIS research-workflow skills + interactive workbench panel for DeepSeek Harness (user fork of dsh-aris: 82 skills, cross-model Codex review, idea/workflow launcher, research status board).",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "engines": {
8
+ "node": "^22.19.0 || >=24.0.0"
9
+ },
10
+ "keywords": [
11
+ "dsh-plugin",
12
+ "deepseek-harness",
13
+ "aris",
14
+ "research",
15
+ "agent",
16
+ "workbench"
17
+ ],
18
+ "exports": {
19
+ ".": "./dsh/index.mjs",
20
+ "./client": "./dsh/client.js",
21
+ "./scope-limits": "./dsh/scope-limits.mjs",
22
+ "./cordis.patch.yml": "./dsh/cordis.patch.yml",
23
+ "./checkout.patch.yml": "./dsh/checkout.patch.yml",
24
+ "./package.json": "./package.json"
25
+ },
26
+ "files": [
27
+ "dsh",
28
+ "skills",
29
+ "tools",
30
+ "templates",
31
+ "mcp-servers",
32
+ "README.md",
33
+ "README_CN.md",
34
+ "LICENSE"
35
+ ],
36
+ "publishConfig": {
37
+ "access": "public"
38
+ },
39
+ "dsh": {
40
+ "bundle": {
41
+ "patch": "./dsh/cordis.patch.yml"
42
+ },
43
+ "client": {
44
+ "platform": "web",
45
+ "inject": [
46
+ "@deepseek-ai/dsh-client-ui-conversation",
47
+ "@deepseek-ai/dsh-client-connection"
48
+ ]
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: ablation-planner
3
+ description: "Use when main results pass result-to-claim (claim_supported=yes or partial) and ablation studies are needed for paper submission."
4
+ argument-hint: "[method-description-or-claim]"
5
+ allowed-tools: Bash(*), Read, Grep, Glob, Write, Edit, mcp__codex__codex, mcp__codex__codex-reply
6
+ ---
7
+
8
+ # Ablation Planner
9
+
10
+ Systematically design ablation studies that answer the questions reviewers will ask. Codex leads the design (reviewer perspective), CC reviews feasibility and implements.
11
+
12
+ ## Context: $ARGUMENTS
13
+
14
+ ## When to Use
15
+
16
+ - Main results pass `/result-to-claim` with claim_supported = yes or partial
17
+ - User explicitly requests ablation planning
18
+ - `/auto-review-loop` reviewer identifies missing ablations
19
+
20
+ ## Workflow
21
+
22
+ ### Step 1: Prepare Context
23
+
24
+ CC reads available project files to build the full picture:
25
+ - Method description and components (from `idea-stage/docs/research_contract.md`, legacy `docs/research_contract.md`, or project CLAUDE.md)
26
+ - Current experiment results (from EXPERIMENT_LOG.md, EXPERIMENT_TRACKER.md, or W&B)
27
+ - Confirmed and intended claims (from result-to-claim output or project notes)
28
+ - Available compute resources (from CLAUDE.md server config, if present)
29
+
30
+ ### Step 2: Codex Designs Ablations
31
+
32
+ ```
33
+ mcp__codex__codex:
34
+ model: gpt-5.6-sol
35
+ config: {"model_reasoning_effort": "xhigh"}
36
+ prompt: |
37
+ You are a rigorous ML reviewer planning ablation studies.
38
+ Given this method and results, design ablations that:
39
+
40
+ 1. Isolate the contribution of each novel component
41
+ 2. Answer questions reviewers will definitely ask
42
+ 3. Test sensitivity to key hyperparameters
43
+ 4. Compare against natural alternative design choices
44
+
45
+ Method: [description from project files]
46
+ Components: [list of removable/replaceable components]
47
+ Current results: [key metrics from experiments]
48
+ Claims: [what we claim and current evidence]
49
+
50
+ For each ablation, specify:
51
+ - name: what to change (e.g., "remove module X", "replace Y with Z")
52
+ - what_it_tests: the specific question this answers
53
+ - expected_if_component_matters: what we predict if the component is important
54
+ - priority: 1 (must-run) to 5 (nice-to-have)
55
+
56
+ Also provide:
57
+ - coverage_assessment: what reviewer questions these ablations answer
58
+ - unnecessary_ablations: experiments that seem useful but won't add insight
59
+ - suggested_order: run order optimized for maximum early information
60
+ - estimated_compute: total GPU-hours estimate
61
+ ```
62
+
63
+ ### Step 3: Parse Ablation Plan
64
+
65
+ Normalize Codex response into structured format:
66
+
67
+ ```markdown
68
+ ## Ablation Plan
69
+
70
+ ### Component Ablations (highest priority)
71
+ | # | Name | What It Tests | Expected If Matters | Priority |
72
+ |---|------|---------------|---------------------|----------|
73
+ | 1 | remove module X | contribution of X | performance drops on metric Y | 1 |
74
+ | 2 | replace X with simpler Z | value of learned vs fixed | drops, especially on dataset A | 2 |
75
+
76
+ ### Hyperparameter Sensitivity
77
+ | # | Parameter | Values to Test | What It Tests | Priority |
78
+ |---|-----------|---------------|---------------|----------|
79
+ | 3 | lambda | [0.01, 0.1, 1.0] | sensitivity to regularization | 3 |
80
+
81
+ ### Design Choice Comparisons
82
+ | # | Name | What It Tests | Priority |
83
+ |---|------|---------------|----------|
84
+ | 4 | joint vs separate matching | whether joint adds value | 4 |
85
+
86
+ ### Coverage Assessment
87
+ [What reviewer questions these ablations answer]
88
+
89
+ ### Unnecessary Ablations
90
+ [Experiments that seem useful but won't add insight — skip these]
91
+
92
+ ### Run Order
93
+ [Optimized for maximum early information]
94
+
95
+ ### Estimated Compute
96
+ [Total GPU-hours]
97
+ ```
98
+
99
+ ### Step 4: CC Reviews Feasibility
100
+
101
+ Before running anything, CC checks:
102
+ - Compute budget: can we afford all ablations with available GPUs?
103
+ - Code changes: which ablations need code modifications vs config-only changes?
104
+ - Dependencies: which ablations can run in parallel?
105
+ - Cuts: if budget is tight, propose removing lower-priority ablations and ask Codex to confirm
106
+
107
+ ### Step 5: Implement and Run
108
+
109
+ 1. Create configs/scripts for each ablation (config-only changes first)
110
+ 2. Smoke test each ablation before full run
111
+ 3. Run in suggested order, using descriptive names (e.g., `ablation-no-module-X`)
112
+ 4. Track results in EXPERIMENT_LOG.md
113
+ 5. After all ablations complete → update findings.md with insights
114
+
115
+ ## Rules
116
+
117
+ - **Codex leads the design. CC does not pre-filter or bias the ablation list** before Codex sees it. Codex thinks like a reviewer; CC thinks like an engineer.
118
+ - Every ablation must have a clear `what_it_tests` and `expected_if_component_matters`. No "just try it" experiments.
119
+ - Config-only ablations take priority over those needing code changes (faster, less error-prone).
120
+ - If total compute exceeds budget, CC proposes cuts and asks Codex to re-prioritize — don't silently drop ablations.
121
+ - Component ablations (remove/replace) take priority over hyperparameter sweeps.
122
+ - Do not generate ablations for components identical to the baseline (no-op ablations).
123
+ - Record all ablation results in EXPERIMENT_LOG.md, including negative results (component removal had no effect = important finding).
@@ -0,0 +1,196 @@
1
+ ---
2
+ name: alphaxiv
3
+ description: Quick single-paper lookup via AlphaXiv LLM-optimized summaries with tiered source fallback. Use when user says "explain this paper", "summarize paper", pastes an arXiv/AlphaXiv URL, or provides a bare arXiv ID for quick understanding - not for broad literature search.
4
+ argument-hint: "[arxiv-id-or-url]"
5
+ allowed-tools: Bash(*), Read, Write, Glob
6
+ ---
7
+
8
+ # AlphaXiv Paper Lookup
9
+
10
+ Lookup paper: $ARGUMENTS
11
+
12
+ > Quick single-paper reader with tiered source fallback (overview → full markdown → LaTeX source). Powered by [AlphaXiv](https://alphaxiv.org).
13
+
14
+ ## Role & Positioning
15
+
16
+ This skill is the **quick single-paper reader** that returns LLM-optimized summaries:
17
+
18
+ | Skill | Source | Best for |
19
+ |-------|--------|----------|
20
+ | `/arxiv` | arXiv API | Batch search, PDF download, metadata |
21
+ | `/deepxiv` | DeepXiv SDK | Progressive section-level reading |
22
+ | `/semantic-scholar` | S2 API | Published venue metadata, citation counts |
23
+ | **`/alphaxiv`** | **alphaxiv.org** | **Instant LLM-optimized summary of one paper, with LaTeX source fallback** |
24
+
25
+ **Do NOT use this skill for** topic discovery, broad literature search, or multi-paper surveys — use `/research-lit` or `/arxiv` instead.
26
+
27
+ ## Constants
28
+
29
+ - **OVERVIEW_URL** = `https://alphaxiv.org/overview/{PAPER_ID}.md`
30
+ - **ABS_URL** = `https://alphaxiv.org/abs/{PAPER_ID}.md`
31
+ - **ARXIV_SRC_URL** = `https://arxiv.org/src/{PAPER_ID}`
32
+ - **ALPHAXIV_UA** = `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36` — any modern browser UA works; update the version numbers if AlphaXiv starts blocking this value again
33
+
34
+ > Overrides (append to arguments):
35
+ > - `/alphaxiv 2401.12345` — quick overview
36
+ > - `/alphaxiv "https://arxiv.org/abs/2401.12345"` — auto-extract ID
37
+ > - `/alphaxiv 2401.12345 - depth: src` — force LaTeX source inspection
38
+ > - `/alphaxiv 2401.12345 - depth: abs` — force full markdown
39
+
40
+ ## Workflow
41
+
42
+ ### Step 1: Parse Arguments & Extract Paper ID
43
+
44
+ Parse `$ARGUMENTS` to extract a bare arXiv paper ID. Accept these input formats:
45
+
46
+ - `https://arxiv.org/abs/2401.12345` or `https://arxiv.org/abs/2401.12345v2`
47
+ - `https://arxiv.org/pdf/2401.12345`
48
+ - `https://alphaxiv.org/overview/2401.12345`
49
+ - `https://alphaxiv.org/abs/2401.12345`
50
+ - `2401.12345` or `2401.12345v2`
51
+
52
+ Strip version suffixes (`v1`, `v2`, ...) for API calls. Store as `PAPER_ID`.
53
+
54
+ Parse optional directives:
55
+ - **`- depth: overview|abs|src`**: force a specific tier instead of cascading
56
+
57
+ ### Step 2: Fetch AlphaXiv Overview (Tier 1 — Fastest)
58
+
59
+ Use `curl` with `{ALPHAXIV_UA}` to fetch the AlphaXiv overview. AlphaXiv may return 403 for non-browser User-Agents; setting a standard browser UA reduces false positives from bot-detection:
60
+
61
+ ```bash
62
+ curl -sL --max-time 15 -A "{ALPHAXIV_UA}" "https://alphaxiv.org/overview/{PAPER_ID}.md"
63
+ ```
64
+
65
+ This returns a **structured, LLM-optimized report** designed for machine consumption. Use this as the default and preferred source.
66
+
67
+ If the overview answers the user's question, **stop here**. Do not fetch deeper tiers unnecessarily.
68
+
69
+ If the request fails (HTTP 4xx — 403 bot-block or 404 not-yet-processed) or returns empty content, proceed to Step 3.
70
+
71
+ ### Step 3: Fetch Full AlphaXiv Markdown (Tier 2 — More Detail)
72
+
73
+ Use `curl` with `{ALPHAXIV_UA}` to fetch the full paper markdown:
74
+
75
+ ```bash
76
+ curl -sL --max-time 15 -A "{ALPHAXIV_UA}" "https://alphaxiv.org/abs/{PAPER_ID}.md"
77
+ ```
78
+
79
+ This provides the full paper body as markdown. Use when the user needs:
80
+ - Specific methodology details
81
+ - Detailed experimental results
82
+ - Particular sections not covered in the overview
83
+
84
+ If this still does not answer the question, proceed to Step 4.
85
+
86
+ ### Step 4: Fetch arXiv LaTeX Source (Tier 3 — Deepest)
87
+
88
+ When the overview and full markdown are both insufficient (e.g., the user asks about equations, proofs, appendix details, or implementation specifics), download the paper's LaTeX source from `https://arxiv.org/src/{PAPER_ID}`.
89
+
90
+ The source is a `.tar.gz` archive. Download it to a temporary directory, extract it, and list the `.tex` files inside.
91
+
92
+ Then inspect **only** the files needed to answer the question. Prioritize:
93
+
94
+ 1. Top-level `*.tex` files (usually the main document)
95
+ 2. Files referenced by `\input{}` or `\include{}`
96
+ 3. Appendices, tables, or sections directly related to the user's question
97
+
98
+ **Do NOT read the entire source tree by default.** Read selectively.
99
+
100
+ Temporary source artifacts live under `/tmp`. Do not rely on persistence.
101
+
102
+ ### Step 5: Present Results
103
+
104
+ #### Default Answer Shape
105
+
106
+ ```markdown
107
+ ## [Paper Title]
108
+
109
+ - **arXiv**: [PAPER_ID] — https://arxiv.org/abs/[PAPER_ID]
110
+ - **Source depth**: overview | abs | src
111
+
112
+ ### Summary
113
+ [2-3 sentence summary]
114
+
115
+ ### Key Points
116
+ - [point 1]
117
+ - [point 2]
118
+ - [point 3]
119
+
120
+ ### Answer to Your Question
121
+ [Direct answer if the user asked a specific question]
122
+ ```
123
+
124
+ If the user only asks for one specific detail, answer it directly — skip the full template.
125
+
126
+ **After presenting the summary, you MUST proceed to Step 6 before ending the turn.**
127
+
128
+ ### Step 6: Research Wiki Ingest
129
+
130
+ **You MUST always run the bash block below — it checks for `research-wiki/` internally and exits silently when absent.** Do NOT skip this step based on your own directory check; the bash block handles that for you.
131
+
132
+ Substitute only `<paper_arxiv_id>` and `<thesis>`; keep `${ARIS_REPO:-...}` as-is so an already-set env var is preserved.
133
+
134
+ ```bash
135
+ if [ -d research-wiki/ ]; then
136
+ cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
137
+ ARIS_REPO="${ARIS_REPO:-$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null)}"
138
+ if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
139
+ ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
140
+ fi
141
+ WIKI_SCRIPT=".aris/tools/research_wiki.py"
142
+ [ -f "$WIKI_SCRIPT" ] || WIKI_SCRIPT="tools/research_wiki.py"
143
+ [ -f "$WIKI_SCRIPT" ] || { [ -n "${ARIS_REPO:-}" ] && WIKI_SCRIPT="$ARIS_REPO/tools/research_wiki.py"; }
144
+ [ -f "$WIKI_SCRIPT" ] || {
145
+ echo "WARN: research_wiki.py not found; paper summary delivered, wiki ingest skipped. Fix: bash tools/install_aris.sh or smart_update.sh (refreshes ~/.aris/repo), export ARIS_REPO, or cp <ARIS-repo>/tools/research_wiki.py tools/." >&2
146
+ WIKI_SCRIPT=""
147
+ }
148
+ [ -n "$WIKI_SCRIPT" ] && python3 "$WIKI_SCRIPT" ingest_paper research-wiki/ \
149
+ --arxiv-id "<paper_arxiv_id>" \
150
+ [--thesis "<one-line thesis from the Tier 1 overview>"]
151
+ fi
152
+ ```
153
+
154
+ The helper handles metadata fetch, slug, dedup, page creation, index
155
+ rebuild, and log append — **do not handwrite `papers/<slug>.md`**. See
156
+ [`shared-references/integration-contract.md`](../shared-references/integration-contract.md).
157
+ If wiki was not present at read time (or the helper was unreachable),
158
+ the user can backfill via
159
+ `python3 "$WIKI_SCRIPT" sync research-wiki/ --arxiv-ids <id>` after
160
+ resolving `$WIKI_SCRIPT` as above.
161
+
162
+ #### Suggest Follow-Up Skills (after Step 6 completes)
163
+
164
+ ```text
165
+ /arxiv "PAPER_ID" - download - download the PDF to local library
166
+ /deepxiv "PAPER_ID" - section: Methods - read a specific section progressively
167
+ /research-lit "related topic" - multi-source literature survey
168
+ /novelty-check "idea from paper" - verify novelty against this paper's area
169
+ ```
170
+
171
+ ## Key Rules
172
+
173
+ - **Overview first**: `overview` is the fastest path and must always be tried before deeper tiers. Only escalate when needed.
174
+ - **Minimal reads**: At `src` tier, read only the files that answer the question. Full-tree reads waste tokens.
175
+ - **Cross-platform**: When downloading and extracting the source archive, prefer cross-platform approaches (e.g., Python stdlib) over platform-specific commands to ensure Windows/WSL compatibility.
176
+ - **No PDF parsing**: This skill reads structured markdown and LaTeX source, not raw PDFs. For PDF content, suggest `/arxiv` with download.
177
+ - **Rate limiting**: arXiv source download may rate-limit. If HTTP 429 occurs, wait 5 seconds and retry once. If still blocked, report the error and suggest `/deepxiv` as alternative.
178
+ - **Complementary, not competing**: This skill complements `/arxiv` (search + download) and `/deepxiv` (progressive reading). Do not re-implement their functionality.
179
+
180
+ ## Integration with Other Skills
181
+
182
+ ### As enrichment in `/research-lit`
183
+
184
+ `/research-lit` can use this skill's Tier 1 (overview) as a fast enrichment step between search and deep analysis. After finding arXiv papers in Step 1, fetch AlphaXiv overviews to quickly assess relevance before committing to full-text reads:
185
+
186
+ ```
187
+ Step 1: Search → list of arXiv IDs
188
+ Step 1.5: AlphaXiv overview for top 5-8 papers (this skill, Tier 1 only)
189
+ Step 2: Deep analysis only for papers that pass the relevance filter
190
+ ```
191
+
192
+ This saves significant tokens by filtering out marginally relevant papers before deep reading.
193
+
194
+ ### As follow-up from other skills
195
+
196
+ After `/research-lit`, `/novelty-check`, or `/idea-discovery` surface a specific paper, users can invoke `/alphaxiv PAPER_ID` for a fast deep-dive without re-running the full survey.
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: analyze-results
3
+ description: Analyze ML experiment results, compute statistics, generate comparison tables and insights. Use when user says "analyze results", "compare", or needs to interpret experimental data.
4
+ argument-hint: "[results-path-or-description]"
5
+ allowed-tools: Bash(*), Read, Grep, Glob, Write, Edit
6
+ ---
7
+
8
+ # Analyze Experiment Results
9
+
10
+ Analyze: $ARGUMENTS
11
+
12
+ ## Workflow
13
+
14
+ ### Step 1: Locate Results
15
+ Find all relevant JSON/CSV result files:
16
+ - Check `figures/`, `results/`, or project-specific output directories
17
+ - Parse JSON results into structured data
18
+
19
+ ### Step 2: Build Comparison Table
20
+ Organize results by:
21
+ - **Independent variables**: model type, hyperparameters, data config
22
+ - **Dependent variables**: primary metric (e.g., perplexity, accuracy, loss), secondary metrics
23
+ - **Delta vs baseline**: always compute relative improvement
24
+
25
+ ### Step 3: Statistical Analysis
26
+ - If multiple seeds: report mean +/- std, check reproducibility
27
+ - If sweeping a parameter: identify trends (monotonic, U-shaped, plateau)
28
+ - Flag outliers or suspicious results
29
+
30
+ ### Step 4: Generate Insights
31
+ For each finding, structure as:
32
+ 1. **Observation**: what the data shows (with numbers)
33
+ 2. **Interpretation**: why this might be happening
34
+ 3. **Implication**: what this means for the research question
35
+ 4. **Next step**: what experiment would test the interpretation
36
+
37
+ ### Step 5: Update Documentation
38
+ If findings are significant:
39
+ - Propose updates to project notes or experiment reports
40
+ - Draft a concise finding statement (1-2 sentences)
41
+
42
+ ## Output Format
43
+ Always include:
44
+ 1. Raw data table
45
+ 2. Key findings (numbered, concise)
46
+ 3. Suggested next experiments (if any)
@@ -0,0 +1,248 @@
1
+ ---
2
+ name: arxiv
3
+ description: Search, download, and summarize academic papers from arXiv. Use when user says "search arxiv", "download paper", "fetch arxiv", "arxiv search", "get paper pdf", or wants to find and save papers from arXiv to the local paper library.
4
+ argument-hint: "[query-or-arxiv-id]"
5
+ allowed-tools: Bash(*), Read, Write
6
+ ---
7
+
8
+ # arXiv Paper Search & Download
9
+
10
+ Search topic or arXiv paper ID: $ARGUMENTS
11
+
12
+ ## Constants
13
+
14
+ - **PAPER_DIR** - Local directory to save downloaded PDFs. Default: `papers/` in the current project directory.
15
+ - **MAX_RESULTS = 10** - Default number of search results.
16
+ - **ARXIV_FETCHER** — canonical name `arxiv_fetch.py`, resolved per
17
+ [`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2
18
+ (Policy D1 — primary + fallback cascade). If unresolved (canonical
19
+ chain exhausted), fall back to the inline Python alternative
20
+ documented in Step 2.
21
+
22
+ > Overrides (append to arguments):
23
+ > - `/arxiv "attention mechanism" - max: 20` - return up to 20 results
24
+ > - `/arxiv "2301.07041" - download` - download a specific paper by ID
25
+ > - `/arxiv "query" - dir: literature/` - save PDFs to a custom directory
26
+ > - `/arxiv "query" - download: all` - download all result PDFs
27
+
28
+ ## Workflow
29
+
30
+ ### Step 1: Parse Arguments
31
+
32
+ Parse `$ARGUMENTS` for directives:
33
+
34
+ - **Query or ID**: main search term or a bare arXiv ID such as `2301.07041` or `cs/0601001`
35
+ - **`- max: N`**: override MAX_RESULTS (e.g., `- max: 20`)
36
+ - **`- dir: PATH`**: override PAPER_DIR (e.g., `- dir: literature/`)
37
+ - **`- download`**: download the first result's PDF after listing
38
+ - **`- download: all`**: download PDFs for all results
39
+
40
+ If the argument matches an arXiv ID pattern (`YYMM.NNNNN` or `category/NNNNNNN`), skip the search and go directly to Step 3.
41
+
42
+ ### Step 2: Search arXiv
43
+
44
+ Resolve `$ARXIV_FETCHER` via the canonical strict-safe chain (see
45
+ [`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2):
46
+
47
+ ```bash
48
+ cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
49
+ if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
50
+ ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
51
+ fi
52
+ if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
53
+ ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
54
+ fi
55
+ ARXIV_FETCHER=".aris/tools/arxiv_fetch.py"
56
+ [ -f "$ARXIV_FETCHER" ] || ARXIV_FETCHER="tools/arxiv_fetch.py"
57
+ [ -f "$ARXIV_FETCHER" ] || { [ -n "${ARIS_REPO:-}" ] && ARXIV_FETCHER="$ARIS_REPO/tools/arxiv_fetch.py"; }
58
+ [ -f "$ARXIV_FETCHER" ] || ARXIV_FETCHER=""
59
+ ```
60
+
61
+ **If `$ARXIV_FETCHER` is non-empty**, run:
62
+
63
+ ```bash
64
+ python3 "$ARXIV_FETCHER" search "QUERY" --max MAX_RESULTS
65
+ ```
66
+
67
+ **If `$ARXIV_FETCHER` is empty** (Policy D1 cascade), fall back to inline Python:
68
+
69
+ ```bash
70
+ python3 - <<'PYEOF'
71
+ import json
72
+ import urllib.parse
73
+ import urllib.request
74
+ import xml.etree.ElementTree as ET
75
+
76
+ NS = "http://www.w3.org/2005/Atom"
77
+ query = urllib.parse.quote("QUERY")
78
+ url = (f"http://export.arxiv.org/api/query"
79
+ f"?search_query={query}&start=0&max_results=MAX_RESULTS"
80
+ f"&sortBy=relevance&sortOrder=descending")
81
+ with urllib.request.urlopen(url, timeout=30) as r:
82
+ root = ET.fromstring(r.read())
83
+ papers = []
84
+ for entry in root.findall(f"{{{NS}}}entry"):
85
+ aid = entry.findtext(f"{{{NS}}}id", "").split("/abs/")[-1].split("v")[0]
86
+ title = (entry.findtext(f"{{{NS}}}title", "") or "").strip().replace("\n", " ")
87
+ abstract = (entry.findtext(f"{{{NS}}}summary", "") or "").strip().replace("\n", " ")
88
+ authors = [a.findtext(f"{{{NS}}}name", "") for a in entry.findall(f"{{{NS}}}author")]
89
+ published = entry.findtext(f"{{{NS}}}published", "")[:10]
90
+ cats = [c.get("term", "") for c in entry.findall(f"{{{NS}}}category")]
91
+ papers.append({
92
+ "id": aid,
93
+ "title": title,
94
+ "authors": authors,
95
+ "abstract": abstract,
96
+ "published": published,
97
+ "categories": cats,
98
+ "pdf_url": f"https://arxiv.org/pdf/{aid}.pdf",
99
+ "abs_url": f"https://arxiv.org/abs/{aid}",
100
+ })
101
+ print(json.dumps(papers, ensure_ascii=False, indent=2))
102
+ PYEOF
103
+ ```
104
+
105
+ Present results as a table:
106
+
107
+ ```text
108
+ | # | arXiv ID | Title | Authors | Date | Category |
109
+ |---|------------|---------------------|----------------|------------|----------|
110
+ | 1 | 2301.07041 | Attention Is All... | Vaswani et al. | 2017-06-12 | cs.LG |
111
+ ```
112
+
113
+ ### Step 3: Fetch Details for a Specific ID
114
+
115
+ When a single paper ID is requested (either directly or from Step 2):
116
+
117
+ ```bash
118
+ python3 "$ARXIV_FETCHER" search "id:ARXIV_ID" --max 1
119
+ # or fallback:
120
+ python3 -c "
121
+ import urllib.request, xml.etree.ElementTree as ET
122
+ NS = 'http://www.w3.org/2005/Atom'
123
+ url = 'http://export.arxiv.org/api/query?id_list=ARXIV_ID'
124
+ with urllib.request.urlopen(url, timeout=30) as r:
125
+ root = ET.fromstring(r.read())
126
+ # print full details ...
127
+ "
128
+ ```
129
+
130
+ Display: title, all authors, categories, full abstract, published date, PDF URL, abstract URL.
131
+
132
+ ### Step 4: Download PDFs
133
+
134
+ When download is requested, for each paper ID to download:
135
+
136
+ ```bash
137
+ # Using fetch script:
138
+ python3 "$ARXIV_FETCHER" download ARXIV_ID --dir PAPER_DIR
139
+
140
+ # Fallback:
141
+ mkdir -p PAPER_DIR && python3 -c "
142
+ import pathlib
143
+ import sys
144
+ import urllib.request
145
+
146
+ out = pathlib.Path('PAPER_DIR/ARXIV_ID.pdf')
147
+ if out.exists():
148
+ print(f'Already exists: {out}')
149
+ sys.exit(0)
150
+ req = urllib.request.Request(
151
+ 'https://arxiv.org/pdf/ARXIV_ID.pdf',
152
+ headers={'User-Agent': 'arxiv-skill/1.0'},
153
+ )
154
+ with urllib.request.urlopen(req, timeout=60) as r:
155
+ out.write_bytes(r.read())
156
+ print(f'Downloaded: {out} ({out.stat().st_size // 1024} KB)')
157
+ "
158
+ ```
159
+
160
+ After each download:
161
+
162
+ - Confirm file size > 10 KB (reject smaller files - likely an error HTML page)
163
+ - Add a 1-second delay between consecutive downloads to avoid rate limiting
164
+ - Report: `Downloaded: papers/2301.07041.pdf (842 KB)`
165
+
166
+ ### Step 5: Summarize
167
+
168
+ For each paper (downloaded or fetched by API):
169
+
170
+ ```markdown
171
+ ## [Title]
172
+
173
+ - **arXiv**: [ID] - [abs_url]
174
+ - **Authors**: [full author list]
175
+ - **Date**: [published]
176
+ - **Categories**: [cs.LG, cs.AI, ...]
177
+ - **Abstract**: [full abstract]
178
+ - **Key contributions** (extracted from abstract):
179
+ - [contribution 1]
180
+ - [contribution 2]
181
+ - [contribution 3]
182
+ - **Local PDF**: papers/[ID].pdf (if downloaded)
183
+ ```
184
+
185
+ ### Step 6: Update Research Wiki (if active)
186
+
187
+ **Required when `research-wiki/` exists in the project**; skip silently
188
+ otherwise. When the wiki dir exists, resolve `$WIKI_SCRIPT` per the
189
+ canonical chain at
190
+ [`shared-references/wiki-helper-resolution.md`](../shared-references/wiki-helper-resolution.md)
191
+ (Variant B — warn-and-skip), then ingest every paper returned by this
192
+ invocation:
193
+
194
+ ```bash
195
+ if [ -d research-wiki/ ]; then
196
+ cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
197
+ ARIS_REPO="${ARIS_REPO:-$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null)}"
198
+ if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
199
+ ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
200
+ fi
201
+ WIKI_SCRIPT=".aris/tools/research_wiki.py"
202
+ [ -f "$WIKI_SCRIPT" ] || WIKI_SCRIPT="tools/research_wiki.py"
203
+ [ -f "$WIKI_SCRIPT" ] || { [ -n "${ARIS_REPO:-}" ] && WIKI_SCRIPT="$ARIS_REPO/tools/research_wiki.py"; }
204
+ [ -f "$WIKI_SCRIPT" ] || {
205
+ echo "WARN: research_wiki.py not found; arxiv results delivered, wiki ingest skipped. Fix: bash tools/install_aris.sh or smart_update.sh (refreshes ~/.aris/repo), export ARIS_REPO, or cp <ARIS-repo>/tools/research_wiki.py tools/." >&2
206
+ WIKI_SCRIPT=""
207
+ }
208
+ if [ -n "$WIKI_SCRIPT" ]; then
209
+ for each arxiv_id in results:
210
+ python3 "$WIKI_SCRIPT" ingest_paper research-wiki/ \
211
+ --arxiv-id "<arxiv_id>"
212
+ fi
213
+ fi
214
+ ```
215
+
216
+ The helper handles metadata fetch, slug, dedup, page creation, index
217
+ rebuild, and log append in a single call — **do not handwrite
218
+ `papers/<slug>.md`**. See
219
+ [`shared-references/integration-contract.md`](../shared-references/integration-contract.md)
220
+ for the canonical-helper rule. Missed ingests can be backfilled later
221
+ with `python3 "$WIKI_SCRIPT" sync research-wiki/ --arxiv-ids <id1>,<id2>,...`
222
+ after resolving `$WIKI_SCRIPT` as above.
223
+
224
+ ### Step 7: Final Output
225
+
226
+ Summarize what was done:
227
+
228
+ - `Found N papers for "query"`
229
+ - `Downloaded: papers/2301.07041.pdf (842 KB)` (for each download)
230
+ - `Wiki-ingested N papers` (if `research-wiki/` was present)
231
+ - Any warnings (rate limit hit, file too small, already exists)
232
+
233
+ Suggest follow-up skills:
234
+
235
+ ```text
236
+ /research-lit "topic" - multi-source review: Zotero + Obsidian + local PDFs + web
237
+ /novelty-check "idea" - verify your idea is novel against these papers
238
+ ```
239
+
240
+ ## Key Rules
241
+
242
+ - Always show the arXiv ID prominently - users need it for citations and reproducibility
243
+ - Verify downloaded PDFs: file must be > 10 KB; warn and delete if smaller
244
+ - Rate limit: wait 1 second between consecutive PDF downloads; retry once after 5 seconds on HTTP 429
245
+ - Never overwrite an existing PDF at the same path - skip it and report "already exists"
246
+ - Handle both arXiv ID formats: new (`2301.07041`) and old (`cs/0601001`)
247
+ - PAPER_DIR is created automatically if it does not exist
248
+ - If the arXiv API is unreachable, report the error clearly and suggest using `/research-lit` with `- sources: web` as a fallback