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,438 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""CLI helper for fetching Semantic Scholar papers.
|
|
3
|
+
|
|
4
|
+
Designed to complement arxiv_fetch.py: arXiv handles preprints, this tool
|
|
5
|
+
handles **published venue papers** (IEEE, ACM, Springer, etc.) with rich
|
|
6
|
+
metadata (citations, venue, fieldsOfStudy, TLDR).
|
|
7
|
+
|
|
8
|
+
Commands
|
|
9
|
+
--------
|
|
10
|
+
search Relevance search for papers (offset pagination, max 100).
|
|
11
|
+
search-bulk Bulk search with token-based pagination (max 1000).
|
|
12
|
+
paper Fetch one paper by Semantic Scholar paper ID, DOI, CorpusId, ArXiv ID, etc.
|
|
13
|
+
|
|
14
|
+
Filter flags (shared by search and search-bulk)
|
|
15
|
+
-----------------------------------------------
|
|
16
|
+
--fields-of-study e.g. "Computer Science,Engineering"
|
|
17
|
+
--publication-types e.g. "JournalArticle", "Conference", "Review"
|
|
18
|
+
--min-citations e.g. 10
|
|
19
|
+
--year e.g. "2020-", "2020-2024"
|
|
20
|
+
--venue exact venue name, e.g. "IEEE Transactions on Signal Processing"
|
|
21
|
+
--open-access only papers with a public PDF
|
|
22
|
+
|
|
23
|
+
Examples
|
|
24
|
+
--------
|
|
25
|
+
# Search for journal articles with >= 10 citations (best combo for quality filtering)
|
|
26
|
+
python3 tools/semantic_scholar_fetch.py search "semantic communication" --max 10 \
|
|
27
|
+
--publication-types JournalArticle --min-citations 10
|
|
28
|
+
|
|
29
|
+
# CS/Engineering papers from 2022 onward
|
|
30
|
+
python3 tools/semantic_scholar_fetch.py search "semantic communication" --max 10 \
|
|
31
|
+
--fields-of-study "Computer Science,Engineering" --year "2022-"
|
|
32
|
+
|
|
33
|
+
# Bulk search sorted by citation count, CS only
|
|
34
|
+
python3 tools/semantic_scholar_fetch.py search-bulk "semantic communication" --max 50 \
|
|
35
|
+
--sort citationCount:desc --fields-of-study "Computer Science" --year "2020-"
|
|
36
|
+
|
|
37
|
+
# Fetch a single paper by DOI or arXiv ID
|
|
38
|
+
python3 tools/semantic_scholar_fetch.py paper "10.1109/JSAC.2021.3126077"
|
|
39
|
+
python3 tools/semantic_scholar_fetch.py paper "ARXIV:2006.10685"
|
|
40
|
+
|
|
41
|
+
# NOTE: --venue requires exact venue name (e.g. "IEEE Transactions on Signal Processing"),
|
|
42
|
+
# not partial match like "IEEE". Prefer --publication-types + --fields-of-study instead.
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
from __future__ import annotations
|
|
46
|
+
|
|
47
|
+
import argparse
|
|
48
|
+
import json
|
|
49
|
+
import os
|
|
50
|
+
import sys
|
|
51
|
+
import time
|
|
52
|
+
import urllib.error
|
|
53
|
+
import urllib.parse
|
|
54
|
+
import urllib.request
|
|
55
|
+
from typing import Any
|
|
56
|
+
|
|
57
|
+
_API_BASE = "https://api.semanticscholar.org/graph/v1"
|
|
58
|
+
_USER_AGENT = "s2-fetch/1.1"
|
|
59
|
+
_DEFAULT_TIMEOUT = 30
|
|
60
|
+
|
|
61
|
+
# Good default for relevance search / single-paper fetch
|
|
62
|
+
_DEFAULT_FIELDS = (
|
|
63
|
+
"paperId,title,abstract,year,venue,publicationVenue,publicationTypes,"
|
|
64
|
+
"publicationDate,url,openAccessPdf,authors,externalIds,citationCount,"
|
|
65
|
+
"referenceCount,fieldsOfStudy,s2FieldsOfStudy,tldr"
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
# Bulk search is intended for basic paper data; keep defaults conservative
|
|
69
|
+
_DEFAULT_BULK_FIELDS = (
|
|
70
|
+
"paperId,title,abstract,year,venue,publicationDate,url,authors,"
|
|
71
|
+
"externalIds,citationCount,referenceCount,fieldsOfStudy"
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def _headers() -> dict[str, str]:
|
|
76
|
+
headers = {
|
|
77
|
+
"User-Agent": _USER_AGENT,
|
|
78
|
+
"Accept": "application/json",
|
|
79
|
+
}
|
|
80
|
+
api_key = os.getenv("SEMANTIC_SCHOLAR_API_KEY", "").strip()
|
|
81
|
+
if api_key:
|
|
82
|
+
headers["x-api-key"] = api_key
|
|
83
|
+
return headers
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def _request_json(url: str, *, retries: int = 2, timeout: int = _DEFAULT_TIMEOUT) -> dict[str, Any]:
|
|
87
|
+
req = urllib.request.Request(url, headers=_headers())
|
|
88
|
+
last_err: Exception | None = None
|
|
89
|
+
|
|
90
|
+
for attempt in range(retries + 1):
|
|
91
|
+
try:
|
|
92
|
+
with urllib.request.urlopen(req, timeout=timeout) as resp:
|
|
93
|
+
raw = resp.read().decode("utf-8")
|
|
94
|
+
return json.loads(raw)
|
|
95
|
+
except urllib.error.HTTPError as exc:
|
|
96
|
+
body = ""
|
|
97
|
+
try:
|
|
98
|
+
body = exc.read().decode("utf-8", errors="replace")
|
|
99
|
+
except Exception:
|
|
100
|
+
pass
|
|
101
|
+
|
|
102
|
+
if exc.code in (429, 500, 502, 503, 504) and attempt < retries:
|
|
103
|
+
time.sleep(1.5 * (attempt + 1))
|
|
104
|
+
last_err = exc
|
|
105
|
+
continue
|
|
106
|
+
|
|
107
|
+
message = f"HTTP {exc.code}"
|
|
108
|
+
if body:
|
|
109
|
+
message += f": {body}"
|
|
110
|
+
raise RuntimeError(message) from exc
|
|
111
|
+
except urllib.error.URLError as exc:
|
|
112
|
+
if attempt < retries:
|
|
113
|
+
time.sleep(1.5 * (attempt + 1))
|
|
114
|
+
last_err = exc
|
|
115
|
+
continue
|
|
116
|
+
raise RuntimeError(f"Network error: {exc}") from exc
|
|
117
|
+
except json.JSONDecodeError as exc:
|
|
118
|
+
raise RuntimeError("Failed to parse JSON response from Semantic Scholar API") from exc
|
|
119
|
+
|
|
120
|
+
raise RuntimeError(f"Request failed after retries: {last_err}")
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
def _clean_text(value: Any) -> str | None:
|
|
124
|
+
if value is None:
|
|
125
|
+
return None
|
|
126
|
+
text = str(value).strip().replace("\n", " ")
|
|
127
|
+
return text or None
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def _parse_author(author: dict[str, Any]) -> dict[str, Any]:
|
|
131
|
+
return {
|
|
132
|
+
"authorId": author.get("authorId"),
|
|
133
|
+
"name": _clean_text(author.get("name")),
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def _parse_publication_venue(pub_venue: dict[str, Any] | None) -> dict[str, Any] | None:
|
|
138
|
+
if not pub_venue:
|
|
139
|
+
return None
|
|
140
|
+
return {
|
|
141
|
+
"id": pub_venue.get("id"),
|
|
142
|
+
"name": _clean_text(pub_venue.get("name")),
|
|
143
|
+
"type": _clean_text(pub_venue.get("type")),
|
|
144
|
+
"issn": _clean_text(pub_venue.get("issn")),
|
|
145
|
+
"url": _clean_text(pub_venue.get("url")),
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
def _parse_paper(paper: dict[str, Any]) -> dict[str, Any]:
|
|
150
|
+
authors = paper.get("authors") or []
|
|
151
|
+
return {
|
|
152
|
+
"paperId": paper.get("paperId"),
|
|
153
|
+
"title": _clean_text(paper.get("title")),
|
|
154
|
+
"abstract": _clean_text(paper.get("abstract")),
|
|
155
|
+
"year": paper.get("year"),
|
|
156
|
+
"venue": _clean_text(paper.get("venue")),
|
|
157
|
+
"publicationVenue": _parse_publication_venue(paper.get("publicationVenue")),
|
|
158
|
+
"publicationTypes": paper.get("publicationTypes"),
|
|
159
|
+
"publicationDate": _clean_text(paper.get("publicationDate")),
|
|
160
|
+
"url": _clean_text(paper.get("url")),
|
|
161
|
+
"openAccessPdf": paper.get("openAccessPdf"),
|
|
162
|
+
"authors": [_parse_author(a) for a in authors],
|
|
163
|
+
"externalIds": paper.get("externalIds"),
|
|
164
|
+
"citationCount": paper.get("citationCount"),
|
|
165
|
+
"referenceCount": paper.get("referenceCount"),
|
|
166
|
+
"fieldsOfStudy": paper.get("fieldsOfStudy"),
|
|
167
|
+
"s2FieldsOfStudy": paper.get("s2FieldsOfStudy"),
|
|
168
|
+
"tldr": paper.get("tldr"),
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
def search(
|
|
173
|
+
query: str,
|
|
174
|
+
max_results: int = 10,
|
|
175
|
+
offset: int = 0,
|
|
176
|
+
fields: str = _DEFAULT_FIELDS,
|
|
177
|
+
fields_of_study: str | None = None,
|
|
178
|
+
venue: str | None = None,
|
|
179
|
+
year: str | None = None,
|
|
180
|
+
min_citation_count: int | None = None,
|
|
181
|
+
publication_types: str | None = None,
|
|
182
|
+
open_access_pdf: bool = False,
|
|
183
|
+
) -> dict[str, Any]:
|
|
184
|
+
params: dict[str, Any] = {
|
|
185
|
+
"query": query,
|
|
186
|
+
"limit": max_results,
|
|
187
|
+
"offset": offset,
|
|
188
|
+
"fields": fields,
|
|
189
|
+
}
|
|
190
|
+
if fields_of_study:
|
|
191
|
+
params["fieldsOfStudy"] = fields_of_study
|
|
192
|
+
if venue:
|
|
193
|
+
params["venue"] = venue
|
|
194
|
+
if year:
|
|
195
|
+
params["year"] = year
|
|
196
|
+
if min_citation_count is not None:
|
|
197
|
+
params["minCitationCount"] = min_citation_count
|
|
198
|
+
if publication_types:
|
|
199
|
+
params["publicationTypes"] = publication_types
|
|
200
|
+
if open_access_pdf:
|
|
201
|
+
params["openAccessPdf"] = ""
|
|
202
|
+
url = f"{_API_BASE}/paper/search?{urllib.parse.urlencode(params)}"
|
|
203
|
+
payload = _request_json(url)
|
|
204
|
+
|
|
205
|
+
data = payload.get("data") or []
|
|
206
|
+
return {
|
|
207
|
+
"mode": "search",
|
|
208
|
+
"total": payload.get("total"),
|
|
209
|
+
"offset": offset,
|
|
210
|
+
"next_offset": offset + len(data),
|
|
211
|
+
"data": [_parse_paper(item) for item in data],
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
def search_bulk(
|
|
216
|
+
query: str,
|
|
217
|
+
max_results: int = 100,
|
|
218
|
+
token: str | None = None,
|
|
219
|
+
fields: str = _DEFAULT_BULK_FIELDS,
|
|
220
|
+
sort: str | None = None,
|
|
221
|
+
fields_of_study: str | None = None,
|
|
222
|
+
venue: str | None = None,
|
|
223
|
+
year: str | None = None,
|
|
224
|
+
min_citation_count: int | None = None,
|
|
225
|
+
publication_types: str | None = None,
|
|
226
|
+
open_access_pdf: bool = False,
|
|
227
|
+
) -> dict[str, Any]:
|
|
228
|
+
params: dict[str, Any] = {
|
|
229
|
+
"query": query,
|
|
230
|
+
"limit": max_results,
|
|
231
|
+
"fields": fields,
|
|
232
|
+
}
|
|
233
|
+
if token:
|
|
234
|
+
params["token"] = token
|
|
235
|
+
if sort:
|
|
236
|
+
params["sort"] = sort
|
|
237
|
+
if fields_of_study:
|
|
238
|
+
params["fieldsOfStudy"] = fields_of_study
|
|
239
|
+
if venue:
|
|
240
|
+
params["venue"] = venue
|
|
241
|
+
if year:
|
|
242
|
+
params["year"] = year
|
|
243
|
+
if min_citation_count is not None:
|
|
244
|
+
params["minCitationCount"] = min_citation_count
|
|
245
|
+
if publication_types:
|
|
246
|
+
params["publicationTypes"] = publication_types
|
|
247
|
+
if open_access_pdf:
|
|
248
|
+
params["openAccessPdf"] = ""
|
|
249
|
+
|
|
250
|
+
url = f"{_API_BASE}/paper/search/bulk?{urllib.parse.urlencode(params)}"
|
|
251
|
+
payload = _request_json(url)
|
|
252
|
+
|
|
253
|
+
data = payload.get("data") or []
|
|
254
|
+
return {
|
|
255
|
+
"mode": "search-bulk",
|
|
256
|
+
"token": payload.get("token"),
|
|
257
|
+
"returned": len(data),
|
|
258
|
+
"sort": sort,
|
|
259
|
+
"data": [_parse_paper(item) for item in data],
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
def get_paper(paper_id: str, fields: str = _DEFAULT_FIELDS) -> dict[str, Any]:
|
|
264
|
+
encoded_id = urllib.parse.quote(paper_id, safe="")
|
|
265
|
+
params = {"fields": fields}
|
|
266
|
+
url = f"{_API_BASE}/paper/{encoded_id}?{urllib.parse.urlencode(params)}"
|
|
267
|
+
payload = _request_json(url)
|
|
268
|
+
return _parse_paper(payload)
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
def _add_filter_args(parser: argparse.ArgumentParser) -> None:
|
|
272
|
+
"""Add shared filtering arguments to a search sub-parser."""
|
|
273
|
+
parser.add_argument(
|
|
274
|
+
"--fields-of-study",
|
|
275
|
+
default=None,
|
|
276
|
+
help="Comma-separated fields of study filter, e.g. 'Computer Science,Engineering'.",
|
|
277
|
+
)
|
|
278
|
+
parser.add_argument(
|
|
279
|
+
"--venue",
|
|
280
|
+
default=None,
|
|
281
|
+
help="Comma-separated venue filter, e.g. 'IEEE,ACM' or 'Nature'.",
|
|
282
|
+
)
|
|
283
|
+
parser.add_argument(
|
|
284
|
+
"--year",
|
|
285
|
+
default=None,
|
|
286
|
+
help="Year or range, e.g. '2023', '2020-2024', '2020-', '-2023'.",
|
|
287
|
+
)
|
|
288
|
+
parser.add_argument(
|
|
289
|
+
"--min-citations",
|
|
290
|
+
type=int,
|
|
291
|
+
default=None,
|
|
292
|
+
metavar="N",
|
|
293
|
+
help="Minimum citation count filter.",
|
|
294
|
+
)
|
|
295
|
+
parser.add_argument(
|
|
296
|
+
"--publication-types",
|
|
297
|
+
default=None,
|
|
298
|
+
help="Comma-separated types: JournalArticle,Conference,Review,etc.",
|
|
299
|
+
)
|
|
300
|
+
parser.add_argument(
|
|
301
|
+
"--open-access",
|
|
302
|
+
action="store_true",
|
|
303
|
+
default=False,
|
|
304
|
+
help="Only return papers with a public PDF.",
|
|
305
|
+
)
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
def _build_parser() -> argparse.ArgumentParser:
|
|
309
|
+
parser = argparse.ArgumentParser(
|
|
310
|
+
description="Search and fetch papers from Semantic Scholar.",
|
|
311
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
312
|
+
)
|
|
313
|
+
subparsers = parser.add_subparsers(dest="command", required=True)
|
|
314
|
+
|
|
315
|
+
search_parser = subparsers.add_parser("search", help="Relevance search for papers")
|
|
316
|
+
search_parser.add_argument("query", help="Keyword query")
|
|
317
|
+
search_parser.add_argument(
|
|
318
|
+
"--max",
|
|
319
|
+
type=int,
|
|
320
|
+
default=10,
|
|
321
|
+
metavar="N",
|
|
322
|
+
help="Maximum number of results to return (default: 10).",
|
|
323
|
+
)
|
|
324
|
+
search_parser.add_argument(
|
|
325
|
+
"--offset",
|
|
326
|
+
type=int,
|
|
327
|
+
default=0,
|
|
328
|
+
help="Offset for pagination (default: 0).",
|
|
329
|
+
)
|
|
330
|
+
search_parser.add_argument(
|
|
331
|
+
"--fields",
|
|
332
|
+
default=_DEFAULT_FIELDS,
|
|
333
|
+
help="Comma-separated response fields to request.",
|
|
334
|
+
)
|
|
335
|
+
_add_filter_args(search_parser)
|
|
336
|
+
|
|
337
|
+
bulk_parser = subparsers.add_parser(
|
|
338
|
+
"search-bulk",
|
|
339
|
+
help="Bulk search for papers with token-based pagination",
|
|
340
|
+
)
|
|
341
|
+
bulk_parser.add_argument("query", help="Keyword query")
|
|
342
|
+
bulk_parser.add_argument(
|
|
343
|
+
"--max",
|
|
344
|
+
type=int,
|
|
345
|
+
default=100,
|
|
346
|
+
metavar="N",
|
|
347
|
+
help="Maximum number of results to return in this page (default: 100).",
|
|
348
|
+
)
|
|
349
|
+
bulk_parser.add_argument(
|
|
350
|
+
"--token",
|
|
351
|
+
default=None,
|
|
352
|
+
help="Continuation token returned by a previous bulk search page.",
|
|
353
|
+
)
|
|
354
|
+
bulk_parser.add_argument(
|
|
355
|
+
"--sort",
|
|
356
|
+
default=None,
|
|
357
|
+
help="Optional sort for bulk search, e.g. publicationDate:desc or citationCount:desc",
|
|
358
|
+
)
|
|
359
|
+
bulk_parser.add_argument(
|
|
360
|
+
"--fields",
|
|
361
|
+
default=_DEFAULT_BULK_FIELDS,
|
|
362
|
+
help="Comma-separated response fields to request.",
|
|
363
|
+
)
|
|
364
|
+
_add_filter_args(bulk_parser)
|
|
365
|
+
|
|
366
|
+
paper_parser = subparsers.add_parser("paper", help="Fetch one paper by ID")
|
|
367
|
+
paper_parser.add_argument(
|
|
368
|
+
"id",
|
|
369
|
+
help=(
|
|
370
|
+
"Semantic Scholar paper ID, DOI, CorpusId:..., ARXIV:..., PMID:..., MAG:..., ACL:..., etc."
|
|
371
|
+
),
|
|
372
|
+
)
|
|
373
|
+
paper_parser.add_argument(
|
|
374
|
+
"--fields",
|
|
375
|
+
default=_DEFAULT_FIELDS,
|
|
376
|
+
help="Comma-separated response fields to request.",
|
|
377
|
+
)
|
|
378
|
+
|
|
379
|
+
return parser
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
def main(argv: list[str] | None = None) -> int:
|
|
383
|
+
args = _build_parser().parse_args(argv)
|
|
384
|
+
|
|
385
|
+
try:
|
|
386
|
+
if args.command == "search":
|
|
387
|
+
result = search(
|
|
388
|
+
query=args.query,
|
|
389
|
+
max_results=args.max,
|
|
390
|
+
offset=args.offset,
|
|
391
|
+
fields=args.fields,
|
|
392
|
+
fields_of_study=args.fields_of_study,
|
|
393
|
+
venue=args.venue,
|
|
394
|
+
year=args.year,
|
|
395
|
+
min_citation_count=args.min_citations,
|
|
396
|
+
publication_types=args.publication_types,
|
|
397
|
+
open_access_pdf=args.open_access,
|
|
398
|
+
)
|
|
399
|
+
print(json.dumps(result, ensure_ascii=False, indent=2))
|
|
400
|
+
return 0
|
|
401
|
+
|
|
402
|
+
if args.command == "search-bulk":
|
|
403
|
+
result = search_bulk(
|
|
404
|
+
query=args.query,
|
|
405
|
+
max_results=args.max,
|
|
406
|
+
token=args.token,
|
|
407
|
+
fields=args.fields,
|
|
408
|
+
sort=args.sort,
|
|
409
|
+
fields_of_study=args.fields_of_study,
|
|
410
|
+
venue=args.venue,
|
|
411
|
+
year=args.year,
|
|
412
|
+
min_citation_count=args.min_citations,
|
|
413
|
+
publication_types=args.publication_types,
|
|
414
|
+
open_access_pdf=args.open_access,
|
|
415
|
+
)
|
|
416
|
+
print(json.dumps(result, ensure_ascii=False, indent=2))
|
|
417
|
+
return 0
|
|
418
|
+
|
|
419
|
+
if args.command == "paper":
|
|
420
|
+
result = get_paper(
|
|
421
|
+
paper_id=args.id,
|
|
422
|
+
fields=args.fields,
|
|
423
|
+
)
|
|
424
|
+
print(json.dumps(result, ensure_ascii=False, indent=2))
|
|
425
|
+
return 0
|
|
426
|
+
|
|
427
|
+
raise ValueError(f"Unsupported command: {args.command}")
|
|
428
|
+
|
|
429
|
+
except KeyboardInterrupt:
|
|
430
|
+
print("Interrupted.", file=sys.stderr)
|
|
431
|
+
return 130
|
|
432
|
+
except Exception as exc:
|
|
433
|
+
print(f"Error: {exc}", file=sys.stderr)
|
|
434
|
+
return 1
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
if __name__ == "__main__":
|
|
438
|
+
sys.exit(main())
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# ARIS skill catalog — single source of truth for selective install.
|
|
2
|
+
# Consumed by: install_aris.sh / install_aris_codex.sh / install_aris_copilot.sh /
|
|
3
|
+
# install_aris.ps1 / smart_update*.sh|ps1 / tools/skill_picker.py /
|
|
4
|
+
# tests/test_skill_groups.py
|
|
5
|
+
#
|
|
6
|
+
# Record types (tab-separated):
|
|
7
|
+
# group <group-id> <display-name> <description>
|
|
8
|
+
# skill <skill-name> <group-id> <requires> <short-description>
|
|
9
|
+
#
|
|
10
|
+
# <requires> = skills the entry actually exercises in a DEFAULT run:
|
|
11
|
+
# (a) unconditional pipeline phases ("Invoke /x" with no gate);
|
|
12
|
+
# (b) default-on invocations — blocking (submission-assurance mandatory
|
|
13
|
+
# audits) or documented-silent-skip (auto-render, W&B health checks):
|
|
14
|
+
# a silent skip is silent feature loss, so it still belongs here;
|
|
15
|
+
# (c) hard artifact prerequisites the skill errors out demanding
|
|
16
|
+
# (wiki-enrich -> "run /research-wiki init first", meta-apply ->
|
|
17
|
+
# "run /meta-optimize first").
|
|
18
|
+
# NOT requires: opt-in flags/branches, "use X instead" alternatives,
|
|
19
|
+
# input-producers and downstream consumers, comparisons, doc links.
|
|
20
|
+
# "-" = none. Every edge was verified against the SKILL.md invocation site
|
|
21
|
+
# (#366 review pass); tests/test_skill_groups.py guards each edge textually.
|
|
22
|
+
# <short-description> = one concise line shown in the interactive picker /
|
|
23
|
+
# --list-groups. Every skills/<name>/SKILL.md must appear exactly once;
|
|
24
|
+
# tests/test_skill_groups.py enforces catalog completeness.
|
|
25
|
+
group lit-search 文献检索 arXiv/OpenAlex/Semantic Scholar 等文献搜索、抓取与阅读
|
|
26
|
+
group ideation 选题与方向 找 idea、查新、方向打磨、research wiki 与总编排 pipeline
|
|
27
|
+
group review-loop 自动评审闭环 跨模型自动 review 循环与对抗性评审
|
|
28
|
+
group theory 公式与证明 公式推导、证明撰写与证明审查
|
|
29
|
+
group experiments 实验与算力 实验计划/执行/监控/分析与 GPU 集群、无服务器算力
|
|
30
|
+
group paper-core 论文写作主线 从大纲到 PDF 的写作、编译、数字/引用/诚信审计
|
|
31
|
+
group paper-visuals 配图与展示 插图、示意图、海报、幻灯片与演讲
|
|
32
|
+
group submission 投稿与基金 返修 rebuttal、重投 pipeline、基金申请书
|
|
33
|
+
group patent 专利 发明构建、权利要求、实施例到各国格式的专利流水线
|
|
34
|
+
group meta-utils 元工具与杂项 skill 语料自优化、通知、面试准备等
|
|
35
|
+
skill arxiv lit-search - arXiv 搜索/下载/入库
|
|
36
|
+
skill alphaxiv lit-search - 单篇论文快速解读(AlphaXiv 摘要)
|
|
37
|
+
skill deepxiv lit-search - DeepXiv 渐进式论文阅读
|
|
38
|
+
skill semantic-scholar lit-search - 正式发表论文检索(引用数/venue)
|
|
39
|
+
skill openalex lit-search - OpenAlex 引用图谱与机构元数据
|
|
40
|
+
skill exa-search lit-search - Exa AI 网页搜索+内容抽取
|
|
41
|
+
skill web-debug-search lit-search - 多来源调试检索(GitHub/Stack Exchange/中文社区/General Web)与版本兼容性
|
|
42
|
+
skill gemini-search lit-search - Gemini 驱动的文献发现
|
|
43
|
+
skill research-lit lit-search - 文献综述与相关工作分析
|
|
44
|
+
skill comm-lit-review lit-search - 通信领域专用文献综述
|
|
45
|
+
skill idea-creator ideation - 给定方向生成并排序研究 idea
|
|
46
|
+
skill idea-discovery ideation idea-creator,novelty-check,research-lit,research-review,research-refine-pipeline,research-refine,render-html W1:从方向到验证过的 idea 全流程
|
|
47
|
+
skill idea-discovery-robot ideation idea-creator,novelty-check,research-lit,research-review W1 机器人/具身智能特化版
|
|
48
|
+
skill novelty-check ideation - idea 查新(有没有人做过)
|
|
49
|
+
skill research-refine ideation - 粗糙方向打磨成聚焦提案
|
|
50
|
+
skill research-refine-pipeline ideation research-refine,experiment-plan refine+实验计划一条龙
|
|
51
|
+
skill research-wiki ideation - 跨生命周期研究知识库
|
|
52
|
+
skill wiki-enrich ideation research-wiki 补全 wiki 论文页 TODO
|
|
53
|
+
skill research-pipeline ideation idea-discovery,experiment-bridge,auto-review-loop,render-html 端到端总 pipeline:找 idea→实验→论文
|
|
54
|
+
skill research-review review-loop - 研究方案/结果批判性评审
|
|
55
|
+
skill auto-review-loop review-loop result-to-claim,training-check,render-html 外部模型多轮 review→修复循环
|
|
56
|
+
skill auto-review-loop-llm review-loop - 用任意 OpenAI 兼容 API 做 review
|
|
57
|
+
skill auto-review-loop-minimax review-loop - 用 MiniMax API 做 review
|
|
58
|
+
skill kill-argument review-loop render-html 对抗性双线程评审(最强拒稿论证)
|
|
59
|
+
skill formula-derivation theory - 公式推导与理论线组织
|
|
60
|
+
skill proof-writer theory - 撰写严格数学证明
|
|
61
|
+
skill proof-checker theory render-html 证明缺口审查与修复
|
|
62
|
+
skill proof-orchestrator theory - 本地优先的证明编排、人工 GPT Pro 交接与显式 DeepSeek 复审
|
|
63
|
+
skill experiment-plan experiments - claim 驱动的实验路线图
|
|
64
|
+
skill experiment-bridge experiments run-experiment,experiment-queue,monitor-experiment,training-check,ablation-planner W1.5:从实验计划到跑通初步结果
|
|
65
|
+
skill experiment-queue experiments - SSH 批量实验队列(OOM 重试)
|
|
66
|
+
skill run-experiment experiments - 部署运行实验(本地/远程/云 GPU)
|
|
67
|
+
skill monitor-experiment experiments - 监控实验进度收集结果
|
|
68
|
+
skill analyze-results experiments - 结果统计分析与对比表
|
|
69
|
+
skill training-check experiments - 训练健康度检查
|
|
70
|
+
skill system-profile experiments - GPU 环境画像(跨机器复用)
|
|
71
|
+
skill dse-loop experiments - 设计空间探索自动调参循环
|
|
72
|
+
skill qzcli experiments - 启智平台 qzcli 作业管理
|
|
73
|
+
skill vast-gpu experiments - Vast.ai 租卡跑实验
|
|
74
|
+
skill serverless-modal experiments - Modal 无服务器 GPU
|
|
75
|
+
skill experiment-audit experiments - 实验诚实度审计(防假结果)
|
|
76
|
+
skill result-to-claim experiments - 结果能支撑什么 claim 的裁决
|
|
77
|
+
skill ablation-planner experiments - 消融实验规划
|
|
78
|
+
skill paper-writing paper-core paper-plan,paper-write,paper-compile,paper-figure,figure-spec,proof-checker,paper-claim-audit,citation-audit,auto-paper-improvement-loop,integrity-forensics,kill-argument W3:从报告到投稿级 PDF 全流程
|
|
79
|
+
skill paper-plan paper-core - 论文大纲生成
|
|
80
|
+
skill paper-write paper-core - 按大纲逐节写 LaTeX
|
|
81
|
+
skill paper-compile paper-core - LaTeX 编译修错出 PDF
|
|
82
|
+
skill paper-figure paper-core - 从实验结果出论文图表
|
|
83
|
+
skill citation-audit paper-core render-html 引用真实性/正确性核查
|
|
84
|
+
skill paper-claim-audit paper-core render-html 论文数字与原始结果核对
|
|
85
|
+
skill integrity-forensics paper-core - 投稿前诚信取证扫描
|
|
86
|
+
skill auto-paper-improvement-loop paper-core proof-checker,paper-claim-audit,kill-argument 论文 review→润色→重编译循环
|
|
87
|
+
skill writing-systems-papers paper-core - 系统方向论文写作要领
|
|
88
|
+
skill specification-writing paper-core embodiment-description,figure-description 技术规格文档撰写
|
|
89
|
+
skill overleaf-sync paper-core - 本地↔Overleaf 双向同步
|
|
90
|
+
skill render-html paper-core - MD/JSON 工件渲染成 HTML 报告
|
|
91
|
+
skill paper-illustration paper-visuals - AI 生成论文插图(Gemini)
|
|
92
|
+
skill paper-illustration-image2 paper-visuals - AI 插图备选(Codex 原生画图)
|
|
93
|
+
skill figure-spec paper-visuals - 确定性矢量架构/流程图(SVG)
|
|
94
|
+
skill mermaid-diagram paper-visuals - Mermaid 流程/时序/类图
|
|
95
|
+
skill pixel-art paper-visuals - 像素画生成
|
|
96
|
+
skill paper-poster paper-visuals paper-poster-html (已弃用)重定向到 poster-html
|
|
97
|
+
skill paper-poster-html paper-visuals - 学术海报生成(HTML 版)
|
|
98
|
+
skill paper-slides paper-visuals - 会议幻灯(beamer→PDF+PPTX)
|
|
99
|
+
skill paper-talk paper-visuals paper-slides,slides-polish 演讲稿+幻灯一体
|
|
100
|
+
skill slides-polish paper-visuals - 幻灯片打磨
|
|
101
|
+
skill rebuttal submission render-html W4:审稿意见解析与安全回复
|
|
102
|
+
skill resubmit-pipeline submission auto-paper-improvement-loop,proof-checker,paper-claim-audit,citation-audit,kill-argument,paper-compile,integrity-forensics 被拒后重投全流程
|
|
103
|
+
skill grant-proposal submission research-lit,novelty-check,research-review 基金申请书(NSFC/NSF/科研費等)
|
|
104
|
+
skill patent-pipeline patent prior-art-search,patent-novelty-check,invention-structuring,claims-drafting,specification-writing,patent-review,jurisdiction-format 专利撰写全流程
|
|
105
|
+
skill invention-structuring patent - 粗 idea 结构化成发明披露
|
|
106
|
+
skill claims-drafting patent - 撰写权利要求书
|
|
107
|
+
skill embodiment-description patent - 实施例详细描述
|
|
108
|
+
skill figure-description patent - 专利附图说明
|
|
109
|
+
skill jurisdiction-format patent - CN/US/EP 申请格式编译
|
|
110
|
+
skill patent-review patent - 专利申请质量审查
|
|
111
|
+
skill prior-art-search patent - 现有技术检索
|
|
112
|
+
skill patent-novelty-check patent - 专利新颖性核查
|
|
113
|
+
skill meta-optimize meta-utils - skill 语料自优化提案
|
|
114
|
+
skill meta-apply meta-utils meta-optimize 落地已批准的语料补丁
|
|
115
|
+
skill feishu-notify meta-utils - 飞书通知
|
|
116
|
+
skill interview-cheatsheet meta-utils - ML/LLM 面试速查手册生成
|