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,324 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qzcli
|
|
3
|
+
description: Manage GPU compute jobs on the Qizhi (启智) platform using qzcli — a kubectl-style CLI tool. Use when user says "qzcli", "启智平台", "submit job", "stop job", "查计算组", "avail", "list jobs", "batch submit", or needs to manage distributed training jobs on a Qizhi instance.
|
|
4
|
+
argument-hint: "[login|avail|list|create|stop <job-id>|batch|status|watch]"
|
|
5
|
+
allowed-tools: Bash(*), Read, Write
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# qzcli — 启智平台任务管理
|
|
9
|
+
|
|
10
|
+
A kubectl/docker-style CLI for managing GPU compute jobs on the Qizhi (启智) platform.
|
|
11
|
+
|
|
12
|
+
**GitHub:** [tianyilt/qzcli_tool](https://github.com/tianyilt/qzcli_tool)
|
|
13
|
+
|
|
14
|
+
## Environment contract
|
|
15
|
+
|
|
16
|
+
Qizhi is the scheduler-cluster shape of `../shared-references/compute-env-contract.md`:
|
|
17
|
+
images are built OFF-platform and referenced at submit time, so the declarative
|
|
18
|
+
env spec + `env:<name>@<specHash>` ledger (`.aris/compute/qizhi.md`) is what
|
|
19
|
+
keeps "which image has which stack" answerable. Run the kernel witness inside a
|
|
20
|
+
submitted job (not on the login side) before trusting an image for a long run.
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pip install rich requests prompt_toolkit mcp
|
|
26
|
+
git clone https://github.com/tianyilt/qzcli_tool
|
|
27
|
+
cd qzcli_tool && pip install -e .
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### MCP Integration (optional)
|
|
31
|
+
|
|
32
|
+
To use qzcli as an MCP tool directly from Claude Code or Codex:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Claude Code
|
|
36
|
+
claude mcp add qzcli -- qzcli-mcp
|
|
37
|
+
|
|
38
|
+
# Codex
|
|
39
|
+
codex mcp add qzcli -- qzcli-mcp
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Configuration
|
|
45
|
+
|
|
46
|
+
Credentials are read in this priority order:
|
|
47
|
+
`CLI args > --password-stdin > env vars > QZCLI_ENV_FILE (.env) > ~/.qzcli/config.json > interactive input`
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Option A: env file (recommended)
|
|
51
|
+
mkdir -p ~/.qzcli
|
|
52
|
+
cat > ~/.qzcli/.env <<'EOF'
|
|
53
|
+
QZCLI_USERNAME="your_username"
|
|
54
|
+
QZCLI_PASSWORD="your_password"
|
|
55
|
+
EOF
|
|
56
|
+
|
|
57
|
+
# Option B: environment variables
|
|
58
|
+
export QZCLI_USERNAME="your_username"
|
|
59
|
+
export QZCLI_PASSWORD="your_password"
|
|
60
|
+
export QZCLI_API_URL="https://qz.yourorg.edu.cn"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Config files are stored in `~/.qzcli/`: `config.json`, `.cookie`, `resources.json`, `jobs.json`.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Quick Start
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# 1. Login
|
|
71
|
+
qzcli login
|
|
72
|
+
|
|
73
|
+
# 2. Discover and cache workspaces/compute groups (run once, re-run after joining new workspaces)
|
|
74
|
+
qzcli res -u
|
|
75
|
+
|
|
76
|
+
# 3. Check available nodes
|
|
77
|
+
qzcli avail
|
|
78
|
+
|
|
79
|
+
# 4. List running jobs
|
|
80
|
+
qzcli ls -c -r
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Authentication
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# Interactive login
|
|
89
|
+
qzcli login
|
|
90
|
+
|
|
91
|
+
# With credentials
|
|
92
|
+
qzcli login -u YOUR_USERNAME -p 'YOUR_PASSWORD'
|
|
93
|
+
|
|
94
|
+
# Read password from stdin (for scripts)
|
|
95
|
+
echo 'YOUR_PASSWORD' | qzcli login -u YOUR_USERNAME --password-stdin
|
|
96
|
+
|
|
97
|
+
# Check current cookie
|
|
98
|
+
qzcli cookie --show
|
|
99
|
+
|
|
100
|
+
# Clear cookie
|
|
101
|
+
qzcli cookie --clear
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Note:** `qzcli avail` auto-refreshes the cookie if it expires and credentials are configured.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Resource Discovery
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# List cached workspaces
|
|
112
|
+
qzcli res --list
|
|
113
|
+
|
|
114
|
+
# Refresh all workspace resource cache (run this first!)
|
|
115
|
+
qzcli res -u
|
|
116
|
+
|
|
117
|
+
# Refresh a specific workspace
|
|
118
|
+
qzcli res -w MY_WORKSPACE -u
|
|
119
|
+
|
|
120
|
+
# Set a human-readable alias for a workspace
|
|
121
|
+
qzcli res -w ws-xxxxxxxx --name "My Workspace"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Check Available Nodes
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# All workspaces
|
|
130
|
+
qzcli avail
|
|
131
|
+
|
|
132
|
+
# Including low-priority task nodes (slower but more accurate)
|
|
133
|
+
qzcli avail --lp
|
|
134
|
+
|
|
135
|
+
# Specific workspace
|
|
136
|
+
qzcli avail -w MY_WORKSPACE
|
|
137
|
+
|
|
138
|
+
# Find compute groups with N free nodes
|
|
139
|
+
qzcli avail -n 4
|
|
140
|
+
|
|
141
|
+
# Export IDs for scripting
|
|
142
|
+
qzcli avail -n 4 -e
|
|
143
|
+
|
|
144
|
+
# Show idle node names
|
|
145
|
+
qzcli avail -w MY_WORKSPACE -v
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Job Submission
|
|
151
|
+
|
|
152
|
+
### Interactive (recommended for first-time use)
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Full interactive selection: workspace → project → compute group → spec
|
|
156
|
+
qzcli create -i
|
|
157
|
+
|
|
158
|
+
# Interactive for a specific workspace only
|
|
159
|
+
qzcli create -i -w "My Workspace"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
The TUI shows GPU type, availability, and spec status at each level. Press `Enter/→` to go deeper, `←` to go back.
|
|
163
|
+
|
|
164
|
+
### Non-interactive
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# Using names (resolved from qzcli res cache)
|
|
168
|
+
qzcli create \
|
|
169
|
+
--name "my-training-job" \
|
|
170
|
+
--command "bash /path/to/train.sh" \
|
|
171
|
+
--workspace "My Workspace" \
|
|
172
|
+
--compute-group "My Compute Group" \
|
|
173
|
+
--image YOUR_REGISTRY/team/image:tag \
|
|
174
|
+
--instances 4 \
|
|
175
|
+
--priority 10
|
|
176
|
+
|
|
177
|
+
# Using IDs directly
|
|
178
|
+
qzcli create \
|
|
179
|
+
--name "my-job" \
|
|
180
|
+
--command "bash /path/to/train.sh" \
|
|
181
|
+
--workspace ws-YOUR_WORKSPACE_ID \
|
|
182
|
+
--compute-group lcg-YOUR_LCG_ID \
|
|
183
|
+
--spec YOUR_SPEC_ID \
|
|
184
|
+
--image YOUR_REGISTRY/team/image:tag \
|
|
185
|
+
--instances 4
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Key parameters:**
|
|
189
|
+
|
|
190
|
+
| Parameter | Default | Description |
|
|
191
|
+
|-----------|---------|-------------|
|
|
192
|
+
| `--name` / `-n` | required | Job name |
|
|
193
|
+
| `--command` / `-c` | required | Command to run |
|
|
194
|
+
| `--workspace` / `-w` | | Workspace name or ID (`ws-...`) |
|
|
195
|
+
| `--compute-group` / `-g` | auto | Compute group name or ID (`lcg-...`) |
|
|
196
|
+
| `--spec` / `-s` | auto | Resource spec ID |
|
|
197
|
+
| `--image` / `-m` | | Docker image |
|
|
198
|
+
| `--instances` | 1 | Number of instances |
|
|
199
|
+
| `--shm` | 1200 | Shared memory (GiB) |
|
|
200
|
+
| `--priority` | 10 | Priority (1–10) |
|
|
201
|
+
| `--dry-run` | | Preview only, don't submit |
|
|
202
|
+
| `--json` | | JSON output for scripting |
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# Preview before submitting
|
|
206
|
+
qzcli create --name test --command "echo hi" --workspace "My Workspace" \
|
|
207
|
+
--image YOUR_IMAGE --dry-run
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Env-var passthrough (for existing submission scripts)
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
# Pass vars directly — do NOT use "export VAR; bash script.sh"
|
|
214
|
+
WORKSPACE_ID="ws-YOUR_WORKSPACE_ID" \
|
|
215
|
+
LCG_ID="lcg-YOUR_LCG_ID" \
|
|
216
|
+
SPEC_ID="YOUR_SPEC_ID" \
|
|
217
|
+
CHECKPOINT_DIR="/path/to/checkpoint" \
|
|
218
|
+
bash YOUR_SUBMIT_SCRIPT.sh
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### HPC / CPU jobs (Slurm)
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
qzcli hpc \
|
|
225
|
+
--name "my-cpu-job" \
|
|
226
|
+
--workspace ws-YOUR_WORKSPACE_ID \
|
|
227
|
+
--compute-group lcg-YOUR_LCG_ID \
|
|
228
|
+
--predef-quota-id YOUR_QUOTA_ID \
|
|
229
|
+
--cpu 55 --mem-gi 300 --instances 30 \
|
|
230
|
+
--image YOUR_REGISTRY/team/cpu-image:tag \
|
|
231
|
+
--entrypoint "cd /path/to/dir && bash run.sh"
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Batch Submission
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
# Submit from config file
|
|
240
|
+
qzcli batch batch_config.json --delay 3
|
|
241
|
+
|
|
242
|
+
# Preview all jobs
|
|
243
|
+
qzcli batch batch_config.json --dry-run
|
|
244
|
+
|
|
245
|
+
# Continue on error
|
|
246
|
+
qzcli batch batch_config.json --continue-on-error
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**Config format** (`batch_config.json`):
|
|
250
|
+
|
|
251
|
+
```json
|
|
252
|
+
{
|
|
253
|
+
"defaults": {
|
|
254
|
+
"workspace": "ws-YOUR_WORKSPACE_ID",
|
|
255
|
+
"compute_group": "lcg-YOUR_LCG_ID",
|
|
256
|
+
"spec": "YOUR_SPEC_ID",
|
|
257
|
+
"image": "YOUR_REGISTRY/team/image:tag",
|
|
258
|
+
"instances": 4,
|
|
259
|
+
"priority": 10
|
|
260
|
+
},
|
|
261
|
+
"matrix": {
|
|
262
|
+
"checkpoint": ["/path/to/ckpt1", "/path/to/ckpt2"],
|
|
263
|
+
"step": [50000, 100000]
|
|
264
|
+
},
|
|
265
|
+
"name_template": "eval-{checkpoint_basename}-step{step}",
|
|
266
|
+
"command_template": "bash eval.sh --checkpoint {checkpoint} --step {step}"
|
|
267
|
+
}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
Matrix keys are Cartesian-producted (2×2 = 4 jobs above). Use `{key_basename}` for path basenames.
|
|
271
|
+
|
|
272
|
+
### Shell loop (alternative)
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
for step in 040000 050000 060000; do
|
|
276
|
+
qzcli create \
|
|
277
|
+
--name "eval-step${step}" \
|
|
278
|
+
--command "bash eval.sh --step $step" \
|
|
279
|
+
--workspace "My Workspace" \
|
|
280
|
+
--compute-group "My Compute Group" \
|
|
281
|
+
--instances 4
|
|
282
|
+
sleep 3
|
|
283
|
+
done
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Job Management
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
# List jobs
|
|
292
|
+
qzcli ls -c -w MY_WORKSPACE # specific workspace
|
|
293
|
+
qzcli ls -c --all-ws # all workspaces
|
|
294
|
+
qzcli ls -c -w MY_WORKSPACE -r # running only
|
|
295
|
+
qzcli ls -c -w MY_WORKSPACE -n 50 # show 50
|
|
296
|
+
|
|
297
|
+
# Stop a job
|
|
298
|
+
qzcli stop JOB_ID
|
|
299
|
+
|
|
300
|
+
# Job status / details
|
|
301
|
+
qzcli status JOB_ID
|
|
302
|
+
|
|
303
|
+
# Watch all running jobs (refresh every 10s)
|
|
304
|
+
qzcli watch -i 10
|
|
305
|
+
|
|
306
|
+
# Workspace view with GPU utilization
|
|
307
|
+
qzcli ws
|
|
308
|
+
qzcli ws -a # all projects
|
|
309
|
+
qzcli ws -p "My Project"
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## Troubleshooting
|
|
315
|
+
|
|
316
|
+
| Problem | Cause | Fix |
|
|
317
|
+
|---------|-------|-----|
|
|
318
|
+
| Cookie expired | Session gap | Re-run `qzcli login` |
|
|
319
|
+
| `未找到名称为 'xxx' 的工作空间` | Stale cache | Run `qzcli res -u` |
|
|
320
|
+
| No resources in `create -i` | Cache empty | Run `qzcli login && qzcli res -u` |
|
|
321
|
+
| `qzcli-mcp` not found | Not installed | `cd qzcli_tool && pip install -e .` |
|
|
322
|
+
| Spec not in workspace | ID mismatch | Match spec ID to the correct workspace |
|
|
323
|
+
| Silent job failure | Script `sys.exit(0)` | Check job logs directly |
|
|
324
|
+
| zsh glob errors | Remote shell is zsh | Wrap commands in `bash -c` or use Python |
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rebuttal
|
|
3
|
+
description: "Workflow 4: Submission rebuttal pipeline. Parses external reviews, enforces coverage and grounding, drafts a safe text-only rebuttal under venue limits, and manages follow-up rounds. Use when user says \"rebuttal\", \"reply to reviewers\", \"ICML rebuttal\", \"OpenReview response\", or wants to answer external reviews safely."
|
|
4
|
+
argument-hint: "[paper-path-or-review-bundle]"
|
|
5
|
+
allowed-tools: Bash(*), Read, Grep, Glob, Write, Edit, Skill
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Workflow 4: Rebuttal
|
|
9
|
+
|
|
10
|
+
Prepare and maintain a grounded, venue-compliant rebuttal for: **$ARGUMENTS**
|
|
11
|
+
|
|
12
|
+
## Scope
|
|
13
|
+
|
|
14
|
+
This skill is optimized for:
|
|
15
|
+
- ICML-style **text-only rebuttal**
|
|
16
|
+
- strict **character limits**
|
|
17
|
+
- **multiple reviewers**
|
|
18
|
+
- **follow-up rounds** after the initial rebuttal
|
|
19
|
+
- safe drafting with **no fabrication**, **no overpromise**, and **full issue coverage**
|
|
20
|
+
|
|
21
|
+
This skill does **not**:
|
|
22
|
+
- run new experiments automatically
|
|
23
|
+
- generate new theorem claims automatically
|
|
24
|
+
- edit or upload a revised PDF
|
|
25
|
+
- submit to OpenReview / CMT / HotCRP
|
|
26
|
+
|
|
27
|
+
If the user already has new results, derivations, or approved commitments, the skill can incorporate them as **user-confirmed evidence**.
|
|
28
|
+
|
|
29
|
+
## Lifecycle Position
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
Workflow 1: idea-discovery
|
|
33
|
+
Workflow 1.5: experiment-bridge
|
|
34
|
+
Workflow 2: auto-review-loop (pre-submission)
|
|
35
|
+
Workflow 3: paper-writing
|
|
36
|
+
Workflow 4: rebuttal (post-submission external reviews)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Constants
|
|
40
|
+
|
|
41
|
+
- **VENUE = `ICML`** — Default venue. Override if needed.
|
|
42
|
+
- **RESPONSE_MODE = `TEXT_ONLY`** — v1 default.
|
|
43
|
+
- **REVIEWER_MODEL = `gpt-5.6-sol`** — Used via Codex MCP for internal stress-testing.
|
|
44
|
+
- **REVIEWER_BACKEND = `codex`** — Default: Codex xhigh stress tester. Use `--reviewer: oracle-pro` only when explicitly requested; if Oracle is unavailable, warn and fall back to Codex xhigh. See `../shared-references/reviewer-routing.md`.
|
|
45
|
+
- **MAX_INTERNAL_DRAFT_ROUNDS = 2** — draft → lint → revise.
|
|
46
|
+
- **MAX_STRESS_TEST_ROUNDS = 1** — One Codex MCP critique round.
|
|
47
|
+
- **MAX_FOLLOWUP_ROUNDS = 3** — per reviewer thread.
|
|
48
|
+
- **AUTO_EXPERIMENT = false** — When `true`, automatically invoke `/experiment-bridge` to run supplementary experiments when the strategy plan identifies reviewer concerns that require new empirical evidence. When `false` (default), pause and present the evidence gap to the user for manual handling.
|
|
49
|
+
- **QUICK_MODE = false** — When `true`, only run Phase 0-3 (parse reviews, atomize concerns, build strategy). Outputs `ISSUE_BOARD.md` + `STRATEGY_PLAN.md` and stops — no drafting, no stress test. Useful for quickly understanding what reviewers want before deciding how to respond.
|
|
50
|
+
- **REBUTTAL_DIR = `rebuttal/`**
|
|
51
|
+
- **RENDER_HTML = true** — When `true` (default), auto-render `rebuttal/REBUTTAL_DRAFT_rich.md` to HTML after Phase 6 / Phase 8 finalization via `/render-html`. Uses **full review gate** (reviewer-facing pre-submission deliverable). The plain-text `PASTE_READY.txt` is NOT rendered (it's character-counted plain text by design). Set `false` to skip, or pass `— render html: false`. **Non-blocking**: failures don't invalidate the rebuttal.
|
|
52
|
+
|
|
53
|
+
> Override: `/rebuttal "paper/" — venue: NeurIPS, character limit: 5000`
|
|
54
|
+
|
|
55
|
+
## Required Inputs
|
|
56
|
+
|
|
57
|
+
1. **Paper source** — PDF, LaTeX directory, or narrative summary
|
|
58
|
+
2. **Raw reviews** — pasted text, markdown, or PDF with reviewer IDs
|
|
59
|
+
3. **Venue rules** — venue name, character/word limit, text-only or revised PDF allowed
|
|
60
|
+
4. **Current stage** — initial rebuttal or follow-up round
|
|
61
|
+
|
|
62
|
+
If venue rules or limit are missing, **stop and ask** before drafting.
|
|
63
|
+
|
|
64
|
+
## Safety Model
|
|
65
|
+
|
|
66
|
+
Three hard gates — if any fails, do NOT finalize:
|
|
67
|
+
|
|
68
|
+
1. **Provenance gate** — every factual statement maps to: `paper`, `review`, `user_confirmed_result`, `user_confirmed_derivation`, or `future_work`. No source = blocked.
|
|
69
|
+
2. **Commitment gate** — every promise maps to: `already_done`, `approved_for_rebuttal`, or `future_work_only`. Not approved = blocked.
|
|
70
|
+
3. **Coverage gate** — every reviewer concern ends in: `answered`, `deferred_intentionally`, or `needs_user_input`. No issue disappears.
|
|
71
|
+
|
|
72
|
+
## Workflow
|
|
73
|
+
|
|
74
|
+
### Phase 0: Resume or Initialize
|
|
75
|
+
|
|
76
|
+
1. If `rebuttal/REBUTTAL_STATE.md` exists → resume from recorded phase
|
|
77
|
+
2. Otherwise → create `rebuttal/`, initialize all output documents
|
|
78
|
+
3. Load paper, reviews, venue rules, any user-confirmed evidence
|
|
79
|
+
|
|
80
|
+
### Phase 1: Validate Inputs and Normalize Reviews
|
|
81
|
+
|
|
82
|
+
1. Validate venue rules are explicit
|
|
83
|
+
2. Normalize all reviewer text into `rebuttal/REVIEWS_RAW.md` (verbatim)
|
|
84
|
+
3. Record metadata in `rebuttal/REBUTTAL_STATE.md`
|
|
85
|
+
4. If ambiguous, pause and ask
|
|
86
|
+
|
|
87
|
+
### Phase 2: Atomize and Classify Reviewer Concerns
|
|
88
|
+
|
|
89
|
+
Create `rebuttal/ISSUE_BOARD.md`.
|
|
90
|
+
|
|
91
|
+
For each atomic concern:
|
|
92
|
+
- `issue_id` (e.g., R1-C2)
|
|
93
|
+
- `reviewer`, `round`, `raw_anchor` (short quote)
|
|
94
|
+
- `issue_type`: assumptions / theorem_rigor / novelty / empirical_support / baseline_comparison / complexity / practical_significance / clarity / reproducibility / other
|
|
95
|
+
- `severity`: critical / major / minor
|
|
96
|
+
- `reviewer_stance`: positive / swing / negative / unknown
|
|
97
|
+
- `response_mode`: direct_clarification / grounded_evidence / nearest_work_delta / assumption_hierarchy / narrow_concession / future_work_boundary
|
|
98
|
+
- `status`: open / answered / deferred / needs_user_input
|
|
99
|
+
|
|
100
|
+
### Phase 3: Build Strategy Plan
|
|
101
|
+
|
|
102
|
+
Create `rebuttal/STRATEGY_PLAN.md`.
|
|
103
|
+
|
|
104
|
+
1. Identify 2-4 **global themes** resolving shared concerns
|
|
105
|
+
2. Choose **response mode** per issue
|
|
106
|
+
3. Build **character budget** (10-15% opener, 75-80% per-reviewer, 5-10% closing)
|
|
107
|
+
4. Identify **blocked claims** (ungrounded or unapproved)
|
|
108
|
+
5. If unresolved blockers → pause and present to user
|
|
109
|
+
|
|
110
|
+
**QUICK_MODE exit**: If `QUICK_MODE = true`, stop here. Present `ISSUE_BOARD.md` + `STRATEGY_PLAN.md` to the user and summarize: how many issues per reviewer, shared vs unique concerns, recommended priorities, and evidence gaps. The user can then decide to continue with full rebuttal (`/rebuttal — quick mode: false`) or write manually.
|
|
111
|
+
|
|
112
|
+
### Phase 3.5: Evidence Sprint (when AUTO_EXPERIMENT = true)
|
|
113
|
+
|
|
114
|
+
**Skip entirely if `AUTO_EXPERIMENT` is `false` — instead, pause and present the evidence gaps to the user.**
|
|
115
|
+
|
|
116
|
+
If the strategy plan identifies issues that require new empirical evidence (tagged `response_mode: grounded_evidence` with `evidence_source: needs_experiment`):
|
|
117
|
+
|
|
118
|
+
1. Generate a mini experiment plan from the reviewer concerns:
|
|
119
|
+
- What to run (ablation, baseline comparison, scale-up, condition check)
|
|
120
|
+
- Success criterion (what result would satisfy the reviewer)
|
|
121
|
+
- Estimated GPU-hours
|
|
122
|
+
|
|
123
|
+
2. Invoke `/experiment-bridge` with the mini plan:
|
|
124
|
+
```
|
|
125
|
+
/experiment-bridge "rebuttal/REBUTTAL_EXPERIMENT_PLAN.md"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
3. Wait for results, then update `ISSUE_BOARD.md`:
|
|
129
|
+
- Tag completed experiments as `user_confirmed_result`
|
|
130
|
+
- Update evidence source for relevant issue cards
|
|
131
|
+
|
|
132
|
+
4. If experiments fail or are inconclusive:
|
|
133
|
+
- Switch response mode to `narrow_concession` or `future_work_boundary`
|
|
134
|
+
- Do NOT fabricate positive results
|
|
135
|
+
|
|
136
|
+
5. Save experiment results to `rebuttal/REBUTTAL_EXPERIMENTS.md` for provenance tracking.
|
|
137
|
+
|
|
138
|
+
**Time guard**: If estimated GPU-hours exceed rebuttal deadline, skip and flag for manual handling.
|
|
139
|
+
|
|
140
|
+
### Phase 4: Draft Initial Rebuttal
|
|
141
|
+
|
|
142
|
+
Create `rebuttal/REBUTTAL_DRAFT_v1.md`.
|
|
143
|
+
|
|
144
|
+
Structure:
|
|
145
|
+
1. **Short opener** — thank reviewers + 2-4 global resolutions
|
|
146
|
+
2. **Per-reviewer numbered responses** — answer → evidence → implication
|
|
147
|
+
3. **Short closing** — resolved / remaining / acceptance case
|
|
148
|
+
|
|
149
|
+
Default reply pattern per issue:
|
|
150
|
+
- Sentence 1: direct answer
|
|
151
|
+
- Sentence 2-4: grounded evidence
|
|
152
|
+
- Last sentence: implication for the paper
|
|
153
|
+
|
|
154
|
+
Heuristics from 5 successful rebuttals:
|
|
155
|
+
- Evidence > assertion
|
|
156
|
+
- Global narrative first, per-reviewer detail second
|
|
157
|
+
- Concrete numbers for counter-intuitive points
|
|
158
|
+
- Name closest prior work + exact delta for novelty disputes
|
|
159
|
+
- Concede narrowly when reviewer is right
|
|
160
|
+
- For theory: separate core vs technical assumptions
|
|
161
|
+
- Answer friendly reviewers too
|
|
162
|
+
|
|
163
|
+
Hard rules:
|
|
164
|
+
- NEVER invent experiments, numbers, derivations, citations, or links
|
|
165
|
+
- NEVER promise what user hasn't approved
|
|
166
|
+
- If no strong evidence exists, say less not more
|
|
167
|
+
|
|
168
|
+
Also generate `rebuttal/PASTE_READY.txt` (plain text, exact character count).
|
|
169
|
+
|
|
170
|
+
Also generate `rebuttal/REVISION_PLAN.md` — the **overall revision checklist**.
|
|
171
|
+
|
|
172
|
+
This document is the single source of truth for every paper revision promised (explicitly or implicitly) in the rebuttal draft. It exists so the author can track follow-through after the rebuttal is submitted, and so the commitment gate in Phase 5 has a concrete artifact to validate against.
|
|
173
|
+
|
|
174
|
+
Structure:
|
|
175
|
+
|
|
176
|
+
1. **Header**
|
|
177
|
+
- Paper title, venue, character limit, rebuttal round
|
|
178
|
+
- Links back to `ISSUE_BOARD.md`, `STRATEGY_PLAN.md`, `REBUTTAL_DRAFT_v1.md`
|
|
179
|
+
|
|
180
|
+
2. **Overall checklist** — a single flat GitHub-style checklist covering **every** revision item, so the author can tick items off as they land in the camera-ready / revised PDF:
|
|
181
|
+
|
|
182
|
+
```markdown
|
|
183
|
+
## Overall Checklist
|
|
184
|
+
|
|
185
|
+
- [ ] (R1-C2) Add assumption hierarchy table to Section 3.1 — commitment: `approved_for_rebuttal` — owner: author — status: pending
|
|
186
|
+
- [ ] (R2-C1) Clarify novelty delta vs. Smith'24 in Section 2 related work — commitment: `already_done` — status: verify wording
|
|
187
|
+
- [ ] (R3-C4) Add runtime breakdown figure to Appendix B — commitment: `future_work_only` — status: deferred, note in camera-ready
|
|
188
|
+
- ...
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Checklist items must be **atomic** (one paper edit per line) and each must reference its `issue_id` so it maps back to `ISSUE_BOARD.md`.
|
|
192
|
+
|
|
193
|
+
3. **Grouped view** — the same items regrouped by (a) paper section/location and (b) severity, so the author can plan the revision pass efficiently.
|
|
194
|
+
|
|
195
|
+
4. **Commitment summary** — counts of `already_done` / `approved_for_rebuttal` / `future_work_only`, plus any `needs_user_input` items that are blocking.
|
|
196
|
+
|
|
197
|
+
5. **Out-of-scope log** — reviewer concerns that will **not** trigger a paper revision (e.g. `deferred_intentionally`, `narrow_concession` with no edit), with a one-line reason each. This keeps the checklist honest: nothing silently disappears.
|
|
198
|
+
|
|
199
|
+
Rules for `REVISION_PLAN.md`:
|
|
200
|
+
- Every checklist item must map to at least one `issue_id` from `ISSUE_BOARD.md`.
|
|
201
|
+
- Every promise in `REBUTTAL_DRAFT_v1.md` that implies a paper edit must appear as a checklist item — if it is not in the plan, it is a commitment-gate violation.
|
|
202
|
+
- Never add items that are not backed by the draft or by user-confirmed evidence.
|
|
203
|
+
- On rerun / follow-up rounds, update checkbox state in place rather than regenerating from scratch.
|
|
204
|
+
|
|
205
|
+
### Phase 5: Safety Validation
|
|
206
|
+
|
|
207
|
+
Run all lints:
|
|
208
|
+
1. **Coverage** — every issue maps to draft anchor
|
|
209
|
+
2. **Provenance** — every factual sentence has source
|
|
210
|
+
3. **Commitment** — promises are approved AND every paper-edit promise in the draft appears as a checklist item in `REVISION_PLAN.md` (and vice versa — no orphan items in the plan)
|
|
211
|
+
4. **Tone** — flag aggressive/submissive/evasive phrases
|
|
212
|
+
5. **Consistency** — no contradictions across reviewer replies
|
|
213
|
+
6. **Limit** — exact character count, compress if over (redundancy → friendly → opener → wording, never drop critical answers)
|
|
214
|
+
|
|
215
|
+
### Phase 6: Codex Reviewer Stress Test
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
spawn_agent:
|
|
219
|
+
model: gpt-5.6-sol
|
|
220
|
+
reasoning_effort: xhigh
|
|
221
|
+
message: |
|
|
222
|
+
Stress-test this rebuttal draft:
|
|
223
|
+
[raw reviews + issue board + draft + venue rules]
|
|
224
|
+
|
|
225
|
+
1. Unanswered or weakly answered concerns?
|
|
226
|
+
2. Unsupported factual statements?
|
|
227
|
+
3. Risky or unapproved promises?
|
|
228
|
+
4. Tone problems?
|
|
229
|
+
5. Paragraph most likely to backfire with meta-reviewer?
|
|
230
|
+
6. Minimal grounded fixes only. Do NOT invent evidence.
|
|
231
|
+
|
|
232
|
+
Verdict: safe to submit / needs revision
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Save full response to `rebuttal/MCP_STRESS_TEST.md`. If hard safety blocker → revise before finalizing.
|
|
236
|
+
|
|
237
|
+
### Phase 7: Finalize — Two Versions
|
|
238
|
+
|
|
239
|
+
Produce **two outputs** for different purposes:
|
|
240
|
+
|
|
241
|
+
1. **`rebuttal/PASTE_READY.txt`** — the strict version
|
|
242
|
+
- Plain text, exact character count, fits venue limit
|
|
243
|
+
- Ready to paste directly into OpenReview / CMT / HotCRP
|
|
244
|
+
- No markdown formatting, no extras
|
|
245
|
+
|
|
246
|
+
2. **`rebuttal/REBUTTAL_DRAFT_rich.md`** — the extended version
|
|
247
|
+
- Same structure but with **more detail**: fuller explanations, additional evidence, optional paragraphs
|
|
248
|
+
- Marked with `[OPTIONAL — cut if over limit]` for sections that exceed the strict version
|
|
249
|
+
- Author can read this to understand the full reasoning, then manually decide what to keep/cut/rewrite
|
|
250
|
+
- Useful for follow-up rounds — the extra material is pre-written
|
|
251
|
+
|
|
252
|
+
3. Update `rebuttal/REBUTTAL_STATE.md`
|
|
253
|
+
4. Refresh `rebuttal/REVISION_PLAN.md` so the overall checklist matches the final draft (add items, mark `already_done` as checked, carry forward any `pending` items)
|
|
254
|
+
5. Present to user:
|
|
255
|
+
- `PASTE_READY.txt` character count vs venue limit
|
|
256
|
+
- `REBUTTAL_DRAFT_rich.md` for review and manual editing
|
|
257
|
+
- `REVISION_PLAN.md` checklist — counts of pending / approved / deferred
|
|
258
|
+
- Remaining risks + lines needing manual approval
|
|
259
|
+
|
|
260
|
+
### Phase 8: Follow-Up Rounds
|
|
261
|
+
|
|
262
|
+
When new reviewer comments arrive:
|
|
263
|
+
|
|
264
|
+
1. Append verbatim to `rebuttal/FOLLOWUP_LOG.md`
|
|
265
|
+
2. Link to existing issues or create new ones
|
|
266
|
+
3. Draft **delta reply only** (not full rewrite)
|
|
267
|
+
4. Update `rebuttal/REVISION_PLAN.md` in place — add any new checklist items introduced by the follow-up, tick off items the author has already completed, and keep existing items' status current
|
|
268
|
+
5. Re-run safety lints
|
|
269
|
+
6. Use Codex MCP reply for continuity if useful
|
|
270
|
+
7. Rules: escalate technically not rhetorically; concede if reviewer is correct; stop arguing if reviewer is immovable and no new evidence exists
|
|
271
|
+
|
|
272
|
+
### Phase 9: Render HTML view (auto, when `RENDER_HTML = true`, default)
|
|
273
|
+
|
|
274
|
+
After Phase 6 (initial rebuttal) or Phase 8 (follow-up rounds) finalize `rebuttal/REBUTTAL_DRAFT_rich.md`, invoke:
|
|
275
|
+
|
|
276
|
+
```
|
|
277
|
+
/render-html "rebuttal/REBUTTAL_DRAFT_rich.md"
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
Full review gate (reviewer-facing pre-submission deliverable). Do NOT render `rebuttal/PASTE_READY.txt` (it's exact-character-count plain text by design).
|
|
281
|
+
|
|
282
|
+
**Non-blocking**: if `/render-html` fails, log the failure and treat the rebuttal phase as complete — the `PASTE_READY.txt` and `REBUTTAL_DRAFT_rich.md` are the canonical outputs.
|
|
283
|
+
|
|
284
|
+
Skip if `RENDER_HTML = false`.
|
|
285
|
+
|
|
286
|
+
## Key Rules
|
|
287
|
+
|
|
288
|
+
- **Large file handling**: If Write fails, retry with Bash heredoc silently.
|
|
289
|
+
- **Never fabricate.** No invented evidence, numbers, derivations, citations, or links.
|
|
290
|
+
- **Never overpromise.** Only promise what user explicitly approved.
|
|
291
|
+
- **Full coverage.** Every reviewer concern tracked and accounted for.
|
|
292
|
+
- **Preserve raw records.** Reviews and MCP outputs stored verbatim.
|
|
293
|
+
- **Global + per-reviewer structure.** Shared concerns in opener.
|
|
294
|
+
- **Answer friendly reviewers too.** Reinforce supportive framing.
|
|
295
|
+
- **Meta-reviewer closing.** Summarize resolved/remaining/why accept.
|
|
296
|
+
- **Evidence > rhetoric.** Derivations and numbers over prose.
|
|
297
|
+
- **Concede selectively.** Narrow honest concessions > broad denials.
|
|
298
|
+
- **Don't waste space on unwinnable arguments.** Answer once, move on.
|
|
299
|
+
- **Respect the limit.** Character budget is a hard constraint.
|
|
300
|
+
- **Resume cleanly.** Continue from REBUTTAL_STATE.md on rerun.
|
|
301
|
+
- **Anti-hallucination citations.** Any reference added must go through DBLP → CrossRef → [VERIFY].
|
|
302
|
+
|
|
303
|
+
## Review Tracing
|
|
304
|
+
|
|
305
|
+
After each `spawn_agent` or `send_input` reviewer call, save the trace following `../shared-references/review-tracing.md`. Write files directly to `.aris/traces/rebuttal/<date>_run<NN>/`. Respect the `--- trace:` parameter when present (default: `full`).
|