dsh-aris-panel 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +98 -0
- package/README_CN.md +87 -0
- package/dsh/checkout.patch.yml +38 -0
- package/dsh/client.js +634 -0
- package/dsh/cordis.patch.yml +44 -0
- package/dsh/index.mjs +76 -0
- package/dsh/run-status.mjs +182 -0
- package/dsh/scope-limits.mjs +50 -0
- package/dsh/workbench.mjs +291 -0
- package/mcp-servers/claude-review/README.md +93 -0
- package/mcp-servers/claude-review/run_with_claude_aws.sh +49 -0
- package/mcp-servers/claude-review/server.py +718 -0
- package/mcp-servers/codex-image2/README.md +65 -0
- package/mcp-servers/codex-image2/server.py +893 -0
- package/mcp-servers/feishu-bridge/requirements.txt +1 -0
- package/mcp-servers/feishu-bridge/server.py +240 -0
- package/mcp-servers/gemini-review/README.md +171 -0
- package/mcp-servers/gemini-review/server.py +1856 -0
- package/mcp-servers/llm-chat/requirements.txt +1 -0
- package/mcp-servers/llm-chat/server.py +664 -0
- package/mcp-servers/manual-review/README.md +133 -0
- package/mcp-servers/manual-review/server.py +910 -0
- package/mcp-servers/manual-review/ui.html +279 -0
- package/mcp-servers/minimax-chat/requirements.txt +1 -0
- package/mcp-servers/minimax-chat/server.py +381 -0
- package/package.json +51 -0
- package/skills/ablation-planner/SKILL.md +123 -0
- package/skills/alphaxiv/SKILL.md +196 -0
- package/skills/analyze-results/SKILL.md +46 -0
- package/skills/arxiv/SKILL.md +248 -0
- package/skills/auto-paper-improvement-loop/SKILL.md +651 -0
- package/skills/auto-review-loop/SKILL.md +1137 -0
- package/skills/auto-review-loop-llm/SKILL.md +259 -0
- package/skills/auto-review-loop-minimax/SKILL.md +302 -0
- package/skills/citation-audit/SKILL.md +502 -0
- package/skills/claims-drafting/SKILL.md +227 -0
- package/skills/comm-lit-review/SKILL.md +297 -0
- package/skills/deepxiv/SKILL.md +263 -0
- package/skills/dse-loop/SKILL.md +296 -0
- package/skills/embodiment-description/SKILL.md +129 -0
- package/skills/exa-search/SKILL.md +205 -0
- package/skills/experiment-audit/SKILL.md +311 -0
- package/skills/experiment-bridge/SKILL.md +376 -0
- package/skills/experiment-plan/SKILL.md +249 -0
- package/skills/experiment-queue/SKILL.md +431 -0
- package/skills/experiment-queue/scripts/build_manifest.py +142 -0
- package/skills/experiment-queue/scripts/queue_manager.py +433 -0
- package/skills/feishu-notify/SKILL.md +156 -0
- package/skills/figure-description/SKILL.md +138 -0
- package/skills/figure-spec/SKILL.md +262 -0
- package/skills/figure-spec/scripts/figure_renderer.py +799 -0
- package/skills/formula-derivation/SKILL.md +280 -0
- package/skills/gemini-search/SKILL.md +231 -0
- package/skills/grant-proposal/SKILL.md +698 -0
- package/skills/idea-creator/SKILL.md +542 -0
- package/skills/idea-discovery/SKILL.md +521 -0
- package/skills/idea-discovery-robot/SKILL.md +363 -0
- package/skills/integrity-forensics/SKILL.md +284 -0
- package/skills/interview-cheatsheet/SKILL.md +245 -0
- package/skills/invention-structuring/SKILL.md +188 -0
- package/skills/jurisdiction-format/SKILL.md +192 -0
- package/skills/kill-argument/SKILL.md +437 -0
- package/skills/mermaid-diagram/SKILL.md +419 -0
- package/skills/meta-apply/SKILL.md +141 -0
- package/skills/meta-optimize/SKILL.md +437 -0
- package/skills/monitor-experiment/SKILL.md +140 -0
- package/skills/novelty-check/SKILL.md +101 -0
- package/skills/openalex/SKILL.md +237 -0
- package/skills/overleaf-sync/SKILL.md +220 -0
- package/skills/paper-claim-audit/SKILL.md +348 -0
- package/skills/paper-compile/SKILL.md +266 -0
- package/skills/paper-figure/SKILL.md +312 -0
- package/skills/paper-illustration/SKILL.md +736 -0
- package/skills/paper-illustration-image2/SKILL.md +391 -0
- package/skills/paper-illustration-image2/scripts/paper_illustration_image2.py +255 -0
- package/skills/paper-plan/SKILL.md +386 -0
- package/skills/paper-poster/SKILL.md +19 -0
- package/skills/paper-poster-html/DESIGN_FINAL.md +176 -0
- package/skills/paper-poster-html/IMPLEMENTATION_CONVENTIONS.md +161 -0
- package/skills/paper-poster-html/LICENSES/posterly-MIT.txt +21 -0
- package/skills/paper-poster-html/NOTICE.md +57 -0
- package/skills/paper-poster-html/SKILL.md +323 -0
- package/skills/paper-poster-html/scripts/_posterly/__init__.py +0 -0
- package/skills/paper-poster-html/scripts/_posterly/canvas.py +200 -0
- package/skills/paper-poster-html/scripts/_posterly/measure.py +588 -0
- package/skills/paper-poster-html/scripts/_posterly/polish.py +498 -0
- package/skills/paper-poster-html/scripts/_posterly/preflight.py +489 -0
- package/skills/paper-poster-html/scripts/_posterly/render.py +215 -0
- package/skills/paper-poster-html/scripts/_posterly/textutil.py +16 -0
- package/skills/paper-poster-html/scripts/_posterly/verify_final.py +171 -0
- package/skills/paper-poster-html/scripts/asset_check.py +897 -0
- package/skills/paper-poster-html/scripts/extract_pdf_figures.py +666 -0
- package/skills/paper-poster-html/scripts/poster_check.py +251 -0
- package/skills/paper-poster-html/scripts/preprocess_figures.py +238 -0
- package/skills/paper-poster-html/scripts/render_preview.py +217 -0
- package/skills/paper-poster-html/scripts/run_gates.py +556 -0
- package/skills/paper-poster-html/scripts/style_check.py +1324 -0
- package/skills/paper-poster-html/templates/COMPONENTS.md +462 -0
- package/skills/paper-poster-html/templates/README.md +170 -0
- package/skills/paper-poster-html/templates/landscape_4col.html +1032 -0
- package/skills/paper-poster-html/templates/landscape_hero.html +1046 -0
- package/skills/paper-poster-html/templates/portrait_2col.html +947 -0
- package/skills/paper-poster-html/templates/tokens/acl.json +9 -0
- package/skills/paper-poster-html/templates/tokens/cvpr.json +9 -0
- package/skills/paper-poster-html/templates/tokens/generic.json +9 -0
- package/skills/paper-poster-html/templates/tokens/iclr.json +9 -0
- package/skills/paper-poster-html/templates/tokens/icml.json +9 -0
- package/skills/paper-poster-html/templates/tokens/neurips.json +9 -0
- package/skills/paper-slides/SKILL.md +635 -0
- package/skills/paper-talk/SKILL.md +381 -0
- package/skills/paper-write/SKILL.md +604 -0
- package/skills/paper-write/templates/IEEEtran.bst +2409 -0
- package/skills/paper-write/templates/IEEEtran.cls +6347 -0
- package/skills/paper-write/templates/iclr2026.tex +84 -0
- package/skills/paper-write/templates/icml2025.tex +87 -0
- package/skills/paper-write/templates/ieee_conference.tex +89 -0
- package/skills/paper-write/templates/ieee_journal.tex +93 -0
- package/skills/paper-write/templates/math_commands.tex +48 -0
- package/skills/paper-write/templates/neurips2025.tex +80 -0
- package/skills/paper-writing/SKILL.md +916 -0
- package/skills/patent-novelty-check/SKILL.md +153 -0
- package/skills/patent-pipeline/SKILL.md +344 -0
- package/skills/patent-review/SKILL.md +203 -0
- package/skills/pixel-art/SKILL.md +137 -0
- package/skills/prior-art-search/SKILL.md +146 -0
- package/skills/proof-checker/SKILL.md +866 -0
- package/skills/proof-orchestrator/NOTICE.md +24 -0
- package/skills/proof-orchestrator/SKILL.md +254 -0
- package/skills/proof-orchestrator/references/audit-output-contract.md +126 -0
- package/skills/proof-orchestrator/references/deepseek-routing.md +74 -0
- package/skills/proof-orchestrator/references/dispatch-prompts.md +227 -0
- package/skills/proof-orchestrator/references/notation-audit.md +135 -0
- package/skills/proof-orchestrator/references/proof-audit-rubric.md +70 -0
- package/skills/proof-orchestrator/references/stress-tests.md +38 -0
- package/skills/proof-writer/SKILL.md +223 -0
- package/skills/qzcli/SKILL.md +324 -0
- package/skills/rebuttal/SKILL.md +376 -0
- package/skills/render-html/SKILL.md +316 -0
- package/skills/render-html/scripts/render_html.py +1006 -0
- package/skills/render-html/scripts/templates/academic.html +703 -0
- package/skills/render-html/scripts/templates/dashboard.html +333 -0
- package/skills/research-lit/SKILL.md +756 -0
- package/skills/research-pipeline/SKILL.md +384 -0
- package/skills/research-refine/SKILL.md +770 -0
- package/skills/research-refine-pipeline/SKILL.md +186 -0
- package/skills/research-review/SKILL.md +198 -0
- package/skills/research-wiki/SKILL.md +461 -0
- package/skills/resubmit-pipeline/SKILL.md +447 -0
- package/skills/result-to-claim/SKILL.md +311 -0
- package/skills/run-experiment/SKILL.md +313 -0
- package/skills/semantic-scholar/SKILL.md +236 -0
- package/skills/serverless-modal/SKILL.md +335 -0
- package/skills/shared-references/acceptance-gate.md +324 -0
- package/skills/shared-references/assurance-contract.md +248 -0
- package/skills/shared-references/capture-antipatterns.md +78 -0
- package/skills/shared-references/citation-discipline.md +583 -0
- package/skills/shared-references/compute-env-contract.md +163 -0
- package/skills/shared-references/effort-contract.md +183 -0
- package/skills/shared-references/evidence-precheck.md +65 -0
- package/skills/shared-references/experiment-integrity.md +49 -0
- package/skills/shared-references/external-cadence.md +326 -0
- package/skills/shared-references/fan-out-pattern.md +366 -0
- package/skills/shared-references/injection-hygiene.md +127 -0
- package/skills/shared-references/integration-contract.md +461 -0
- package/skills/shared-references/output-composition.md +93 -0
- package/skills/shared-references/output-language.md +45 -0
- package/skills/shared-references/output-manifest.md +49 -0
- package/skills/shared-references/output-versioning.md +111 -0
- package/skills/shared-references/patent-format-cn.md +199 -0
- package/skills/shared-references/patent-format-ep.md +173 -0
- package/skills/shared-references/patent-format-us.md +161 -0
- package/skills/shared-references/patent-writing-principles.md +197 -0
- package/skills/shared-references/prior-art-databases.md +141 -0
- package/skills/shared-references/resumable-runs.md +109 -0
- package/skills/shared-references/review-scope-limits.md +81 -0
- package/skills/shared-references/review-tracing.md +391 -0
- package/skills/shared-references/reviewer-independence.md +79 -0
- package/skills/shared-references/reviewer-routing.md +852 -0
- package/skills/shared-references/skill-governance.md +104 -0
- package/skills/shared-references/taste-calibration.md +85 -0
- package/skills/shared-references/venue-checklists.md +114 -0
- package/skills/shared-references/wiki-helper-resolution.md +134 -0
- package/skills/shared-references/writing-principles.md +525 -0
- package/skills/skills-codex/README.md +102 -0
- package/skills/skills-codex/README_CN.md +100 -0
- package/skills/skills-codex/ablation-planner/SKILL.md +126 -0
- package/skills/skills-codex/alphaxiv/SKILL.md +186 -0
- package/skills/skills-codex/analyze-results/SKILL.md +45 -0
- package/skills/skills-codex/arxiv/SKILL.md +210 -0
- package/skills/skills-codex/auto-paper-improvement-loop/SKILL.md +574 -0
- package/skills/skills-codex/auto-review-loop/SKILL.md +500 -0
- package/skills/skills-codex/auto-review-loop-llm/SKILL.md +247 -0
- package/skills/skills-codex/auto-review-loop-minimax/SKILL.md +290 -0
- package/skills/skills-codex/citation-audit/SKILL.md +504 -0
- package/skills/skills-codex/claims-drafting/SKILL.md +239 -0
- package/skills/skills-codex/comm-lit-review/SKILL.md +299 -0
- package/skills/skills-codex/comm-lit-review/references/domain-taxonomy.md +57 -0
- package/skills/skills-codex/comm-lit-review/references/output-template.md +37 -0
- package/skills/skills-codex/comm-lit-review/references/source-policy.md +99 -0
- package/skills/skills-codex/comm-lit-review/references/venue-tiering.md +112 -0
- package/skills/skills-codex/deepxiv/SKILL.md +142 -0
- package/skills/skills-codex/dse-loop/SKILL.md +285 -0
- package/skills/skills-codex/embodiment-description/SKILL.md +129 -0
- package/skills/skills-codex/exa-search/SKILL.md +192 -0
- package/skills/skills-codex/experiment-audit/SKILL.md +286 -0
- package/skills/skills-codex/experiment-bridge/SKILL.md +356 -0
- package/skills/skills-codex/experiment-plan/SKILL.md +249 -0
- package/skills/skills-codex/experiment-queue/SKILL.md +401 -0
- package/skills/skills-codex/feishu-notify/SKILL.md +155 -0
- package/skills/skills-codex/figure-description/SKILL.md +138 -0
- package/skills/skills-codex/figure-spec/SKILL.md +252 -0
- package/skills/skills-codex/formula-derivation/SKILL.md +280 -0
- package/skills/skills-codex/gemini-search/SKILL.md +205 -0
- package/skills/skills-codex/grant-proposal/SKILL.md +626 -0
- package/skills/skills-codex/idea-creator/SKILL.md +405 -0
- package/skills/skills-codex/idea-discovery/SKILL.md +475 -0
- package/skills/skills-codex/idea-discovery-robot/SKILL.md +362 -0
- package/skills/skills-codex/integrity-forensics/SKILL.md +106 -0
- package/skills/skills-codex/interview-cheatsheet/SKILL.md +245 -0
- package/skills/skills-codex/invention-structuring/SKILL.md +188 -0
- package/skills/skills-codex/jurisdiction-format/SKILL.md +192 -0
- package/skills/skills-codex/kill-argument/SKILL.md +403 -0
- package/skills/skills-codex/mermaid-diagram/SKILL.md +379 -0
- package/skills/skills-codex/meta-apply/SKILL.md +154 -0
- package/skills/skills-codex/meta-optimize/SKILL.md +348 -0
- package/skills/skills-codex/monitor-experiment/SKILL.md +98 -0
- package/skills/skills-codex/novelty-check/SKILL.md +89 -0
- package/skills/skills-codex/openalex/SKILL.md +228 -0
- package/skills/skills-codex/overleaf-sync/SKILL.md +220 -0
- package/skills/skills-codex/paper-claim-audit/SKILL.md +350 -0
- package/skills/skills-codex/paper-compile/SKILL.md +253 -0
- package/skills/skills-codex/paper-figure/SKILL.md +311 -0
- package/skills/skills-codex/paper-illustration/SKILL.md +690 -0
- package/skills/skills-codex/paper-illustration-image2/SKILL.md +383 -0
- package/skills/skills-codex/paper-illustration-image2/scripts/paper_illustration_image2.py +255 -0
- package/skills/skills-codex/paper-plan/SKILL.md +278 -0
- package/skills/skills-codex/paper-poster/SKILL.md +19 -0
- package/skills/skills-codex/paper-poster-html/SKILL.md +377 -0
- package/skills/skills-codex/paper-slides/SKILL.md +571 -0
- package/skills/skills-codex/paper-talk/SKILL.md +381 -0
- package/skills/skills-codex/paper-write/SKILL.md +411 -0
- package/skills/skills-codex/paper-write/templates/IEEEtran.bst +2409 -0
- package/skills/skills-codex/paper-write/templates/IEEEtran.cls +6347 -0
- package/skills/skills-codex/paper-write/templates/aaai2026.bst +1493 -0
- package/skills/skills-codex/paper-write/templates/aaai2026.sty +315 -0
- package/skills/skills-codex/paper-write/templates/aaai2026.tex +952 -0
- package/skills/skills-codex/paper-write/templates/acl.sty +312 -0
- package/skills/skills-codex/paper-write/templates/acl2026.tex +377 -0
- package/skills/skills-codex/paper-write/templates/acl_natbib.bst +1940 -0
- package/skills/skills-codex/paper-write/templates/acm.bst +3081 -0
- package/skills/skills-codex/paper-write/templates/acm_mm2026.tex +204 -0
- package/skills/skills-codex/paper-write/templates/acmart.cls +3520 -0
- package/skills/skills-codex/paper-write/templates/cvpr.bst +1448 -0
- package/skills/skills-codex/paper-write/templates/cvpr.sty +508 -0
- package/skills/skills-codex/paper-write/templates/cvpr2026.tex +63 -0
- package/skills/skills-codex/paper-write/templates/iclr2026.tex +84 -0
- package/skills/skills-codex/paper-write/templates/iclr2026_conference.bst +1440 -0
- package/skills/skills-codex/paper-write/templates/iclr2026_conference.sty +246 -0
- package/skills/skills-codex/paper-write/templates/icml2026.sty +767 -0
- package/skills/skills-codex/paper-write/templates/icml2026.tex +662 -0
- package/skills/skills-codex/paper-write/templates/ieee_conference.tex +89 -0
- package/skills/skills-codex/paper-write/templates/ieee_journal.tex +93 -0
- package/skills/skills-codex/paper-write/templates/math_commands.tex +48 -0
- package/skills/skills-codex/paper-write/templates/neurips2026.tex +493 -0
- package/skills/skills-codex/paper-write/templates/neurips_2026.sty +437 -0
- package/skills/skills-codex/paper-writing/SKILL.md +731 -0
- package/skills/skills-codex/patent-novelty-check/SKILL.md +153 -0
- package/skills/skills-codex/patent-pipeline/SKILL.md +344 -0
- package/skills/skills-codex/patent-review/SKILL.md +202 -0
- package/skills/skills-codex/pixel-art/SKILL.md +139 -0
- package/skills/skills-codex/prior-art-search/SKILL.md +146 -0
- package/skills/skills-codex/proof-checker/SKILL.md +554 -0
- package/skills/skills-codex/proof-orchestrator/SKILL.md +260 -0
- package/skills/skills-codex/proof-orchestrator/references/audit-output-contract.md +126 -0
- package/skills/skills-codex/proof-orchestrator/references/deepseek-routing.md +76 -0
- package/skills/skills-codex/proof-orchestrator/references/dispatch-prompts.md +227 -0
- package/skills/skills-codex/proof-orchestrator/references/notation-audit.md +135 -0
- package/skills/skills-codex/proof-orchestrator/references/proof-audit-rubric.md +70 -0
- package/skills/skills-codex/proof-orchestrator/references/stress-tests.md +38 -0
- package/skills/skills-codex/proof-writer/SKILL.md +222 -0
- package/skills/skills-codex/qzcli/SKILL.md +324 -0
- package/skills/skills-codex/rebuttal/SKILL.md +305 -0
- package/skills/skills-codex/render-html/SKILL.md +305 -0
- package/skills/skills-codex/render-html/scripts/__pycache__/render_html.cpython-314.pyc +0 -0
- package/skills/skills-codex/render-html/scripts/render_html.py +909 -0
- package/skills/skills-codex/render-html/scripts/templates/academic.html +342 -0
- package/skills/skills-codex/render-html/scripts/templates/dashboard.html +333 -0
- package/skills/skills-codex/research-lit/SKILL.md +464 -0
- package/skills/skills-codex/research-pipeline/SKILL.md +340 -0
- package/skills/skills-codex/research-refine/SKILL.md +721 -0
- package/skills/skills-codex/research-refine-pipeline/SKILL.md +186 -0
- package/skills/skills-codex/research-review/SKILL.md +135 -0
- package/skills/skills-codex/research-wiki/SKILL.md +421 -0
- package/skills/skills-codex/resubmit-pipeline/SKILL.md +444 -0
- package/skills/skills-codex/result-to-claim/SKILL.md +246 -0
- package/skills/skills-codex/run-experiment/SKILL.md +236 -0
- package/skills/skills-codex/semantic-scholar/SKILL.md +219 -0
- package/skills/skills-codex/serverless-modal/SKILL.md +335 -0
- package/skills/skills-codex/shared-references/acceptance-gate.md +336 -0
- package/skills/skills-codex/shared-references/assurance-contract.md +139 -0
- package/skills/skills-codex/shared-references/capture-antipatterns.md +84 -0
- package/skills/skills-codex/shared-references/citation-discipline.md +452 -0
- package/skills/skills-codex/shared-references/compute-env-contract.md +163 -0
- package/skills/skills-codex/shared-references/effort-contract.md +143 -0
- package/skills/skills-codex/shared-references/evidence-precheck.md +73 -0
- package/skills/skills-codex/shared-references/experiment-integrity.md +49 -0
- package/skills/skills-codex/shared-references/external-cadence.md +334 -0
- package/skills/skills-codex/shared-references/fan-out-pattern.md +375 -0
- package/skills/skills-codex/shared-references/injection-hygiene.md +132 -0
- package/skills/skills-codex/shared-references/integration-contract.md +372 -0
- package/skills/skills-codex/shared-references/output-composition.md +98 -0
- package/skills/skills-codex/shared-references/output-language.md +45 -0
- package/skills/skills-codex/shared-references/output-manifest.md +40 -0
- package/skills/skills-codex/shared-references/output-versioning.md +111 -0
- package/skills/skills-codex/shared-references/patent-format-cn.md +199 -0
- package/skills/skills-codex/shared-references/patent-format-ep.md +173 -0
- package/skills/skills-codex/shared-references/patent-format-us.md +161 -0
- package/skills/skills-codex/shared-references/patent-writing-principles.md +197 -0
- package/skills/skills-codex/shared-references/prior-art-databases.md +141 -0
- package/skills/skills-codex/shared-references/resumable-runs.md +125 -0
- package/skills/skills-codex/shared-references/review-scope-limits.md +81 -0
- package/skills/skills-codex/shared-references/review-tracing.md +144 -0
- package/skills/skills-codex/shared-references/reviewer-independence.md +66 -0
- package/skills/skills-codex/shared-references/reviewer-routing.md +128 -0
- package/skills/skills-codex/shared-references/skill-governance.md +119 -0
- package/skills/skills-codex/shared-references/taste-calibration.md +90 -0
- package/skills/skills-codex/shared-references/venue-checklists.md +73 -0
- package/skills/skills-codex/shared-references/wiki-helper-resolution.md +69 -0
- package/skills/skills-codex/shared-references/writing-principles.md +525 -0
- package/skills/skills-codex/slides-polish/SKILL.md +563 -0
- package/skills/skills-codex/specification-writing/SKILL.md +211 -0
- package/skills/skills-codex/system-profile/SKILL.md +103 -0
- package/skills/skills-codex/training-check/SKILL.md +83 -0
- package/skills/skills-codex/vast-gpu/SKILL.md +394 -0
- package/skills/skills-codex/web-debug-search/SKILL.md +334 -0
- package/skills/skills-codex/wiki-enrich/SKILL.md +255 -0
- package/skills/skills-codex/writing-systems-papers/SKILL.md +184 -0
- package/skills/skills-codex-claude-review/README.md +79 -0
- package/skills/skills-codex-claude-review/README_CN.md +78 -0
- package/skills/skills-codex-claude-review/auto-paper-improvement-loop/SKILL.md +581 -0
- package/skills/skills-codex-claude-review/auto-review-loop/SKILL.md +510 -0
- package/skills/skills-codex-claude-review/novelty-check/SKILL.md +102 -0
- package/skills/skills-codex-claude-review/paper-figure/SKILL.md +319 -0
- package/skills/skills-codex-claude-review/paper-plan/SKILL.md +287 -0
- package/skills/skills-codex-claude-review/paper-write/SKILL.md +420 -0
- package/skills/skills-codex-claude-review/research-refine/SKILL.md +732 -0
- package/skills/skills-codex-claude-review/research-review/SKILL.md +149 -0
- package/skills/skills-codex-gemini-review/README.md +176 -0
- package/skills/skills-codex-gemini-review/README_CN.md +175 -0
- package/skills/skills-codex-gemini-review/auto-paper-improvement-loop/SKILL.md +331 -0
- package/skills/skills-codex-gemini-review/auto-review-loop/SKILL.md +304 -0
- package/skills/skills-codex-gemini-review/grant-proposal/SKILL.md +630 -0
- package/skills/skills-codex-gemini-review/idea-creator/SKILL.md +263 -0
- package/skills/skills-codex-gemini-review/idea-discovery/SKILL.md +275 -0
- package/skills/skills-codex-gemini-review/idea-discovery-robot/SKILL.md +365 -0
- package/skills/skills-codex-gemini-review/novelty-check/SKILL.md +92 -0
- package/skills/skills-codex-gemini-review/paper-figure/SKILL.md +289 -0
- package/skills/skills-codex-gemini-review/paper-plan/SKILL.md +265 -0
- package/skills/skills-codex-gemini-review/paper-poster-html/SKILL.md +102 -0
- package/skills/skills-codex-gemini-review/paper-slides/SKILL.md +582 -0
- package/skills/skills-codex-gemini-review/paper-write/SKILL.md +346 -0
- package/skills/skills-codex-gemini-review/paper-writing/SKILL.md +312 -0
- package/skills/skills-codex-gemini-review/research-refine/SKILL.md +674 -0
- package/skills/skills-codex-gemini-review/research-review/SKILL.md +112 -0
- package/skills/slides-polish/SKILL.md +565 -0
- package/skills/specification-writing/SKILL.md +211 -0
- package/skills/system-profile/SKILL.md +103 -0
- package/skills/training-check/SKILL.md +132 -0
- package/skills/vast-gpu/SKILL.md +394 -0
- package/skills/web-debug-search/SKILL.md +334 -0
- package/skills/wiki-enrich/SKILL.md +257 -0
- package/skills/writing-systems-papers/SKILL.md +184 -0
- package/templates/CLAUDE_MD_TEMPLATE.md +29 -0
- package/templates/EXPERIMENT_LOG_TEMPLATE.md +47 -0
- package/templates/EXPERIMENT_PLAN_TEMPLATE.md +51 -0
- package/templates/EXPERIMENT_PLAN_TEMPLATE_CN.md +53 -0
- package/templates/FINDINGS_TEMPLATE.md +52 -0
- package/templates/IDEA_CANDIDATES_TEMPLATE.md +47 -0
- package/templates/IDEA_CANDIDATES_TEMPLATE_CN.md +47 -0
- package/templates/INVENTION_BRIEF_TEMPLATE.md +87 -0
- package/templates/MANIFEST_TEMPLATE.md +7 -0
- package/templates/NARRATIVE_REPORT_TEMPLATE.md +49 -0
- package/templates/PAPER_PLAN_TEMPLATE.md +47 -0
- package/templates/PATENT_CLAIMS_TEMPLATE.md +78 -0
- package/templates/PATENT_SPECIFICATION_TEMPLATE.md +68 -0
- package/templates/README.md +57 -0
- package/templates/RESEARCH_BRIEF_TEMPLATE.md +35 -0
- package/templates/RESEARCH_BRIEF_TEMPLATE_CN.md +41 -0
- package/templates/RESEARCH_CONTRACT_TEMPLATE.md +60 -0
- package/templates/claude-hooks/corpus_write_guard.json +16 -0
- package/templates/claude-hooks/corpus_write_guard.py +85 -0
- package/templates/claude-hooks/meta_logging.json +74 -0
- package/templates/gitignore-trace.txt +3 -0
- package/tools/__pycache__/check_skills_inventory.cpython-314.pyc +0 -0
- package/tools/arxiv_fetch.py +311 -0
- package/tools/capture_filter.py +126 -0
- package/tools/check_skills_inventory.py +273 -0
- package/tools/convert_skills_to_llm_chat.py +282 -0
- package/tools/copilot_native_evidence.py +818 -0
- package/tools/deepxiv_fetch.py +213 -0
- package/tools/evidence_check.py +212 -0
- package/tools/exa_search.py +425 -0
- package/tools/experiment_queue/README.md +118 -0
- package/tools/experiment_queue/build_manifest.py +44 -0
- package/tools/experiment_queue/queue_manager.py +44 -0
- package/tools/extract_paper_style.py +560 -0
- package/tools/figure_renderer.py +69 -0
- package/tools/forensics_gate.py +669 -0
- package/tools/generate_codex_claude_review_overrides.py +299 -0
- package/tools/idea_discovery_gate.py +256 -0
- package/tools/install_aris.ps1 +1372 -0
- package/tools/install_aris.sh +1370 -0
- package/tools/install_aris_codex.sh +1023 -0
- package/tools/install_aris_copilot.sh +1052 -0
- package/tools/iteration_log.py +143 -0
- package/tools/lint_skills_helpers.sh +84 -0
- package/tools/meta_opt/check_ready.sh +80 -0
- package/tools/meta_opt/log_event.sh +91 -0
- package/tools/meta_opt/trigger_eval.py +280 -0
- package/tools/meta_opt/trigger_evals.sample.json +28 -0
- package/tools/openalex_fetch.py +326 -0
- package/tools/overleaf_audit.sh +104 -0
- package/tools/overleaf_setup.sh +150 -0
- package/tools/paper_illustration_image2.py +62 -0
- package/tools/provenance.py +294 -0
- package/tools/research_wiki.py +1720 -0
- package/tools/review_gate.py +502 -0
- package/tools/run_state.py +399 -0
- package/tools/save_trace.sh +477 -0
- package/tools/semantic_scholar_fetch.py +438 -0
- package/tools/skill-groups.tsv +116 -0
- package/tools/skill_picker.py +238 -0
- package/tools/smart_update.ps1 +521 -0
- package/tools/smart_update.sh +591 -0
- package/tools/smart_update_codex.sh +419 -0
- package/tools/smart_update_copilot.sh +605 -0
- package/tools/threat_scan.py +222 -0
- package/tools/verify_paper_audits.sh +487 -0
- package/tools/verify_papers.py +613 -0
- package/tools/verify_wiki_coverage.sh +176 -0
- package/tools/watchdog.py +485 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: figure-description
|
|
3
|
+
description: "Process user-provided patent figures and generate formal drawing descriptions. Use when user says \"附图处理\", \"figure description\", \"附图说明\", \"drawings description\", or wants to describe patent figures with reference numerals."
|
|
4
|
+
argument-hint: "[figure-directory-or-figure-list]"
|
|
5
|
+
allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, WebSearch, WebFetch
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Figure Description for Patents
|
|
9
|
+
|
|
10
|
+
Process patent figures and generate drawing descriptions based on: **$ARGUMENTS**
|
|
11
|
+
|
|
12
|
+
Unlike `/paper-figure` which generates data plots, this skill processes user-provided technical diagrams and assigns reference numerals.
|
|
13
|
+
|
|
14
|
+
## Constants
|
|
15
|
+
|
|
16
|
+
- `FIGURE_DIR = "patent/figures/"` — Output directory for figure descriptions
|
|
17
|
+
- `REFERENCE_NUMERAL_PREFIX = 100` — Starting numeral for first figure's components
|
|
18
|
+
- `NUMERAL_SERIES = 100` — Each figure uses a separate 100-series (Fig 1: 100-199, Fig 2: 200-299, etc.)
|
|
19
|
+
|
|
20
|
+
## Inputs
|
|
21
|
+
|
|
22
|
+
1. User-provided figures (PNG, JPG, SVG, PDF) — search for them in the project directory
|
|
23
|
+
2. `patent/INVENTION_DISCLOSURE.md` — for understanding what components to identify
|
|
24
|
+
3. `patent/CLAIMS.md` — for mapping numerals to claim elements
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
### Step 1: Discover Figures
|
|
29
|
+
|
|
30
|
+
1. Search the project directory for figure files:
|
|
31
|
+
- Check `patent/figures/`, `figures/`, root directory
|
|
32
|
+
- Look for PNG, JPG, SVG, PDF files
|
|
33
|
+
- Check INVENTION_BRIEF.md or INVENTION_DISCLOSURE.md for figure references
|
|
34
|
+
2. List all discovered figures with their paths
|
|
35
|
+
3. If figures are missing that claims require, note them as `[MISSING: description needed]`
|
|
36
|
+
|
|
37
|
+
### Step 2: Analyze Each Figure
|
|
38
|
+
|
|
39
|
+
For each figure found:
|
|
40
|
+
|
|
41
|
+
1. **Read the image** using the Read tool (supports image files)
|
|
42
|
+
2. **Identify components**: What labeled or visually distinct components are shown?
|
|
43
|
+
3. **Identify connections**: How do components relate to each other?
|
|
44
|
+
4. **Identify flow**: If it's a flowchart or sequence, what is the step order?
|
|
45
|
+
|
|
46
|
+
### Step 3: Assign Reference Numerals
|
|
47
|
+
|
|
48
|
+
For each figure, assign numerals using the series convention:
|
|
49
|
+
|
|
50
|
+
| Figure | Numeral Range |
|
|
51
|
+
|--------|-------------|
|
|
52
|
+
| FIG. 1 | 100-199 |
|
|
53
|
+
| FIG. 2 | 200-299 |
|
|
54
|
+
| FIG. 3 | 300-399 |
|
|
55
|
+
|
|
56
|
+
For each identified component:
|
|
57
|
+
- Assign the next available numeral in the series
|
|
58
|
+
- Cross-reference to the claim elements it supports
|
|
59
|
+
- Note if a component appears in multiple figures (use same numeral across figures)
|
|
60
|
+
|
|
61
|
+
### Step 4: Generate Drawing Descriptions
|
|
62
|
+
|
|
63
|
+
Write formal drawing descriptions (附图说明):
|
|
64
|
+
|
|
65
|
+
**For CN jurisdiction (Chinese)**:
|
|
66
|
+
```
|
|
67
|
+
图1是[发明名称]的系统结构示意图;
|
|
68
|
+
图2是[发明名称]的方法流程图;
|
|
69
|
+
图3是[具体组件]的详细结构示意图;
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**For US/EP jurisdiction (English)**:
|
|
73
|
+
```
|
|
74
|
+
FIG. 1 is a block diagram illustrating the system architecture according to one embodiment;
|
|
75
|
+
FIG. 2 is a flowchart illustrating the method steps according to one embodiment;
|
|
76
|
+
FIG. 3 is a detailed view of the processing module of FIG. 1;
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Step 5: Generate Reference Numeral Index
|
|
80
|
+
|
|
81
|
+
Create a complete mapping:
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
## Reference Numeral Index
|
|
85
|
+
|
|
86
|
+
| Numeral | Component Name | Figure(s) | Claim Element |
|
|
87
|
+
|---------|---------------|-----------|---------------|
|
|
88
|
+
| 100 | System | FIG. 1 | Claim X preamble |
|
|
89
|
+
| 102 | Processor | FIG. 1 | Claim X, element 1 |
|
|
90
|
+
| 104 | Memory | FIG. 1 | Claim X, element 2 |
|
|
91
|
+
| 106 | Communication bus | FIG. 1 | Claim X, element 3 |
|
|
92
|
+
| 200 | Method | FIG. 2 | Claim 1 preamble |
|
|
93
|
+
| 202 | Receiving step | FIG. 2 | Claim 1, step 1 |
|
|
94
|
+
| 204 | Processing step | FIG. 2 | Claim 1, step 2 |
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Step 6: Cross-Reference to Claims
|
|
98
|
+
|
|
99
|
+
Verify that every claim element has at least one reference numeral:
|
|
100
|
+
|
|
101
|
+
| Claim Element | Figure | Numeral | Status |
|
|
102
|
+
|---------------|--------|---------|--------|
|
|
103
|
+
| [element] | [which fig] | [numeral] | Covered / [MISSING] |
|
|
104
|
+
|
|
105
|
+
If any claim element has no corresponding figure or numeral, flag it:
|
|
106
|
+
- `[MISSING FIGURE: Need a diagram showing {element description}]`
|
|
107
|
+
- `[MISSING NUMERAL: Component {name} in figure {X} needs a numeral]`
|
|
108
|
+
|
|
109
|
+
### Step 7: Output
|
|
110
|
+
|
|
111
|
+
Write `patent/figures/figure_descriptions.md`:
|
|
112
|
+
```markdown
|
|
113
|
+
## Figure Descriptions
|
|
114
|
+
|
|
115
|
+
### FIG. 1 — [Description]
|
|
116
|
+
[Formal one-paragraph description with all reference numerals]
|
|
117
|
+
|
|
118
|
+
### FIG. 2 — [Description]
|
|
119
|
+
[Formal one-paragraph description with all reference numerals]
|
|
120
|
+
...
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Write `patent/figures/numeral_index.md`:
|
|
124
|
+
```markdown
|
|
125
|
+
## Reference Numeral Index
|
|
126
|
+
|
|
127
|
+
[Complete table of all numerals, components, figures, and claim mappings]
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Key Rules
|
|
131
|
+
|
|
132
|
+
- Every component in every figure must have a reference numeral.
|
|
133
|
+
- Every reference numeral must be explained in the specification.
|
|
134
|
+
- Numeral series must be consistent: 100-series for FIG. 1, 200-series for FIG. 2.
|
|
135
|
+
- If the same component appears in multiple figures, use the SAME numeral.
|
|
136
|
+
- Do NOT modify user-provided figures -- only describe them.
|
|
137
|
+
- Flag missing figures that the claims require but the user has not provided.
|
|
138
|
+
- Drawing descriptions are one sentence each, in a consistent format.
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: figure-spec
|
|
3
|
+
description: "Generate deterministic publication-quality architecture, workflow, and pipeline diagrams from structured JSON (FigureSpec) into editable SVG. Use when user says \"架构图\", \"workflow 图\", \"pipeline 图\", \"确定性矢量图\", \"figure spec\", \"draw architecture\", or needs precise, editable, publication-ready vector diagrams. Preferred over AI illustration for formal architecture/workflow figures."
|
|
4
|
+
argument-hint: "[description-of-diagram]"
|
|
5
|
+
allowed-tools: Bash(*), Read, Write, Edit, mcp__codex__codex
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# FigureSpec: Deterministic JSON → SVG Figure Generation
|
|
9
|
+
|
|
10
|
+
Generate publication-quality **architecture diagrams**, **workflow pipelines**, **audit cascades**, and **system topology** figures as editable SVG vector graphics using a deterministic JSON → SVG renderer.
|
|
11
|
+
|
|
12
|
+
## When to Use This Skill
|
|
13
|
+
|
|
14
|
+
**Use `figure-spec`** for:
|
|
15
|
+
- System architecture diagrams (layered, hub-and-spoke, multi-plane)
|
|
16
|
+
- Workflow / pipeline figures
|
|
17
|
+
- Audit cascade / flow-control diagrams
|
|
18
|
+
- Any structured diagram where node positions, connections, and groupings are semantically important
|
|
19
|
+
- Figures that need to be edited/tweaked later (SVG is plain text)
|
|
20
|
+
- Figures where determinism matters (same spec → same SVG)
|
|
21
|
+
|
|
22
|
+
**Do NOT use for:**
|
|
23
|
+
- Data plots (bar/line/scatter) — use `/paper-figure`
|
|
24
|
+
- Natural/qualitative illustrations — use `/paper-illustration`
|
|
25
|
+
- Quick state-machine / flowchart — use `/mermaid-diagram` (lighter syntax)
|
|
26
|
+
|
|
27
|
+
## Core Properties
|
|
28
|
+
|
|
29
|
+
- **Deterministic**: identical FigureSpec JSON always produces identical SVG output (for a fixed renderer version + fonts)
|
|
30
|
+
- **Editable**: SVG output is plain-text, can be post-edited by hand or programmatically
|
|
31
|
+
- **Validated**: renderer enforces schema, rejects malformed specs with clear error messages
|
|
32
|
+
- **Shape-aware**: edge clipping works correctly for rect/rounded/circle/ellipse/diamond
|
|
33
|
+
- **CJK support**: multi-line labels with proper Chinese character width estimation
|
|
34
|
+
- **No external API**: runs fully local, no network, no API keys
|
|
35
|
+
|
|
36
|
+
## Tool Location
|
|
37
|
+
|
|
38
|
+
Phase 3.1 (Arch C) move: the canonical implementation now lives at
|
|
39
|
+
`skills/figure-spec/scripts/figure_renderer.py` (this SKILL's own
|
|
40
|
+
`scripts/` subdirectory). A backwards-compatible shim at
|
|
41
|
+
`tools/figure_renderer.py` forwards to the canonical file via
|
|
42
|
+
`os.execv`, so existing users with `.aris/tools/figure_renderer.py`
|
|
43
|
+
or a manually copied `tools/figure_renderer.py` keep working
|
|
44
|
+
unchanged.
|
|
45
|
+
|
|
46
|
+
Resolve `$FIGURE_RENDERER` with the hybrid chain (layer 0 prefers the
|
|
47
|
+
self-contained location for the owning SKILL; layers 1-4 are the
|
|
48
|
+
shared-runtime chain documented in
|
|
49
|
+
[`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2,
|
|
50
|
+
Policy A — skill-local gate):
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Layer 0: self-contained (CC 1.0+ exposes $CLAUDE_SKILL_DIR).
|
|
54
|
+
FIGURE_RENDERER=""
|
|
55
|
+
if [ -n "${CLAUDE_SKILL_DIR:-}" ] && [ -f "$CLAUDE_SKILL_DIR/scripts/figure_renderer.py" ]; then
|
|
56
|
+
FIGURE_RENDERER="$CLAUDE_SKILL_DIR/scripts/figure_renderer.py"
|
|
57
|
+
fi
|
|
58
|
+
# Layers 1-4: shared-runtime chain (legacy compatibility + non-CC hosts).
|
|
59
|
+
if [ -z "$FIGURE_RENDERER" ]; then
|
|
60
|
+
cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
|
|
61
|
+
if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
|
|
62
|
+
ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
|
|
63
|
+
fi
|
|
64
|
+
if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
|
|
65
|
+
ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
|
|
66
|
+
fi
|
|
67
|
+
FIGURE_RENDERER=".aris/tools/figure_renderer.py"
|
|
68
|
+
[ -f "$FIGURE_RENDERER" ] || FIGURE_RENDERER="tools/figure_renderer.py"
|
|
69
|
+
[ -f "$FIGURE_RENDERER" ] || { [ -n "${ARIS_REPO:-}" ] && FIGURE_RENDERER="$ARIS_REPO/tools/figure_renderer.py"; }
|
|
70
|
+
[ -f "$FIGURE_RENDERER" ] || FIGURE_RENDERER=""
|
|
71
|
+
fi
|
|
72
|
+
[ -z "$FIGURE_RENDERER" ] && {
|
|
73
|
+
echo "ERROR: figure_renderer.py not resolved (layer 0: \$CLAUDE_SKILL_DIR/scripts/; layers 1-4: .aris/tools/, tools/, \$ARIS_REPO/tools/, \$ARIS_REPO/tools/ via ~/.aris/repo)." >&2
|
|
74
|
+
echo " /figure-spec cannot produce SVG output. Fix: rerun bash tools/install_aris.sh or smart_update.sh (refreshes ~/.aris/repo), or copy the helper from \$ARIS_REPO/skills/figure-spec/scripts/." >&2
|
|
75
|
+
exit 1
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Invoke:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
python3 "$FIGURE_RENDERER" render <spec.json> --output <out.svg>
|
|
83
|
+
python3 "$FIGURE_RENDERER" validate <spec.json>
|
|
84
|
+
python3 "$FIGURE_RENDERER" schema
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Workflow
|
|
88
|
+
|
|
89
|
+
### Step 1: Understand the Diagram Goal
|
|
90
|
+
|
|
91
|
+
From `$ARGUMENTS` (description or path to `PAPER_PLAN.md` / `NARRATIVE_REPORT.md`), identify:
|
|
92
|
+
- **Purpose**: architecture, workflow, pipeline, audit cascade, topology?
|
|
93
|
+
- **Main entities**: what are the boxes?
|
|
94
|
+
- **Relationships**: how do they connect? (uses, produces, calls, verifies, chains)
|
|
95
|
+
- **Grouping**: do entities cluster into named regions?
|
|
96
|
+
- **Hierarchy vs network**: stacked layers, left-to-right flow, or central hub?
|
|
97
|
+
|
|
98
|
+
### Step 2: Draft the FigureSpec JSON
|
|
99
|
+
|
|
100
|
+
Canvas sizing guide:
|
|
101
|
+
- Single-column figure: ~500×350 px
|
|
102
|
+
- Two-column (full-width): ~900×500 px
|
|
103
|
+
- Tall topology: ~700×700 px
|
|
104
|
+
|
|
105
|
+
Start from a template based on the diagram type:
|
|
106
|
+
|
|
107
|
+
**Architecture (stacked rows)**:
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"canvas": {"width": 900, "height": 520},
|
|
111
|
+
"nodes": [
|
|
112
|
+
{"id": "layer1_label", "label": "Layer 1", "x": 450, "y": 60, ...},
|
|
113
|
+
{"id": "node_a", "label": "A", "x": 180, "y": 120, ...},
|
|
114
|
+
{"id": "node_b", "label": "B", "x": 350, "y": 120, ...}
|
|
115
|
+
],
|
|
116
|
+
"edges": [...],
|
|
117
|
+
"groups": [
|
|
118
|
+
{"label": "Layer 1", "node_ids": ["node_a", "node_b"], "fill": "#F0F9FF", "stroke": "#BAE6FD"}
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Workflow (left-to-right chain)**:
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"canvas": {"width": 900, "height": 300},
|
|
127
|
+
"nodes": [
|
|
128
|
+
{"id": "step1", "label": "Step 1", "x": 100, "y": 150, "shape": "rounded"},
|
|
129
|
+
{"id": "step2", "label": "Step 2", "x": 280, "y": 150, "shape": "rounded"}
|
|
130
|
+
],
|
|
131
|
+
"edges": [
|
|
132
|
+
{"from": "step1", "to": "step2", "label": "produces"}
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Decision diamond**:
|
|
138
|
+
```json
|
|
139
|
+
{"id": "check", "label": "Passes?", "shape": "diamond", "x": 450, "y": 200}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Step 3: Render and Validate
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
# Validate first ($FIGURE_RENDERER was resolved in "Tool Location" above)
|
|
146
|
+
python3 "$FIGURE_RENDERER" validate /tmp/spec.json
|
|
147
|
+
|
|
148
|
+
# Render to SVG
|
|
149
|
+
python3 "$FIGURE_RENDERER" render /tmp/spec.json --output figures/fig_arch.svg
|
|
150
|
+
|
|
151
|
+
# Convert to PDF for LaTeX inclusion
|
|
152
|
+
rsvg-convert -f pdf figures/fig_arch.svg -o figures/fig_arch.pdf
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
If validation fails, inspect the error (missing field, duplicate ID, overlap warning, invalid hex color) and fix the JSON.
|
|
156
|
+
|
|
157
|
+
### Step 4: Visual Review
|
|
158
|
+
|
|
159
|
+
Open the SVG/PDF and check:
|
|
160
|
+
- **No overlaps**: nodes don't collide with each other or group boundaries
|
|
161
|
+
- **Readability**: font sizes are consistent, labels aren't clipped
|
|
162
|
+
- **Edge clarity**: arrows hit nodes at clean angles, labels near edges are legible
|
|
163
|
+
- **Group alignment**: background rectangles frame their members cleanly
|
|
164
|
+
- **Color distinction**: categories are visually distinct in both color and grayscale
|
|
165
|
+
|
|
166
|
+
If issues found, edit the JSON spec (never the generated SVG) and re-render.
|
|
167
|
+
|
|
168
|
+
### Step 5: Iterate with Codex Review (Optional, for High-Stakes Figures)
|
|
169
|
+
|
|
170
|
+
For paper architecture figures, invoke cross-model review:
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
mcp__codex__codex:
|
|
174
|
+
model: gpt-5.6-sol
|
|
175
|
+
config: {"model_reasoning_effort": "xhigh"}
|
|
176
|
+
prompt: |
|
|
177
|
+
Review this SVG figure for a technical paper (architecture / workflow diagram).
|
|
178
|
+
|
|
179
|
+
Spec file: /path/to/spec.json
|
|
180
|
+
Rendered: /path/to/fig.svg
|
|
181
|
+
|
|
182
|
+
Evaluate:
|
|
183
|
+
1. Clarity (C): can a reader understand the system from this figure alone?
|
|
184
|
+
2. Readability (R): font sizes, label placement, visual hierarchy
|
|
185
|
+
3. Semantic accuracy (S): do relationships match the described system?
|
|
186
|
+
|
|
187
|
+
Score each axis 1-10 and list specific issues to fix.
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Iterate until all three axes ≥ 7/10. The ARIS tech report figures went through 5 rounds of this loop to reach C:7/R:7/S:8.
|
|
191
|
+
|
|
192
|
+
## Schema Quick Reference
|
|
193
|
+
|
|
194
|
+
Run `python3 "$FIGURE_RENDERER" schema` (resolve $FIGURE_RENDERER per "Tool Location" above) for the authoritative schema.
|
|
195
|
+
|
|
196
|
+
### Nodes
|
|
197
|
+
|
|
198
|
+
| Field | Required | Default | Notes |
|
|
199
|
+
|-------|----------|---------|-------|
|
|
200
|
+
| `id` | ✓ | — | Unique |
|
|
201
|
+
| `label` | ✓ | — | `\n` for multi-line |
|
|
202
|
+
| `x`, `y` | ✓ | — | Center coordinates |
|
|
203
|
+
| `width`, `height` | | 120, 50 | |
|
|
204
|
+
| `shape` | | `rounded` | `rect` / `rounded` / `circle` / `ellipse` / `diamond` |
|
|
205
|
+
| `fill`, `stroke` | | auto from palette | `#RRGGBB` |
|
|
206
|
+
| `text_color` | | `#333333` | |
|
|
207
|
+
| `font_size` | | 14 | Override style default |
|
|
208
|
+
|
|
209
|
+
### Edges
|
|
210
|
+
|
|
211
|
+
| Field | Default | Notes |
|
|
212
|
+
|-------|---------|-------|
|
|
213
|
+
| `from`, `to` | required | Same = self-loop |
|
|
214
|
+
| `label` | — | Short edge label |
|
|
215
|
+
| `style` | `solid` | `solid` / `dashed` / `dotted` |
|
|
216
|
+
| `color` | `#555555` | |
|
|
217
|
+
| `curve` | `false` | Curved path |
|
|
218
|
+
|
|
219
|
+
### Groups
|
|
220
|
+
|
|
221
|
+
Rectangular background regions framing a set of nodes:
|
|
222
|
+
```json
|
|
223
|
+
{"label": "Layer Name", "node_ids": ["a", "b", "c"], "fill": "#EFF6FF", "stroke": "#BFDBFE"}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Design Patterns
|
|
227
|
+
|
|
228
|
+
### Pattern 1: Layered Architecture
|
|
229
|
+
Stack rows of related nodes, each row is a group, add inter-layer arrows with semantic labels (`uses↓`, `produces↑`, `checks↓`).
|
|
230
|
+
|
|
231
|
+
### Pattern 2: Hub-and-Spoke
|
|
232
|
+
Central node (e.g., Executor), peripheral nodes (skills, tools), solid arrows for primary relations, dashed for feedback.
|
|
233
|
+
|
|
234
|
+
### Pattern 3: Pipeline with Feedback
|
|
235
|
+
Left-to-right main flow, feedback arrows curve below with `curve: true`.
|
|
236
|
+
|
|
237
|
+
### Pattern 4: Audit Cascade
|
|
238
|
+
Three-stage horizontal cascade with inputs feeding in from top, outputs exiting right, each stage in its own group.
|
|
239
|
+
|
|
240
|
+
## Anti-Patterns
|
|
241
|
+
|
|
242
|
+
- **Don't use groups as hierarchy**: groups frame peer nodes, not containment
|
|
243
|
+
- **Don't nest groups**: renderer draws them as background rectangles; nested groups look like Russian dolls
|
|
244
|
+
- **Don't cross-draw long diagonals**: if an arrow crosses 3+ rows, rethink the layout
|
|
245
|
+
- **Don't mix font sizes for same role**: keep one size per node category
|
|
246
|
+
|
|
247
|
+
## Output Contract
|
|
248
|
+
|
|
249
|
+
- SVG file in `figures/` (vector, editable, hand-tweakable)
|
|
250
|
+
- Source FigureSpec JSON saved in `figures/specs/` for reproducibility
|
|
251
|
+
- PDF version via `rsvg-convert` for LaTeX inclusion
|
|
252
|
+
|
|
253
|
+
## Integration with Other Skills
|
|
254
|
+
|
|
255
|
+
- **`/paper-writing`** (Workflow 3): when `illustration: figurespec` (default for architecture figures), this skill handles Phase 2b
|
|
256
|
+
- **`/paper-figure`**: handles data plots; they complement each other (data + architecture = complete figure set)
|
|
257
|
+
- **`/paper-illustration`**: fallback for figures that need natural/qualitative style (method illustrations with photos, qualitative result grids)
|
|
258
|
+
- **`/mermaid-diagram`**: lighter alternative for simple flowcharts
|
|
259
|
+
|
|
260
|
+
## Review Tracing
|
|
261
|
+
|
|
262
|
+
After each `mcp__codex__codex` or `mcp__codex__codex-reply` reviewer call, save the trace following `shared-references/review-tracing.md` (Policy C — forensic; never silently skip). Use `save_trace.sh` (resolved per the chain in `shared-references/integration-contract.md` §2) or write files directly to `.aris/traces/<skill>/<date>_run<NN>/`. Respect the `--- trace:` parameter (default: `full`).
|