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,211 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specification-writing
|
|
3
|
+
description: "Write the full patent specification from claims and invention disclosure. Use when user says \"撰写说明书\", \"write specification\", \"写说明书\", \"patent description\", or wants to draft the complete patent specification."
|
|
4
|
+
argument-hint: "[claims-path]"
|
|
5
|
+
allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, Skill, WebSearch, WebFetch, mcp__codex__codex, mcp__codex__codex-reply
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Specification Writing: Section-by-Section Patent Description
|
|
9
|
+
|
|
10
|
+
Write the patent specification based on: **$ARGUMENTS**
|
|
11
|
+
|
|
12
|
+
Adapted from `/paper-write` for patent specifications. The specification supports the claims -- it is not a paper.
|
|
13
|
+
|
|
14
|
+
## Constants
|
|
15
|
+
|
|
16
|
+
- `REVIEWER_MODEL = gpt-5.6-sol` — External reviewer for specification quality
|
|
17
|
+
- `JURISDICTION = "auto"` — Inherit from pipeline or detect from args; `CN`, `US`, `EP`, `ALL`
|
|
18
|
+
- `OUTPUT_FORMAT = "markdown"` — Markdown drafts; converted to filing format by `/jurisdiction-format`
|
|
19
|
+
- `OUTPUT_DIR = "patent/"` — Base output directory
|
|
20
|
+
- `LANGUAGE = "auto"` — Auto from jurisdiction: CN->Chinese, US/EP->English
|
|
21
|
+
|
|
22
|
+
## Inputs
|
|
23
|
+
|
|
24
|
+
1. `patent/CLAIMS.md` — the drafted claims (primary source)
|
|
25
|
+
2. `patent/INVENTION_DISCLOSURE.md` — invention decomposition
|
|
26
|
+
3. `patent/PRIOR_ART_REPORT.md` — for background section
|
|
27
|
+
4. User-provided figures (if any)
|
|
28
|
+
|
|
29
|
+
## Shared References
|
|
30
|
+
|
|
31
|
+
Load `../shared-references/patent-writing-principles.md` for specification writing rules, language guidelines, and reference numeral conventions.
|
|
32
|
+
Load `../shared-references/patent-format-cn.md` or `patent-format-us.md` or `patent-format-ep.md` based on jurisdiction.
|
|
33
|
+
|
|
34
|
+
## Workflow
|
|
35
|
+
|
|
36
|
+
### Step 1: Initialize Specification Structure
|
|
37
|
+
|
|
38
|
+
Create the output directory and section files:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
patent/specification/
|
|
42
|
+
├── title.md
|
|
43
|
+
├── technical_field.md
|
|
44
|
+
├── background.md
|
|
45
|
+
├── summary.md
|
|
46
|
+
├── drawings_description.md
|
|
47
|
+
├── detailed_description.md
|
|
48
|
+
└── abstract.md
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Step 2: Write Title (发明名称)
|
|
52
|
+
|
|
53
|
+
- Must match the broadest claim scope
|
|
54
|
+
- No trademarks, no "improved" or "new" or "novel"
|
|
55
|
+
- CN format: "一种[领域]的[技术主题]" or "[领域]的[技术主题]装置"
|
|
56
|
+
- US/EP format: "[Technical topic] for [purpose]" or "[Technical topic] and method thereof"
|
|
57
|
+
- Keep concise (CN: typically under 25 characters; US: under 500 characters)
|
|
58
|
+
|
|
59
|
+
### Step 3: Write Technical Field (技术领域)
|
|
60
|
+
|
|
61
|
+
1-2 paragraphs identifying the technical domain:
|
|
62
|
+
- "The present invention relates to [broad field], and more particularly to [specific area]."
|
|
63
|
+
- CN: "本发明涉及[技术领域],具体涉及[具体领域]。"
|
|
64
|
+
|
|
65
|
+
### Step 4: Write Background (背景技术)
|
|
66
|
+
|
|
67
|
+
This is NOT a literature review. It directly sets up the problem.
|
|
68
|
+
|
|
69
|
+
Structure:
|
|
70
|
+
1. Describe the closest prior art approaches (2-3 paragraphs)
|
|
71
|
+
2. Identify specific technical deficiencies of each approach
|
|
72
|
+
3. The deficiencies must be technical, not commercial or social
|
|
73
|
+
4. DO NOT admit the prior art is "superior" or "better"
|
|
74
|
+
5. DO NOT cite specific patent numbers unless they are known prior art (citations go in IDS for US, or Background section for CN)
|
|
75
|
+
|
|
76
|
+
CN format: "背景技术" section describing existing technology and its shortcomings.
|
|
77
|
+
|
|
78
|
+
### Step 5: Write Summary (发明内容)
|
|
79
|
+
|
|
80
|
+
Three parts, directly mirroring INVENTION_DISCLOSURE.md:
|
|
81
|
+
|
|
82
|
+
**Technical Problem (要解决的技术问题)**:
|
|
83
|
+
- State the problem derived from background deficiencies
|
|
84
|
+
- CN: "本发明要解决的技术问题是..."
|
|
85
|
+
|
|
86
|
+
**Technical Solution (技术方案)**:
|
|
87
|
+
- Describe how the invention solves the problem
|
|
88
|
+
- Must provide support for ALL claim elements
|
|
89
|
+
- Start from the broadest claim and describe the core inventive concept
|
|
90
|
+
- CN: "为解决上述技术问题,本发明采用的技术方案是:..."
|
|
91
|
+
- **NO formulas, NO mathematical derivations, NO circuit models** — these belong in 具体实施方式, not 发明内容
|
|
92
|
+
|
|
93
|
+
**Advantages (有益效果)**:
|
|
94
|
+
- Benefits derived from the structural/technical features (qualitative reasoning)
|
|
95
|
+
- CN: "本发明的有益效果是:..."
|
|
96
|
+
- **NO specific numerical results** (e.g., "detection limit 70μm", "response time 105ms") — these are experimental findings, not invention properties
|
|
97
|
+
- Frame advantages structurally: "由于采用了...结构,因此具有...效果"
|
|
98
|
+
|
|
99
|
+
### Step 6: Write Brief Description of Drawings (附图说明)
|
|
100
|
+
|
|
101
|
+
Invoke `/figure-description` as a sub-skill if user has provided figures:
|
|
102
|
+
```
|
|
103
|
+
/figure-description "patent/figures/"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
If no user figures, describe what figures should exist based on the claims.
|
|
107
|
+
|
|
108
|
+
Format:
|
|
109
|
+
- CN: "图1是...的示意图;图2是...的流程图;"
|
|
110
|
+
- US: "FIG. 1 is a block diagram showing...; FIG. 2 is a flowchart illustrating..."
|
|
111
|
+
|
|
112
|
+
### Step 7: Write Detailed Description (具体实施方式)
|
|
113
|
+
|
|
114
|
+
Invoke `/embodiment-description` as a sub-skill:
|
|
115
|
+
```
|
|
116
|
+
/embodiment-description "patent/CLAIMS.md"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
This section must:
|
|
120
|
+
- Describe at least one complete embodiment with reference numerals
|
|
121
|
+
- Enable a POSITA to make and use the invention
|
|
122
|
+
- Support every claim element with explicit description
|
|
123
|
+
- Include variations and alternatives for broader claim interpretation
|
|
124
|
+
|
|
125
|
+
### Step 8: Write Abstract (摘要)
|
|
126
|
+
|
|
127
|
+
Jurisdiction-specific word limits:
|
|
128
|
+
|
|
129
|
+
| Jurisdiction | Word Limit | Notes |
|
|
130
|
+
|-------------|-----------|-------|
|
|
131
|
+
| CN | 300 words (Chinese characters) | Include most representative claim reference |
|
|
132
|
+
| US | 150 words (2500 characters) | Enable efficient searching, no legal phrases |
|
|
133
|
+
| EP | ~150 words | No statements on merits or value |
|
|
134
|
+
|
|
135
|
+
The abstract summarizes:
|
|
136
|
+
1. The technical field
|
|
137
|
+
2. The problem being solved
|
|
138
|
+
3. The technical solution (core features)
|
|
139
|
+
4. Key advantages
|
|
140
|
+
|
|
141
|
+
### Step 9: Claim Support Verification
|
|
142
|
+
|
|
143
|
+
Verify every claim element finds support in the specification:
|
|
144
|
+
|
|
145
|
+
| Claim | Element | Specification Section | Paragraph(s) | Reference Numeral |
|
|
146
|
+
|-------|---------|----------------------|-------------|-------------------|
|
|
147
|
+
| 1 | step a | detailed_description | ¶3 | 202 |
|
|
148
|
+
| 1 | step b | detailed_description | ¶4 | 204 |
|
|
149
|
+
| X | component A | detailed_description | ¶2 | 102 |
|
|
150
|
+
|
|
151
|
+
If any element lacks support, add the necessary description before proceeding.
|
|
152
|
+
|
|
153
|
+
### Step 10: Cross-Model Review
|
|
154
|
+
|
|
155
|
+
Call `REVIEWER_MODEL` via `mcp__codex__codex` with xhigh reasoning:
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
mcp__codex__codex:
|
|
159
|
+
model: gpt-5.6-sol
|
|
160
|
+
config: {"model_reasoning_effort": "xhigh"}
|
|
161
|
+
prompt: |
|
|
162
|
+
You are a patent examiner reviewing a specification for completeness.
|
|
163
|
+
CLAIMS: [all claims]
|
|
164
|
+
SPECIFICATION: [all specification sections]
|
|
165
|
+
|
|
166
|
+
Check for:
|
|
167
|
+
1. Written description support: Does every claim element have explicit or inherent support?
|
|
168
|
+
2. Enablement: Can a POSITA practice the invention from this specification?
|
|
169
|
+
3. Consistency: Do reference numerals match across figures and specification?
|
|
170
|
+
4. Language quality: Any subjective terms, relative terms without definition, or result-to-be-achieved language?
|
|
171
|
+
5. Missing embodiments: Are there claim features that need additional embodiments?
|
|
172
|
+
6. Background deficiencies: Are they technical and specific enough?
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Step 11: Output
|
|
176
|
+
|
|
177
|
+
All specification sections are in `patent/specification/`.
|
|
178
|
+
|
|
179
|
+
Summary file: `patent/specification/SPECIFICATION_INDEX.md` with:
|
|
180
|
+
```markdown
|
|
181
|
+
## Patent Specification
|
|
182
|
+
|
|
183
|
+
### Sections
|
|
184
|
+
| Section | File | Word Count | Status |
|
|
185
|
+
|---------|------|-----------|--------|
|
|
186
|
+
| Title | title.md | | Complete |
|
|
187
|
+
| Technical Field | technical_field.md | | Complete |
|
|
188
|
+
| Background | background.md | | Complete |
|
|
189
|
+
| Summary | summary.md | | Complete |
|
|
190
|
+
| Drawings Description | drawings_description.md | | Complete |
|
|
191
|
+
| Detailed Description | detailed_description.md | | Complete |
|
|
192
|
+
| Abstract | abstract.md | | Complete |
|
|
193
|
+
|
|
194
|
+
### Claim Support Status
|
|
195
|
+
| Claim | Elements Supported | Elements Missing |
|
|
196
|
+
|-------|-------------------|-----------------|
|
|
197
|
+
| 1 | All | None |
|
|
198
|
+
| X | All | None |
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Key Rules
|
|
202
|
+
|
|
203
|
+
- The specification supports the claims, not the other way around. Every claim element must have support.
|
|
204
|
+
- Use consistent terminology -- same word for the same concept throughout.
|
|
205
|
+
- DO NOT include experimental results, accuracy metrics, or empirical evaluations.
|
|
206
|
+
- DO NOT use subjective language ("excellent", "surprising", "superior").
|
|
207
|
+
- Reference numerals must be consistent: same component, same numeral, everywhere.
|
|
208
|
+
- Background section describes specific deficiencies, not general "need for improvement."
|
|
209
|
+
- Multiple embodiments strengthen the specification but are not always required.
|
|
210
|
+
- Large file handling: if a Write operation fails, retry with Bash `cat <<'EOF'` heredoc.
|
|
211
|
+
- If `mcp__codex__codex` is not available, skip cross-model review and note it in the output.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: system-profile
|
|
3
|
+
description: "Profile a target (script, process, GPU, memory, interconnect) for performance analysis. Use when user says \"profile\", \"benchmark\", \"bottleneck\", or wants performance analysis."
|
|
4
|
+
argument-hint: '<target, e.g. "train.py", "gpu", "pid 1234", "vllm serving">'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# System Profile
|
|
8
|
+
|
|
9
|
+
Profile the specified target and summarize the results. Target: $ARGUMENTS
|
|
10
|
+
|
|
11
|
+
## Instructions
|
|
12
|
+
|
|
13
|
+
You are a profiling assistant. Based on the user's target, choose appropriate profiling strategies, **including writing instrumentation code when needed**, then run profiling, analyze results, and produce a summary.
|
|
14
|
+
|
|
15
|
+
### Step 1: Determine the profiling target
|
|
16
|
+
|
|
17
|
+
Parse `$ARGUMENTS` to understand what to profile. Examples:
|
|
18
|
+
- A Python script or module
|
|
19
|
+
- A running process (PID or service name)
|
|
20
|
+
- A specific function or code block
|
|
21
|
+
- An entire framework or system (e.g., "autogen", "vllm serving") — profile its end-to-end execution, identify bottlenecks across components
|
|
22
|
+
- "gpu" / "interconnect" / "memory" for focused profiling
|
|
23
|
+
|
|
24
|
+
If `$ARGUMENTS` is empty or unclear, ask the user.
|
|
25
|
+
|
|
26
|
+
### Step 2: Choose profiling methods
|
|
27
|
+
|
|
28
|
+
Select from external tools and/or code instrumentation as appropriate. Don't limit yourself to the examples below — use whatever makes sense for the target.
|
|
29
|
+
|
|
30
|
+
**External tools** (check availability first):
|
|
31
|
+
- CPU: `cProfile`, `py-spy`, `line_profiler`, `perf stat`, `/usr/bin/time -v`
|
|
32
|
+
- Memory: `tracemalloc`, `memory_profiler`, `memray`
|
|
33
|
+
- GPU: `nvidia-smi`, `nvidia-smi dmon`, `nvitop`, `torch.profiler`, `nsys`
|
|
34
|
+
- Interconnect: `nvidia-smi topo -m`, `nvidia-smi nvlink`, `NCCL_DEBUG=INFO`
|
|
35
|
+
- System: `strace -c`, `iostat`, `vmstat`
|
|
36
|
+
|
|
37
|
+
**Code instrumentation** — when external tools are insufficient, write and insert profiling code into the target. Typical scenarios:
|
|
38
|
+
- Timing specific code blocks (wall time vs CPU time)
|
|
39
|
+
- Measuring CPU-GPU or GPU-GPU transfer size, frequency, and bandwidth
|
|
40
|
+
- Tracking memory allocation across CPU and GPU to detect redundancy
|
|
41
|
+
- Wrapping NCCL collectives to measure latency and throughput
|
|
42
|
+
- Adding CUDA event timing around kernels
|
|
43
|
+
|
|
44
|
+
Design the instrumentation based on what you observe in the code — don't use a fixed template.
|
|
45
|
+
|
|
46
|
+
### Step 3: Key dimensions to investigate
|
|
47
|
+
|
|
48
|
+
Depending on the target, focus on some or all of these:
|
|
49
|
+
|
|
50
|
+
**CPU overhead**
|
|
51
|
+
- Context switching (voluntary / involuntary)
|
|
52
|
+
- CPU utilization: ratio of CPU time to wall time
|
|
53
|
+
- Per-function execution time hotspots
|
|
54
|
+
|
|
55
|
+
**Memory overhead**
|
|
56
|
+
- CPU and GPU memory usage (allocated vs reserved vs peak)
|
|
57
|
+
- Redundant replication: same data living on both CPU and GPU
|
|
58
|
+
- Per-device allocation balance in multi-GPU setups
|
|
59
|
+
|
|
60
|
+
**Interconnect & communication**
|
|
61
|
+
- CPU-GPU transfer: frequency, per-transfer size, total volume, bandwidth achieved
|
|
62
|
+
- GPU-GPU transfer: P2P bandwidth, NVLink vs PCIe topology impact
|
|
63
|
+
- NCCL collectives: operation type, message size distribution, latency
|
|
64
|
+
- Communication-to-computation ratio
|
|
65
|
+
|
|
66
|
+
**GPU compute**
|
|
67
|
+
- SM utilization, kernel launch overhead
|
|
68
|
+
- Memory bandwidth utilization vs peak
|
|
69
|
+
|
|
70
|
+
### Step 4: Instrumentation guidelines
|
|
71
|
+
|
|
72
|
+
When inserting code into the target:
|
|
73
|
+
1. Read and understand the target code first
|
|
74
|
+
2. Prefer wrapping (decorator, context manager, standalone runner) over inline edits
|
|
75
|
+
3. If inline edits are necessary, mark them clearly (e.g., `# [PROFILE]` comments)
|
|
76
|
+
4. Minimize observer effect — don't instrument tight inner loops; sample instead
|
|
77
|
+
5. Collect results into a structured log, don't scatter print statements
|
|
78
|
+
|
|
79
|
+
### Step 5: Run profiling
|
|
80
|
+
|
|
81
|
+
1. Check available tools and hardware topology
|
|
82
|
+
2. Run the chosen methods, capture all output
|
|
83
|
+
3. Save artifacts (flamegraphs, traces, logs) to `./profile_output/`
|
|
84
|
+
|
|
85
|
+
### Step 6: Produce the report
|
|
86
|
+
|
|
87
|
+
**Part A — Profiling results** (structured tables by dimension, as applicable):
|
|
88
|
+
- CPU overhead table
|
|
89
|
+
- Memory overhead table (with redundancy column)
|
|
90
|
+
- Interconnect table (transfer type / frequency / size / latency / bandwidth)
|
|
91
|
+
- Hotspots / bottleneck identification
|
|
92
|
+
- Actionable recommendations ranked by expected impact
|
|
93
|
+
|
|
94
|
+
**Part B — Instrumentation changelog** (MANDATORY):
|
|
95
|
+
List every file that was modified or created for profiling purposes:
|
|
96
|
+
|
|
97
|
+
| File | Change type | What was added/modified | Line(s) |
|
|
98
|
+
|------|-------------|------------------------|---------|
|
|
99
|
+
| ... | modified | ... | ... |
|
|
100
|
+
| ... | created | ... | — |
|
|
101
|
+
|
|
102
|
+
This allows the user to review and revert all instrumentation changes.
|
|
103
|
+
Offer to clean up (remove all instrumentation) when the user is done.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: training-check
|
|
3
|
+
description: Periodically check WandB metrics during training to catch problems early (NaN, loss divergence, idle GPUs). Avoids wasting GPU hours on broken runs. Use when training is running and you want automated health checks.
|
|
4
|
+
argument-hint: "[wandb-run-path]"
|
|
5
|
+
allowed-tools: Bash(*), Read, Grep, Glob, Write, Edit, mcp__codex__codex, mcp__codex__codex-reply
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Training Check
|
|
9
|
+
|
|
10
|
+
Periodically read WandB metrics during training to catch problems early. Do not wait until training finishes to discover it was a waste of GPU time.
|
|
11
|
+
|
|
12
|
+
> ⏱ This skill is **correctly** cron-wired (see below): it polls
|
|
13
|
+
> machine-checkable training health (NaN / divergence / idle GPU) — the additive
|
|
14
|
+
> external-wait shape in
|
|
15
|
+
> [`shared-references/external-cadence.md`](../shared-references/external-cadence.md).
|
|
16
|
+
> The occasional Codex call for an ambiguous metric is a **one-shot** check per
|
|
17
|
+
> tick, not a multi-round verdict loop, so it stays additive — it never grows
|
|
18
|
+
> into a wrapped verdict skill.
|
|
19
|
+
|
|
20
|
+
## Context: $ARGUMENTS
|
|
21
|
+
|
|
22
|
+
## Constants
|
|
23
|
+
|
|
24
|
+
- WANDB_ENTITY and WANDB_PROJECT: read from CLAUDE.md or passed as argument (format: `entity/project/run_id`)
|
|
25
|
+
- CHECK_INTERVAL: starts at 10 minutes, then gradually increases if consistently healthy: 10 min → 20 min → 30 min → 60 min (cap)
|
|
26
|
+
- REVIEWER_MODEL = `gpt-5.6-sol` — used via Codex MCP for ambiguous cases only
|
|
27
|
+
|
|
28
|
+
## When to Use
|
|
29
|
+
|
|
30
|
+
- After training is confirmed running (session alive, loss decreasing for first few steps)
|
|
31
|
+
- Set up via CronCreate to fire periodically during training
|
|
32
|
+
- **This skill checks training QUALITY, not process HEALTH.** Process health (session alive, GPU utilization) is [watchdog.py](../../tools/watchdog.py)'s job.
|
|
33
|
+
|
|
34
|
+
## Workflow
|
|
35
|
+
|
|
36
|
+
### Step 1: Read WandB Metrics
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
import wandb
|
|
40
|
+
api = wandb.Api()
|
|
41
|
+
run = api.run("<entity>/<project>/<run_id>")
|
|
42
|
+
history = run.history()
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
If WandB is unreachable (API error, network issue), fall back to reading the log file directly via SSH:
|
|
46
|
+
```bash
|
|
47
|
+
ssh server "tail -100 /path/to/training.log"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Check these signals:
|
|
51
|
+
- **Loss trend**: Is training loss decreasing over the last N steps?
|
|
52
|
+
- **Eval metrics**: Are evaluation metrics improving (or at least not degrading)?
|
|
53
|
+
- **NaN / Inf**: Any NaN or Inf values in loss or gradients?
|
|
54
|
+
- **Spikes**: Sudden large jumps in loss (>10x normal variance)?
|
|
55
|
+
- **Learning rate**: Is the schedule behaving as expected?
|
|
56
|
+
- **Gradient norm**: Exploding or vanishing?
|
|
57
|
+
|
|
58
|
+
### Step 2: Judgment
|
|
59
|
+
|
|
60
|
+
| Signal | Judgment | Action |
|
|
61
|
+
|--------|----------|--------|
|
|
62
|
+
| NaN/Inf in loss | **Clearly bad** | Stop training, investigate |
|
|
63
|
+
| Loss diverging (increasing for >N steps) | **Clearly bad** | Stop training, investigate |
|
|
64
|
+
| Eval metrics significantly worse than baseline | **Clearly bad** | Stop training, investigate |
|
|
65
|
+
| Loss decreasing, metrics improving | **Clearly fine** | Continue, increase check interval |
|
|
66
|
+
| Loss flat but not diverging | **Unsure** | → Step 3 (Codex judgment) |
|
|
67
|
+
| Metrics noisy, can't tell trend | **Unsure** | → Step 3 (Codex judgment) |
|
|
68
|
+
| Slightly worse than baseline but still early | **Unsure** | → Step 3 (Codex judgment) |
|
|
69
|
+
|
|
70
|
+
### Step 3: Codex Judgment (only when unsure)
|
|
71
|
+
|
|
72
|
+
Only escalate to Codex when the signal is ambiguous. For clearly good or clearly bad signals, act directly.
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
mcp__codex__codex:
|
|
76
|
+
model: gpt-5.6-sol
|
|
77
|
+
config: {"model_reasoning_effort": "xhigh"}
|
|
78
|
+
prompt: |
|
|
79
|
+
TRAINING HEALTH CHECK — need your judgment on ambiguous metrics.
|
|
80
|
+
|
|
81
|
+
Run: <entity>/<project>/<run_id>
|
|
82
|
+
Current epoch/step: X / Y total
|
|
83
|
+
Training loss (last 10 checkpoints): [values]
|
|
84
|
+
Eval metrics (last 3 evals): [values]
|
|
85
|
+
Baseline reference: [numbers from paper/reproduction]
|
|
86
|
+
|
|
87
|
+
What I'm unsure about: [specific concern]
|
|
88
|
+
|
|
89
|
+
Please respond with exactly one of:
|
|
90
|
+
- STOP: clearly problematic, should kill training
|
|
91
|
+
- CONTINUE: looks fine, check again next interval
|
|
92
|
+
- WAIT: not enough data to judge, check again sooner
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Step 4: Act
|
|
96
|
+
|
|
97
|
+
| Decision | Action |
|
|
98
|
+
|----------|--------|
|
|
99
|
+
| **Stop** | Kill the training session. Save the WandB run URL, key metrics, and reason for stopping. Log to project notes for debugging. |
|
|
100
|
+
| **Continue** | Do nothing. Will be invoked again at next interval (increase interval if consistently healthy). |
|
|
101
|
+
| **Wait** | Do nothing but keep the current short interval (don't increase). |
|
|
102
|
+
|
|
103
|
+
## Integration with Watchdog
|
|
104
|
+
|
|
105
|
+
Training-check and [watchdog.py](../../tools/watchdog.py) operate at different levels:
|
|
106
|
+
|
|
107
|
+
| Layer | Tool | What it checks | Frequency |
|
|
108
|
+
|-------|------|----------------|-----------|
|
|
109
|
+
| Process health | watchdog.py | Session alive? GPU active? | Every 60s (continuous) |
|
|
110
|
+
| Training quality | training-check | Loss trend? Metrics improving? | Every 10-60 min (periodic) |
|
|
111
|
+
|
|
112
|
+
Use both together:
|
|
113
|
+
- Watchdog catches crashes and idle GPUs immediately
|
|
114
|
+
- Training-check catches subtle quality issues (loss plateau, metric degradation)
|
|
115
|
+
|
|
116
|
+
## Rules
|
|
117
|
+
|
|
118
|
+
- Do not stop training on first sign of noise — some loss spikes are normal. Look at **trends over multiple checkpoints**.
|
|
119
|
+
- When stopping training, always save the WandB run URL and key metrics as evidence.
|
|
120
|
+
- If both WandB and log files are unreachable, report the connectivity issue and try again next interval. Do not assume training is broken.
|
|
121
|
+
- Gradually increase check interval when healthy (10 → 20 → 30 → 60 min). Reset to 10 min after any anomaly.
|
|
122
|
+
- This skill is meant to be automated via CronCreate — do not ask the user whether to set it up. Just set it.
|
|
123
|
+
|
|
124
|
+
## CronCreate Setup Example
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
After training is confirmed stable:
|
|
128
|
+
CronCreate (recurring, every 10 minutes initially):
|
|
129
|
+
"Run /training-check for wandb run <entity>/<project>/<run_id>"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
As the check interval increases, delete the old CronCreate job and create a new one with the longer interval.
|