@research-copilot/plugin 1.1.17 → 1.1.19

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 (800) hide show
  1. package/README.md +18 -9
  2. package/dist/.claude-plugin/plugin.json +1 -1
  3. package/dist/.codex-plugin/plugin.toml +1 -1
  4. package/dist/.cursor-plugin/plugin.json +1 -1
  5. package/dist/.gemini-plugin/plugin.json +1 -1
  6. package/dist/.opencode-plugin/plugin.json +1 -1
  7. package/dist/.windsurf-plugin/plugin.json +1 -1
  8. package/dist/skills/ablation-planner/SKILL.md +126 -0
  9. package/dist/skills/alphaxiv/SKILL.md +186 -0
  10. package/dist/skills/analyze-results/SKILL.md +45 -0
  11. package/dist/skills/arxiv/SKILL.md +210 -0
  12. package/dist/skills/auto-paper-improvement-loop/SKILL.md +574 -0
  13. package/dist/skills/auto-review-loop/SKILL.md +370 -0
  14. package/dist/skills/auto-review-loop-llm/SKILL.md +247 -0
  15. package/dist/skills/auto-review-loop-minimax/SKILL.md +290 -0
  16. package/dist/skills/benchmark-paper-template/SKILL.md +142 -0
  17. package/dist/skills/benchmark-paper-template/references/benchmark-design.md +180 -0
  18. package/dist/skills/benchmark-paper-template/references/checklist.md +113 -0
  19. package/dist/skills/benchmark-paper-template/references/construction-pipeline.md +127 -0
  20. package/dist/skills/benchmark-paper-template/references/experiments.md +159 -0
  21. package/dist/skills/benchmark-paper-template/references/gap-analysis.md +86 -0
  22. package/dist/skills/benchmark-paper-template/references/instantiation-template.md +194 -0
  23. package/dist/skills/benchmark-paper-template/references/orchestrator-notes.md +96 -0
  24. package/dist/skills/benchmark-paper-template/references/paper-structure.md +209 -0
  25. package/dist/skills/citation-audit/SKILL.md +494 -0
  26. package/dist/skills/claims-drafting/SKILL.md +239 -0
  27. package/dist/skills/comm-lit-review/SKILL.md +299 -0
  28. package/dist/skills/comm-lit-review/references/domain-taxonomy.md +57 -0
  29. package/dist/skills/comm-lit-review/references/output-template.md +37 -0
  30. package/dist/skills/comm-lit-review/references/source-policy.md +99 -0
  31. package/dist/skills/comm-lit-review/references/venue-tiering.md +112 -0
  32. package/dist/skills/composer/SKILL.md +840 -0
  33. package/dist/skills/composer/references/section_guides.md +675 -0
  34. package/dist/skills/composer/references/writing_standards.md +629 -0
  35. package/dist/skills/composer/scripts/chapter_quality_check.py +470 -0
  36. package/dist/skills/composer/scripts/final_evaluation.py +550 -0
  37. package/dist/skills/deepxiv/SKILL.md +142 -0
  38. package/dist/skills/dse-loop/SKILL.md +277 -0
  39. package/dist/skills/embodiment-description/SKILL.md +129 -0
  40. package/dist/skills/exa-search/SKILL.md +192 -0
  41. package/dist/skills/experiment-audit/SKILL.md +262 -0
  42. package/dist/skills/experiment-bridge/SKILL.md +316 -0
  43. package/dist/skills/experiment-plan/SKILL.md +249 -0
  44. package/dist/skills/experiment-queue/SKILL.md +380 -0
  45. package/dist/skills/experiment-queue/scripts/build_manifest.py +142 -0
  46. package/dist/skills/experiment-queue/scripts/queue_manager.py +426 -0
  47. package/dist/skills/feishu-notify/SKILL.md +155 -0
  48. package/dist/skills/figure-description/SKILL.md +138 -0
  49. package/dist/skills/figure-designer/SKILL.md +207 -0
  50. package/dist/skills/figure-designer/references/design-rules.md +99 -0
  51. package/dist/skills/figure-designer/references/experimental-results.md +127 -0
  52. package/dist/skills/figure-designer/references/motivated-example.md +138 -0
  53. package/dist/skills/figure-designer/references/solution-overview.md +145 -0
  54. package/dist/skills/figure-designer/references/tools.md +124 -0
  55. package/dist/skills/figure-spec/SKILL.md +252 -0
  56. package/dist/skills/figure-spec/scripts/figure_renderer.py +799 -0
  57. package/dist/skills/formula-derivation/SKILL.md +280 -0
  58. package/dist/skills/gemini-search/SKILL.md +205 -0
  59. package/dist/skills/grant-proposal/SKILL.md +625 -0
  60. package/dist/skills/humanizer/AGENTS.md +25 -0
  61. package/dist/skills/humanizer/SKILL.md +621 -0
  62. package/dist/skills/idea-creator/SKILL.md +311 -0
  63. package/dist/skills/idea-discovery/SKILL.md +340 -0
  64. package/dist/skills/idea-discovery-robot/SKILL.md +362 -0
  65. package/dist/skills/idea-evaluator/SKILL.md +265 -0
  66. package/dist/skills/idea-evaluator/references/fatal-flaws.md +192 -0
  67. package/dist/skills/idea-evaluator/references/five-dimensions.md +251 -0
  68. package/dist/skills/idea-evaluator/references/lifecycle-capability-matching.md +177 -0
  69. package/dist/skills/idea-evaluator/references/paradigm-elephant.md +112 -0
  70. package/dist/skills/idea-evaluator/references/paradigm-examples.md +107 -0
  71. package/dist/skills/idea-evaluator/references/paradigm-first-principles.md +115 -0
  72. package/dist/skills/idea-evaluator/references/paradigm-hamming.md +137 -0
  73. package/dist/skills/idea-evaluator/references/paradigm-shift-probe.md +160 -0
  74. package/dist/skills/idea-evaluator/references/paradigm-technology-cycle.md +116 -0
  75. package/dist/skills/idea-evaluator/references/worked-examples.md +206 -0
  76. package/dist/skills/interview-cheatsheet/SKILL.md +245 -0
  77. package/dist/skills/intro-drafter/SKILL.md +250 -0
  78. package/dist/skills/intro-drafter/references/contribution-patterns.md +116 -0
  79. package/dist/skills/intro-drafter/references/flowchart.md +204 -0
  80. package/dist/skills/intro-drafter/references/paper-types.md +155 -0
  81. package/dist/skills/intro-drafter/references/running-example.md +133 -0
  82. package/dist/skills/intro-drafter/references/worked-examples.md +161 -0
  83. package/dist/skills/invention-structuring/SKILL.md +188 -0
  84. package/dist/skills/jurisdiction-format/SKILL.md +192 -0
  85. package/dist/skills/kill-argument/SKILL.md +384 -0
  86. package/dist/skills/llm-wiki/.mise.toml +2 -0
  87. package/dist/skills/llm-wiki/.nvmrc +1 -0
  88. package/dist/skills/llm-wiki/AGENTS.md +132 -0
  89. package/dist/skills/llm-wiki/CHANGELOG.md +459 -0
  90. package/dist/skills/llm-wiki/CLAUDE.md +109 -0
  91. package/dist/skills/llm-wiki/HERMES.md +44 -0
  92. package/dist/skills/llm-wiki/SKILL.md +1133 -0
  93. package/dist/skills/llm-wiki/assets/graph-demo.gif +0 -0
  94. package/dist/skills/llm-wiki/assets/graph-preview.png +0 -0
  95. package/dist/skills/llm-wiki/deps/LICENSE-d3.txt +13 -0
  96. package/dist/skills/llm-wiki/deps/LICENSE-marked.txt +44 -0
  97. package/dist/skills/llm-wiki/deps/LICENSE-purify.txt +568 -0
  98. package/{LICENSE → dist/skills/llm-wiki/deps/LICENSE-roughjs.txt} +1 -1
  99. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/SKILL.md +261 -0
  100. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/references/config/first-time-setup.md +106 -0
  101. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/cdp.ts +179 -0
  102. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/constants.ts +13 -0
  103. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/defuddle-converter.ts +58 -0
  104. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/html-to-markdown.ts +135 -0
  105. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/legacy-converter.ts +629 -0
  106. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/main.ts +314 -0
  107. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/markdown-conversion-shared.ts +305 -0
  108. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/media-localizer.ts +317 -0
  109. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/package.json +14 -0
  110. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/paths.ts +29 -0
  111. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/vendor/baoyu-chrome-cdp/package.json +9 -0
  112. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/vendor/baoyu-chrome-cdp/src/index.test.ts +307 -0
  113. package/dist/skills/llm-wiki/deps/baoyu-url-to-markdown/scripts/vendor/baoyu-chrome-cdp/src/index.ts +523 -0
  114. package/dist/skills/llm-wiki/deps/d3.min.js +2 -0
  115. package/dist/skills/llm-wiki/deps/marked.min.js +6 -0
  116. package/dist/skills/llm-wiki/deps/purify.min.js +3 -0
  117. package/dist/skills/llm-wiki/deps/rough.min.js +7 -0
  118. package/dist/skills/llm-wiki/deps/youtube-transcript/SKILL.md +47 -0
  119. package/dist/skills/llm-wiki/deps/youtube-transcript/scripts/get_transcript.py +72 -0
  120. package/dist/skills/llm-wiki/docs/design/oriental-atlas/DESIGN.md +183 -0
  121. package/dist/skills/llm-wiki/docs/design/oriental-atlas/design-brief.md +170 -0
  122. package/dist/skills/llm-wiki/docs/design/oriental-atlas/oriental-editorial-atlas.html +1908 -0
  123. package/dist/skills/llm-wiki/docs/design/oriental-atlas/reviews/result-review.md +68 -0
  124. package/dist/skills/llm-wiki/docs/plans/2026-06-15-omp-tool-status-events-phased-plan.md +655 -0
  125. package/dist/skills/llm-wiki/docs/plans/2026-06-15-omp-tool-status-events-progress.json +913 -0
  126. package/dist/skills/llm-wiki/docs/spark/2026-06-15-omp-tool-status-events-design.md +174 -0
  127. package/dist/skills/llm-wiki/install.ps1 +87 -0
  128. package/dist/skills/llm-wiki/install.sh +722 -0
  129. package/dist/skills/llm-wiki/package-lock.json +10309 -0
  130. package/dist/skills/llm-wiki/package.json +24 -0
  131. package/dist/skills/llm-wiki/packages/graph-engine/package.json +33 -0
  132. package/dist/skills/llm-wiki/packages/graph-engine/src/anim/.gitkeep +1 -0
  133. package/dist/skills/llm-wiki/packages/graph-engine/src/anim/index.ts +179 -0
  134. package/dist/skills/llm-wiki/packages/graph-engine/src/diff.ts +121 -0
  135. package/dist/skills/llm-wiki/packages/graph-engine/src/graph-node.ts +37 -0
  136. package/dist/skills/llm-wiki/packages/graph-engine/src/index.ts +140 -0
  137. package/dist/skills/llm-wiki/packages/graph-engine/src/model/atlas.ts +18 -0
  138. package/dist/skills/llm-wiki/packages/graph-engine/src/model/index.ts +6 -0
  139. package/dist/skills/llm-wiki/packages/graph-engine/src/model/labels.ts +11 -0
  140. package/dist/skills/llm-wiki/packages/graph-engine/src/model/learning.ts +8 -0
  141. package/dist/skills/llm-wiki/packages/graph-engine/src/model/legacy-helpers.ts +1373 -0
  142. package/dist/skills/llm-wiki/packages/graph-engine/src/model/queue.ts +7 -0
  143. package/dist/skills/llm-wiki/packages/graph-engine/src/model/storage.ts +4 -0
  144. package/dist/skills/llm-wiki/packages/graph-engine/src/model/visibility.ts +9 -0
  145. package/dist/skills/llm-wiki/packages/graph-engine/src/render/.gitkeep +1 -0
  146. package/dist/skills/llm-wiki/packages/graph-engine/src/render/index.ts +59 -0
  147. package/dist/skills/llm-wiki/packages/graph-engine/src/render/legend.ts +25 -0
  148. package/dist/skills/llm-wiki/packages/graph-engine/src/render/model.ts +593 -0
  149. package/dist/skills/llm-wiki/packages/graph-engine/src/render/preview.ts +65 -0
  150. package/dist/skills/llm-wiki/packages/graph-engine/src/render/search.ts +48 -0
  151. package/dist/skills/llm-wiki/packages/graph-engine/src/render/static-renderer.ts +2783 -0
  152. package/dist/skills/llm-wiki/packages/graph-engine/src/render/toolbar.ts +40 -0
  153. package/dist/skills/llm-wiki/packages/graph-engine/src/render/viewport.ts +272 -0
  154. package/dist/skills/llm-wiki/packages/graph-engine/src/select/.gitkeep +1 -0
  155. package/dist/skills/llm-wiki/packages/graph-engine/src/select/index.ts +189 -0
  156. package/dist/skills/llm-wiki/packages/graph-engine/src/sim/index.ts +298 -0
  157. package/dist/skills/llm-wiki/packages/graph-engine/src/sim/pins.ts +96 -0
  158. package/dist/skills/llm-wiki/packages/graph-engine/src/themes/.gitkeep +1 -0
  159. package/dist/skills/llm-wiki/packages/graph-engine/src/themes/index.ts +8 -0
  160. package/dist/skills/llm-wiki/packages/graph-engine/src/themes/tokens.ts +107 -0
  161. package/dist/skills/llm-wiki/packages/graph-engine/src/types.ts +313 -0
  162. package/dist/skills/llm-wiki/packages/graph-engine/test/anim.test.ts +100 -0
  163. package/dist/skills/llm-wiki/packages/graph-engine/test/diff.test.ts +133 -0
  164. package/dist/skills/llm-wiki/packages/graph-engine/test/helpers.test.ts +275 -0
  165. package/dist/skills/llm-wiki/packages/graph-engine/test/learning.test.ts +259 -0
  166. package/dist/skills/llm-wiki/packages/graph-engine/test/preview.test.ts +56 -0
  167. package/dist/skills/llm-wiki/packages/graph-engine/test/queue.test.ts +114 -0
  168. package/dist/skills/llm-wiki/packages/graph-engine/test/render-model.test.ts +322 -0
  169. package/dist/skills/llm-wiki/packages/graph-engine/test/runtime-state.test.ts +281 -0
  170. package/dist/skills/llm-wiki/packages/graph-engine/test/search-and-legend.test.ts +111 -0
  171. package/dist/skills/llm-wiki/packages/graph-engine/test/select.test.ts +168 -0
  172. package/dist/skills/llm-wiki/packages/graph-engine/test/sim.test.ts +123 -0
  173. package/dist/skills/llm-wiki/packages/graph-engine/test/themes.test.ts +62 -0
  174. package/dist/skills/llm-wiki/packages/graph-engine/test/toolbar.test.ts +64 -0
  175. package/dist/skills/llm-wiki/packages/graph-engine/test/viewport.test.ts +167 -0
  176. package/dist/skills/llm-wiki/packages/graph-engine/tsconfig.json +17 -0
  177. package/dist/skills/llm-wiki/packages/graph-engine/vite.config.ts +15 -0
  178. package/dist/skills/llm-wiki/platforms/claude/CLAUDE.md +37 -0
  179. package/dist/skills/llm-wiki/platforms/claude/companions/llm-wiki-upgrade/SKILL.md +95 -0
  180. package/dist/skills/llm-wiki/platforms/codex/AGENTS.md +23 -0
  181. package/dist/skills/llm-wiki/scripts/adapter-state.sh +424 -0
  182. package/dist/skills/llm-wiki/scripts/build-graph-data.sh +395 -0
  183. package/dist/skills/llm-wiki/scripts/build-graph-html.sh +453 -0
  184. package/dist/skills/llm-wiki/scripts/cache.sh +352 -0
  185. package/dist/skills/llm-wiki/scripts/create-source-page.sh +100 -0
  186. package/dist/skills/llm-wiki/scripts/delete-helper.sh +68 -0
  187. package/dist/skills/llm-wiki/scripts/graph-analysis.js +732 -0
  188. package/dist/skills/llm-wiki/scripts/hook-session-start.sh +46 -0
  189. package/dist/skills/llm-wiki/scripts/init-wiki.sh +95 -0
  190. package/dist/skills/llm-wiki/scripts/lib/source-signal-eligibility.js +158 -0
  191. package/dist/skills/llm-wiki/scripts/lint-fix.sh +114 -0
  192. package/dist/skills/llm-wiki/scripts/lint-runner.sh +217 -0
  193. package/dist/skills/llm-wiki/scripts/runtime-context.sh +77 -0
  194. package/dist/skills/llm-wiki/scripts/shared-config.sh +83 -0
  195. package/dist/skills/llm-wiki/scripts/source-record-contract.tsv +10 -0
  196. package/dist/skills/llm-wiki/scripts/source-registry.sh +349 -0
  197. package/dist/skills/llm-wiki/scripts/source-registry.tsv +10 -0
  198. package/dist/skills/llm-wiki/scripts/source-signal-coverage.js +83 -0
  199. package/dist/skills/llm-wiki/scripts/validate-step1.sh +144 -0
  200. package/dist/skills/llm-wiki/scripts/wiki-compat.sh +267 -0
  201. package/dist/skills/llm-wiki/setup.sh +8 -0
  202. package/dist/skills/llm-wiki/templates/entity-template.md +30 -0
  203. package/dist/skills/llm-wiki/templates/graph-styles/wash/footer.html +27 -0
  204. package/dist/skills/llm-wiki/templates/graph-styles/wash/graph-wash-helpers.js +1326 -0
  205. package/dist/skills/llm-wiki/templates/graph-styles/wash/graph-wash.js +1009 -0
  206. package/dist/skills/llm-wiki/templates/graph-styles/wash/header.html +2002 -0
  207. package/dist/skills/llm-wiki/templates/index-en-template.md +51 -0
  208. package/dist/skills/llm-wiki/templates/index-template.md +51 -0
  209. package/dist/skills/llm-wiki/templates/log-en-template.md +11 -0
  210. package/dist/skills/llm-wiki/templates/log-template.md +11 -0
  211. package/dist/skills/llm-wiki/templates/overview-en-template.md +41 -0
  212. package/dist/skills/llm-wiki/templates/overview-template.md +41 -0
  213. package/dist/skills/llm-wiki/templates/purpose-en-template.md +16 -0
  214. package/dist/skills/llm-wiki/templates/purpose-template.md +16 -0
  215. package/dist/skills/llm-wiki/templates/query-template.md +19 -0
  216. package/dist/skills/llm-wiki/templates/schema-template.md +185 -0
  217. package/dist/skills/llm-wiki/templates/source-template.md +51 -0
  218. package/dist/skills/llm-wiki/templates/synthesis-template.md +25 -0
  219. package/dist/skills/llm-wiki/templates/topic-template.md +35 -0
  220. package/dist/skills/llm-wiki/tests/adapter-state.sh +338 -0
  221. package/dist/skills/llm-wiki/tests/browser/graph-density-preview.mjs +53 -0
  222. package/dist/skills/llm-wiki/tests/browser/graph-html-insights.mjs +41 -0
  223. package/dist/skills/llm-wiki/tests/browser/graph-node-slim.mjs +71 -0
  224. package/dist/skills/llm-wiki/tests/browser/graph-stage-4-5.mjs +717 -0
  225. package/dist/skills/llm-wiki/tests/expected/graph-data-empty.json +60 -0
  226. package/dist/skills/llm-wiki/tests/expected/graph-data-sample.json +396 -0
  227. package/dist/skills/llm-wiki/tests/expected/graph-interactive-basic.html +1736 -0
  228. package/dist/skills/llm-wiki/tests/expected/lint-output.txt +44 -0
  229. package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/index.md +1 -0
  230. package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Alpha.md +10 -0
  231. package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Beta.md +7 -0
  232. package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Delta.md +8 -0
  233. package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/entities/Gamma.md +8 -0
  234. package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/queries/20260422-abc.md +10 -0
  235. package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/synthesis/Crystal.md +8 -0
  236. package/dist/skills/llm-wiki/tests/fixtures/coverage-sample-wiki/wiki/topics/Overview.md +9 -0
  237. package/dist/skills/llm-wiki/tests/fixtures/graph-data-empty-wiki/wiki/entities/.gitkeep +0 -0
  238. package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/purpose.md +3 -0
  239. package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Attention.md +7 -0
  240. package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Decoder.md +7 -0
  241. package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Encoder.md +7 -0
  242. package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/GPT.md +7 -0
  243. package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/entities/Transformer.md +13 -0
  244. package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/sources/paper.md +9 -0
  245. package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/topics/arch.md +12 -0
  246. package/dist/skills/llm-wiki/tests/fixtures/graph-data-sample-wiki/wiki/topics/finetune.md +9 -0
  247. package/dist/skills/llm-wiki/tests/fixtures/graph-interactive-basic/wiki/graph-data.json +40 -0
  248. package/dist/skills/llm-wiki/tests/fixtures/graph-interactive-dense/wiki/graph-data.json +3965 -0
  249. package/dist/skills/llm-wiki/tests/fixtures/graph-interactive-multicomm/wiki/graph-data.json +212 -0
  250. package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/index.md +14 -0
  251. package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/C++.md +6 -0
  252. package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/Lonely.md +4 -0
  253. package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/Other.md +8 -0
  254. package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/entities/Real.md +7 -0
  255. package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/sources/2026-01-01-test-source.md +15 -0
  256. package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/sources/2026-02-01-inline-img.md +12 -0
  257. package/dist/skills/llm-wiki/tests/fixtures/lint-sample-wiki/wiki/topics/AIbasic.md +3 -0
  258. package/dist/skills/llm-wiki/tests/graph-analysis-helper.regression-1.sh +237 -0
  259. package/dist/skills/llm-wiki/tests/graph-browser-stage-4-5.regression-1.sh +157 -0
  260. package/dist/skills/llm-wiki/tests/graph-build-failures.regression-1.sh +91 -0
  261. package/dist/skills/llm-wiki/tests/graph-data-confidence-merge.regression-1.sh +309 -0
  262. package/dist/skills/llm-wiki/tests/graph-data-source-paths.regression-1.sh +49 -0
  263. package/dist/skills/llm-wiki/tests/graph-html-a11y.regression-1.sh +47 -0
  264. package/dist/skills/llm-wiki/tests/graph-html-brand-link.regression-1.sh +47 -0
  265. package/dist/skills/llm-wiki/tests/graph-html-density.regression-1.sh +228 -0
  266. package/dist/skills/llm-wiki/tests/graph-html-drawer-neighbors.regression-1.sh +47 -0
  267. package/dist/skills/llm-wiki/tests/graph-html-insights.regression-1.sh +80 -0
  268. package/dist/skills/llm-wiki/tests/graph-html-long-label.regression-1.sh +92 -0
  269. package/dist/skills/llm-wiki/tests/graph-html-minimap.regression-1.sh +51 -0
  270. package/dist/skills/llm-wiki/tests/graph-html-mobile.regression-1.sh +48 -0
  271. package/dist/skills/llm-wiki/tests/graph-html-oriental-atlas-contract.regression-1.sh +94 -0
  272. package/dist/skills/llm-wiki/tests/graph-html-oriental-design-contract.regression-1.sh +82 -0
  273. package/dist/skills/llm-wiki/tests/graph-html-search.regression-1.sh +52 -0
  274. package/dist/skills/llm-wiki/tests/graph-html-styles.regression-1.sh +66 -0
  275. package/dist/skills/llm-wiki/tests/graph-html-toolbar.regression-1.sh +62 -0
  276. package/dist/skills/llm-wiki/tests/js/graph-wash-bootstrap.test.js +110 -0
  277. package/dist/skills/llm-wiki/tests/js/graph-wash-helpers.test.js +296 -0
  278. package/dist/skills/llm-wiki/tests/js/graph-wash-learning.test.js +260 -0
  279. package/dist/skills/llm-wiki/tests/js/graph-wash-queue.test.js +115 -0
  280. package/dist/skills/llm-wiki/tests/js/graph-wash-runtime-state.test.js +282 -0
  281. package/dist/skills/llm-wiki/tests/js/source-signal-coverage.test.js +48 -0
  282. package/dist/skills/llm-wiki/tests/js/source-signal-eligibility.test.js +202 -0
  283. package/dist/skills/llm-wiki/tests/lib/graph-html-engine-helpers.sh +110 -0
  284. package/dist/skills/llm-wiki/tests/lint-output.regression-1.sh +32 -0
  285. package/dist/skills/llm-wiki/tests/regression.sh +1754 -0
  286. package/dist/skills/llm-wiki/workbench/.claude/skills/.gitkeep +0 -0
  287. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/SKILL.md +590 -0
  288. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/__init__.py +1 -0
  289. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/accept_changes.py +135 -0
  290. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/comment.py +318 -0
  291. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/helpers/__init__.py +0 -0
  292. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/helpers/merge_runs.py +199 -0
  293. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  294. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/pack.py +159 -0
  295. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  296. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  297. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  298. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  299. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  300. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  301. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  302. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  303. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  304. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  305. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  306. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  307. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  308. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  309. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  310. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  311. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  312. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  313. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  314. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  315. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  316. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  317. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  318. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  319. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  320. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  321. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  322. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  323. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  324. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  325. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  326. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/mce/mc.xsd +75 -0
  327. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  328. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  329. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  330. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  331. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  332. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  333. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  334. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/soffice.py +183 -0
  335. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/unpack.py +132 -0
  336. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validate.py +111 -0
  337. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/__init__.py +15 -0
  338. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/base.py +847 -0
  339. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/docx.py +446 -0
  340. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/pptx.py +275 -0
  341. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/office/validators/redlining.py +247 -0
  342. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/comments.xml +3 -0
  343. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  344. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  345. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/commentsIds.xml +3 -0
  346. package/dist/skills/llm-wiki/workbench/.claude/skills/docx/scripts/templates/people.xml +3 -0
  347. package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/SKILL.md +314 -0
  348. package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/forms.md +294 -0
  349. package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/reference.md +612 -0
  350. package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/check_bounding_boxes.py +65 -0
  351. package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/check_fillable_fields.py +11 -0
  352. package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/convert_pdf_to_images.py +33 -0
  353. package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/create_validation_image.py +37 -0
  354. package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/extract_form_field_info.py +122 -0
  355. package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/extract_form_structure.py +115 -0
  356. package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/fill_fillable_fields.py +98 -0
  357. package/dist/skills/llm-wiki/workbench/.claude/skills/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  358. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/SKILL.md +232 -0
  359. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/editing.md +205 -0
  360. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/pptxgenjs.md +420 -0
  361. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/__init__.py +0 -0
  362. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/add_slide.py +195 -0
  363. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/clean.py +286 -0
  364. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/helpers/__init__.py +0 -0
  365. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/helpers/merge_runs.py +199 -0
  366. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  367. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/pack.py +159 -0
  368. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  369. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  370. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  371. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  372. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  373. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  374. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  375. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  376. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  377. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  378. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  379. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  380. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  381. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  382. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  383. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  384. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  385. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  386. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  387. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  388. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  389. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  390. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  391. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  392. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  393. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  394. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  395. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  396. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  397. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  398. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  399. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
  400. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  401. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  402. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  403. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  404. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  405. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  406. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  407. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/soffice.py +183 -0
  408. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/unpack.py +132 -0
  409. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validate.py +111 -0
  410. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/__init__.py +15 -0
  411. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/base.py +847 -0
  412. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/docx.py +446 -0
  413. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/pptx.py +275 -0
  414. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/office/validators/redlining.py +247 -0
  415. package/dist/skills/llm-wiki/workbench/.claude/skills/pptx/scripts/thumbnail.py +289 -0
  416. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/SKILL.md +292 -0
  417. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  418. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  419. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  420. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/pack.py +159 -0
  421. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  422. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  423. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  424. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  425. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  426. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  427. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  428. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  429. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  430. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  431. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  432. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  433. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  434. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  435. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  436. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  437. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  438. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  439. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  440. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  441. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  442. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  443. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  444. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  445. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  446. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  447. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  448. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  449. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  450. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  451. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  452. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  453. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  454. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  455. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  456. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  457. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  458. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  459. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  460. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/soffice.py +183 -0
  461. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/unpack.py +132 -0
  462. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validate.py +111 -0
  463. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/__init__.py +15 -0
  464. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/base.py +847 -0
  465. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/docx.py +446 -0
  466. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/pptx.py +275 -0
  467. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/office/validators/redlining.py +247 -0
  468. package/dist/skills/llm-wiki/workbench/.claude/skills/xlsx/scripts/recalc.py +184 -0
  469. package/dist/skills/llm-wiki/workbench/AGENTS.md +110 -0
  470. package/dist/skills/llm-wiki/workbench/CLAUDE.md +54 -0
  471. package/dist/skills/llm-wiki/workbench/PRODUCT.md +1268 -0
  472. package/dist/skills/llm-wiki/workbench/docs/current-kb-retrieval-design.md +587 -0
  473. package/dist/skills/llm-wiki/workbench/docs/graph-evolution-1-design.md +210 -0
  474. package/dist/skills/llm-wiki/workbench/docs/stage-2-design.md +1139 -0
  475. package/dist/skills/llm-wiki/workbench/docs/stage-3-design.md +1269 -0
  476. package/dist/skills/llm-wiki/workbench/docs/stage-3.5-design.md +1164 -0
  477. package/dist/skills/llm-wiki/workbench/docs/stage-4-design.md +504 -0
  478. package/dist/skills/llm-wiki/workbench/docs/stage-4.5-design.md +195 -0
  479. package/dist/skills/llm-wiki/workbench/docs/superpowers/specs/2026-05-28-resizable-preview-layout-design.md +165 -0
  480. package/dist/skills/llm-wiki/workbench/docs/superpowers/specs/2026-05-28-settings-panel-scroll-fix.md +50 -0
  481. package/dist/skills/llm-wiki/workbench/server/package.json +29 -0
  482. package/dist/skills/llm-wiki/workbench/server/src/agent.ts +457 -0
  483. package/dist/skills/llm-wiki/workbench/server/src/artifacts.ts +248 -0
  484. package/dist/skills/llm-wiki/workbench/server/src/auth.ts +164 -0
  485. package/dist/skills/llm-wiki/workbench/server/src/config.ts +130 -0
  486. package/dist/skills/llm-wiki/workbench/server/src/conversations.test.ts +121 -0
  487. package/dist/skills/llm-wiki/workbench/server/src/conversations.ts +255 -0
  488. package/dist/skills/llm-wiki/workbench/server/src/digest/batch.ts +189 -0
  489. package/dist/skills/llm-wiki/workbench/server/src/digest/concurrency.test.ts +36 -0
  490. package/dist/skills/llm-wiki/workbench/server/src/digest/concurrency.ts +31 -0
  491. package/dist/skills/llm-wiki/workbench/server/src/digest/subagent.ts +91 -0
  492. package/dist/skills/llm-wiki/workbench/server/src/extensions/artifacts.ts +81 -0
  493. package/dist/skills/llm-wiki/workbench/server/src/extensions/knowledge-base.ts +263 -0
  494. package/dist/skills/llm-wiki/workbench/server/src/extensions/new-wiki.ts +42 -0
  495. package/dist/skills/llm-wiki/workbench/server/src/extensions/synthesis.ts +172 -0
  496. package/dist/skills/llm-wiki/workbench/server/src/graph-watcher.test.ts +196 -0
  497. package/dist/skills/llm-wiki/workbench/server/src/graph.test.ts +84 -0
  498. package/dist/skills/llm-wiki/workbench/server/src/graph.ts +379 -0
  499. package/dist/skills/llm-wiki/workbench/server/src/index.ts +1148 -0
  500. package/dist/skills/llm-wiki/workbench/server/src/knowledge-bases.test.ts +30 -0
  501. package/dist/skills/llm-wiki/workbench/server/src/knowledge-bases.ts +321 -0
  502. package/dist/skills/llm-wiki/workbench/server/src/pages.test.ts +16 -0
  503. package/dist/skills/llm-wiki/workbench/server/src/pages.ts +158 -0
  504. package/dist/skills/llm-wiki/workbench/server/src/retrieval.test.ts +151 -0
  505. package/dist/skills/llm-wiki/workbench/server/src/retrieval.ts +427 -0
  506. package/dist/skills/llm-wiki/workbench/server/src/tool-status-events.test.ts +363 -0
  507. package/dist/skills/llm-wiki/workbench/server/src/tool-status-events.ts +616 -0
  508. package/dist/skills/llm-wiki/workbench/server/src/wiki-init.test.ts +19 -0
  509. package/dist/skills/llm-wiki/workbench/server/src/wiki-init.ts +188 -0
  510. package/dist/skills/llm-wiki/workbench/server/tsconfig.json +10 -0
  511. package/dist/skills/llm-wiki/workbench/tsconfig.json +20 -0
  512. package/dist/skills/llm-wiki/workbench/web/components.json +21 -0
  513. package/dist/skills/llm-wiki/workbench/web/eslint.config.js +22 -0
  514. package/dist/skills/llm-wiki/workbench/web/index.html +13 -0
  515. package/dist/skills/llm-wiki/workbench/web/package.json +48 -0
  516. package/dist/skills/llm-wiki/workbench/web/src/App.tsx +749 -0
  517. package/dist/skills/llm-wiki/workbench/web/src/components/AddExternalDialog.tsx +373 -0
  518. package/dist/skills/llm-wiki/workbench/web/src/components/ArtifactView.tsx +15 -0
  519. package/dist/skills/llm-wiki/workbench/web/src/components/BatchDigestPanel.tsx +106 -0
  520. package/dist/skills/llm-wiki/workbench/web/src/components/ChatPanel.tsx +821 -0
  521. package/dist/skills/llm-wiki/workbench/web/src/components/CommandMenu.tsx +65 -0
  522. package/dist/skills/llm-wiki/workbench/web/src/components/ExportButtons.tsx +54 -0
  523. package/dist/skills/llm-wiki/workbench/web/src/components/GraphPanel.tsx +516 -0
  524. package/dist/skills/llm-wiki/workbench/web/src/components/GraphReader.tsx +48 -0
  525. package/dist/skills/llm-wiki/workbench/web/src/components/GraphSelection.tsx +100 -0
  526. package/dist/skills/llm-wiki/workbench/web/src/components/MarkdownView.tsx +56 -0
  527. package/dist/skills/llm-wiki/workbench/web/src/components/NewWikiDialog.tsx +101 -0
  528. package/dist/skills/llm-wiki/workbench/web/src/components/RefMenu.tsx +40 -0
  529. package/dist/skills/llm-wiki/workbench/web/src/components/RightDrawer.tsx +227 -0
  530. package/dist/skills/llm-wiki/workbench/web/src/components/SettingsPanel.tsx +331 -0
  531. package/dist/skills/llm-wiki/workbench/web/src/components/Sidebar.tsx +436 -0
  532. package/dist/skills/llm-wiki/workbench/web/src/components/ToolHistorySummary.tsx +123 -0
  533. package/dist/skills/llm-wiki/workbench/web/src/components/ToolStatusRunway.tsx +90 -0
  534. package/dist/skills/llm-wiki/workbench/web/src/components/renderers/DownloadOnlyRenderer.tsx +88 -0
  535. package/dist/skills/llm-wiki/workbench/web/src/components/renderers/HtmlRenderer.tsx +92 -0
  536. package/dist/skills/llm-wiki/workbench/web/src/components/ui/button.tsx +52 -0
  537. package/dist/skills/llm-wiki/workbench/web/src/components/ui/command.tsx +50 -0
  538. package/dist/skills/llm-wiki/workbench/web/src/components/ui/dialog.tsx +156 -0
  539. package/dist/skills/llm-wiki/workbench/web/src/components/ui/input.tsx +21 -0
  540. package/dist/skills/llm-wiki/workbench/web/src/components/ui/tooltip.tsx +57 -0
  541. package/dist/skills/llm-wiki/workbench/web/src/index.css +1737 -0
  542. package/dist/skills/llm-wiki/workbench/web/src/lib/api.ts +648 -0
  543. package/dist/skills/llm-wiki/workbench/web/src/lib/drawer-state.ts +79 -0
  544. package/dist/skills/llm-wiki/workbench/web/src/lib/graph-reader.ts +25 -0
  545. package/dist/skills/llm-wiki/workbench/web/src/lib/graph-selection-drawer.ts +35 -0
  546. package/dist/skills/llm-wiki/workbench/web/src/lib/graph-selection.ts +96 -0
  547. package/dist/skills/llm-wiki/workbench/web/src/lib/legacy-tool-status.ts +113 -0
  548. package/dist/skills/llm-wiki/workbench/web/src/lib/sse.ts +72 -0
  549. package/dist/skills/llm-wiki/workbench/web/src/lib/tool-status-format.ts +170 -0
  550. package/dist/skills/llm-wiki/workbench/web/src/lib/tool-status-model.ts +392 -0
  551. package/dist/skills/llm-wiki/workbench/web/src/lib/utils.ts +10 -0
  552. package/dist/skills/llm-wiki/workbench/web/src/lib/wiki-links.ts +32 -0
  553. package/dist/skills/llm-wiki/workbench/web/src/main.tsx +10 -0
  554. package/dist/skills/llm-wiki/workbench/web/test/api.test.ts +61 -0
  555. package/dist/skills/llm-wiki/workbench/web/test/chat-panel-tool-status.test.tsx +26 -0
  556. package/dist/skills/llm-wiki/workbench/web/test/graph-drawer-state.test.ts +78 -0
  557. package/dist/skills/llm-wiki/workbench/web/test/graph-reader-request.test.ts +32 -0
  558. package/dist/skills/llm-wiki/workbench/web/test/graph-reader.test.ts +62 -0
  559. package/dist/skills/llm-wiki/workbench/web/test/graph-selection-drawer.test.ts +56 -0
  560. package/dist/skills/llm-wiki/workbench/web/test/graph-selection.test.ts +83 -0
  561. package/dist/skills/llm-wiki/workbench/web/test/tool-history-summary.test.tsx +124 -0
  562. package/dist/skills/llm-wiki/workbench/web/test/tool-status-format.test.ts +107 -0
  563. package/dist/skills/llm-wiki/workbench/web/test/tool-status-model.test.ts +324 -0
  564. package/dist/skills/llm-wiki/workbench/web/test/tool-status-runway.test.ts +134 -0
  565. package/dist/skills/llm-wiki/workbench/web/test/wiki-links.test.ts +23 -0
  566. package/dist/skills/llm-wiki/workbench/web/tsconfig.app.json +30 -0
  567. package/dist/skills/llm-wiki/workbench/web/tsconfig.json +7 -0
  568. package/dist/skills/llm-wiki/workbench/web/tsconfig.node.json +24 -0
  569. package/dist/skills/llm-wiki/workbench/web/vite.config.ts +26 -0
  570. package/dist/skills/mean-reviewer/SECURITY.md +23 -0
  571. package/dist/skills/mean-reviewer/SKILL.md +203 -0
  572. package/dist/skills/mean-reviewer/examples/13446_1000_Layer_Networks_for_.pdf +0 -0
  573. package/dist/skills/mean-reviewer/examples/13446_mean_reviewer.md +116 -0
  574. package/dist/skills/mean-reviewer/examples/13446_mean_reviewer_author_rebuttal_simulated.md +282 -0
  575. package/dist/skills/mean-reviewer/examples/13446_mean_reviewer_reply.md +91 -0
  576. package/dist/skills/mean-reviewer/examples/13446_official_review.json +973 -0
  577. package/dist/skills/mean-reviewer/examples/ChatGPT_AC_Roleplay.jpeg +0 -0
  578. package/dist/skills/medical-imaging-review/SKILL.md +295 -0
  579. package/dist/skills/medical-imaging-review/references/CITATION_INTEGRITY.md +233 -0
  580. package/dist/skills/medical-imaging-review/references/DOMAINS.md +302 -0
  581. package/dist/skills/medical-imaging-review/references/HALLUCINATION_PATTERNS.md +211 -0
  582. package/dist/skills/medical-imaging-review/references/MCP_SETUP.md +216 -0
  583. package/dist/skills/medical-imaging-review/references/PARADIGM.md +221 -0
  584. package/dist/skills/medical-imaging-review/references/QUALITY_CHECKLIST.md +169 -0
  585. package/dist/skills/medical-imaging-review/references/TEMPLATES.md +291 -0
  586. package/dist/skills/medical-imaging-review/references/WORKFLOW.md +289 -0
  587. package/dist/skills/mermaid-diagram/SKILL.md +379 -0
  588. package/dist/skills/meta-apply/SKILL.md +137 -0
  589. package/dist/skills/meta-optimize/SKILL.md +253 -0
  590. package/dist/skills/monitor-experiment/SKILL.md +98 -0
  591. package/dist/skills/novelty-check/SKILL.md +89 -0
  592. package/dist/skills/openalex/SKILL.md +228 -0
  593. package/dist/skills/overleaf-sync/SKILL.md +220 -0
  594. package/dist/skills/paper-claim-audit/SKILL.md +340 -0
  595. package/dist/skills/paper-compile/SKILL.md +253 -0
  596. package/dist/skills/paper-figure/SKILL.md +279 -0
  597. package/dist/skills/paper-illustration/SKILL.md +690 -0
  598. package/dist/skills/paper-illustration-image2/SKILL.md +383 -0
  599. package/dist/skills/paper-illustration-image2/scripts/paper_illustration_image2.py +255 -0
  600. package/dist/skills/paper-plan/SKILL.md +278 -0
  601. package/dist/skills/paper-poster/SKILL.md +19 -0
  602. package/dist/skills/paper-poster-html/DESIGN_FINAL.md +176 -0
  603. package/dist/skills/paper-poster-html/IMPLEMENTATION_CONVENTIONS.md +161 -0
  604. package/dist/skills/paper-poster-html/LICENSES/posterly-MIT.txt +21 -0
  605. package/dist/skills/paper-poster-html/NOTICE.md +57 -0
  606. package/dist/skills/paper-poster-html/SKILL.md +357 -0
  607. package/dist/skills/paper-poster-html/scripts/_posterly/__init__.py +0 -0
  608. package/dist/skills/paper-poster-html/scripts/_posterly/canvas.py +200 -0
  609. package/dist/skills/paper-poster-html/scripts/_posterly/measure.py +588 -0
  610. package/dist/skills/paper-poster-html/scripts/_posterly/polish.py +498 -0
  611. package/dist/skills/paper-poster-html/scripts/_posterly/preflight.py +489 -0
  612. package/dist/skills/paper-poster-html/scripts/_posterly/render.py +215 -0
  613. package/dist/skills/paper-poster-html/scripts/_posterly/textutil.py +16 -0
  614. package/dist/skills/paper-poster-html/scripts/_posterly/verify_final.py +171 -0
  615. package/dist/skills/paper-poster-html/scripts/asset_check.py +897 -0
  616. package/dist/skills/paper-poster-html/scripts/extract_pdf_figures.py +666 -0
  617. package/dist/skills/paper-poster-html/scripts/poster_check.py +251 -0
  618. package/dist/skills/paper-poster-html/scripts/preprocess_figures.py +238 -0
  619. package/dist/skills/paper-poster-html/scripts/render_preview.py +217 -0
  620. package/dist/skills/paper-poster-html/scripts/run_gates.py +556 -0
  621. package/dist/skills/paper-poster-html/scripts/style_check.py +1324 -0
  622. package/dist/skills/paper-poster-html/templates/COMPONENTS.md +462 -0
  623. package/dist/skills/paper-poster-html/templates/landscape_4col.html +1032 -0
  624. package/dist/skills/paper-poster-html/templates/landscape_hero.html +1046 -0
  625. package/dist/skills/paper-poster-html/templates/portrait_2col.html +947 -0
  626. package/dist/skills/paper-poster-html/templates/tokens/acl.json +9 -0
  627. package/dist/skills/paper-poster-html/templates/tokens/cvpr.json +9 -0
  628. package/dist/skills/paper-poster-html/templates/tokens/generic.json +9 -0
  629. package/dist/skills/paper-poster-html/templates/tokens/iclr.json +9 -0
  630. package/dist/skills/paper-poster-html/templates/tokens/icml.json +9 -0
  631. package/dist/skills/paper-poster-html/templates/tokens/neurips.json +9 -0
  632. package/dist/skills/paper-slide-deck/SKILL.md +464 -0
  633. package/dist/skills/paper-slide-deck/references/analysis-framework.md +392 -0
  634. package/dist/skills/paper-slide-deck/references/base-prompt.md +70 -0
  635. package/dist/skills/paper-slide-deck/references/content-rules.md +95 -0
  636. package/dist/skills/paper-slide-deck/references/figure-container-template.md +177 -0
  637. package/dist/skills/paper-slide-deck/references/modification-guide.md +85 -0
  638. package/dist/skills/paper-slide-deck/references/outline-template.md +437 -0
  639. package/dist/skills/paper-slide-deck/references/styles/academic-paper.md +109 -0
  640. package/dist/skills/paper-slide-deck/references/styles/blueprint.md +67 -0
  641. package/dist/skills/paper-slide-deck/references/styles/bold-editorial.md +70 -0
  642. package/dist/skills/paper-slide-deck/references/styles/chalkboard.md +68 -0
  643. package/dist/skills/paper-slide-deck/references/styles/corporate.md +69 -0
  644. package/dist/skills/paper-slide-deck/references/styles/dark-atmospheric.md +69 -0
  645. package/dist/skills/paper-slide-deck/references/styles/editorial-infographic.md +73 -0
  646. package/dist/skills/paper-slide-deck/references/styles/fantasy-animation.md +69 -0
  647. package/dist/skills/paper-slide-deck/references/styles/intuition-machine.md +72 -0
  648. package/dist/skills/paper-slide-deck/references/styles/minimal.md +64 -0
  649. package/dist/skills/paper-slide-deck/references/styles/notion.md +69 -0
  650. package/dist/skills/paper-slide-deck/references/styles/pixel-art.md +67 -0
  651. package/dist/skills/paper-slide-deck/references/styles/scientific.md +73 -0
  652. package/dist/skills/paper-slide-deck/references/styles/sketch-notes.md +66 -0
  653. package/dist/skills/paper-slide-deck/references/styles/vector-illustration.md +72 -0
  654. package/dist/skills/paper-slide-deck/references/styles/vintage.md +73 -0
  655. package/dist/skills/paper-slide-deck/references/styles/watercolor.md +68 -0
  656. package/dist/skills/paper-slide-deck/scripts/apply-template.ts +282 -0
  657. package/dist/skills/paper-slide-deck/scripts/detect-figures.ts +283 -0
  658. package/dist/skills/paper-slide-deck/scripts/extract-figure.ts +140 -0
  659. package/dist/skills/paper-slide-deck/scripts/generate-slides.py +182 -0
  660. package/dist/skills/paper-slide-deck/scripts/merge-to-pdf.ts +116 -0
  661. package/dist/skills/paper-slide-deck/scripts/merge-to-pptx.ts +137 -0
  662. package/dist/skills/paper-slide-deck/scripts/package-lock.json +899 -0
  663. package/dist/skills/paper-slide-deck/scripts/package.json +8 -0
  664. package/dist/skills/paper-slides/SKILL.md +571 -0
  665. package/dist/skills/paper-talk/SKILL.md +381 -0
  666. package/dist/skills/paper-write/SKILL.md +411 -0
  667. package/dist/skills/paper-write/templates/IEEEtran.bst +2409 -0
  668. package/dist/skills/paper-write/templates/IEEEtran.cls +6347 -0
  669. package/dist/skills/paper-write/templates/aaai2026.bst +1493 -0
  670. package/dist/skills/paper-write/templates/aaai2026.sty +315 -0
  671. package/dist/skills/paper-write/templates/aaai2026.tex +952 -0
  672. package/dist/skills/paper-write/templates/acl.sty +312 -0
  673. package/dist/skills/paper-write/templates/acl2026.tex +377 -0
  674. package/dist/skills/paper-write/templates/acl_natbib.bst +1940 -0
  675. package/dist/skills/paper-write/templates/acm.bst +3081 -0
  676. package/dist/skills/paper-write/templates/acm_mm2026.tex +204 -0
  677. package/dist/skills/paper-write/templates/acmart.cls +3520 -0
  678. package/dist/skills/paper-write/templates/cvpr.bst +1448 -0
  679. package/dist/skills/paper-write/templates/cvpr.sty +508 -0
  680. package/dist/skills/paper-write/templates/cvpr2026.tex +63 -0
  681. package/dist/skills/paper-write/templates/iclr2026.tex +84 -0
  682. package/dist/skills/paper-write/templates/iclr2026_conference.bst +1440 -0
  683. package/dist/skills/paper-write/templates/iclr2026_conference.sty +246 -0
  684. package/dist/skills/paper-write/templates/icml2025.tex +87 -0
  685. package/dist/skills/paper-write/templates/icml2026.sty +767 -0
  686. package/dist/skills/paper-write/templates/icml2026.tex +662 -0
  687. package/dist/skills/paper-write/templates/ieee_conference.tex +89 -0
  688. package/dist/skills/paper-write/templates/ieee_journal.tex +93 -0
  689. package/dist/skills/paper-write/templates/math_commands.tex +48 -0
  690. package/dist/skills/paper-write/templates/neurips2025.tex +80 -0
  691. package/dist/skills/paper-write/templates/neurips2026.tex +493 -0
  692. package/dist/skills/paper-write/templates/neurips_2026.sty +437 -0
  693. package/dist/skills/paper-writing/SKILL.md +632 -0
  694. package/dist/skills/patent-novelty-check/SKILL.md +153 -0
  695. package/dist/skills/patent-pipeline/SKILL.md +344 -0
  696. package/dist/skills/patent-review/SKILL.md +202 -0
  697. package/dist/skills/pixel-art/SKILL.md +139 -0
  698. package/dist/skills/pre-submission-reviewer/SKILL.md +247 -0
  699. package/dist/skills/pre-submission-reviewer/references/forbidden-patterns.md +163 -0
  700. package/dist/skills/pre-submission-reviewer/references/grammar-rules.md +135 -0
  701. package/dist/skills/pre-submission-reviewer/references/latex-rules.md +158 -0
  702. package/dist/skills/pre-submission-reviewer/references/logic-and-structure.md +125 -0
  703. package/dist/skills/pre-submission-reviewer/references/section-guides.md +169 -0
  704. package/dist/skills/prior-art-search/SKILL.md +146 -0
  705. package/dist/skills/proof-checker/SKILL.md +499 -0
  706. package/dist/skills/proof-writer/SKILL.md +222 -0
  707. package/dist/skills/qzcli/SKILL.md +316 -0
  708. package/dist/skills/rebuttal/SKILL.md +304 -0
  709. package/dist/skills/render-html/SKILL.md +299 -0
  710. package/dist/skills/render-html/scripts/render_html.py +905 -0
  711. package/dist/skills/render-html/scripts/templates/academic.html +342 -0
  712. package/dist/skills/render-html/scripts/templates/dashboard.html +333 -0
  713. package/dist/skills/research-lit/SKILL.md +353 -0
  714. package/dist/skills/research-paper-writing/SKILL.md +99 -0
  715. package/dist/skills/research-paper-writing/agents/openai.yaml +4 -0
  716. package/dist/skills/research-paper-writing/references/abstract.md +102 -0
  717. package/dist/skills/research-paper-writing/references/conclusion.md +35 -0
  718. package/dist/skills/research-paper-writing/references/does-my-writing-flow-source.md +45 -0
  719. package/dist/skills/research-paper-writing/references/examples/abstract/template-a.md +21 -0
  720. package/dist/skills/research-paper-writing/references/examples/abstract/template-b.md +34 -0
  721. package/dist/skills/research-paper-writing/references/examples/abstract/template-c.md +28 -0
  722. package/dist/skills/research-paper-writing/references/examples/abstract-examples.md +13 -0
  723. package/dist/skills/research-paper-writing/references/examples/index.md +21 -0
  724. package/dist/skills/research-paper-writing/references/examples/introduction/novel-task-challenge-decomposition.md +18 -0
  725. package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-not-recommended-abstract-only.md +30 -0
  726. package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-1-one-contribution-multi-advantages.md +30 -0
  727. package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-2-two-contributions.md +34 -0
  728. package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-3-new-module-on-existing-pipeline.md +18 -0
  729. package/dist/skills/research-paper-writing/references/examples/introduction/pipeline-version-4-observation-driven.md +16 -0
  730. package/dist/skills/research-paper-writing/references/examples/introduction/technical-challenge-version-1-existing-task.md +32 -0
  731. package/dist/skills/research-paper-writing/references/examples/introduction/technical-challenge-version-2-existing-task-insight-backed-by-traditional.md +33 -0
  732. package/dist/skills/research-paper-writing/references/examples/introduction/technical-challenge-version-3-novel-task.md +21 -0
  733. package/dist/skills/research-paper-writing/references/examples/introduction/version-1-task-then-application.md +14 -0
  734. package/dist/skills/research-paper-writing/references/examples/introduction/version-2-application-first.md +10 -0
  735. package/dist/skills/research-paper-writing/references/examples/introduction/version-3-general-to-specific-setting.md +14 -0
  736. package/dist/skills/research-paper-writing/references/examples/introduction/version-4-open-with-challenge.md +20 -0
  737. package/dist/skills/research-paper-writing/references/examples/introduction-examples.md +25 -0
  738. package/dist/skills/research-paper-writing/references/examples/method/example-of-the-three-elements.md +67 -0
  739. package/dist/skills/research-paper-writing/references/examples/method/method-writing-common-issues-note.md +10 -0
  740. package/dist/skills/research-paper-writing/references/examples/method/module-design-instant-ngp.md +55 -0
  741. package/dist/skills/research-paper-writing/references/examples/method/module-motivation-patterns.md +15 -0
  742. package/dist/skills/research-paper-writing/references/examples/method/module-triad-neural-body.md +19 -0
  743. package/dist/skills/research-paper-writing/references/examples/method/neural-body-annotated-figure-text.md +66 -0
  744. package/dist/skills/research-paper-writing/references/examples/method/overview-template.md +30 -0
  745. package/dist/skills/research-paper-writing/references/examples/method/pre-writing-questions.md +17 -0
  746. package/dist/skills/research-paper-writing/references/examples/method/section-skeleton.md +9 -0
  747. package/dist/skills/research-paper-writing/references/examples/method-examples.md +24 -0
  748. package/dist/skills/research-paper-writing/references/experiments.md +102 -0
  749. package/dist/skills/research-paper-writing/references/introduction.md +408 -0
  750. package/dist/skills/research-paper-writing/references/method.md +196 -0
  751. package/dist/skills/research-paper-writing/references/paper-review.md +86 -0
  752. package/dist/skills/research-paper-writing/references/related-work.md +41 -0
  753. package/dist/skills/research-pipeline/SKILL.md +257 -0
  754. package/dist/skills/research-proposal/SKILL.md +573 -0
  755. package/dist/skills/research-proposal/assets/proposal_scaffold_en.md +323 -0
  756. package/dist/skills/research-proposal/assets/proposal_scaffold_zh.md +346 -0
  757. package/dist/skills/research-proposal/references/DOMAIN_TEMPLATES.md +518 -0
  758. package/dist/skills/research-proposal/references/LITERATURE_WORKFLOW.md +529 -0
  759. package/dist/skills/research-proposal/references/QUALITY_CHECKLIST.md +325 -0
  760. package/dist/skills/research-proposal/references/STRUCTURE_GUIDE.md +398 -0
  761. package/dist/skills/research-proposal/references/WRITING_STYLE_GUIDE.md +661 -0
  762. package/dist/skills/research-refine/SKILL.md +716 -0
  763. package/dist/skills/research-refine-pipeline/SKILL.md +186 -0
  764. package/dist/skills/research-review/SKILL.md +119 -0
  765. package/dist/skills/research-wiki/SKILL.md +373 -0
  766. package/dist/skills/resubmit-pipeline/SKILL.md +427 -0
  767. package/dist/skills/result-to-claim/SKILL.md +190 -0
  768. package/dist/skills/run-experiment/SKILL.md +227 -0
  769. package/dist/skills/scientific-figure-making/SKILL.md +38 -0
  770. package/dist/skills/scientific-figure-making/references/api.md +152 -0
  771. package/dist/skills/scientific-figure-making/references/common-patterns.md +74 -0
  772. package/dist/skills/scientific-figure-making/references/demos.md +30 -0
  773. package/dist/skills/scientific-figure-making/references/design-theory.md +138 -0
  774. package/dist/skills/scientific-figure-making/references/tutorials.md +135 -0
  775. package/dist/skills/semantic-scholar/SKILL.md +219 -0
  776. package/dist/skills/serverless-modal/SKILL.md +324 -0
  777. package/dist/skills/slides-polish/SKILL.md +563 -0
  778. package/dist/skills/specification-writing/SKILL.md +211 -0
  779. package/dist/skills/strategist/SKILL.md +670 -0
  780. package/dist/skills/strategist/references/quality_standards.md +336 -0
  781. package/dist/skills/strategist/references/search_strategy.md +459 -0
  782. package/dist/skills/strategist/scripts/evaluate_samples.py +300 -0
  783. package/dist/skills/strategist/scripts/gap_analysis.py +399 -0
  784. package/dist/skills/system-profile/SKILL.md +103 -0
  785. package/dist/skills/tech-paper-template/SKILL.md +192 -0
  786. package/dist/skills/tech-paper-template/references/consistency-checks.md +166 -0
  787. package/dist/skills/tech-paper-template/references/paper-types.md +127 -0
  788. package/dist/skills/tech-paper-template/references/thinking-template.md +194 -0
  789. package/dist/skills/tech-paper-template/references/worked-examples.md +124 -0
  790. package/dist/skills/training-check/SKILL.md +83 -0
  791. package/dist/skills/vast-gpu/SKILL.md +380 -0
  792. package/dist/skills/vibe-research-workflow/SKILL.md +189 -0
  793. package/dist/skills/vibe-research-workflow/references/behavior-guidelines.md +149 -0
  794. package/dist/skills/vibe-research-workflow/references/tool-selection.md +144 -0
  795. package/dist/skills/vibe-research-workflow/references/vibe-coding.md +154 -0
  796. package/dist/skills/vibe-research-workflow/references/vibe-figure.md +131 -0
  797. package/dist/skills/vibe-research-workflow/references/vibe-writing.md +181 -0
  798. package/dist/skills/wiki-enrich/SKILL.md +254 -0
  799. package/dist/skills/writing-systems-papers/SKILL.md +184 -0
  800. package/package.json +1 -1
