@synsci/cli-darwin-x64 1.1.70 → 1.1.72
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/bin/skills/citation-management/SKILL.md +1109 -0
- package/bin/skills/citation-management/assets/bibtex_template.bib +264 -0
- package/bin/skills/citation-management/assets/citation_checklist.md +386 -0
- package/bin/skills/citation-management/references/bibtex_formatting.md +908 -0
- package/bin/skills/citation-management/references/citation_validation.md +794 -0
- package/bin/skills/citation-management/references/google_scholar_search.md +725 -0
- package/bin/skills/citation-management/references/metadata_extraction.md +870 -0
- package/bin/skills/citation-management/references/pubmed_search.md +839 -0
- package/bin/skills/citation-management/scripts/doi_to_bibtex.py +182 -0
- package/bin/skills/citation-management/scripts/extract_metadata.py +570 -0
- package/bin/skills/citation-management/scripts/format_bibtex.py +349 -0
- package/bin/skills/citation-management/scripts/search_google_scholar.py +251 -0
- package/bin/skills/citation-management/scripts/search_pubmed.py +348 -0
- package/bin/skills/citation-management/scripts/validate_citations.py +494 -0
- package/bin/skills/clinical-decision-support/README.md +129 -0
- package/bin/skills/clinical-decision-support/SKILL.md +506 -0
- package/bin/skills/clinical-decision-support/assets/biomarker_report_template.tex +380 -0
- package/bin/skills/clinical-decision-support/assets/clinical_pathway_template.tex +222 -0
- package/bin/skills/clinical-decision-support/assets/cohort_analysis_template.tex +359 -0
- package/bin/skills/clinical-decision-support/assets/color_schemes.tex +149 -0
- package/bin/skills/clinical-decision-support/assets/example_gbm_cohort.md +208 -0
- package/bin/skills/clinical-decision-support/assets/recommendation_strength_guide.md +328 -0
- package/bin/skills/clinical-decision-support/assets/treatment_recommendation_template.tex +529 -0
- package/bin/skills/clinical-decision-support/references/biomarker_classification.md +719 -0
- package/bin/skills/clinical-decision-support/references/clinical_decision_algorithms.md +604 -0
- package/bin/skills/clinical-decision-support/references/evidence_synthesis.md +840 -0
- package/bin/skills/clinical-decision-support/references/outcome_analysis.md +640 -0
- package/bin/skills/clinical-decision-support/references/patient_cohort_analysis.md +427 -0
- package/bin/skills/clinical-decision-support/references/treatment_recommendations.md +521 -0
- package/bin/skills/clinical-decision-support/scripts/biomarker_classifier.py +383 -0
- package/bin/skills/clinical-decision-support/scripts/build_decision_tree.py +417 -0
- package/bin/skills/clinical-decision-support/scripts/create_cohort_tables.py +509 -0
- package/bin/skills/clinical-decision-support/scripts/generate_survival_analysis.py +441 -0
- package/bin/skills/clinical-decision-support/scripts/validate_cds_document.py +326 -0
- package/bin/skills/clinical-reports/IMPLEMENTATION_SUMMARY.md +641 -0
- package/bin/skills/clinical-reports/README.md +236 -0
- package/bin/skills/clinical-reports/SKILL.md +1127 -0
- package/bin/skills/clinical-reports/assets/case_report_template.md +352 -0
- package/bin/skills/clinical-reports/assets/clinical_trial_csr_template.md +353 -0
- package/bin/skills/clinical-reports/assets/clinical_trial_sae_template.md +359 -0
- package/bin/skills/clinical-reports/assets/consult_note_template.md +305 -0
- package/bin/skills/clinical-reports/assets/discharge_summary_template.md +453 -0
- package/bin/skills/clinical-reports/assets/hipaa_compliance_checklist.md +395 -0
- package/bin/skills/clinical-reports/assets/history_physical_template.md +305 -0
- package/bin/skills/clinical-reports/assets/lab_report_template.md +309 -0
- package/bin/skills/clinical-reports/assets/pathology_report_template.md +249 -0
- package/bin/skills/clinical-reports/assets/quality_checklist.md +338 -0
- package/bin/skills/clinical-reports/assets/radiology_report_template.md +318 -0
- package/bin/skills/clinical-reports/assets/soap_note_template.md +253 -0
- package/bin/skills/clinical-reports/references/case_report_guidelines.md +570 -0
- package/bin/skills/clinical-reports/references/clinical_trial_reporting.md +693 -0
- package/bin/skills/clinical-reports/references/data_presentation.md +530 -0
- package/bin/skills/clinical-reports/references/diagnostic_reports_standards.md +629 -0
- package/bin/skills/clinical-reports/references/medical_terminology.md +588 -0
- package/bin/skills/clinical-reports/references/patient_documentation.md +744 -0
- package/bin/skills/clinical-reports/references/peer_review_standards.md +585 -0
- package/bin/skills/clinical-reports/references/regulatory_compliance.md +577 -0
- package/bin/skills/clinical-reports/scripts/check_deidentification.py +332 -0
- package/bin/skills/clinical-reports/scripts/compliance_checker.py +78 -0
- package/bin/skills/clinical-reports/scripts/extract_clinical_data.py +97 -0
- package/bin/skills/clinical-reports/scripts/format_adverse_events.py +97 -0
- package/bin/skills/clinical-reports/scripts/generate_report_template.py +149 -0
- package/bin/skills/clinical-reports/scripts/terminology_validator.py +126 -0
- package/bin/skills/clinical-reports/scripts/validate_case_report.py +323 -0
- package/bin/skills/clinical-reports/scripts/validate_trial_report.py +88 -0
- package/bin/skills/fireworks-ai/SKILL.md +665 -0
- package/bin/skills/generate-image/SKILL.md +178 -0
- package/bin/skills/generate-image/scripts/generate_image.py +254 -0
- package/bin/skills/groq/SKILL.md +347 -0
- package/bin/skills/hypothesis-generation/SKILL.md +293 -0
- package/bin/skills/hypothesis-generation/assets/FORMATTING_GUIDE.md +672 -0
- package/bin/skills/hypothesis-generation/assets/hypothesis_generation.sty +307 -0
- package/bin/skills/hypothesis-generation/assets/hypothesis_report_template.tex +572 -0
- package/bin/skills/hypothesis-generation/references/experimental_design_patterns.md +329 -0
- package/bin/skills/hypothesis-generation/references/hypothesis_quality_criteria.md +198 -0
- package/bin/skills/hypothesis-generation/references/literature_search_strategies.md +622 -0
- package/bin/skills/latex-posters/README.md +417 -0
- package/bin/skills/latex-posters/SKILL.md +1602 -0
- package/bin/skills/latex-posters/assets/baposter_template.tex +257 -0
- package/bin/skills/latex-posters/assets/beamerposter_template.tex +244 -0
- package/bin/skills/latex-posters/assets/poster_quality_checklist.md +358 -0
- package/bin/skills/latex-posters/assets/tikzposter_template.tex +251 -0
- package/bin/skills/latex-posters/references/latex_poster_packages.md +745 -0
- package/bin/skills/latex-posters/references/poster_content_guide.md +748 -0
- package/bin/skills/latex-posters/references/poster_design_principles.md +806 -0
- package/bin/skills/latex-posters/references/poster_layout_design.md +900 -0
- package/bin/skills/latex-posters/scripts/review_poster.sh +214 -0
- package/bin/skills/literature-review/SKILL.md +641 -0
- package/bin/skills/literature-review/assets/review_template.md +412 -0
- package/bin/skills/literature-review/references/citation_styles.md +166 -0
- package/bin/skills/literature-review/references/database_strategies.md +455 -0
- package/bin/skills/literature-review/scripts/generate_pdf.py +184 -0
- package/bin/skills/literature-review/scripts/search_databases.py +310 -0
- package/bin/skills/literature-review/scripts/verify_citations.py +218 -0
- package/bin/skills/market-research-reports/SKILL.md +904 -0
- package/bin/skills/market-research-reports/assets/FORMATTING_GUIDE.md +428 -0
- package/bin/skills/market-research-reports/assets/market_report_template.tex +1380 -0
- package/bin/skills/market-research-reports/assets/market_research.sty +564 -0
- package/bin/skills/market-research-reports/references/data_analysis_patterns.md +548 -0
- package/bin/skills/market-research-reports/references/report_structure_guide.md +999 -0
- package/bin/skills/market-research-reports/references/visual_generation_guide.md +1077 -0
- package/bin/skills/market-research-reports/scripts/generate_market_visuals.py +472 -0
- package/bin/skills/markitdown/INSTALLATION_GUIDE.md +318 -0
- package/bin/skills/markitdown/LICENSE.txt +22 -0
- package/bin/skills/markitdown/OPENROUTER_INTEGRATION.md +359 -0
- package/bin/skills/markitdown/QUICK_REFERENCE.md +309 -0
- package/bin/skills/markitdown/README.md +184 -0
- package/bin/skills/markitdown/SKILL.md +486 -0
- package/bin/skills/markitdown/SKILL_SUMMARY.md +307 -0
- package/bin/skills/markitdown/assets/example_usage.md +463 -0
- package/bin/skills/markitdown/references/api_reference.md +399 -0
- package/bin/skills/markitdown/references/file_formats.md +542 -0
- package/bin/skills/markitdown/scripts/batch_convert.py +195 -0
- package/bin/skills/markitdown/scripts/convert_literature.py +262 -0
- package/bin/skills/markitdown/scripts/convert_with_ai.py +224 -0
- package/bin/skills/ml-paper-writing/SKILL.md +937 -0
- package/bin/skills/ml-paper-writing/references/checklists.md +361 -0
- package/bin/skills/ml-paper-writing/references/citation-workflow.md +562 -0
- package/bin/skills/ml-paper-writing/references/reviewer-guidelines.md +367 -0
- package/bin/skills/ml-paper-writing/references/sources.md +159 -0
- package/bin/skills/ml-paper-writing/references/writing-guide.md +476 -0
- package/bin/skills/ml-paper-writing/templates/README.md +251 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/README.md +534 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.bib +111 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.sty +315 -0
- package/bin/skills/ml-paper-writing/templates/acl/README.md +50 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl.sty +312 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl_latex.tex +377 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl_lualatex.tex +101 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl_natbib.bst +1940 -0
- package/bin/skills/ml-paper-writing/templates/acl/anthology.bib.txt +26 -0
- package/bin/skills/ml-paper-writing/templates/acl/custom.bib +70 -0
- package/bin/skills/ml-paper-writing/templates/acl/formatting.md +326 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/README.md +3 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/fancyhdr.sty +485 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/math_commands.tex +508 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/natbib.sty +1246 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/math_commands.tex +508 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/natbib.sty +1246 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/algorithm.sty +79 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/algorithmic.sty +201 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.bib +75 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.tex +662 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/fancyhdr.sty +864 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/icml2026.bst +1443 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/icml2026.sty +767 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/Makefile +36 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/main.tex +38 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/neurips.sty +382 -0
- package/bin/skills/paper-2-web/SKILL.md +491 -0
- package/bin/skills/paper-2-web/references/installation.md +141 -0
- package/bin/skills/paper-2-web/references/paper2poster.md +346 -0
- package/bin/skills/paper-2-web/references/paper2video.md +305 -0
- package/bin/skills/paper-2-web/references/paper2web.md +187 -0
- package/bin/skills/paper-2-web/references/usage_examples.md +436 -0
- package/bin/skills/peer-review/SKILL.md +702 -0
- package/bin/skills/peer-review/references/calibration_guidelines.md +196 -0
- package/bin/skills/peer-review/references/common_issues.md +552 -0
- package/bin/skills/peer-review/references/paper_mechanics.md +269 -0
- package/bin/skills/peer-review/references/reporting_standards.md +290 -0
- package/bin/skills/peer-review/references/scoring_rubric.md +239 -0
- package/bin/skills/pptx-posters/SKILL.md +410 -0
- package/bin/skills/pptx-posters/assets/poster_html_template.html +257 -0
- package/bin/skills/pptx-posters/assets/poster_quality_checklist.md +358 -0
- package/bin/skills/pptx-posters/references/poster_content_guide.md +748 -0
- package/bin/skills/pptx-posters/references/poster_design_principles.md +806 -0
- package/bin/skills/pptx-posters/references/poster_layout_design.md +900 -0
- package/bin/skills/research-grants/README.md +285 -0
- package/bin/skills/research-grants/SKILL.md +938 -0
- package/bin/skills/research-grants/assets/budget_justification_template.md +453 -0
- package/bin/skills/research-grants/assets/nih_specific_aims_template.md +166 -0
- package/bin/skills/research-grants/assets/nsf_project_summary_template.md +92 -0
- package/bin/skills/research-grants/references/broader_impacts.md +392 -0
- package/bin/skills/research-grants/references/darpa_guidelines.md +636 -0
- package/bin/skills/research-grants/references/doe_guidelines.md +586 -0
- package/bin/skills/research-grants/references/nih_guidelines.md +851 -0
- package/bin/skills/research-grants/references/nsf_guidelines.md +570 -0
- package/bin/skills/research-grants/references/specific_aims_guide.md +458 -0
- package/bin/skills/research-lookup/README.md +156 -0
- package/bin/skills/research-lookup/SKILL.md +606 -0
- package/bin/skills/research-lookup/examples.py +174 -0
- package/bin/skills/research-lookup/lookup.py +187 -0
- package/bin/skills/research-lookup/research_lookup.py +483 -0
- package/bin/skills/research-lookup/scripts/research_lookup.py +483 -0
- package/bin/skills/scholar-evaluation/SKILL.md +289 -0
- package/bin/skills/scholar-evaluation/references/evaluation_framework.md +663 -0
- package/bin/skills/scholar-evaluation/scripts/calculate_scores.py +366 -0
- package/bin/skills/scientific-critical-thinking/SKILL.md +566 -0
- package/bin/skills/scientific-critical-thinking/references/common_biases.md +364 -0
- package/bin/skills/scientific-critical-thinking/references/evidence_hierarchy.md +484 -0
- package/bin/skills/scientific-critical-thinking/references/experimental_design.md +496 -0
- package/bin/skills/scientific-critical-thinking/references/logical_fallacies.md +478 -0
- package/bin/skills/scientific-critical-thinking/references/scientific_method.md +169 -0
- package/bin/skills/scientific-critical-thinking/references/statistical_pitfalls.md +506 -0
- package/bin/skills/scientific-schematics/QUICK_REFERENCE.md +207 -0
- package/bin/skills/scientific-schematics/README.md +327 -0
- package/bin/skills/scientific-schematics/SKILL.md +615 -0
- package/bin/skills/scientific-schematics/example_usage.sh +89 -0
- package/bin/skills/scientific-schematics/references/best_practices.md +559 -0
- package/bin/skills/scientific-schematics/scripts/generate_schematic.py +135 -0
- package/bin/skills/scientific-schematics/scripts/generate_schematic_ai.py +807 -0
- package/bin/skills/scientific-schematics/test_ai_generation.py +243 -0
- package/bin/skills/scientific-slides/SKILL.md +942 -0
- package/bin/skills/scientific-slides/assets/timing_guidelines.md +597 -0
- package/bin/skills/scientific-slides/references/data_visualization_slides.md +708 -0
- package/bin/skills/scientific-slides/references/presentation_structure.md +642 -0
- package/bin/skills/scientific-slides/references/slide_design_principles.md +849 -0
- package/bin/skills/scientific-slides/references/talk_types_guide.md +687 -0
- package/bin/skills/scientific-slides/references/visual_review_workflow.md +775 -0
- package/bin/skills/scientific-slides/scripts/generate_slide_image.py +143 -0
- package/bin/skills/scientific-slides/scripts/generate_slide_image_ai.py +748 -0
- package/bin/skills/scientific-slides/scripts/pdf_to_images.py +201 -0
- package/bin/skills/scientific-slides/scripts/slides_to_pdf.py +220 -0
- package/bin/skills/scientific-slides/scripts/validate_presentation.py +367 -0
- package/bin/skills/scientific-writing/SKILL.md +714 -0
- package/bin/skills/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +574 -0
- package/bin/skills/scientific-writing/assets/scientific_report.sty +606 -0
- package/bin/skills/scientific-writing/assets/scientific_report_template.tex +449 -0
- package/bin/skills/scientific-writing/references/citation_styles.md +720 -0
- package/bin/skills/scientific-writing/references/figures_tables.md +806 -0
- package/bin/skills/scientific-writing/references/imrad_structure.md +686 -0
- package/bin/skills/scientific-writing/references/professional_report_formatting.md +664 -0
- package/bin/skills/scientific-writing/references/reporting_guidelines.md +748 -0
- package/bin/skills/scientific-writing/references/writing_principles.md +824 -0
- package/bin/skills/tinker/SKILL.md +2 -3
- package/bin/skills/together-ai/SKILL.md +722 -0
- package/bin/skills/treatment-plans/README.md +488 -0
- package/bin/skills/treatment-plans/SKILL.md +1579 -0
- package/bin/skills/treatment-plans/assets/STYLING_QUICK_REFERENCE.md +185 -0
- package/bin/skills/treatment-plans/assets/chronic_disease_management_plan.tex +665 -0
- package/bin/skills/treatment-plans/assets/general_medical_treatment_plan.tex +547 -0
- package/bin/skills/treatment-plans/assets/medical_treatment_plan.sty +222 -0
- package/bin/skills/treatment-plans/assets/mental_health_treatment_plan.tex +774 -0
- package/bin/skills/treatment-plans/assets/one_page_treatment_plan.tex +193 -0
- package/bin/skills/treatment-plans/assets/pain_management_plan.tex +799 -0
- package/bin/skills/treatment-plans/assets/perioperative_care_plan.tex +753 -0
- package/bin/skills/treatment-plans/assets/quality_checklist.md +471 -0
- package/bin/skills/treatment-plans/assets/rehabilitation_treatment_plan.tex +756 -0
- package/bin/skills/treatment-plans/references/goal_setting_frameworks.md +411 -0
- package/bin/skills/treatment-plans/references/intervention_guidelines.md +507 -0
- package/bin/skills/treatment-plans/references/regulatory_compliance.md +476 -0
- package/bin/skills/treatment-plans/references/specialty_specific_guidelines.md +655 -0
- package/bin/skills/treatment-plans/references/treatment_plan_standards.md +485 -0
- package/bin/skills/treatment-plans/scripts/check_completeness.py +322 -0
- package/bin/skills/treatment-plans/scripts/generate_template.py +233 -0
- package/bin/skills/treatment-plans/scripts/timeline_generator.py +385 -0
- package/bin/skills/treatment-plans/scripts/validate_treatment_plan.py +369 -0
- package/bin/skills/unsloth/SKILL.md +565 -47
- package/bin/skills/unsloth/docs/advanced-rl.md +222 -0
- package/bin/skills/unsloth/docs/chat-templates.md +141 -0
- package/bin/skills/unsloth/docs/datasets.md +489 -0
- package/bin/skills/unsloth/docs/docker-extended.md +99 -0
- package/bin/skills/unsloth/docs/dynamic-ggufs-2.0.md +116 -0
- package/bin/skills/unsloth/docs/dynamic-ggufs-aider.md +118 -0
- package/bin/skills/unsloth/docs/faq.md +91 -0
- package/bin/skills/unsloth/docs/fp16-vs-bf16.md +61 -0
- package/bin/skills/unsloth/docs/fp8-rl.md +224 -0
- package/bin/skills/unsloth/docs/glm-4.7-flash.md +997 -0
- package/bin/skills/unsloth/docs/inference-deployment-overview.md +17 -0
- package/bin/skills/unsloth/docs/inference.md +27 -0
- package/bin/skills/unsloth/docs/installation-docker.md +155 -0
- package/bin/skills/unsloth/docs/installation-pip.md +148 -0
- package/bin/skills/unsloth/docs/kernels-packing.md +190 -0
- package/bin/skills/unsloth/docs/kimi-k2.5.md +634 -0
- package/bin/skills/unsloth/docs/lm-studio.md +235 -0
- package/bin/skills/unsloth/docs/lora-hot-swapping.md +75 -0
- package/bin/skills/unsloth/docs/lora-hyperparameters.md +363 -0
- package/bin/skills/unsloth/docs/memory-efficient-rl.md +267 -0
- package/bin/skills/unsloth/docs/model-selection.md +70 -0
- package/bin/skills/unsloth/docs/models.md +532 -0
- package/bin/skills/unsloth/docs/multi-gpu-ddp.md +90 -0
- package/bin/skills/unsloth/docs/notebooks.md +223 -0
- package/bin/skills/unsloth/docs/overview.md +110 -0
- package/bin/skills/unsloth/docs/qwen3-coder-next-extended.md +900 -0
- package/bin/skills/unsloth/docs/qwen3-coder-next.md +900 -0
- package/bin/skills/unsloth/docs/requirements.md +45 -0
- package/bin/skills/unsloth/docs/reward-hacking.md +25 -0
- package/bin/skills/unsloth/docs/saving-to-gguf.md +138 -0
- package/bin/skills/unsloth/docs/saving-to-ollama.md +46 -0
- package/bin/skills/unsloth/docs/sglang-guide.md +278 -0
- package/bin/skills/unsloth/docs/speculative-decoding.md +70 -0
- package/bin/skills/unsloth/docs/tool-calling.md +334 -0
- package/bin/skills/unsloth/docs/troubleshooting-faq.md +204 -0
- package/bin/skills/unsloth/docs/troubleshooting-inference.md +26 -0
- package/bin/skills/unsloth/docs/tts-fine-tuning.md +149 -0
- package/bin/skills/unsloth/docs/tutorial-grpo.md +273 -0
- package/bin/skills/unsloth/docs/tutorial-llama3-ollama.md +356 -0
- package/bin/skills/unsloth/docs/vision-fine-tuning.md +135 -0
- package/bin/skills/unsloth/docs/vision-rl.md +170 -0
- package/bin/skills/unsloth/docs/vllm-engine-arguments.md +43 -0
- package/bin/skills/unsloth/docs/vllm-guide.md +98 -0
- package/bin/skills/venue-templates/SKILL.md +686 -0
- package/bin/skills/venue-templates/assets/examples/cell_summary_example.md +247 -0
- package/bin/skills/venue-templates/assets/examples/medical_structured_abstract.md +313 -0
- package/bin/skills/venue-templates/assets/examples/nature_abstract_examples.md +213 -0
- package/bin/skills/venue-templates/assets/examples/neurips_introduction_example.md +245 -0
- package/bin/skills/venue-templates/assets/grants/nih_specific_aims.tex +235 -0
- package/bin/skills/venue-templates/assets/grants/nsf_proposal_template.tex +375 -0
- package/bin/skills/venue-templates/assets/journals/nature_article.tex +171 -0
- package/bin/skills/venue-templates/assets/journals/neurips_article.tex +283 -0
- package/bin/skills/venue-templates/assets/journals/plos_one.tex +317 -0
- package/bin/skills/venue-templates/assets/posters/beamerposter_academic.tex +311 -0
- package/bin/skills/venue-templates/references/cell_press_style.md +483 -0
- package/bin/skills/venue-templates/references/conferences_formatting.md +564 -0
- package/bin/skills/venue-templates/references/cs_conference_style.md +463 -0
- package/bin/skills/venue-templates/references/grants_requirements.md +787 -0
- package/bin/skills/venue-templates/references/journals_formatting.md +486 -0
- package/bin/skills/venue-templates/references/medical_journal_styles.md +535 -0
- package/bin/skills/venue-templates/references/ml_conference_style.md +556 -0
- package/bin/skills/venue-templates/references/nature_science_style.md +405 -0
- package/bin/skills/venue-templates/references/posters_guidelines.md +628 -0
- package/bin/skills/venue-templates/references/reviewer_expectations.md +417 -0
- package/bin/skills/venue-templates/references/venue_writing_styles.md +321 -0
- package/bin/skills/venue-templates/scripts/customize_template.py +195 -0
- package/bin/skills/venue-templates/scripts/query_template.py +266 -0
- package/bin/skills/venue-templates/scripts/validate_format.py +250 -0
- package/bin/synsc +0 -0
- package/package.json +1 -1
- package/bin/skills/unsloth/references/index.md +0 -7
- package/bin/skills/unsloth/references/llms-full.md +0 -16799
- package/bin/skills/unsloth/references/llms-txt.md +0 -12044
- package/bin/skills/unsloth/references/llms.md +0 -82
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
ScholarEval Score Calculator
|
|
4
|
+
|
|
5
|
+
Calculate aggregate evaluation scores from dimension-level ratings.
|
|
6
|
+
Supports weighted averaging, threshold analysis, and score visualization.
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
python calculate_scores.py --scores <dimension_scores.json> --output <report.txt>
|
|
10
|
+
python calculate_scores.py --scores <dimension_scores.json> --weights <weights.json>
|
|
11
|
+
python calculate_scores.py --interactive
|
|
12
|
+
|
|
13
|
+
Author: ScholarEval Framework
|
|
14
|
+
License: MIT
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
import argparse
|
|
18
|
+
import json
|
|
19
|
+
import sys
|
|
20
|
+
from pathlib import Path
|
|
21
|
+
from typing import Dict, Optional
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# Default dimension weights (total = 100%)
|
|
25
|
+
DEFAULT_WEIGHTS = {
|
|
26
|
+
"problem_formulation": 0.15,
|
|
27
|
+
"literature_review": 0.15,
|
|
28
|
+
"methodology": 0.20,
|
|
29
|
+
"data_collection": 0.10,
|
|
30
|
+
"analysis": 0.15,
|
|
31
|
+
"results": 0.10,
|
|
32
|
+
"writing": 0.10,
|
|
33
|
+
"citations": 0.05,
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
# Quality level definitions
|
|
37
|
+
QUALITY_LEVELS = {
|
|
38
|
+
(4.5, 5.0): ("Exceptional", "Ready for top-tier publication"),
|
|
39
|
+
(4.0, 4.4): ("Strong", "Publication-ready with minor revisions"),
|
|
40
|
+
(3.5, 3.9): ("Good", "Major revisions required, promising work"),
|
|
41
|
+
(3.0, 3.4): ("Acceptable", "Significant revisions needed"),
|
|
42
|
+
(2.0, 2.9): ("Weak", "Fundamental issues, major rework required"),
|
|
43
|
+
(0.0, 1.9): ("Poor", "Not suitable without complete revision"),
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def load_scores(filepath: Path) -> Dict[str, float]:
|
|
48
|
+
"""Load dimension scores from JSON file."""
|
|
49
|
+
try:
|
|
50
|
+
with open(filepath, 'r') as f:
|
|
51
|
+
scores = json.load(f)
|
|
52
|
+
|
|
53
|
+
# Validate scores
|
|
54
|
+
for dim, score in scores.items():
|
|
55
|
+
if not 1 <= score <= 5:
|
|
56
|
+
raise ValueError(f"Score for {dim} must be between 1 and 5, got {score}")
|
|
57
|
+
|
|
58
|
+
return scores
|
|
59
|
+
except FileNotFoundError:
|
|
60
|
+
print(f"Error: File not found: {filepath}")
|
|
61
|
+
sys.exit(1)
|
|
62
|
+
except json.JSONDecodeError:
|
|
63
|
+
print(f"Error: Invalid JSON in {filepath}")
|
|
64
|
+
sys.exit(1)
|
|
65
|
+
except ValueError as e:
|
|
66
|
+
print(f"Error: {e}")
|
|
67
|
+
sys.exit(1)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def load_weights(filepath: Optional[Path] = None) -> Dict[str, float]:
|
|
71
|
+
"""Load dimension weights from JSON file or return defaults."""
|
|
72
|
+
if filepath is None:
|
|
73
|
+
return DEFAULT_WEIGHTS
|
|
74
|
+
|
|
75
|
+
try:
|
|
76
|
+
with open(filepath, 'r') as f:
|
|
77
|
+
weights = json.load(f)
|
|
78
|
+
|
|
79
|
+
# Validate weights sum to 1.0
|
|
80
|
+
total = sum(weights.values())
|
|
81
|
+
if not 0.99 <= total <= 1.01: # Allow small floating point errors
|
|
82
|
+
raise ValueError(f"Weights must sum to 1.0, got {total}")
|
|
83
|
+
|
|
84
|
+
return weights
|
|
85
|
+
except FileNotFoundError:
|
|
86
|
+
print(f"Error: File not found: {filepath}")
|
|
87
|
+
sys.exit(1)
|
|
88
|
+
except json.JSONDecodeError:
|
|
89
|
+
print(f"Error: Invalid JSON in {filepath}")
|
|
90
|
+
sys.exit(1)
|
|
91
|
+
except ValueError as e:
|
|
92
|
+
print(f"Error: {e}")
|
|
93
|
+
sys.exit(1)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def calculate_weighted_average(scores: Dict[str, float], weights: Dict[str, float]) -> float:
|
|
97
|
+
"""Calculate weighted average score."""
|
|
98
|
+
total_score = 0.0
|
|
99
|
+
total_weight = 0.0
|
|
100
|
+
|
|
101
|
+
for dimension, score in scores.items():
|
|
102
|
+
# Handle dimension name variations (e.g., "problem_formulation" vs "problem-formulation")
|
|
103
|
+
dim_key = dimension.replace('-', '_').lower()
|
|
104
|
+
weight = weights.get(dim_key, 0.0)
|
|
105
|
+
|
|
106
|
+
total_score += score * weight
|
|
107
|
+
total_weight += weight
|
|
108
|
+
|
|
109
|
+
# Normalize if not all dimensions were scored
|
|
110
|
+
if total_weight > 0:
|
|
111
|
+
return total_score / total_weight * (sum(weights.values()) / total_weight)
|
|
112
|
+
return 0.0
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def get_quality_level(score: float) -> tuple:
|
|
116
|
+
"""Get quality level description for a given score."""
|
|
117
|
+
for (low, high), (level, description) in QUALITY_LEVELS.items():
|
|
118
|
+
if low <= score <= high:
|
|
119
|
+
return level, description
|
|
120
|
+
return "Unknown", "Score out of expected range"
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
def generate_bar_chart(scores: Dict[str, float], max_width: int = 50) -> str:
|
|
124
|
+
"""Generate ASCII bar chart of dimension scores."""
|
|
125
|
+
lines = []
|
|
126
|
+
max_name_len = max(len(name) for name in scores.keys())
|
|
127
|
+
|
|
128
|
+
for dimension, score in sorted(scores.items(), key=lambda x: x[1], reverse=True):
|
|
129
|
+
bar_length = int((score / 5.0) * max_width)
|
|
130
|
+
bar = '█' * bar_length
|
|
131
|
+
padding = ' ' * (max_name_len - len(dimension))
|
|
132
|
+
lines.append(f" {dimension}{padding} │ {bar} {score:.2f}")
|
|
133
|
+
|
|
134
|
+
return '\n'.join(lines)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def identify_strengths_weaknesses(scores: Dict[str, float]) -> tuple:
|
|
138
|
+
"""Identify top strengths and areas for improvement."""
|
|
139
|
+
sorted_scores = sorted(scores.items(), key=lambda x: x[1], reverse=True)
|
|
140
|
+
|
|
141
|
+
strengths = [dim for dim, score in sorted_scores[:3] if score >= 4.0]
|
|
142
|
+
weaknesses = [dim for dim, score in sorted_scores[-3:] if score < 3.5]
|
|
143
|
+
|
|
144
|
+
return strengths, weaknesses
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
def generate_report(scores: Dict[str, float], weights: Dict[str, float], output_file: Optional[Path] = None) -> str:
|
|
148
|
+
"""Generate comprehensive evaluation report."""
|
|
149
|
+
overall_score = calculate_weighted_average(scores, weights)
|
|
150
|
+
quality_level, quality_desc = get_quality_level(overall_score)
|
|
151
|
+
strengths, weaknesses = identify_strengths_weaknesses(scores)
|
|
152
|
+
|
|
153
|
+
report_lines = [
|
|
154
|
+
"=" * 70,
|
|
155
|
+
"SCHOLAREVAL SCORE REPORT",
|
|
156
|
+
"=" * 70,
|
|
157
|
+
"",
|
|
158
|
+
f"Overall Score: {overall_score:.2f} / 5.00",
|
|
159
|
+
f"Quality Level: {quality_level}",
|
|
160
|
+
f"Assessment: {quality_desc}",
|
|
161
|
+
"",
|
|
162
|
+
"=" * 70,
|
|
163
|
+
"DIMENSION SCORES",
|
|
164
|
+
"=" * 70,
|
|
165
|
+
"",
|
|
166
|
+
generate_bar_chart(scores),
|
|
167
|
+
"",
|
|
168
|
+
"=" * 70,
|
|
169
|
+
"DETAILED BREAKDOWN",
|
|
170
|
+
"=" * 70,
|
|
171
|
+
"",
|
|
172
|
+
]
|
|
173
|
+
|
|
174
|
+
# Add detailed scores with weights
|
|
175
|
+
for dimension, score in sorted(scores.items()):
|
|
176
|
+
dim_key = dimension.replace('-', '_').lower()
|
|
177
|
+
weight = weights.get(dim_key, 0.0)
|
|
178
|
+
weighted_contribution = score * weight
|
|
179
|
+
percentage = weight * 100
|
|
180
|
+
|
|
181
|
+
report_lines.append(
|
|
182
|
+
f" {dimension:25s} {score:.2f}/5.00 "
|
|
183
|
+
f"(weight: {percentage:4.1f}%, contribution: {weighted_contribution:.3f})"
|
|
184
|
+
)
|
|
185
|
+
|
|
186
|
+
report_lines.extend(["", "=" * 70, "ASSESSMENT SUMMARY", "=" * 70, ""])
|
|
187
|
+
|
|
188
|
+
if strengths:
|
|
189
|
+
report_lines.append("Top Strengths:")
|
|
190
|
+
for dim in strengths:
|
|
191
|
+
report_lines.append(f" • {dim}: {scores[dim]:.2f}/5.00")
|
|
192
|
+
report_lines.append("")
|
|
193
|
+
|
|
194
|
+
if weaknesses:
|
|
195
|
+
report_lines.append("Areas for Improvement:")
|
|
196
|
+
for dim in weaknesses:
|
|
197
|
+
report_lines.append(f" • {dim}: {scores[dim]:.2f}/5.00")
|
|
198
|
+
report_lines.append("")
|
|
199
|
+
|
|
200
|
+
# Add recommendations based on score
|
|
201
|
+
report_lines.extend(["=" * 70, "RECOMMENDATIONS", "=" * 70, ""])
|
|
202
|
+
|
|
203
|
+
if overall_score >= 4.5:
|
|
204
|
+
report_lines.append(" Excellent work! Ready for submission to top-tier venues.")
|
|
205
|
+
elif overall_score >= 4.0:
|
|
206
|
+
report_lines.append(" Strong work. Address minor issues identified in weaknesses.")
|
|
207
|
+
elif overall_score >= 3.5:
|
|
208
|
+
report_lines.append(" Good foundation. Focus on major revisions in weak dimensions.")
|
|
209
|
+
elif overall_score >= 3.0:
|
|
210
|
+
report_lines.append(" Significant revisions needed. Prioritize weakest dimensions.")
|
|
211
|
+
elif overall_score >= 2.0:
|
|
212
|
+
report_lines.append(" Major rework required. Consider restructuring approach.")
|
|
213
|
+
else:
|
|
214
|
+
report_lines.append(" Fundamental revision needed across multiple dimensions.")
|
|
215
|
+
|
|
216
|
+
report_lines.append("")
|
|
217
|
+
report_lines.append("=" * 70)
|
|
218
|
+
|
|
219
|
+
report = '\n'.join(report_lines)
|
|
220
|
+
|
|
221
|
+
# Write to file if specified
|
|
222
|
+
if output_file:
|
|
223
|
+
try:
|
|
224
|
+
with open(output_file, 'w') as f:
|
|
225
|
+
f.write(report)
|
|
226
|
+
print(f"\nReport saved to: {output_file}")
|
|
227
|
+
except IOError as e:
|
|
228
|
+
print(f"Error writing to {output_file}: {e}")
|
|
229
|
+
|
|
230
|
+
return report
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
def interactive_mode():
|
|
234
|
+
"""Run interactive score entry mode."""
|
|
235
|
+
print("ScholarEval Interactive Score Calculator")
|
|
236
|
+
print("=" * 50)
|
|
237
|
+
print("\nEnter scores for each dimension (1-5):")
|
|
238
|
+
print("(Press Enter to skip a dimension)\n")
|
|
239
|
+
|
|
240
|
+
scores = {}
|
|
241
|
+
dimensions = [
|
|
242
|
+
"problem_formulation",
|
|
243
|
+
"literature_review",
|
|
244
|
+
"methodology",
|
|
245
|
+
"data_collection",
|
|
246
|
+
"analysis",
|
|
247
|
+
"results",
|
|
248
|
+
"writing",
|
|
249
|
+
"citations",
|
|
250
|
+
]
|
|
251
|
+
|
|
252
|
+
for dim in dimensions:
|
|
253
|
+
while True:
|
|
254
|
+
dim_display = dim.replace('_', ' ').title()
|
|
255
|
+
user_input = input(f"{dim_display}: ").strip()
|
|
256
|
+
|
|
257
|
+
if not user_input:
|
|
258
|
+
break
|
|
259
|
+
|
|
260
|
+
try:
|
|
261
|
+
score = float(user_input)
|
|
262
|
+
if 1 <= score <= 5:
|
|
263
|
+
scores[dim] = score
|
|
264
|
+
break
|
|
265
|
+
else:
|
|
266
|
+
print(" Score must be between 1 and 5")
|
|
267
|
+
except ValueError:
|
|
268
|
+
print(" Invalid input. Please enter a number between 1 and 5")
|
|
269
|
+
|
|
270
|
+
if not scores:
|
|
271
|
+
print("\nNo scores entered. Exiting.")
|
|
272
|
+
return
|
|
273
|
+
|
|
274
|
+
print("\n" + "=" * 50)
|
|
275
|
+
print("SCORES ENTERED:")
|
|
276
|
+
for dim, score in scores.items():
|
|
277
|
+
print(f" {dim.replace('_', ' ').title()}: {score}")
|
|
278
|
+
|
|
279
|
+
print("\nCalculating overall assessment...\n")
|
|
280
|
+
|
|
281
|
+
report = generate_report(scores, DEFAULT_WEIGHTS)
|
|
282
|
+
print(report)
|
|
283
|
+
|
|
284
|
+
# Ask if user wants to save
|
|
285
|
+
save = input("\nSave report to file? (y/n): ").strip().lower()
|
|
286
|
+
if save == 'y':
|
|
287
|
+
filename = input("Enter filename [scholareval_report.txt]: ").strip()
|
|
288
|
+
if not filename:
|
|
289
|
+
filename = "scholareval_report.txt"
|
|
290
|
+
generate_report(scores, DEFAULT_WEIGHTS, Path(filename))
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
def main():
|
|
294
|
+
parser = argparse.ArgumentParser(
|
|
295
|
+
description="Calculate aggregate ScholarEval scores from dimension ratings",
|
|
296
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
297
|
+
epilog="""
|
|
298
|
+
Examples:
|
|
299
|
+
# Calculate from JSON file
|
|
300
|
+
python calculate_scores.py --scores my_scores.json
|
|
301
|
+
|
|
302
|
+
# Calculate with custom weights
|
|
303
|
+
python calculate_scores.py --scores my_scores.json --weights custom_weights.json
|
|
304
|
+
|
|
305
|
+
# Save report to file
|
|
306
|
+
python calculate_scores.py --scores my_scores.json --output report.txt
|
|
307
|
+
|
|
308
|
+
# Interactive mode
|
|
309
|
+
python calculate_scores.py --interactive
|
|
310
|
+
|
|
311
|
+
Score JSON Format:
|
|
312
|
+
{
|
|
313
|
+
"problem_formulation": 4.5,
|
|
314
|
+
"literature_review": 4.0,
|
|
315
|
+
"methodology": 3.5,
|
|
316
|
+
"data_collection": 4.0,
|
|
317
|
+
"analysis": 3.5,
|
|
318
|
+
"results": 4.0,
|
|
319
|
+
"writing": 4.5,
|
|
320
|
+
"citations": 4.0
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
Weights JSON Format:
|
|
324
|
+
{
|
|
325
|
+
"problem_formulation": 0.15,
|
|
326
|
+
"literature_review": 0.15,
|
|
327
|
+
"methodology": 0.20,
|
|
328
|
+
"data_collection": 0.10,
|
|
329
|
+
"analysis": 0.15,
|
|
330
|
+
"results": 0.10,
|
|
331
|
+
"writing": 0.10,
|
|
332
|
+
"citations": 0.05
|
|
333
|
+
}
|
|
334
|
+
""",
|
|
335
|
+
)
|
|
336
|
+
|
|
337
|
+
parser.add_argument('--scores', type=Path, help='Path to JSON file with dimension scores')
|
|
338
|
+
parser.add_argument('--weights', type=Path, help='Path to JSON file with dimension weights (optional)')
|
|
339
|
+
parser.add_argument('--output', type=Path, help='Path to output report file (optional)')
|
|
340
|
+
parser.add_argument('--interactive', '-i', action='store_true', help='Run in interactive mode')
|
|
341
|
+
|
|
342
|
+
args = parser.parse_args()
|
|
343
|
+
|
|
344
|
+
# Interactive mode
|
|
345
|
+
if args.interactive:
|
|
346
|
+
interactive_mode()
|
|
347
|
+
return
|
|
348
|
+
|
|
349
|
+
# File mode
|
|
350
|
+
if not args.scores:
|
|
351
|
+
parser.print_help()
|
|
352
|
+
print("\nError: --scores is required (or use --interactive)")
|
|
353
|
+
sys.exit(1)
|
|
354
|
+
|
|
355
|
+
scores = load_scores(args.scores)
|
|
356
|
+
weights = load_weights(args.weights)
|
|
357
|
+
|
|
358
|
+
report = generate_report(scores, weights, args.output)
|
|
359
|
+
|
|
360
|
+
# Print to stdout if no output file specified
|
|
361
|
+
if not args.output:
|
|
362
|
+
print(report)
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
if __name__ == '__main__':
|
|
366
|
+
main()
|