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,99 @@
1
+ # Source Policy
2
+
3
+ ## Default priority
4
+
5
+ 1. `IEEE Xplore`
6
+ 2. `ScienceDirect`
7
+ 3. `ACM Digital Library`
8
+ 4. Domain-appropriate primary venues and broader web only when the first three are insufficient
9
+ 5. Preprints only when necessary
10
+
11
+ ## Database intent
12
+
13
+ - `IEEE Xplore`: best default for wireless, communications, PHY/MAC, networking, signal processing, NTN, and protocol work.
14
+ - `ScienceDirect`: useful for communications journals, Computer Networks, Ad Hoc Networks, Physical Communication, and systems papers published through Elsevier venues.
15
+ - `ACM Digital Library`: important second-line source for networking systems, transport protocols, mobile systems, and Internet measurement once the first two tiers are exhausted.
16
+
17
+ ## When to widen beyond IEEE, ScienceDirect, and ACM
18
+
19
+ Widen only if one of these is true:
20
+
21
+ - the topic is heavily systems-oriented and canonical papers live in ACM or USENIX venues
22
+ - the recent frontier has not yet appeared in the three preferred databases
23
+ - the user explicitly asks for a broader sweep
24
+
25
+ When widening, prefer:
26
+
27
+ - `dl.acm.org`
28
+ - official conference pages
29
+ - publisher DOI pages
30
+ - authors' public PDFs that correspond to already-identified formal papers
31
+ - carefully targeted web search rather than open-ended browsing
32
+
33
+ ## Search layering
34
+
35
+ Always layer the search in two dimensions:
36
+
37
+ 1. **database layer**
38
+ - IEEE
39
+ - ScienceDirect
40
+ - ACM
41
+ - broader web
42
+ 2. **venue layer within each database**
43
+ - top journals and top conferences
44
+ - mainstream strong venues
45
+ - all other relevant formal venues
46
+
47
+ Do not jump straight to broad web search if the topic can still be served by a higher database or venue tier.
48
+
49
+ ## Venue policy
50
+
51
+ Follow [venue-tiering.md](venue-tiering.md).
52
+
53
+ The default behavior is:
54
+
55
+ - look for Tier A papers first
56
+ - expand to Tier B if the set is too small
57
+ - expand to Tier C if the topic is niche or the user wants broader coverage
58
+
59
+ If the user explicitly asks for `top venues only`, `top journals only`, or `top conferences only`, treat Tier A as a hard filter rather than a ranking hint.
60
+
61
+ ## Publication policy
62
+
63
+ - Prefer peer-reviewed journals and major conferences.
64
+ - Label workshop papers as `workshop`.
65
+ - Label arXiv-only or author-hosted versions as `preprint`.
66
+ - If both a preprint and formal version exist, cite the formal version first.
67
+
68
+ ## Time-window policy
69
+
70
+ If the user does not specify a year range:
71
+
72
+ - include a short foundational set
73
+ - include a recent set
74
+ - separate them explicitly in the synthesis
75
+
76
+ Recommended default split:
77
+
78
+ - `foundational`: before 2022
79
+ - `recent`: 2022 to present
80
+
81
+ ## Search-query guidance
82
+
83
+ Build queries from:
84
+
85
+ - system name: `LEO`, `NTN`, `Wi-Fi 7`, `NR sidelink`
86
+ - technical problem: `rate adaptation`, `congestion control`, `beam hopping`
87
+ - layer name: `PHY`, `MAC`, `transport`, `cross-layer`
88
+ - method family if relevant: `RL`, `learning-based`, `optimization`, `prediction`
89
+
90
+ Avoid overly broad queries such as:
91
+
92
+ - `wireless AI`
93
+ - `satellite network paper`
94
+
95
+ Prefer tighter queries such as:
96
+
97
+ - `LEO satellite congestion control IEEE`
98
+ - `NTN rate adaptation IEEE Xplore`
99
+ - `Wi-Fi rate adaptation ScienceDirect`
@@ -0,0 +1,112 @@
1
+ # Venue Tiering
2
+
3
+ Use this file to rank communications-domain literature before broadening the search.
4
+
5
+ The goal is not to claim a universal ranking. The goal is to give the skill a stable, practical search order:
6
+
7
+ 1. top communications and networking venues
8
+ 2. strong mainstream venues
9
+ 3. the rest of the relevant formal literature
10
+
11
+ By default, these tiers are search priorities rather than strict eligibility rules. Only treat Tier A as a hard boundary if the user explicitly requests top-only search.
12
+
13
+ ## Tier A: top journals and top conferences
14
+
15
+ Start here unless the user asks for a broad sweep immediately.
16
+
17
+ ### Journals
18
+
19
+ - `IEEE Journal on Selected Areas in Communications (JSAC)`
20
+ - `IEEE/ACM Transactions on Networking (ToN)`
21
+ - `IEEE Transactions on Wireless Communications (TWC)`
22
+ - `IEEE Transactions on Communications (TCOM)`
23
+ - `IEEE Transactions on Mobile Computing (TMC)` when the topic is mobile or wireless systems
24
+ - `IEEE Transactions on Network and Service Management (TNSM)` when the topic is network control or management
25
+
26
+ ### Conferences
27
+
28
+ - `ACM SIGCOMM`
29
+ - `USENIX NSDI`
30
+ - `ACM MobiCom`
31
+ - `ACM CoNEXT`
32
+ - `IEEE INFOCOM`
33
+
34
+ ## Tier B: mainstream strong venues
35
+
36
+ Use these after Tier A, or earlier if the topic naturally lands here.
37
+
38
+ ### Journals
39
+
40
+ - `IEEE Transactions on Vehicular Technology (TVT)`
41
+ - `IEEE Wireless Communications Letters (WCL)`
42
+ - `IEEE Communications Letters`
43
+ - `Computer Networks`
44
+ - `Computer Communications`
45
+ - `Ad Hoc Networks`
46
+ - `Physical Communication`
47
+
48
+ ### Conferences
49
+
50
+ - `IEEE ICC`
51
+ - `IEEE GLOBECOM`
52
+ - `IEEE WCNC`
53
+ - `IEEE PIMRC`
54
+ - `ACM MobiHoc`
55
+ - topic-specific satellite, wireless, or vehicular conferences with established proceedings
56
+
57
+ ## Tier C: broad relevant formal venues
58
+
59
+ Use these when the higher tiers are sparse or when the user asks for exhaustive coverage.
60
+
61
+ - other IEEE journals and transactions related to communications, networking, signal processing, and aerospace
62
+ - other Elsevier journals relevant to the topic
63
+ - other ACM conferences and workshops that are clearly on-topic
64
+ - domain-specific venues in satellite, optical, vehicular, IoT, aerial, or edge communications
65
+
66
+ ## Escalation rule
67
+
68
+ Within a given topic:
69
+
70
+ - search Tier A first
71
+ - if too few relevant papers appear, expand to Tier B
72
+ - if still sparse, expand to Tier C
73
+ - only after that use broader web search for gaps, forward citations, or hard-to-find formal papers
74
+
75
+ ## Topic-specific notes
76
+
77
+ ### Wireless PHY/MAC
78
+
79
+ Give extra weight to:
80
+
81
+ - `TWC`
82
+ - `TCOM`
83
+ - `JSAC`
84
+ - `INFOCOM`
85
+ - `MobiCom`
86
+ - `ICC/GLOBECOM/WCNC` once the top tier is exhausted
87
+
88
+ ### Networking / transport
89
+
90
+ Give extra weight to:
91
+
92
+ - `SIGCOMM`
93
+ - `NSDI`
94
+ - `CoNEXT`
95
+ - `ToN`
96
+ - `INFOCOM`
97
+ - `Computer Networks`
98
+
99
+ ### Satellite / NTN
100
+
101
+ Give extra weight to:
102
+
103
+ - `JSAC`
104
+ - `TWC`
105
+ - `TCOM`
106
+ - `TVT`
107
+ - `INFOCOM`
108
+ - strong satellite or aerospace communications venues once top general venues are exhausted
109
+
110
+ ### Learning for communications
111
+
112
+ If the center of gravity is still a communication system problem, keep the same venue ladder. Do not jump to generic ML venues unless the paper's actual home community is no longer communications.
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: "deepxiv"
3
+ description: "Search and progressively read open-access academic papers through DeepXiv. Use when the user wants layered paper access, section-level reading, trending papers, or DeepXiv-backed literature retrieval."
4
+ ---
5
+
6
+ # DeepXiv Paper Search & Progressive Reading
7
+
8
+ Search topic or paper ID: $ARGUMENTS
9
+
10
+ ## Role & Positioning
11
+
12
+ DeepXiv is the progressive-reading literature source:
13
+
14
+ | Skill | Source | Best for |
15
+ |-------|--------|----------|
16
+ | `/arxiv` | arXiv API | Batch search, PDF download, metadata |
17
+ | **`/deepxiv`** | **DeepXiv SDK** | **Progressive section-level reading** |
18
+ | `/semantic-scholar` | S2 API | Published venue metadata, citation counts |
19
+ | `/alphaxiv` | alphaxiv.org | Instant LLM-optimized summary of one paper, with LaTeX source fallback |
20
+
21
+ Use DeepXiv when you want to inspect papers incrementally instead of loading the full text immediately.
22
+
23
+ ## Constants
24
+
25
+ - **DEEPXIV_FETCHER** — canonical name `deepxiv_fetch.py`, resolved per
26
+ [`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2
27
+ (Codex-side chain: `$ARIS_REPO/tools/` → `tools/` → `~/.codex/skills/deepxiv/`).
28
+ Policy D1 — if unresolved (canonical chain exhausted), fall back to raw `deepxiv` CLI.
29
+ - **MAX_RESULTS = 10** — Default number of search results.
30
+
31
+ > Overrides (append to arguments):
32
+ > - `/deepxiv "agent memory" - max: 5`
33
+ > - `/deepxiv "2409.05591" - brief`
34
+ > - `/deepxiv "2409.05591" - head`
35
+ > - `/deepxiv "2409.05591" - section: Introduction`
36
+ > - `/deepxiv "trending" - days: 14 - max: 10`
37
+ > - `/deepxiv "karpathy" - web`
38
+ > - `/deepxiv "258001" - sc`
39
+
40
+ ## Setup
41
+
42
+ DeepXiv is optional:
43
+
44
+ ```bash
45
+ pip install deepxiv-sdk
46
+ ```
47
+
48
+ On first use, `deepxiv` auto-registers a free token and stores it in `~/.env`.
49
+
50
+ ## Workflow
51
+
52
+ ### Step 1: Parse Arguments
53
+
54
+ Parse `$ARGUMENTS` for:
55
+
56
+ - a paper topic, arXiv ID, or Semantic Scholar ID
57
+ - `- max: N`
58
+ - `- brief`
59
+ - `- head`
60
+ - `- section: NAME`
61
+ - `- trending`
62
+ - `- days: 7|14|30`
63
+ - `- web`
64
+ - `- sc`
65
+
66
+ If the input looks like an arXiv ID and no explicit mode is provided, default to `brief`.
67
+
68
+ ### Step 2: Locate the Adapter
69
+
70
+ Resolve `$DEEPXIV_FETCHER` via the canonical strict-safe Codex chain
71
+ (see [`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2):
72
+
73
+ ```bash
74
+ if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills-codex.txt ]; then
75
+ ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills-codex.txt 2>/dev/null) || true
76
+ fi
77
+ DEEPXIV_FETCHER=""
78
+ [ -n "${ARIS_REPO:-}" ] && [ -f "$ARIS_REPO/tools/deepxiv_fetch.py" ] && DEEPXIV_FETCHER="$ARIS_REPO/tools/deepxiv_fetch.py"
79
+ [ -z "$DEEPXIV_FETCHER" ] && [ -f tools/deepxiv_fetch.py ] && DEEPXIV_FETCHER="tools/deepxiv_fetch.py"
80
+ [ -z "$DEEPXIV_FETCHER" ] && [ -f ~/.codex/skills/deepxiv/deepxiv_fetch.py ] && DEEPXIV_FETCHER="$HOME/.codex/skills/deepxiv/deepxiv_fetch.py"
81
+
82
+ # Smoke test (optional): resolved-but-non-functional adapter is not currently auto-demoted.
83
+ if [ -n "$DEEPXIV_FETCHER" ]; then
84
+ echo "DeepXiv adapter resolved at: $DEEPXIV_FETCHER" >&2
85
+ else
86
+ echo "DeepXiv adapter unresolved (canonical chain exhausted); raw deepxiv CLI fallback will be used." >&2
87
+ fi
88
+ ```
89
+
90
+ If the adapter is unresolved, fall back to raw `deepxiv` commands.
91
+
92
+ ### Step 3: Execute the Minimal Command
93
+
94
+ ```bash
95
+ [ -n "$DEEPXIV_FETCHER" ] && python3 "$DEEPXIV_FETCHER" search "QUERY" --max MAX_RESULTS
96
+ [ -n "$DEEPXIV_FETCHER" ] && python3 "$DEEPXIV_FETCHER" paper-brief ARXIV_ID
97
+ [ -n "$DEEPXIV_FETCHER" ] && python3 "$DEEPXIV_FETCHER" paper-head ARXIV_ID
98
+ [ -n "$DEEPXIV_FETCHER" ] && python3 "$DEEPXIV_FETCHER" paper-section ARXIV_ID "SECTION_NAME"
99
+ [ -n "$DEEPXIV_FETCHER" ] && python3 "$DEEPXIV_FETCHER" trending --days 7 --max MAX_RESULTS
100
+ [ -n "$DEEPXIV_FETCHER" ] && python3 "$DEEPXIV_FETCHER" wsearch "QUERY"
101
+ [ -n "$DEEPXIV_FETCHER" ] && python3 "$DEEPXIV_FETCHER" sc "SEMANTIC_SCHOLAR_ID"
102
+ ```
103
+
104
+ Fallbacks:
105
+
106
+ ```bash
107
+ deepxiv search "QUERY" --limit MAX_RESULTS --format json
108
+ deepxiv paper ARXIV_ID --brief --format json
109
+ deepxiv paper ARXIV_ID --head --format json
110
+ deepxiv paper ARXIV_ID --section "SECTION_NAME" --format json
111
+ deepxiv trending --days 7 --limit MAX_RESULTS --output json
112
+ deepxiv wsearch "QUERY" --output json
113
+ deepxiv sc "SEMANTIC_SCHOLAR_ID" --output json
114
+ ```
115
+
116
+ ### Step 4: Present Results
117
+
118
+ For search results, present a compact literature table. For paper reads, summarize the title, authors, date, TLDR, and the next recommended depth step.
119
+
120
+ ### Step 5: Escalate Depth Only When Needed
121
+
122
+ Use the progression:
123
+
124
+ 1. `search`
125
+ 2. `paper-brief`
126
+ 3. `paper-head`
127
+ 4. `paper-section`
128
+
129
+ Only read the full paper when the user explicitly needs it.
130
+
131
+ ### Step 6: Update Research Wiki (if active)
132
+
133
+ If the project has an active research wiki and the user is building a literature set, add DeepXiv findings as source-backed entries with arXiv/Semantic Scholar IDs, retrieved sections, and the recommended next depth step.
134
+
135
+ Follow [`shared-references/integration-contract.md`](../shared-references/integration-contract.md). If the wiki path or schema is unclear, ask before writing.
136
+
137
+ ## Key Rules
138
+
139
+ - Prefer the adapter script over raw `deepxiv` commands when available.
140
+ - If DeepXiv is missing, give the install command and suggest `/arxiv` or `/research-lit "topic" - sources: web`.
141
+ - Use DeepXiv as an additive source, not a replacement for existing ARIS literature tooling.
142
+ - If the result overlaps with a published venue paper from Semantic Scholar, keep the richer venue metadata in the final summary.
@@ -0,0 +1,285 @@
1
+ ---
2
+ name: "dse-loop"
3
+ description: "Autonomous design space exploration loop for computer architecture and EDA. Runs a program, analyzes results, tunes parameters, and iterates until objective is met or timeout. Use when user says \\\"DSE\\\", \\\"design space exploration\\\", \\\"sweep parameters\\\", \\\"optimize\\\", \\\"find best config\\\", or wants iterative parameter tuning."
4
+ ---
5
+
6
+ # DSE Loop: Autonomous Design Space Exploration
7
+
8
+ Autonomously explore a design space: run → analyze → pick next parameters → repeat, until the objective is met or timeout is reached. Designed for computer architecture and EDA problems.
9
+
10
+ ## Context: $ARGUMENTS
11
+
12
+ ## Safety Rules — READ FIRST
13
+
14
+ **NEVER do any of the following:**
15
+ - `sudo` anything
16
+ - `rm -rf`, `rm -r`, or any recursive deletion
17
+ - `rm` any file you did not create in this session
18
+ - Overwrite existing source files without reading them first
19
+ - `git push`, `git reset --hard`, or any destructive git operation
20
+ - Kill processes you did not start
21
+
22
+ **If a step requires any of the above, STOP and report to the user.**
23
+
24
+ ## Constants (override via $ARGUMENTS)
25
+
26
+ | Constant | Default | Description |
27
+ |----------|---------|-------------|
28
+ | `TIMEOUT` | 2h | Total wall-clock budget. Stop exploring after this. |
29
+ | `MAX_ITERATIONS` | 50 | Hard cap on number of design points evaluated. |
30
+ | `PATIENCE` | 10 | Stop early if no improvement for this many consecutive iterations. |
31
+ | `OBJECTIVE` | minimize | `minimize` or `maximize` the target metric. |
32
+
33
+ Override inline: `/dse-loop "task desc — timeout: 4h, max_iterations: 100, patience: 15"`
34
+
35
+ ## Typical Use Cases
36
+
37
+ | Problem | Program | Parameters | Objective |
38
+ |---------|---------|-----------|-----------|
39
+ | Microarch DSE | gem5 simulation | cache size, assoc, pipeline width, ROB size, branch predictor | maximize IPC or minimize area×delay |
40
+ | Synthesis tuning | yosys/DC script | optimization passes, target freq, effort level | minimize area at timing closure |
41
+ | RTL parameterization | verilator sim | data width, FIFO depth, pipeline stages, buffer sizes | meet throughput target at min area |
42
+ | Compiler flags | gcc/llvm build + benchmark | -O levels, unroll factor, vectorization, scheduling | minimize runtime or code size |
43
+ | Placement/routing | openroad/innovus | utilization, aspect ratio, layer config | minimize wirelength / timing |
44
+ | Formal verification | abc/sby | bound depth, engine, timeout per property | maximize coverage in time budget |
45
+ | Memory subsystem | cacti / ramulator | bank count, row buffer policy, scheduling | optimize bandwidth/energy |
46
+
47
+ ## Workflow
48
+
49
+ ### Phase 0: Parse Task & Setup
50
+
51
+ 1. **Parse $ARGUMENTS** to extract:
52
+ - **Program**: what to run (command, script, or Makefile target)
53
+ - **Parameter space**: which knobs to tune and their ranges/options (may be incomplete — see step 2)
54
+ - **Objective metric**: what to optimize (and how to extract it from output)
55
+ - **Constraints**: hard limits that must not be violated (e.g., timing must close)
56
+ - **Timeout**: wall-clock budget
57
+ - **Success criteria**: when is the result "good enough" to stop early?
58
+
59
+ 2. **Infer missing parameter ranges** — If the user provides parameter names but NOT ranges/options, you MUST infer them before exploring:
60
+
61
+ a. **Read the source code** — search for the parameter names in the codebase:
62
+ - Look for argparse/click definitions, config files, Makefile variables, module parameters, `#define`, `parameter` (SystemVerilog), `localparam`, etc.
63
+ - Extract defaults, types, and any comments hinting at valid values
64
+
65
+ b. **Apply domain knowledge** to set reasonable ranges:
66
+ | Parameter type | Inference strategy |
67
+ |---------------|-------------------|
68
+ | Cache/memory sizes | Powers of 2, typically 1KB–16MB |
69
+ | Associativity | Powers of 2: 1, 2, 4, 8, 16 |
70
+ | Pipeline width / issue width | Small integers: 1, 2, 4, 8 |
71
+ | Buffer/queue/FIFO depth | Powers of 2: 4, 8, 16, 32, 64 |
72
+ | Clock period / frequency | Based on technology node; try ±50% from default |
73
+ | Bound depth (BMC/formal) | Geometric: 5, 10, 20, 50, 100 |
74
+ | Timeout values | Geometric: 10s, 30s, 60s, 120s, 300s |
75
+ | Boolean/enum flags | Enumerate all options found in source |
76
+ | Continuous (learning rate, threshold) | Log-scale sweep: 5 points spanning 2 orders of magnitude around default |
77
+ | Integer counts (threads, cores) | Linear: from 1 to hardware max |
78
+
79
+ c. **Start conservative** — begin with 3-5 values per parameter. Expand range later if the best result is at a boundary.
80
+
81
+ d. **Log inferred ranges** — write the inferred parameter space to `dse_results/inferred_params.md` so the user can review:
82
+ ```markdown
83
+ # Inferred Parameter Space
84
+
85
+ | Parameter | Source | Default | Inferred Range | Reasoning |
86
+ |-----------|--------|---------|---------------|-----------|
87
+ | CACHE_SIZE | config.py:42 | 32768 | [8192, 16384, 32768, 65536, 131072] | powers of 2, ±2x from default |
88
+ | ASSOC | config.py:43 | 4 | [1, 2, 4, 8] | standard associativities |
89
+ | BMC_DEPTH | run_bmc.py:15 | 10 | [5, 10, 20, 50] | geometric, common BMC depths |
90
+ ```
91
+
92
+ e. **Boundary expansion** — during the search, if the best result is at the min or max of a range, automatically extend that range by one step in that direction (but log the extension).
93
+
94
+ 3. **Read the project** to understand:
95
+ - How to run the program
96
+ - Where results are produced (stdout, log files, reports)
97
+ - How to parse the objective metric from output
98
+ - Current/baseline configuration (if any)
99
+
100
+ 4. **Create working directory**: `dse_results/` in project root
101
+ - `dse_results/dse_log.csv` — one row per design point
102
+ - `dse_results/DSE_REPORT.md` — final report
103
+ - `dse_results/DSE_STATE.json` — state for recovery
104
+ - `dse_results/inferred_params.md` — inferred parameter space (if ranges were not provided)
105
+ - `dse_results/configs/` — config files for each run
106
+ - `dse_results/outputs/` — raw output for each run
107
+
108
+ 5. **Write a parameter extraction script** (`dse_results/parse_result.py` or similar) that takes a run's output and returns the objective metric as a number. Test it on a baseline run first.
109
+
110
+ 6. **Run baseline** (iteration 0): run the program with default/current parameters. Record the baseline metric. This is the point to beat.
111
+
112
+ ### Phase 1: Initial Exploration
113
+
114
+ **Goal**: Quickly survey the space to understand which parameters matter most.
115
+
116
+ **Strategy**: Latin Hypercube Sampling or structured sweep of key parameters.
117
+
118
+ 1. Pick 5-10 diverse design points that span the parameter ranges
119
+ 2. Run them (in parallel if independent, via background processes or sequential)
120
+ 3. Record all results in `dse_log.csv`:
121
+ ```
122
+ iteration,param1,param2,...,metric,constraint_met,timestamp,notes
123
+ 0,default,default,...,baseline_val,yes,2026-03-13T10:00:00,baseline
124
+ 1,val1a,val2a,...,result1,yes,2026-03-13T10:05:00,initial sweep
125
+ ...
126
+ ```
127
+ 4. Analyze: which parameters have the most impact on the objective?
128
+ 5. Narrow the search to the most sensitive parameters
129
+
130
+ ### Phase 2: Directed Search
131
+
132
+ **Goal**: Converge toward the optimum by making informed choices.
133
+
134
+ **Strategy**: Adaptive — pick the approach that fits the problem:
135
+
136
+ - **Few parameters (≤3)**: Fine-grained grid search around the best region from Phase 1
137
+ - **Many parameters (>3)**: Coordinate descent — optimize one parameter at a time, holding others at current best
138
+ - **Binary/categorical params**: Enumerate promising combinations
139
+ - **Continuous params**: Binary search or golden section between best neighbors
140
+ - **Multi-objective**: Track Pareto frontier, explore along the front
141
+
142
+ For each iteration:
143
+
144
+ 1. **Select next design point** based on results so far:
145
+ - Look at the trend: which direction improves the metric?
146
+ - Avoid re-running configurations already evaluated
147
+ - Balance exploration (untested regions) vs exploitation (near current best)
148
+
149
+ 2. **Modify parameters**: edit config file, command-line args, or source constants
150
+
151
+ 3. **Run the program**: execute and capture output
152
+
153
+ 4. **Parse results**: extract the objective metric and check constraints
154
+
155
+ 5. **Log to `dse_log.csv`**: append the new row
156
+
157
+ 6. **Check stopping conditions**:
158
+ - Timeout reached? → stop
159
+ - Max iterations reached? → stop
160
+ - Patience exhausted (no improvement in N iterations)? → stop
161
+ - Success criteria met (metric is "good enough")? → stop
162
+ - Constraint violation pattern detected? → adjust search bounds
163
+
164
+ 7. **Update `DSE_STATE.json`**:
165
+ ```json
166
+ {
167
+ "iteration": 15,
168
+ "status": "in_progress",
169
+ "best_metric": 1.23,
170
+ "best_params": {"cache_size": 32768, "assoc": 4, "pipeline_width": 2},
171
+ "total_iterations": 15,
172
+ "start_time": "2026-03-13T10:00:00",
173
+ "timeout": "2h",
174
+ "patience_counter": 3
175
+ }
176
+ ```
177
+
178
+ 8. **Decide next step** → back to step 1
179
+
180
+ ### Phase 3: Refinement (if time allows)
181
+
182
+ If the search converged and there's still time budget:
183
+
184
+ 1. **Local perturbation**: try ±1 step on each parameter from the best point
185
+ 2. **Sensitivity analysis**: which parameters can be relaxed without hurting the metric?
186
+ 3. **Constraint boundary**: if a constraint is nearly binding, explore near-feasible points
187
+
188
+ ### Phase 4: Report
189
+
190
+ Write `dse_results/DSE_REPORT.md`:
191
+
192
+ ```markdown
193
+ # Design Space Exploration Report
194
+
195
+ **Task**: [description]
196
+ **Date**: [start] → [end]
197
+ **Total iterations**: N
198
+ **Wall-clock time**: X hours Y minutes
199
+
200
+ ## Objective
201
+ - **Metric**: [what was optimized]
202
+ - **Direction**: minimize / maximize
203
+ - **Baseline**: [value]
204
+ - **Best found**: [value] ([improvement]% better than baseline)
205
+
206
+ ## Best Configuration
207
+ | Parameter | Baseline | Best |
208
+ |-----------|----------|------|
209
+ | param1 | default | best_val |
210
+ | param2 | default | best_val |
211
+ | ... | ... | ... |
212
+
213
+ ## Search Trajectory
214
+ | Iteration | param1 | param2 | ... | Metric | Notes |
215
+ |-----------|--------|--------|-----|--------|-------|
216
+ | 0 (baseline) | ... | ... | ... | ... | baseline |
217
+ | 1 | ... | ... | ... | ... | initial sweep |
218
+ | ... | ... | ... | ... | ... | ... |
219
+ | N (best) | ... | ... | ... | ... | ★ best |
220
+
221
+ ## Parameter Sensitivity
222
+ - **param1**: [high/medium/low impact] — [brief explanation]
223
+ - **param2**: [high/medium/low impact] — [brief explanation]
224
+
225
+ ## Pareto Frontier (if multi-objective)
226
+ [Table or description of non-dominated points]
227
+
228
+ ## Stopping Reason
229
+ [timeout / max_iterations / patience / success_criteria_met]
230
+
231
+ ## Recommendations
232
+ - [actionable insights from the exploration]
233
+ - [which parameters matter most]
234
+ - [suggested follow-up explorations]
235
+ ```
236
+
237
+ Also generate a summary plot if matplotlib is available:
238
+ - Convergence curve (metric vs iteration)
239
+ - Parameter sensitivity bar chart
240
+ - Pareto frontier scatter (if multi-objective)
241
+
242
+ ## State Recovery
243
+
244
+ If the context window compacts mid-run, the loop recovers from `DSE_STATE.json` + `dse_log.csv`:
245
+
246
+ 1. Read `DSE_STATE.json` for current iteration, best params, patience counter
247
+ 2. Read `dse_log.csv` for full history
248
+ 3. Resume from next iteration
249
+
250
+ ## Key Rules
251
+
252
+ - Work AUTONOMOUSLY — do not ask the user for permission at each iteration
253
+ - **Every run must be logged** — even failed runs, constraint violations, errors. The log is the ground truth.
254
+ - **Never re-run an identical configuration** — check `dse_log.csv` before each run
255
+ - **Respect the timeout** — check elapsed time before starting a new iteration. If the next run is likely to exceed the timeout, stop and report.
256
+ - **Parse metrics programmatically** — write a parsing script, don't eyeball logs
257
+ - **Keep raw outputs** — save each run's full output in `dse_results/outputs/iter_N/`
258
+ - **Constraint violations are not improvements** — a design point that violates constraints is never "best", regardless of the metric
259
+ - If a run crashes, log the error, skip that point, and continue with the next
260
+ - If the same crash repeats 3 times with different configs, the harness code itself is
261
+ the suspect — **discard and reimplement the run/parse script cleanly from the spec**
262
+ (a peer move to another patch; delete only the script, never `dse_log.csv` /
263
+ `dse_results/`; per [`external-cadence.md`](../shared-references/external-cadence.md), "Let a broken attempt restart, not
264
+ just patch"). **Before resuming the sweep, re-validate metric comparability**: re-parse
265
+ one COMPLETED iteration's raw output from `dse_results/outputs/iter_N/` with the new
266
+ parser and confirm it reproduces that row of `dse_log.csv`; on mismatch, fix the parser
267
+ or re-parse and flag all affected rows — never mix two parsing semantics in one log. If
268
+ a clean reimplement crashes the same way, stop and report — the spec or the environment
269
+ is then in question, which is what needs the human
270
+
271
+ ## Example Invocations
272
+
273
+ ```
274
+ # Minimal — just name the parameters, let the agent figure out ranges
275
+ /dse-loop "Run gem5 mcf benchmark. Tune: L1D_SIZE, L2_SIZE, ROB_ENTRIES. Objective: maximize IPC. Timeout: 3h"
276
+
277
+ # Partial — some ranges given, some not
278
+ /dse-loop "Run make synth. Tune: CLOCK_PERIOD [5ns, 4ns, 3ns, 2ns], FLATTEN, ABC_SCRIPT. Objective: minimize area at timing closure. Timeout: 1h"
279
+
280
+ # Fully specified — explicit ranges for everything
281
+ /dse-loop "Simulate processor with FIFO_DEPTH [4,8,16,32], ISSUE_WIDTH [1,2,4], PREFETCH [on,off]. Run: make sim. Objective: max throughput/area. Timeout: 2h"
282
+
283
+ # Real-world: PDAG-SFA formal verification tuning
284
+ /dse-loop "Run python run_bmc.py. Tune: BMC_DEPTH, ENGINE, TIMEOUT_PER_PROP. Objective: maximize properties proved. Timeout: 2h"
285
+ ```