@@ -0,0 +1,1046 @@
1
+ <!DOCTYPE html>
2
+ <!--
3
+ ============================================================
4
+ TEMPLATE: landscape_hero (ARIS fork of posterly landscape_hero_neutral)
5
+ Adapted from posterly (MIT, © 2026 Ruishuo Chen) — see LICENSES/ & NOTICE.md;
6
+ ARIS modifications: flat de-gradient, --fs token scale, zero-inline-style
7
+ utilities, data-source/data-color-exempt contracts.
8
+
9
+ CANVAS: 60in × 36in landscape (ICML / NeurIPS / generic landscape) DEFAULT.
10
+ CANVAS RETARGETING: to change the print size, edit BOTH the @page
11
+ `size` (one place, in the CANVAS block below) AND the .poster
12
+ `width`/`height` (one place, in the .poster rule). Keep them in
13
+ sync. Example — ICLR 2026 main conference uses the official print
14
+ service spec 185cm × 90cm landscape:
15
+ @page { size: 1850mm 900mm; } /* or 185cm 90cm */
16
+ .poster { width: calc(1850 * var(--u)); height: calc(900 * var(--u)); }
17
+ (1 print --u = 1mm, so 1850/900 u == 1850/900 mm == 185×90 cm.)
18
+ LAYOUT: header → hero-grid (HERO panel ~60% | SUPPORTING column ~40%)
19
+ → optional takeaways → footer
20
+ (NO framework banner — the hero IS the banner.)
21
+ USE WHEN: ONE figure / table / system diagram is the main message of the poster
22
+ and supporting text/cards orbit it. Examples:
23
+ - "We built X — look at this big result."
24
+ - "Here is our system diagram, plus a few orbit cards."
25
+ - Demos, single-killer-figure posters, system / architecture posters.
26
+ Pick `landscape_4col.html` instead when you have 3-5 cards
27
+ per column with no single dominant figure.
28
+ HOW TO USE:
29
+ 1. Copy this file to your working directory as `poster.html`.
30
+ 2. Edit the DESIGN TOKENS in `:root` (or swap a tokens/*.json palette) —
31
+ the token block is the ONLY place color/font-size literals may live.
32
+ 3. Replace TODO content placeholders (search for "TODO"). The hero is the
33
+ only "big" element — put your headline figure / table / diagram there.
34
+ 4. Run `python3 scripts/poster_check.py measure poster.html` to verify the
35
+ hero panel's bottom edge aligns with the supporting column's last card,
36
+ then `python3 scripts/render_preview.py poster.html` to produce the PDF.
37
+ STYLE CONTRACT (ARIS source gate, scripts/style_check.py):
38
+ - NO inline `style=` attributes anywhere in the markup. Use the utility
39
+ classes (.fs-N, .mt-N, .mb-N, .w-NN, .text-secondary, .nowrap,
40
+ .text-center) defined in the UTILITIES block below.
41
+ Sole exceptions: the internal SVG of a `data-color-exempt="logo"` element,
42
+ and a `style="width: NN%"` on a `data-source="paper"` <img> (AR width tweak).
43
+ - All font-size values reference a `--fs-1..9` token (or a COMPONENTS.md
44
+ predefined `calc(var(--fs-N) * k)` variant such as `.eqn--large`).
45
+ - No `linear-gradient`; the only gradient allowed is the .poster radial
46
+ tint (every color stop alpha ≤ 0.06).
47
+ MEASURE ROLES: every layout-critical element carries `data-measure-role`.
48
+ poster, header, body, hero (NEW), column, card, footer-strip, footer.
49
+ Generic measurement scripts depend on these — do not remove.
50
+ ============================================================
51
+ -->
52
+ <html lang="en">
53
+ <head>
54
+ <meta charset="UTF-8">
55
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
56
+ <title>POSTER TITLE — Venue Year</title>
57
+
58
+ <!-- MathJax v3 for inline equations. CDN by default; to go offline,
59
+ download a MathJax v3 release into assets/mathjax/ and change the <script>
60
+ `src` below to "assets/mathjax/es5/tex-svg.js". -->
61
+ <script>
62
+ window.MathJax = {
63
+ tex: {
64
+ inlineMath: [['$', '$'], ['\\(', '\\)']],
65
+ displayMath: [['$$', '$$'], ['\\[', '\\]']],
66
+ packages: {'[+]': ['ams']}
67
+ },
68
+ svg: { fontCache: 'global' }
69
+ };
70
+ </script>
71
+ <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
72
+
73
+ <style>
74
+ /* =========================================================
75
+ CANVAS — 60" × 36" landscape (identical to sibling template).
76
+ RETARGET: change @page size here AND .poster width/height below.
77
+ ICLR 2026 main = 1850mm 900mm (185×90 cm) landscape — see header note.
78
+ ========================================================= */
79
+ @page { size: 60in 36in; margin: 0; }
80
+
81
+ :root {
82
+ /* ===== DESIGN TOKENS ===== */
83
+ /* The ONLY place color / font-size literals are allowed (style_check
84
+ rule 1 + 8 locate this block by the comment pair). Override token
85
+ VALUES here only — never restyle component rules with new literals.
86
+ To rebrand, edit these or load a tokens/*.json palette. */
87
+
88
+ /* Primary accent (header underline, card-highlight bar, section nums, .keyword) */
89
+ --accent: #2D5F8B;
90
+ --accent-deep: #1F4566;
91
+ --accent-light: #E8F1F8;
92
+ --accent-soft: #D7E5F0;
93
+
94
+ /* Secondary accent for "ours / best" emphasis (table .ours row, "★" callouts) */
95
+ --gold: #C9A24A;
96
+ --gold-soft: #FFF7E0;
97
+
98
+ /* Text */
99
+ --text-primary: #1A1A1A;
100
+ --text-secondary: #555555;
101
+ --text-muted: #888888;
102
+
103
+ /* Backgrounds */
104
+ --bg-page: #F6F2F0;
105
+ --bg-card: #FFFFFF;
106
+ --bg-card-tint: #FAFAFB;
107
+ --bg-emphasis: var(--accent-light);
108
+
109
+ /* Borders */
110
+ --border-soft: #D8D8D8;
111
+ --border-strong: var(--accent);
112
+
113
+ /* Screen-preview backdrop only — @media print overrides body to white.
114
+ Tokenized so no color literal escapes the token block (style_check rule 1). */
115
+ --bg-screen: #2b2b2b;
116
+
117
+ /* Base unit. Print: 1mm; screen preview: 1.6px (~3.78px = 1mm at 96dpi). */
118
+ --u: 1.6px;
119
+
120
+ /* Font-size scale (9 steps). Every font-size in this template references
121
+ one of these. Off-scale px drift is forbidden (style_check rule 8);
122
+ `calc(var(--fs-N) * k)` is allowed ONLY for COMPONENTS.md variants. */
123
+ --fs-1: calc(9 * var(--u)); /* micro label */
124
+ --fs-2: calc(10 * var(--u)); /* small caption */
125
+ --fs-3: calc(11 * var(--u)); /* caption / table */
126
+ --fs-4: calc(12 * var(--u)); /* body text */
127
+ --fs-5: calc(13 * var(--u)); /* equation / emphasis */
128
+ --fs-6: calc(15 * var(--u)); /* subtitle */
129
+ --fs-7: calc(16 * var(--u)); /* section title */
130
+ --fs-8: calc(22 * var(--u)); /* banner number */
131
+ --fs-9: calc(32 * var(--u)); /* main title */
132
+
133
+ /* Fonts. Override at :root if your venue mandates a specific family.
134
+ Whitelist (style_check rule 7): serif body, sans heads, mono code. */
135
+ --font-serif: "Charter", "Source Serif Pro", "Georgia", serif;
136
+ --font-sans: "Inter", "Helvetica Neue", sans-serif;
137
+
138
+ /* Shadows & watermark ink — tokenized so rules 1/3 stay literal-free
139
+ (the faint radial page tint is the ONE allowed literal outside this
140
+ block; rule 5 validates it). */
141
+ --shadow-screen: 0 0 60px rgba(0, 0, 0, 0.5);
142
+ --shadow-card: 0 calc(2 * var(--u)) calc(6 * var(--u)) rgba(45, 95, 139, 0.05);
143
+ --ornament-ink: rgba(45, 95, 139, 0.06);
144
+ --shadow-hero: 0 calc(2 * var(--u)) calc(10 * var(--u)) rgba(45, 95, 139, 0.08);
145
+ /* ===== END DESIGN TOKENS ===== */
146
+ }
147
+
148
+ /* =========================================================
149
+ RESET + BASE
150
+ ========================================================= */
151
+ * { box-sizing: border-box; margin: 0; padding: 0; }
152
+
153
+ html, body {
154
+ background: var(--bg-screen);
155
+ font-family: var(--font-serif);
156
+ color: var(--text-primary);
157
+ -webkit-font-smoothing: antialiased;
158
+ }
159
+
160
+ /* Poster container — exact print dimensions; data-measure-role="poster" so
161
+ poster_check.py can verify the canvas size.
162
+ RETARGET: width/height must track @page size (see CANVAS block). */
163
+ .poster {
164
+ width: calc(1524 * var(--u));
165
+ height: calc(914 * var(--u));
166
+ background: var(--bg-page);
167
+ /* The only gradient allowed by the style gate: a low-alpha radial tint
168
+ (every color stop alpha ≤ 0.06). NOT a linear-gradient. */
169
+ background-image:
170
+ radial-gradient(ellipse at top left, rgba(45, 95, 139, 0.06), transparent 40%),
171
+ radial-gradient(ellipse at bottom right, rgba(201, 162, 74, 0.05), transparent 50%);
172
+ margin: 20px auto;
173
+ padding: calc(10 * var(--u)) calc(14 * var(--u));
174
+ display: grid;
175
+ /* NO banner row — the hero IS the banner. */
176
+ grid-template-rows: auto 1fr auto auto; /* header | hero-grid | takeaways | footer */
177
+ gap: calc(6 * var(--u));
178
+ box-shadow: var(--shadow-screen);
179
+ position: relative;
180
+ overflow: hidden;
181
+ }
182
+
183
+ /* Decorative top bar — flat accent (de-gradiented from posterly original). */
184
+ .poster::before {
185
+ content: "";
186
+ position: absolute; top: 0; left: 0; right: 0;
187
+ height: calc(8 * var(--u));
188
+ background: var(--accent);
189
+ }
190
+
191
+ /* =========================================================
192
+ HEADER (venue-badge | title-block | logo+QR)
193
+ ========================================================= */
194
+ .header {
195
+ display: grid;
196
+ grid-template-columns: auto 1fr auto;
197
+ align-items: center;
198
+ gap: calc(16 * var(--u));
199
+ padding: calc(2 * var(--u)) calc(4 * var(--u)) calc(5 * var(--u));
200
+ border-bottom: calc(2 * var(--u)) solid var(--accent);
201
+ }
202
+
203
+ .venue-badge {
204
+ display: flex; flex-direction: column;
205
+ align-items: center; justify-content: center;
206
+ min-width: calc(95 * var(--u));
207
+ text-align: center;
208
+ border-right: calc(1 * var(--u)) solid var(--border-soft);
209
+ padding-right: calc(12 * var(--u));
210
+ }
211
+ .venue-badge .vb-venue {
212
+ font-family: var(--font-sans);
213
+ font-weight: 800;
214
+ font-size: var(--fs-9);
215
+ color: var(--accent-deep);
216
+ line-height: 1;
217
+ letter-spacing: -0.5px;
218
+ }
219
+ .venue-badge .vb-year {
220
+ font-family: var(--font-sans);
221
+ font-size: var(--fs-5);
222
+ color: var(--text-secondary);
223
+ margin-top: calc(3 * var(--u));
224
+ letter-spacing: 1.2px;
225
+ }
226
+ .venue-badge .vb-tag {
227
+ font-family: var(--font-sans);
228
+ font-size: var(--fs-2);
229
+ color: var(--accent);
230
+ font-weight: 700;
231
+ margin-top: calc(2 * var(--u));
232
+ letter-spacing: 1.2px;
233
+ }
234
+
235
+ .title-block { text-align: center; min-width: 0; }
236
+ .title {
237
+ font-family: var(--font-sans);
238
+ font-weight: 800;
239
+ font-size: var(--fs-9);
240
+ line-height: 1.05;
241
+ color: var(--accent-deep);
242
+ letter-spacing: -0.5px;
243
+ }
244
+ .title .accent { color: var(--gold); }
245
+ .subtitle {
246
+ font-family: var(--font-sans);
247
+ font-weight: 500;
248
+ font-size: var(--fs-6);
249
+ color: var(--text-secondary);
250
+ margin-top: calc(2 * var(--u));
251
+ font-style: italic;
252
+ }
253
+ .authors-line {
254
+ font-family: var(--font-sans);
255
+ font-size: var(--fs-4);
256
+ color: var(--accent);
257
+ font-weight: 600;
258
+ margin-top: calc(3 * var(--u));
259
+ }
260
+ .authors-line .author { margin: 0 calc(4 * var(--u)); }
261
+ .authors-line sup { font-size: 0.7em; color: var(--accent); }
262
+ .authors-line .aff {
263
+ color: var(--text-secondary);
264
+ font-weight: 400;
265
+ display: block;
266
+ margin-top: calc(2 * var(--u));
267
+ font-size: var(--fs-4);
268
+ }
269
+
270
+ .right-block {
271
+ display: flex; align-items: center;
272
+ gap: calc(10 * var(--u));
273
+ }
274
+ .qr-block { display: flex; flex-direction: column; align-items: center; gap: calc(2 * var(--u)); }
275
+ .qr-block img {
276
+ width: calc(85 * var(--u));
277
+ height: calc(85 * var(--u));
278
+ border: calc(2 * var(--u)) solid var(--accent);
279
+ border-radius: calc(4 * var(--u));
280
+ background: white;
281
+ padding: calc(2 * var(--u));
282
+ }
283
+ .qr-label {
284
+ font-family: var(--font-sans);
285
+ font-size: var(--fs-3);
286
+ color: var(--accent);
287
+ font-weight: 600;
288
+ }
289
+ /* Optional logo slot — drop your lab logo here. Keep its rendered height
290
+ close to the QR (~85u) so the header doesn't grow disproportionately.
291
+ LOGO CONTRACT: a logo whose own SVG/PNG carries brand colors must be
292
+ marked `data-color-exempt="logo"` so style_check exempts it from the
293
+ palette / inline-style gates, e.g.:
294
+ <div class="logo-slot"><img src="assets/logos/lab.png" alt="Lab"
295
+ data-color-exempt="logo"></div>
296
+ Inline-SVG logos carry the attribute on the <svg> element itself. */
297
+ .logo-slot img { height: calc(85 * var(--u)); width: auto; display: block; }
298
+ /* logo-row: institution logos in the header right block (REAL logos the
299
+ user provided — never fabricate a seal). Each img MUST carry
300
+ data-color-exempt="logo"; height pairs with the QR. */
301
+ .logo-row { display: flex; align-items: center; gap: calc(5 * var(--u)); }
302
+ .logo-row img { height: calc(68 * var(--u)); width: auto; display: block; }
303
+ /* --boxed variant: each logo in a labeled tile (logo + institution name) —
304
+ more presence at poster distance; white tile + soft border, no new hues. */
305
+ .logo-row .lr-item {
306
+ display: flex; flex-direction: column; align-items: center;
307
+ gap: calc(2 * var(--u));
308
+ background: var(--bg-card);
309
+ border: 1px solid var(--border-soft);
310
+ border-radius: calc(3 * var(--u));
311
+ padding: calc(4 * var(--u)) calc(6 * var(--u));
312
+ }
313
+ .logo-row .lr-item img { height: calc(58 * var(--u)); }
314
+ .logo-row .lr-label {
315
+ font-family: var(--font-sans); font-weight: 600; font-size: var(--fs-1);
316
+ color: var(--text-secondary); text-align: center; line-height: 1.15;
317
+ }
318
+ /* venue badge may carry the official venue logo above its text line */
319
+ .venue-badge img { height: calc(62 * var(--u)); width: auto; display: block; margin: 0 auto calc(2 * var(--u)); }
320
+ .venue-badge .vb-title { font-family: var(--font-sans); font-weight: 800; font-size: var(--fs-5); color: var(--accent-deep); letter-spacing: 0.5px; }
321
+
322
+ /* =========================================================
323
+ BODY: HERO-GRID — HERO panel (~60%) + SUPPORTING column (~40%).
324
+ -----------------------------------------------------------------
325
+ STRICT ALIGNMENT (non-negotiable):
326
+ Cards in the supporting column must visually bottom-align with the hero
327
+ panel. Run `python3 scripts/poster_check.py measure poster.html` — spread
328
+ between hero-bottom and column-last-card-bottom must be < 5 px (< 3 px
329
+ ideal); the gap to the takeaways strip should land in 30–50 px.
330
+ Mechanism:
331
+ - The `.hero-grid` itself fills the 1fr body row.
332
+ - `.hero` is `display:flex; flex-direction:column;` with a flexible
333
+ `.hero-stage` (`flex:1`) so its figure grows to fill the available
334
+ height. The hero's bottom edge is therefore pinned to the grid row.
335
+ - `.column` is `display:flex; flex-direction:column;` with
336
+ `justify-content: space-between;` so its last card hugs the bottom.
337
+ If alignment drifts > 5 px the usual fix is to (a) add one more line of
338
+ content to the shortest card, or (b) bump the `.column` gap from 6u to
339
+ 7u. Do NOT pad the hero with empty space — visual weight must stay on
340
+ the hero figure / table itself.
341
+ ----------------------------------------------------------------- */
342
+ .hero-grid {
343
+ display: grid;
344
+ /* Option A default: hero LEFT 60%, supporting column RIGHT 40%. */
345
+ grid-template-columns: 1.5fr 1fr;
346
+ gap: calc(10 * var(--u));
347
+ /* No overflow:hidden here — it would clip the hero/card shadows
348
+ (pitfall #6). .poster already clips at the page boundary;
349
+ min-height:0 is the grid-blowout guard. */
350
+ min-height: 0;
351
+ }
352
+
353
+ /* HERO panel — the single dominant element. Holds an optional section title,
354
+ ONE large figure / table / diagram (full-width inside the panel, no
355
+ image border), optional caption, optional 1 small text block. */
356
+ .hero {
357
+ display: flex;
358
+ flex-direction: column;
359
+ gap: calc(5 * var(--u));
360
+ background: var(--bg-card);
361
+ border-radius: calc(5 * var(--u));
362
+ border: calc(1 * var(--u)) solid var(--border-soft);
363
+ border-left: calc(8 * var(--u)) solid var(--accent);
364
+ box-shadow: var(--shadow-hero);
365
+ padding: calc(7 * var(--u)) calc(12 * var(--u)) calc(9 * var(--u));
366
+ min-height: 0;
367
+ overflow: hidden;
368
+ }
369
+ .hero .section-title { font-size: var(--fs-7); }
370
+ .hero .hero-stage {
371
+ /* The hero figure / table region. Fills available vertical space so its
372
+ bottom can align with the supporting column's last card bottom.
373
+ Flat tint (de-gradiented from posterly original). */
374
+ flex: 1;
375
+ display: flex;
376
+ flex-direction: column;
377
+ justify-content: center;
378
+ align-items: center;
379
+ background: var(--bg-card-tint);
380
+ border-radius: calc(4 * var(--u));
381
+ min-height: 0;
382
+ padding: calc(4 * var(--u));
383
+ }
384
+ .hero .hero-stage img {
385
+ /* IMPORTANT: no border on the hero image. The stage container frames it.
386
+ HERO FIGURE CONTRACT: the hero image MUST come from the paper:
387
+ <img src="assets/paper_figures/hero.png" data-source="paper"
388
+ data-asset-id="hero" alt="...">
389
+ The data-source/data-asset-id pair is required by asset_check and
390
+ exempts the image from style_check's palette gate. */
391
+ max-width: 100%;
392
+ max-height: 100%;
393
+ width: auto;
394
+ height: auto;
395
+ display: block;
396
+ object-fit: contain;
397
+ }
398
+ /* Placeholder shown when no <img> is present yet — remove once you drop in
399
+ your hero figure. Keeps the stage visible during template authoring. */
400
+ .hero .hero-stage .stage-placeholder {
401
+ font-family: var(--font-sans);
402
+ color: var(--text-muted);
403
+ font-size: var(--fs-6);
404
+ text-align: center;
405
+ line-height: 1.4;
406
+ padding: calc(40 * var(--u)) calc(10 * var(--u));
407
+ border: calc(2 * var(--u)) dashed var(--border-soft);
408
+ border-radius: calc(6 * var(--u));
409
+ width: 100%;
410
+ }
411
+ .hero .hero-caption {
412
+ font-family: var(--font-sans);
413
+ font-size: var(--fs-5);
414
+ color: var(--text-secondary);
415
+ line-height: 1.35;
416
+ text-wrap: balance;
417
+ }
418
+ .hero .hero-caption strong { color: var(--accent-deep); }
419
+ .hero .hero-aside {
420
+ /* Optional small text block under the figure. Keep to ~2-3 lines so the
421
+ figure stays the visual hero. Delete the element if not needed. */
422
+ font-family: var(--font-serif);
423
+ font-size: var(--fs-5);
424
+ line-height: 1.4;
425
+ color: var(--text-primary);
426
+ background: var(--bg-emphasis);
427
+ border-left: calc(3 * var(--u)) solid var(--accent);
428
+ padding: calc(4 * var(--u)) calc(9 * var(--u));
429
+ border-radius: calc(3 * var(--u));
430
+ }
431
+
432
+ /* SUPPORTING column — 3-4 stacked cards. `justify-content: space-between`
433
+ pushes the last card to the column bottom so it bottom-aligns with the
434
+ hero (see strict-alignment comment on `.hero-grid` above). */
435
+ .column {
436
+ display: flex;
437
+ flex-direction: column;
438
+ justify-content: space-between; /* anchor last card to column bottom */
439
+ gap: calc(6 * var(--u));
440
+ min-height: 0;
441
+ height: 100%;
442
+ padding-bottom: calc(4 * var(--u)); /* shadow breathing room above takeaways */
443
+ }
444
+
445
+ /* =========================================================
446
+ CARDS (verbatim tokens from sibling template)
447
+ ========================================================= */
448
+ .card {
449
+ background: var(--bg-card);
450
+ border-radius: calc(5 * var(--u));
451
+ padding: calc(4 * var(--u)) calc(9 * var(--u));
452
+ border: calc(1 * var(--u)) solid var(--border-soft);
453
+ box-shadow: var(--shadow-card);
454
+ position: relative;
455
+ }
456
+ .card.tinted { background: var(--bg-card-tint); }
457
+ /* .highlight de-gradiented: flat emphasis tint instead of a linear-gradient. */
458
+ .card.highlight {
459
+ border-left: calc(6 * var(--u)) solid var(--accent);
460
+ background: var(--bg-emphasis);
461
+ }
462
+
463
+ .section-title {
464
+ font-family: var(--font-sans);
465
+ font-weight: 700;
466
+ font-size: var(--fs-7);
467
+ color: var(--accent-deep);
468
+ margin-bottom: calc(3 * var(--u));
469
+ display: flex; align-items: center;
470
+ gap: calc(5 * var(--u));
471
+ flex-wrap: wrap;
472
+ }
473
+ .section-title .num {
474
+ display: inline-flex; align-items: center; justify-content: center;
475
+ width: calc(22 * var(--u)); height: calc(22 * var(--u));
476
+ background: var(--accent); color: white;
477
+ border-radius: 50%;
478
+ font-size: var(--fs-5); font-weight: 700;
479
+ flex-shrink: 0;
480
+ }
481
+ /* Inline "★ key" tag inside a section title (replaces an inline style). */
482
+ .section-title .tag-key {
483
+ color: var(--gold);
484
+ font-size: var(--fs-4);
485
+ }
486
+
487
+ .body-text, .card p, .card li {
488
+ font-family: var(--font-serif);
489
+ font-size: var(--fs-4);
490
+ line-height: 1.3;
491
+ color: var(--text-primary);
492
+ }
493
+ .card ul, .card ol { padding-left: calc(18 * var(--u)); }
494
+ .card li { margin-bottom: calc(2 * var(--u)); }
495
+
496
+ .keyword { color: var(--accent); font-weight: 700; }
497
+ .keyword-gold { color: var(--gold); font-weight: 700; }
498
+ .highlight-text {
499
+ background: var(--bg-emphasis);
500
+ padding: 0 calc(3 * var(--u));
501
+ border-radius: calc(2 * var(--u));
502
+ }
503
+
504
+ /* Equation block */
505
+ .eqn {
506
+ background: var(--bg-emphasis);
507
+ border-left: calc(3 * var(--u)) solid var(--accent);
508
+ padding: calc(4 * var(--u)) calc(10 * var(--u));
509
+ margin: calc(4 * var(--u)) 0;
510
+ font-size: var(--fs-5);
511
+ overflow-x: hidden;
512
+ }
513
+ /* COMPONENTS.md predefined variant: a larger equation when a formula is the
514
+ hero of a card. The `calc(var(--fs-N) * k)` form is allowed ONLY for
515
+ registered variants like this one (style_check rule 8 / §12.5 nit 1). */
516
+ .eqn--large { font-size: calc(var(--fs-5) * 1.25); }
517
+ .eqn .label {
518
+ display: block;
519
+ font-family: var(--font-sans);
520
+ font-size: var(--fs-2);
521
+ color: var(--accent);
522
+ font-weight: 600;
523
+ margin-bottom: calc(2 * var(--u));
524
+ text-transform: uppercase;
525
+ letter-spacing: 1px;
526
+ }
527
+
528
+ /* Callout: solid accent for primary; solid gold for theorems / "★ key" strips
529
+ (gold .callout de-gradiented to a flat fill). */
530
+ .callout {
531
+ background: var(--accent);
532
+ color: white;
533
+ padding: calc(5 * var(--u)) calc(10 * var(--u));
534
+ border-radius: calc(4 * var(--u));
535
+ font-size: var(--fs-4);
536
+ margin: calc(4 * var(--u)) 0;
537
+ }
538
+ .callout strong { color: var(--gold); }
539
+ .callout.gold {
540
+ background: var(--gold);
541
+ color: var(--accent-deep);
542
+ }
543
+ .callout.gold strong { color: var(--accent-deep); }
544
+
545
+ /* Figure container (still useful inside supporting cards) */
546
+ .figure { margin: calc(4 * var(--u)) 0; text-align: center; }
547
+ .figure img:not([class*="w-"]) { width: 100%; }
548
+ .figure img {
549
+ /* FIGURE CONTRACT: figures must come from the paper:
550
+ <img src="assets/paper_figures/x.png" data-source="paper"
551
+ data-asset-id="x" class="w-95">
552
+ data-source/data-asset-id are required by asset_check + exempt the
553
+ image from style_check's palette gate. Use .w-NN utilities (not an
554
+ inline width) to size it; the only inline-style exception the gate
555
+ allows is `style="width: NN%"` on a data-source="paper" <img>. */
556
+ border-radius: calc(4 * var(--u));
557
+ border: calc(1 * var(--u)) solid var(--border-soft);
558
+ background: white;
559
+ }
560
+ .figure .caption {
561
+ font-family: var(--font-sans);
562
+ font-size: var(--fs-3);
563
+ color: var(--text-secondary);
564
+ margin-top: calc(3 * var(--u));
565
+ line-height: 1.3;
566
+ text-align: left;
567
+ }
568
+ .figure .caption strong { color: var(--accent-deep); }
569
+
570
+ /* Result table with .ours row highlighted gold */
571
+ .result-table {
572
+ width: 100%;
573
+ border-collapse: collapse;
574
+ font-family: var(--font-sans);
575
+ font-size: var(--fs-3);
576
+ margin-top: calc(3 * var(--u));
577
+ }
578
+ .result-table th, .result-table td {
579
+ padding: calc(2 * var(--u)) calc(4 * var(--u));
580
+ text-align: center;
581
+ border-bottom: calc(1 * var(--u)) solid var(--border-soft);
582
+ }
583
+ .result-table thead th {
584
+ background: var(--accent); color: white;
585
+ font-weight: 600; font-size: var(--fs-2);
586
+ }
587
+ .result-table tbody tr.group-row td {
588
+ background: var(--bg-emphasis); font-weight: 700;
589
+ text-align: left;
590
+ color: var(--accent-deep);
591
+ padding-left: calc(8 * var(--u));
592
+ border-bottom: calc(2 * var(--u)) solid var(--accent);
593
+ }
594
+ .result-table tbody tr.ours td { background: var(--gold-soft); font-weight: 700; }
595
+ .result-table tbody tr.ours td:first-child { color: var(--accent-deep); }
596
+ .result-table .method { text-align: left; padding-left: calc(8 * var(--u)); }
597
+ .result-table .best { color: var(--accent); font-weight: 700; }
598
+ /* Muted reference row (replaces inline color styles in table cells). */
599
+ .result-table .ref, .result-table .ref td { color: var(--text-muted); }
600
+
601
+ /* 3-up stat box */
602
+ .keybox {
603
+ display: grid;
604
+ grid-template-columns: repeat(3, 1fr);
605
+ gap: calc(4 * var(--u));
606
+ margin: calc(4 * var(--u)) 0 0;
607
+ }
608
+ .keybox .kb-item {
609
+ background: var(--bg-emphasis);
610
+ border-top: calc(2 * var(--u)) solid var(--accent);
611
+ padding: calc(3 * var(--u));
612
+ text-align: center;
613
+ border-radius: 0 0 calc(3 * var(--u)) calc(3 * var(--u));
614
+ }
615
+ .kb-item .kb-num {
616
+ font-family: var(--font-sans);
617
+ font-weight: 800;
618
+ font-size: var(--fs-6);
619
+ color: var(--accent);
620
+ line-height: 1;
621
+ }
622
+ .kb-item .kb-label {
623
+ font-family: var(--font-sans);
624
+ font-size: var(--fs-1);
625
+ color: var(--text-secondary);
626
+ margin-top: calc(2 * var(--u));
627
+ line-height: 1.1;
628
+ }
629
+
630
+ /* Optional takeaways strip (delete the section if not needed).
631
+ De-gradiented: flat emphasis tint instead of a left-right linear-gradient. */
632
+ .takeaways-strip {
633
+ display: grid;
634
+ grid-template-columns: auto repeat(4, 1fr);
635
+ align-items: center;
636
+ gap: calc(10 * var(--u));
637
+ background: var(--bg-emphasis);
638
+ border: calc(1 * var(--u)) solid var(--border-soft);
639
+ border-radius: calc(5 * var(--u));
640
+ padding: calc(8 * var(--u)) calc(12 * var(--u));
641
+ }
642
+ .takeaways-strip .ts-title {
643
+ font-family: var(--font-sans);
644
+ font-size: var(--fs-6);
645
+ font-weight: 800;
646
+ color: var(--accent-deep);
647
+ display: flex; align-items: center; gap: calc(6 * var(--u));
648
+ }
649
+ .takeaways-strip .ts-title .num {
650
+ display: inline-flex; align-items: center; justify-content: center;
651
+ width: calc(22 * var(--u)); height: calc(22 * var(--u));
652
+ background: var(--accent); color: white;
653
+ border-radius: 50%;
654
+ font-size: var(--fs-5); font-weight: 700;
655
+ }
656
+ .takeaways-strip .ts-item {
657
+ border-left: calc(3 * var(--u)) solid var(--accent);
658
+ padding-left: calc(8 * var(--u));
659
+ line-height: 1.3;
660
+ text-align: center;
661
+ text-wrap: balance;
662
+ }
663
+ .takeaways-strip .ts-key {
664
+ font-family: var(--font-sans);
665
+ font-size: var(--fs-3);
666
+ font-weight: 700;
667
+ color: var(--accent);
668
+ text-transform: uppercase;
669
+ letter-spacing: 1px;
670
+ }
671
+ .takeaways-strip .ts-text {
672
+ font-family: var(--font-serif);
673
+ font-size: var(--fs-4);
674
+ margin-left: calc(4 * var(--u));
675
+ }
676
+
677
+ /* Footer */
678
+ .footer {
679
+ grid-column: 1 / -1;
680
+ display: flex; justify-content: space-between; align-items: center;
681
+ padding-top: calc(8 * var(--u));
682
+ border-top: calc(1 * var(--u)) solid var(--border-soft);
683
+ font-family: var(--font-sans);
684
+ font-size: var(--fs-5);
685
+ color: var(--text-muted);
686
+ }
687
+ .footer .repo { color: var(--accent); font-weight: 600; }
688
+ /* Footer method name (replaces an inline color style). */
689
+ .footer .method-name { color: var(--accent-deep); }
690
+
691
+ /* Optional watermark */
692
+ .ornament {
693
+ position: absolute;
694
+ right: calc(20 * var(--u));
695
+ bottom: calc(20 * var(--u));
696
+ font-family: var(--font-sans);
697
+ font-size: var(--fs-9);
698
+ color: var(--ornament-ink);
699
+ font-weight: 900;
700
+ letter-spacing: 4px;
701
+ pointer-events: none;
702
+ user-select: none;
703
+ }
704
+
705
+ /* =========================================================
706
+ UTILITIES — replace inline `style=` attributes in the markup.
707
+ These exist so the template body can stay 100% inline-style-free
708
+ (style_check rule 2). Add new utilities here, never an inline style.
709
+ ========================================================= */
710
+
711
+ /* =========================================================
712
+ DENSITY COMPONENTS (catalogued — see COMPONENTS.md).
713
+ Guardrail: no component-local color semantics. Distinction is
714
+ carried by labels, order and typography — never by new hues.
715
+ ========================================================= */
716
+ /* equation-stack: compact multi-row formula stack (denser than one big .eqn) */
717
+ .equation-stack { margin: calc(2 * var(--u)) 0; }
718
+ .equation-stack .eqn { margin: calc(2 * var(--u)) 0; padding: calc(2 * var(--u)) calc(8 * var(--u)); }
719
+
720
+ /* eqn-anatomy: term-by-term anatomy grid (2x2 default; --row variant = 1x4) */
721
+ .eqn-anatomy {
722
+ display: grid; grid-template-columns: 1fr 1fr;
723
+ gap: calc(2.5 * var(--u)); margin: calc(3 * var(--u)) 0;
724
+ }
725
+ .eqn-anatomy.eqn-anatomy--row { grid-template-columns: repeat(4, 1fr); }
726
+ .eqn-anatomy .ea-item {
727
+ background: var(--bg-card-tint);
728
+ border: 1px solid var(--border-soft);
729
+ border-left: calc(2 * var(--u)) solid var(--accent);
730
+ border-radius: calc(2 * var(--u));
731
+ padding: calc(2 * var(--u)) calc(4 * var(--u));
732
+ font-size: var(--fs-2); line-height: 1.3;
733
+ }
734
+ .eqn-anatomy .ea-tag {
735
+ display: inline-block; font-family: var(--font-sans); font-weight: 700;
736
+ font-size: var(--fs-1); color: var(--accent-deep);
737
+ background: var(--accent-light); border-radius: calc(1.5 * var(--u));
738
+ padding: calc(0.5 * var(--u)) calc(2.5 * var(--u));
739
+ margin-right: calc(1.5 * var(--u));
740
+ }
741
+
742
+ /* flow-strip: labeled pipeline, ALL steps the same accent; ONLY the
743
+ final step may carry the gold top bar. Not an "algorithm" unless the
744
+ paper has one — see COMPONENTS.md. */
745
+ .flow-strip { display: flex; align-items: stretch; gap: calc(1.5 * var(--u)); margin: calc(3 * var(--u)) 0; }
746
+ .flow-strip .step {
747
+ flex: 1; background: var(--accent-light);
748
+ border: 1px solid var(--accent-soft); border-radius: calc(2 * var(--u));
749
+ padding: calc(2 * var(--u)) calc(2.5 * var(--u));
750
+ text-align: center; font-size: var(--fs-2); line-height: 1.25;
751
+ }
752
+ .flow-strip .step .step-name {
753
+ display: block; font-family: var(--font-sans); font-weight: 700;
754
+ font-size: var(--fs-1); color: var(--accent-deep);
755
+ letter-spacing: 0.5px; text-transform: uppercase;
756
+ margin-bottom: calc(1 * var(--u));
757
+ }
758
+ .flow-strip .step--final { border-top: calc(1.5 * var(--u)) solid var(--gold); background: var(--gold-soft); }
759
+ .flow-strip .arrow {
760
+ align-self: center; color: var(--accent);
761
+ font-family: var(--font-sans); font-weight: 700; font-size: var(--fs-4);
762
+ flex: 0 0 auto;
763
+ }
764
+
765
+ /* figure--duo: two paper figures sharing one caption; each img MUST be
766
+ a data-source="paper" asset and carry .w-45/.w-50 (42-48% each). */
767
+ .figure--duo { display: flex; gap: calc(3 * var(--u)); align-items: flex-start; justify-content: center; }
768
+ .figure--duo img { max-width: 48%; min-width: 0; } /* hard cap: duo contract is 42-48% each; an oversized w-NN cannot overflow the card */
769
+
770
+ /* result-table derived column (gold-soft = DERIVED arithmetic; label it) */
771
+ .result-table th.derived, .result-table td.derived {
772
+ background: var(--gold-soft); font-family: var(--font-sans); font-weight: 700;
773
+ }
774
+
775
+ /* keybox 4-up variant */
776
+ .keybox.keybox--4 { grid-template-columns: repeat(4, 1fr); }
777
+
778
+ /* algo: compact numbered procedure — ONLY when the paper itself states
779
+ an explicit algorithm/procedure; never invent steps. */
780
+ ol.algo { padding-left: calc(16 * var(--u)); }
781
+ ol.algo li { margin-bottom: calc(1.5 * var(--u)); font-size: var(--fs-3); line-height: 1.3; }
782
+
783
+ /* claim-pills: provenance mini-table (numeric-heavy posters only) */
784
+ .claim-pills { width: 100%; border-collapse: collapse; font-family: var(--font-sans); font-size: var(--fs-2); }
785
+ .claim-pills td {
786
+ border-bottom: 1px solid var(--border-soft);
787
+ padding: calc(1.5 * var(--u)) calc(3 * var(--u));
788
+ }
789
+ .claim-pills .cp-id {
790
+ font-weight: 700; color: var(--accent-deep); background: var(--accent-light);
791
+ border-radius: calc(1.5 * var(--u)); padding: 0 calc(2.5 * var(--u)); white-space: nowrap;
792
+ }
793
+ .claim-pills .cp-fact { color: var(--accent-deep); font-weight: 700; }
794
+ .claim-pills .cp-derived { color: var(--gold); font-weight: 700; }
795
+
796
+ /* Grid-blowout guards: (1) columns may shrink below min-content so a
797
+ wide equation can never widen its track and squeeze siblings;
798
+ (2) over-wide display math scales down to fit its box instead of
799
+ blowing out the card (SVG keeps aspect via height:auto). */
800
+ .body-grid > .column { min-width: 0; }
801
+ .card { min-width: 0; }
802
+ .eqn mjx-container > svg { max-width: 100%; height: auto; }
803
+
804
+ /* ── Utility classes — defined LAST so equal-specificity ties
805
+ resolve in the utility's favor (source order). ── */
806
+ .fs-1 { font-size: var(--fs-1); }
807
+ .fs-2 { font-size: var(--fs-2); }
808
+ .fs-3 { font-size: var(--fs-3); }
809
+ .fs-4 { font-size: var(--fs-4); }
810
+ .fs-5 { font-size: var(--fs-5); }
811
+ .fs-6 { font-size: var(--fs-6); }
812
+ .fs-7 { font-size: var(--fs-7); }
813
+ .fs-8 { font-size: var(--fs-8); }
814
+ .fs-9 { font-size: var(--fs-9); }
815
+
816
+ .mt-1 { margin-top: calc(1 * var(--u)); }
817
+ .mt-2 { margin-top: calc(2 * var(--u)); }
818
+ .mt-3 { margin-top: calc(3 * var(--u)); }
819
+ .mt-4 { margin-top: calc(4 * var(--u)); }
820
+ .mt-5 { margin-top: calc(5 * var(--u)); }
821
+ .mt-6 { margin-top: calc(6 * var(--u)); }
822
+
823
+ .mb-1 { margin-bottom: calc(1 * var(--u)); }
824
+ .mb-2 { margin-bottom: calc(2 * var(--u)); }
825
+ .mb-3 { margin-bottom: calc(3 * var(--u)); }
826
+ .mb-4 { margin-bottom: calc(4 * var(--u)); }
827
+
828
+ .w-45 { width: 45%; }
829
+ .w-50 { width: 50%; }
830
+ .w-55 { width: 55%; }
831
+ .w-60 { width: 60%; }
832
+ .w-65 { width: 65%; }
833
+ .w-70 { width: 70%; }
834
+ .w-75 { width: 75%; }
835
+ .w-80 { width: 80%; }
836
+ .w-85 { width: 85%; }
837
+ .w-90 { width: 90%; }
838
+ .w-95 { width: 95%; }
839
+ .w-100 { width: 100%; }
840
+
841
+ .text-secondary { color: var(--text-secondary); }
842
+ .text-muted { color: var(--text-muted); }
843
+ .nowrap { white-space: nowrap; }
844
+ .text-center { text-align: center; }
845
+
846
+ /* =========================================================
847
+ PRINT OVERRIDE — KEEP LAST so it wins source-order ties.
848
+ RETARGET: width/height must match @page size in the CANVAS block.
849
+ ========================================================= */
850
+ @media print {
851
+ html, body { background: white; }
852
+ .poster { margin: 0; box-shadow: none; width: 60in; height: 36in; page-break-after: avoid; }
853
+ :root { --u: 1mm; }
854
+ }
855
+ </style>
856
+ </head>
857
+ <body>
858
+
859
+ <div class="poster" data-measure-role="poster">
860
+
861
+ <!-- =========================== HEADER =========================== -->
862
+ <header class="header" data-measure-role="header">
863
+ <!-- LEFT: venue badge. Replace text or swap for an <img> if your venue allows logos. -->
864
+ <div class="venue-badge">
865
+ <div class="vb-venue">VENUE</div>
866
+ <div class="vb-year">YEAR</div>
867
+ <div class="vb-tag">POSTER</div>
868
+ </div>
869
+
870
+ <!-- CENTER: title block -->
871
+ <div class="title-block">
872
+ <h1 class="title">POSTER TITLE: <span class="accent">Subtitle Keyword</span></h1>
873
+ <div class="subtitle">One-sentence tagline that explains the work in plain English.</div>
874
+ <div class="authors-line">
875
+ <span class="author">Author One</span> &middot;
876
+ <span class="author">Author Two</span> &middot;
877
+ <span class="author">Author Three<sup>&#9993;</sup></span>
878
+ <span class="aff">Lab / Department &middot; Institution &middot; City, Country</span>
879
+ </div>
880
+ </div>
881
+
882
+ <!-- RIGHT: optional logo + QR. Delete .logo-slot if your venue forbids on-poster logos. -->
883
+ <div class="right-block">
884
+ <div class="logo-slot">
885
+ <!-- Affiliation / lab logo goes here. Brand-colored logos MUST carry
886
+ data-color-exempt="logo" so style_check exempts them:
887
+ <img src="assets/logos/lab.png" alt="Lab" data-color-exempt="logo">
888
+ No logo? Delete this entire <div class="logo-slot"> instead of
889
+ leaving it empty (an empty slot just adds a stray gap). The .aff
890
+ text line and the corner .ornament still carry attribution. -->
891
+ </div>
892
+ <div class="qr-block">
893
+ <!-- TODO: replace with your real QR code. The default below is an inline
894
+ SVG placeholder so the template renders offline. The QR is a
895
+ monochrome black/white SVG (data-color-exempt="logo" marks it as a
896
+ non-palette graphic for style_check). Generate a real one with:
897
+ $ qrencode -o qr.png -s 12 -m 0 "https://your-url" # apt install qrencode
898
+ $ python -c "import qrcode; qrcode.make('https://your-url').save('qr.png')"
899
+ then change src to "assets/qr/qr.png" (export at >= 2x rendered size). -->
900
+ <img data-color-exempt="logo" src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><rect width='100' height='100' fill='%23fff'/><g fill='%23222'><rect x='4' y='4' width='26' height='26'/><rect x='70' y='4' width='26' height='26'/><rect x='4' y='70' width='26' height='26'/></g><g fill='%23fff'><rect x='10' y='10' width='14' height='14'/><rect x='76' y='10' width='14' height='14'/><rect x='10' y='76' width='14' height='14'/></g><g fill='%23222'><rect x='14' y='14' width='6' height='6'/><rect x='80' y='14' width='6' height='6'/><rect x='14' y='80' width='6' height='6'/><rect x='38' y='10' width='4' height='4'/><rect x='48' y='10' width='4' height='4'/><rect x='58' y='10' width='4' height='4'/><rect x='34' y='34' width='4' height='4'/><rect x='44' y='38' width='4' height='4'/><rect x='54' y='34' width='4' height='4'/><rect x='62' y='40' width='4' height='4'/><rect x='38' y='46' width='4' height='4'/><rect x='50' y='52' width='4' height='4'/><rect x='62' y='56' width='4' height='4'/><rect x='34' y='60' width='4' height='4'/><rect x='44' y='66' width='4' height='4'/><rect x='56' y='62' width='4' height='4'/><rect x='80' y='80' width='4' height='4'/><rect x='88' y='86' width='4' height='4'/></g><text x='50' y='54' text-anchor='middle' font-family='sans-serif' font-size='6' font-weight='bold' fill='%23888'>QR</text></svg>" alt="QR placeholder — replace with your real QR before printing">
901
+ <div class="qr-label">Paper &amp; Code</div>
902
+ </div>
903
+ </div>
904
+ </header>
905
+
906
+ <!-- ===================== BODY: HERO-GRID =====================
907
+ The HERO panel is the single dominant element on this template. The
908
+ supporting column on the right carries 3-4 short cards that frame the
909
+ hero. Their last card must visually bottom-align with the hero's
910
+ bottom — see the strict-alignment CSS comment near `.hero-grid` above. -->
911
+ <div class="hero-grid" data-measure-role="body">
912
+
913
+ <!-- ============ HERO PANEL (LEFT, ~60%) ============ -->
914
+ <section class="hero" data-measure-role="hero">
915
+
916
+ <!-- Optional section title above the hero figure. Drop this whole div if
917
+ you want the figure to fill more vertical space. -->
918
+ <div class="section-title">
919
+ <span class="num">1</span>
920
+ TODO: Hero title &mdash; e.g. &ldquo;System Overview&rdquo; or &ldquo;Headline Result&rdquo;
921
+ <span class="tag-key">&#9733; Main message</span>
922
+ </div>
923
+
924
+ <!-- HERO STAGE: drop in ONE big figure / table / system diagram here.
925
+ NOTE: no border on the image itself — the stage container is the frame.
926
+ The hero image MUST be a paper figure (data-source + data-asset-id). -->
927
+ <div class="hero-stage">
928
+ <!-- Replace the placeholder with your hero figure:
929
+ <img src="assets/paper_figures/hero.png" data-source="paper"
930
+ data-asset-id="hero" alt="Hero figure"> -->
931
+ <div class="stage-placeholder">
932
+ TODO: drop your hero figure / table / system diagram here.<br>
933
+ Use a single, high-information-density image &mdash; this is the
934
+ poster's central message.
935
+ </div>
936
+ </div>
937
+
938
+ <!-- Optional caption directly under the hero. -->
939
+ <div class="hero-caption">
940
+ <strong>Figure 1.</strong> TODO: one-sentence caption explaining the
941
+ hero figure. If panels exist, label them here in one line each
942
+ (e.g. <em>Left</em> / <em>Middle</em> / <em>Right</em>).
943
+ </div>
944
+
945
+ <!-- Optional small text block. Keep it short so the figure stays the hero.
946
+ Delete this whole div if your figure is self-explanatory. -->
947
+ <div class="hero-aside">
948
+ TODO: 2-3 sentences of context &mdash; what the viewer is looking at,
949
+ and what one specific number / shape / pattern they should walk away
950
+ remembering. Use <span class="keyword">accent</span> for the term you
951
+ want their eye to land on.
952
+ </div>
953
+
954
+ </section>
955
+
956
+ <!-- ============ SUPPORTING COLUMN (RIGHT, ~40%) ============
957
+ 3-4 stacked cards. Their LAST card's bottom edge must align with the
958
+ hero panel's bottom edge to within 5 px (< 3 px ideal). The flex
959
+ `justify-content: space-between` does most of the work; if drift
960
+ remains, expand the content of the shortest card by one line, or bump
961
+ the gap on `.column` from 6u to 7u. -->
962
+ <div class="column" data-measure-role="column">
963
+
964
+ <div class="card highlight" data-measure-role="card">
965
+ <div class="section-title"><span class="num">2</span> Motivation</div>
966
+ <p class="body-text">
967
+ TODO: 2-3 sentences on the problem. Use <span class="keyword">accent
968
+ color</span> for terms you want the eye to land on.
969
+ </p>
970
+ <ul class="mt-3 fs-4">
971
+ <li>TODO: pain point 1.</li>
972
+ <li>TODO: pain point 2.</li>
973
+ </ul>
974
+ </div>
975
+
976
+ <div class="card" data-measure-role="card">
977
+ <div class="section-title"><span class="num">3</span> Method</div>
978
+ <p class="body-text">
979
+ TODO: 1-2 sentences on the central method. Reference the hero figure
980
+ if it shows the system pipeline.
981
+ </p>
982
+ <div class="eqn">
983
+ <span class="label">Core equation</span>
984
+ $$f(x) \;=\; \text{TODO}$$
985
+ </div>
986
+ <p class="body-text">TODO: one-line interpretation.</p>
987
+ </div>
988
+
989
+ <div class="card" data-measure-role="card">
990
+ <div class="section-title"><span class="num">4</span> Why It Works</div>
991
+ <p class="body-text">
992
+ TODO: 1-2 sentences on the key insight or guarantee.
993
+ </p>
994
+ <div class="callout gold">
995
+ <strong>Theorem.</strong> TODO: one-sentence statement, with
996
+ $\varepsilon$ bounds if applicable.
997
+ </div>
998
+ </div>
999
+
1000
+ <div class="card highlight" data-measure-role="card">
1001
+ <div class="section-title"><span class="num">5</span> Numbers at a Glance</div>
1002
+ <p class="body-text text-secondary fs-3 mb-2">
1003
+ TODO: setup line &mdash; dataset, # samples, baselines.
1004
+ </p>
1005
+ <div class="keybox">
1006
+ <div class="kb-item"><div class="kb-num">A</div><div class="kb-label">stat 1<br>caption</div></div>
1007
+ <div class="kb-item"><div class="kb-num">B</div><div class="kb-label">stat 2<br>caption</div></div>
1008
+ <div class="kb-item"><div class="kb-num">C</div><div class="kb-label">stat 3<br>caption</div></div>
1009
+ </div>
1010
+ <div class="callout mt-4">
1011
+ TODO: one-sentence bottom-line takeaway.
1012
+ </div>
1013
+ </div>
1014
+
1015
+ </div>
1016
+
1017
+ </div>
1018
+
1019
+ <!-- ============================ OPTIONAL TAKEAWAYS STRIP ============================ -->
1020
+ <section class="takeaways-strip" data-measure-role="footer-strip">
1021
+ <div class="ts-title"><span class="num">6</span> Takeaways</div>
1022
+ <div class="ts-item"><span class="ts-key">Idea.</span><span class="ts-text">TODO: 1-line.</span></div>
1023
+ <div class="ts-item"><span class="ts-key">Method.</span><span class="ts-text">TODO: 1-line.</span></div>
1024
+ <div class="ts-item"><span class="ts-key">Result.</span><span class="ts-text">TODO: 1-line.</span></div>
1025
+ <div class="ts-item"><span class="ts-key">Practical.</span><span class="ts-text">TODO: 1-line.</span></div>
1026
+ </section>
1027
+
1028
+ <!-- ============================ FOOTER ============================ -->
1029
+ <div class="footer" data-measure-role="footer">
1030
+ <div>
1031
+ <strong class="method-name">METHOD NAME</strong> &middot; Venue Year &middot;
1032
+ Acknowledgements: TODO.
1033
+ </div>
1034
+ <div>
1035
+ Code: <span class="repo">github.com/&lt;org&gt;/&lt;repo&gt;</span> &nbsp;&middot;&nbsp;
1036
+ Contact: <span class="repo">presenter@example.com</span>
1037
+ </div>
1038
+ </div>
1039
+
1040
+ <!-- Optional watermark — delete if you don't want it. -->
1041
+ <div class="ornament">LAB &middot; INSTITUTION</div>
1042
+
1043
+ </div>
1044
+
1045
+ </body>
1046
+ </html>