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,138 @@
1
+ ---
2
+ name: figure-description
3
+ description: "Process user-provided patent figures and generate formal drawing descriptions. Use when user says \"附图处理\", \"figure description\", \"附图说明\", \"drawings description\", or wants to describe patent figures with reference numerals."
4
+ argument-hint: "[figure-directory-or-figure-list]"
5
+ allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, WebSearch, WebFetch
6
+ ---
7
+
8
+ # Figure Description for Patents
9
+
10
+ Process patent figures and generate drawing descriptions based on: **$ARGUMENTS**
11
+
12
+ Unlike `/paper-figure` which generates data plots, this skill processes user-provided technical diagrams and assigns reference numerals.
13
+
14
+ ## Constants
15
+
16
+ - `FIGURE_DIR = "patent/figures/"` — Output directory for figure descriptions
17
+ - `REFERENCE_NUMERAL_PREFIX = 100` — Starting numeral for first figure's components
18
+ - `NUMERAL_SERIES = 100` — Each figure uses a separate 100-series (Fig 1: 100-199, Fig 2: 200-299, etc.)
19
+
20
+ ## Inputs
21
+
22
+ 1. User-provided figures (PNG, JPG, SVG, PDF) — search for them in the project directory
23
+ 2. `patent/INVENTION_DISCLOSURE.md` — for understanding what components to identify
24
+ 3. `patent/CLAIMS.md` — for mapping numerals to claim elements
25
+
26
+ ## Workflow
27
+
28
+ ### Step 1: Discover Figures
29
+
30
+ 1. Search the project directory for figure files:
31
+ - Check `patent/figures/`, `figures/`, root directory
32
+ - Look for PNG, JPG, SVG, PDF files
33
+ - Check INVENTION_BRIEF.md or INVENTION_DISCLOSURE.md for figure references
34
+ 2. List all discovered figures with their paths
35
+ 3. If figures are missing that claims require, note them as `[MISSING: description needed]`
36
+
37
+ ### Step 2: Analyze Each Figure
38
+
39
+ For each figure found:
40
+
41
+ 1. **Read the image** using the Read tool (supports image files)
42
+ 2. **Identify components**: What labeled or visually distinct components are shown?
43
+ 3. **Identify connections**: How do components relate to each other?
44
+ 4. **Identify flow**: If it's a flowchart or sequence, what is the step order?
45
+
46
+ ### Step 3: Assign Reference Numerals
47
+
48
+ For each figure, assign numerals using the series convention:
49
+
50
+ | Figure | Numeral Range |
51
+ |--------|-------------|
52
+ | FIG. 1 | 100-199 |
53
+ | FIG. 2 | 200-299 |
54
+ | FIG. 3 | 300-399 |
55
+
56
+ For each identified component:
57
+ - Assign the next available numeral in the series
58
+ - Cross-reference to the claim elements it supports
59
+ - Note if a component appears in multiple figures (use same numeral across figures)
60
+
61
+ ### Step 4: Generate Drawing Descriptions
62
+
63
+ Write formal drawing descriptions (附图说明):
64
+
65
+ **For CN jurisdiction (Chinese)**:
66
+ ```
67
+ 图1是[发明名称]的系统结构示意图;
68
+ 图2是[发明名称]的方法流程图;
69
+ 图3是[具体组件]的详细结构示意图;
70
+ ```
71
+
72
+ **For US/EP jurisdiction (English)**:
73
+ ```
74
+ FIG. 1 is a block diagram illustrating the system architecture according to one embodiment;
75
+ FIG. 2 is a flowchart illustrating the method steps according to one embodiment;
76
+ FIG. 3 is a detailed view of the processing module of FIG. 1;
77
+ ```
78
+
79
+ ### Step 5: Generate Reference Numeral Index
80
+
81
+ Create a complete mapping:
82
+
83
+ ```markdown
84
+ ## Reference Numeral Index
85
+
86
+ | Numeral | Component Name | Figure(s) | Claim Element |
87
+ |---------|---------------|-----------|---------------|
88
+ | 100 | System | FIG. 1 | Claim X preamble |
89
+ | 102 | Processor | FIG. 1 | Claim X, element 1 |
90
+ | 104 | Memory | FIG. 1 | Claim X, element 2 |
91
+ | 106 | Communication bus | FIG. 1 | Claim X, element 3 |
92
+ | 200 | Method | FIG. 2 | Claim 1 preamble |
93
+ | 202 | Receiving step | FIG. 2 | Claim 1, step 1 |
94
+ | 204 | Processing step | FIG. 2 | Claim 1, step 2 |
95
+ ```
96
+
97
+ ### Step 6: Cross-Reference to Claims
98
+
99
+ Verify that every claim element has at least one reference numeral:
100
+
101
+ | Claim Element | Figure | Numeral | Status |
102
+ |---------------|--------|---------|--------|
103
+ | [element] | [which fig] | [numeral] | Covered / [MISSING] |
104
+
105
+ If any claim element has no corresponding figure or numeral, flag it:
106
+ - `[MISSING FIGURE: Need a diagram showing {element description}]`
107
+ - `[MISSING NUMERAL: Component {name} in figure {X} needs a numeral]`
108
+
109
+ ### Step 7: Output
110
+
111
+ Write `patent/figures/figure_descriptions.md`:
112
+ ```markdown
113
+ ## Figure Descriptions
114
+
115
+ ### FIG. 1 — [Description]
116
+ [Formal one-paragraph description with all reference numerals]
117
+
118
+ ### FIG. 2 — [Description]
119
+ [Formal one-paragraph description with all reference numerals]
120
+ ...
121
+ ```
122
+
123
+ Write `patent/figures/numeral_index.md`:
124
+ ```markdown
125
+ ## Reference Numeral Index
126
+
127
+ [Complete table of all numerals, components, figures, and claim mappings]
128
+ ```
129
+
130
+ ## Key Rules
131
+
132
+ - Every component in every figure must have a reference numeral.
133
+ - Every reference numeral must be explained in the specification.
134
+ - Numeral series must be consistent: 100-series for FIG. 1, 200-series for FIG. 2.
135
+ - If the same component appears in multiple figures, use the SAME numeral.
136
+ - Do NOT modify user-provided figures -- only describe them.
137
+ - Flag missing figures that the claims require but the user has not provided.
138
+ - Drawing descriptions are one sentence each, in a consistent format.
@@ -0,0 +1,262 @@
1
+ ---
2
+ name: figure-spec
3
+ description: "Generate deterministic publication-quality architecture, workflow, and pipeline diagrams from structured JSON (FigureSpec) into editable SVG. Use when user says \"架构图\", \"workflow 图\", \"pipeline 图\", \"确定性矢量图\", \"figure spec\", \"draw architecture\", or needs precise, editable, publication-ready vector diagrams. Preferred over AI illustration for formal architecture/workflow figures."
4
+ argument-hint: "[description-of-diagram]"
5
+ allowed-tools: Bash(*), Read, Write, Edit, mcp__codex__codex
6
+ ---
7
+
8
+ # FigureSpec: Deterministic JSON → SVG Figure Generation
9
+
10
+ Generate publication-quality **architecture diagrams**, **workflow pipelines**, **audit cascades**, and **system topology** figures as editable SVG vector graphics using a deterministic JSON → SVG renderer.
11
+
12
+ ## When to Use This Skill
13
+
14
+ **Use `figure-spec`** for:
15
+ - System architecture diagrams (layered, hub-and-spoke, multi-plane)
16
+ - Workflow / pipeline figures
17
+ - Audit cascade / flow-control diagrams
18
+ - Any structured diagram where node positions, connections, and groupings are semantically important
19
+ - Figures that need to be edited/tweaked later (SVG is plain text)
20
+ - Figures where determinism matters (same spec → same SVG)
21
+
22
+ **Do NOT use for:**
23
+ - Data plots (bar/line/scatter) — use `/paper-figure`
24
+ - Natural/qualitative illustrations — use `/paper-illustration`
25
+ - Quick state-machine / flowchart — use `/mermaid-diagram` (lighter syntax)
26
+
27
+ ## Core Properties
28
+
29
+ - **Deterministic**: identical FigureSpec JSON always produces identical SVG output (for a fixed renderer version + fonts)
30
+ - **Editable**: SVG output is plain-text, can be post-edited by hand or programmatically
31
+ - **Validated**: renderer enforces schema, rejects malformed specs with clear error messages
32
+ - **Shape-aware**: edge clipping works correctly for rect/rounded/circle/ellipse/diamond
33
+ - **CJK support**: multi-line labels with proper Chinese character width estimation
34
+ - **No external API**: runs fully local, no network, no API keys
35
+
36
+ ## Tool Location
37
+
38
+ Phase 3.1 (Arch C) move: the canonical implementation now lives at
39
+ `skills/figure-spec/scripts/figure_renderer.py` (this SKILL's own
40
+ `scripts/` subdirectory). A backwards-compatible shim at
41
+ `tools/figure_renderer.py` forwards to the canonical file via
42
+ `os.execv`, so existing users with `.aris/tools/figure_renderer.py`
43
+ or a manually copied `tools/figure_renderer.py` keep working
44
+ unchanged.
45
+
46
+ Resolve `$FIGURE_RENDERER` with the hybrid chain (layer 0 prefers the
47
+ self-contained location for the owning SKILL; layers 1-4 are the
48
+ shared-runtime chain documented in
49
+ [`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2,
50
+ Policy A — skill-local gate):
51
+
52
+ ```bash
53
+ # Layer 0: self-contained (CC 1.0+ exposes $CLAUDE_SKILL_DIR).
54
+ FIGURE_RENDERER=""
55
+ if [ -n "${CLAUDE_SKILL_DIR:-}" ] && [ -f "$CLAUDE_SKILL_DIR/scripts/figure_renderer.py" ]; then
56
+ FIGURE_RENDERER="$CLAUDE_SKILL_DIR/scripts/figure_renderer.py"
57
+ fi
58
+ # Layers 1-4: shared-runtime chain (legacy compatibility + non-CC hosts).
59
+ if [ -z "$FIGURE_RENDERER" ]; then
60
+ cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
61
+ if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
62
+ ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
63
+ fi
64
+ if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
65
+ ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
66
+ fi
67
+ FIGURE_RENDERER=".aris/tools/figure_renderer.py"
68
+ [ -f "$FIGURE_RENDERER" ] || FIGURE_RENDERER="tools/figure_renderer.py"
69
+ [ -f "$FIGURE_RENDERER" ] || { [ -n "${ARIS_REPO:-}" ] && FIGURE_RENDERER="$ARIS_REPO/tools/figure_renderer.py"; }
70
+ [ -f "$FIGURE_RENDERER" ] || FIGURE_RENDERER=""
71
+ fi
72
+ [ -z "$FIGURE_RENDERER" ] && {
73
+ echo "ERROR: figure_renderer.py not resolved (layer 0: \$CLAUDE_SKILL_DIR/scripts/; layers 1-4: .aris/tools/, tools/, \$ARIS_REPO/tools/, \$ARIS_REPO/tools/ via ~/.aris/repo)." >&2
74
+ echo " /figure-spec cannot produce SVG output. Fix: rerun bash tools/install_aris.sh or smart_update.sh (refreshes ~/.aris/repo), or copy the helper from \$ARIS_REPO/skills/figure-spec/scripts/." >&2
75
+ exit 1
76
+ }
77
+ ```
78
+
79
+ Invoke:
80
+
81
+ ```bash
82
+ python3 "$FIGURE_RENDERER" render <spec.json> --output <out.svg>
83
+ python3 "$FIGURE_RENDERER" validate <spec.json>
84
+ python3 "$FIGURE_RENDERER" schema
85
+ ```
86
+
87
+ ## Workflow
88
+
89
+ ### Step 1: Understand the Diagram Goal
90
+
91
+ From `$ARGUMENTS` (description or path to `PAPER_PLAN.md` / `NARRATIVE_REPORT.md`), identify:
92
+ - **Purpose**: architecture, workflow, pipeline, audit cascade, topology?
93
+ - **Main entities**: what are the boxes?
94
+ - **Relationships**: how do they connect? (uses, produces, calls, verifies, chains)
95
+ - **Grouping**: do entities cluster into named regions?
96
+ - **Hierarchy vs network**: stacked layers, left-to-right flow, or central hub?
97
+
98
+ ### Step 2: Draft the FigureSpec JSON
99
+
100
+ Canvas sizing guide:
101
+ - Single-column figure: ~500×350 px
102
+ - Two-column (full-width): ~900×500 px
103
+ - Tall topology: ~700×700 px
104
+
105
+ Start from a template based on the diagram type:
106
+
107
+ **Architecture (stacked rows)**:
108
+ ```json
109
+ {
110
+ "canvas": {"width": 900, "height": 520},
111
+ "nodes": [
112
+ {"id": "layer1_label", "label": "Layer 1", "x": 450, "y": 60, ...},
113
+ {"id": "node_a", "label": "A", "x": 180, "y": 120, ...},
114
+ {"id": "node_b", "label": "B", "x": 350, "y": 120, ...}
115
+ ],
116
+ "edges": [...],
117
+ "groups": [
118
+ {"label": "Layer 1", "node_ids": ["node_a", "node_b"], "fill": "#F0F9FF", "stroke": "#BAE6FD"}
119
+ ]
120
+ }
121
+ ```
122
+
123
+ **Workflow (left-to-right chain)**:
124
+ ```json
125
+ {
126
+ "canvas": {"width": 900, "height": 300},
127
+ "nodes": [
128
+ {"id": "step1", "label": "Step 1", "x": 100, "y": 150, "shape": "rounded"},
129
+ {"id": "step2", "label": "Step 2", "x": 280, "y": 150, "shape": "rounded"}
130
+ ],
131
+ "edges": [
132
+ {"from": "step1", "to": "step2", "label": "produces"}
133
+ ]
134
+ }
135
+ ```
136
+
137
+ **Decision diamond**:
138
+ ```json
139
+ {"id": "check", "label": "Passes?", "shape": "diamond", "x": 450, "y": 200}
140
+ ```
141
+
142
+ ### Step 3: Render and Validate
143
+
144
+ ```bash
145
+ # Validate first ($FIGURE_RENDERER was resolved in "Tool Location" above)
146
+ python3 "$FIGURE_RENDERER" validate /tmp/spec.json
147
+
148
+ # Render to SVG
149
+ python3 "$FIGURE_RENDERER" render /tmp/spec.json --output figures/fig_arch.svg
150
+
151
+ # Convert to PDF for LaTeX inclusion
152
+ rsvg-convert -f pdf figures/fig_arch.svg -o figures/fig_arch.pdf
153
+ ```
154
+
155
+ If validation fails, inspect the error (missing field, duplicate ID, overlap warning, invalid hex color) and fix the JSON.
156
+
157
+ ### Step 4: Visual Review
158
+
159
+ Open the SVG/PDF and check:
160
+ - **No overlaps**: nodes don't collide with each other or group boundaries
161
+ - **Readability**: font sizes are consistent, labels aren't clipped
162
+ - **Edge clarity**: arrows hit nodes at clean angles, labels near edges are legible
163
+ - **Group alignment**: background rectangles frame their members cleanly
164
+ - **Color distinction**: categories are visually distinct in both color and grayscale
165
+
166
+ If issues found, edit the JSON spec (never the generated SVG) and re-render.
167
+
168
+ ### Step 5: Iterate with Codex Review (Optional, for High-Stakes Figures)
169
+
170
+ For paper architecture figures, invoke cross-model review:
171
+
172
+ ```
173
+ mcp__codex__codex:
174
+ model: gpt-5.6-sol
175
+ config: {"model_reasoning_effort": "xhigh"}
176
+ prompt: |
177
+ Review this SVG figure for a technical paper (architecture / workflow diagram).
178
+
179
+ Spec file: /path/to/spec.json
180
+ Rendered: /path/to/fig.svg
181
+
182
+ Evaluate:
183
+ 1. Clarity (C): can a reader understand the system from this figure alone?
184
+ 2. Readability (R): font sizes, label placement, visual hierarchy
185
+ 3. Semantic accuracy (S): do relationships match the described system?
186
+
187
+ Score each axis 1-10 and list specific issues to fix.
188
+ ```
189
+
190
+ Iterate until all three axes ≥ 7/10. The ARIS tech report figures went through 5 rounds of this loop to reach C:7/R:7/S:8.
191
+
192
+ ## Schema Quick Reference
193
+
194
+ Run `python3 "$FIGURE_RENDERER" schema` (resolve $FIGURE_RENDERER per "Tool Location" above) for the authoritative schema.
195
+
196
+ ### Nodes
197
+
198
+ | Field | Required | Default | Notes |
199
+ |-------|----------|---------|-------|
200
+ | `id` | ✓ | — | Unique |
201
+ | `label` | ✓ | — | `\n` for multi-line |
202
+ | `x`, `y` | ✓ | — | Center coordinates |
203
+ | `width`, `height` | | 120, 50 | |
204
+ | `shape` | | `rounded` | `rect` / `rounded` / `circle` / `ellipse` / `diamond` |
205
+ | `fill`, `stroke` | | auto from palette | `#RRGGBB` |
206
+ | `text_color` | | `#333333` | |
207
+ | `font_size` | | 14 | Override style default |
208
+
209
+ ### Edges
210
+
211
+ | Field | Default | Notes |
212
+ |-------|---------|-------|
213
+ | `from`, `to` | required | Same = self-loop |
214
+ | `label` | — | Short edge label |
215
+ | `style` | `solid` | `solid` / `dashed` / `dotted` |
216
+ | `color` | `#555555` | |
217
+ | `curve` | `false` | Curved path |
218
+
219
+ ### Groups
220
+
221
+ Rectangular background regions framing a set of nodes:
222
+ ```json
223
+ {"label": "Layer Name", "node_ids": ["a", "b", "c"], "fill": "#EFF6FF", "stroke": "#BFDBFE"}
224
+ ```
225
+
226
+ ## Design Patterns
227
+
228
+ ### Pattern 1: Layered Architecture
229
+ Stack rows of related nodes, each row is a group, add inter-layer arrows with semantic labels (`uses↓`, `produces↑`, `checks↓`).
230
+
231
+ ### Pattern 2: Hub-and-Spoke
232
+ Central node (e.g., Executor), peripheral nodes (skills, tools), solid arrows for primary relations, dashed for feedback.
233
+
234
+ ### Pattern 3: Pipeline with Feedback
235
+ Left-to-right main flow, feedback arrows curve below with `curve: true`.
236
+
237
+ ### Pattern 4: Audit Cascade
238
+ Three-stage horizontal cascade with inputs feeding in from top, outputs exiting right, each stage in its own group.
239
+
240
+ ## Anti-Patterns
241
+
242
+ - **Don't use groups as hierarchy**: groups frame peer nodes, not containment
243
+ - **Don't nest groups**: renderer draws them as background rectangles; nested groups look like Russian dolls
244
+ - **Don't cross-draw long diagonals**: if an arrow crosses 3+ rows, rethink the layout
245
+ - **Don't mix font sizes for same role**: keep one size per node category
246
+
247
+ ## Output Contract
248
+
249
+ - SVG file in `figures/` (vector, editable, hand-tweakable)
250
+ - Source FigureSpec JSON saved in `figures/specs/` for reproducibility
251
+ - PDF version via `rsvg-convert` for LaTeX inclusion
252
+
253
+ ## Integration with Other Skills
254
+
255
+ - **`/paper-writing`** (Workflow 3): when `illustration: figurespec` (default for architecture figures), this skill handles Phase 2b
256
+ - **`/paper-figure`**: handles data plots; they complement each other (data + architecture = complete figure set)
257
+ - **`/paper-illustration`**: fallback for figures that need natural/qualitative style (method illustrations with photos, qualitative result grids)
258
+ - **`/mermaid-diagram`**: lighter alternative for simple flowcharts
259
+
260
+ ## Review Tracing
261
+
262
+ After each `mcp__codex__codex` or `mcp__codex__codex-reply` reviewer call, save the trace following `shared-references/review-tracing.md` (Policy C — forensic; never silently skip). Use `save_trace.sh` (resolved per the chain in `shared-references/integration-contract.md` §2) or write files directly to `.aris/traces/<skill>/<date>_run<NN>/`. Respect the `--- trace:` parameter (default: `full`).