@synsci/cli-darwin-x64 1.1.71 → 1.1.73
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,326 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Validate Clinical Decision Support Documents for Quality and Completeness
|
|
4
|
+
|
|
5
|
+
Checks for:
|
|
6
|
+
- Evidence citations for all recommendations
|
|
7
|
+
- Statistical reporting completeness
|
|
8
|
+
- Biomarker nomenclature consistency
|
|
9
|
+
- Required sections present
|
|
10
|
+
- HIPAA de-identification
|
|
11
|
+
- GRADE recommendation format
|
|
12
|
+
|
|
13
|
+
Dependencies: None (pure Python)
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
import argparse
|
|
17
|
+
import re
|
|
18
|
+
from pathlib import Path
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class CDSValidator:
|
|
22
|
+
"""Validator for clinical decision support documents."""
|
|
23
|
+
|
|
24
|
+
def __init__(self, filepath):
|
|
25
|
+
self.filepath = filepath
|
|
26
|
+
with open(filepath, 'r', encoding='utf-8', errors='ignore') as f:
|
|
27
|
+
self.content = f.read()
|
|
28
|
+
|
|
29
|
+
self.errors = []
|
|
30
|
+
self.warnings = []
|
|
31
|
+
self.info = []
|
|
32
|
+
|
|
33
|
+
def validate_all(self):
|
|
34
|
+
"""Run all validation checks."""
|
|
35
|
+
|
|
36
|
+
print(f"Validating: {self.filepath}")
|
|
37
|
+
print("=" * 70)
|
|
38
|
+
|
|
39
|
+
self.check_required_sections()
|
|
40
|
+
self.check_evidence_citations()
|
|
41
|
+
self.check_recommendation_grading()
|
|
42
|
+
self.check_statistical_reporting()
|
|
43
|
+
self.check_hipaa_identifiers()
|
|
44
|
+
self.check_biomarker_nomenclature()
|
|
45
|
+
|
|
46
|
+
return self.generate_report()
|
|
47
|
+
|
|
48
|
+
def check_required_sections(self):
|
|
49
|
+
"""Check if required sections are present."""
|
|
50
|
+
|
|
51
|
+
# Cohort analysis required sections
|
|
52
|
+
cohort_sections = [
|
|
53
|
+
'cohort characteristics',
|
|
54
|
+
'biomarker',
|
|
55
|
+
'outcomes',
|
|
56
|
+
'statistical analysis',
|
|
57
|
+
'clinical implications',
|
|
58
|
+
'references',
|
|
59
|
+
]
|
|
60
|
+
|
|
61
|
+
# Treatment recommendation required sections
|
|
62
|
+
rec_sections = ['evidence', 'recommendation', 'monitoring', 'references']
|
|
63
|
+
|
|
64
|
+
content_lower = self.content.lower()
|
|
65
|
+
|
|
66
|
+
# Check which document type
|
|
67
|
+
is_cohort = 'cohort' in content_lower
|
|
68
|
+
is_recommendation = 'recommendation' in content_lower
|
|
69
|
+
|
|
70
|
+
if is_cohort:
|
|
71
|
+
missing = [sec for sec in cohort_sections if sec not in content_lower]
|
|
72
|
+
if missing:
|
|
73
|
+
self.warnings.append(f"Cohort analysis may be missing sections: {', '.join(missing)}")
|
|
74
|
+
else:
|
|
75
|
+
self.info.append("All cohort analysis sections present")
|
|
76
|
+
|
|
77
|
+
if is_recommendation:
|
|
78
|
+
missing = [sec for sec in rec_sections if sec not in content_lower]
|
|
79
|
+
if missing:
|
|
80
|
+
self.errors.append(f"Recommendation document missing required sections: {', '.join(missing)}")
|
|
81
|
+
else:
|
|
82
|
+
self.info.append("All recommendation sections present")
|
|
83
|
+
|
|
84
|
+
def check_evidence_citations(self):
|
|
85
|
+
"""Check that recommendations have citations."""
|
|
86
|
+
|
|
87
|
+
# Find recommendation statements
|
|
88
|
+
rec_pattern = r'(recommend|should|prefer|suggest|consider)(.*?)(?:\n\n|\Z)'
|
|
89
|
+
recommendations = re.findall(rec_pattern, self.content, re.IGNORECASE | re.DOTALL)
|
|
90
|
+
|
|
91
|
+
# Find citations
|
|
92
|
+
citation_patterns = [
|
|
93
|
+
r'\[\d+\]', # Numbered citations [1]
|
|
94
|
+
r'\(.*?\d{4}\)', # Author year (Smith 2020)
|
|
95
|
+
r'et al\.', # Et al citations
|
|
96
|
+
r'NCCN|ASCO|ESMO', # Guideline references
|
|
97
|
+
]
|
|
98
|
+
|
|
99
|
+
uncited_recommendations = []
|
|
100
|
+
|
|
101
|
+
for i, (_, rec_text) in enumerate(recommendations):
|
|
102
|
+
has_citation = any(re.search(pattern, rec_text) for pattern in citation_patterns)
|
|
103
|
+
|
|
104
|
+
if not has_citation:
|
|
105
|
+
snippet = rec_text[:60].strip() + '...'
|
|
106
|
+
uncited_recommendations.append(snippet)
|
|
107
|
+
|
|
108
|
+
if uncited_recommendations:
|
|
109
|
+
self.warnings.append(f"Found {len(uncited_recommendations)} recommendations without citations")
|
|
110
|
+
for rec in uncited_recommendations[:3]: # Show first 3
|
|
111
|
+
self.warnings.append(f" - {rec}")
|
|
112
|
+
else:
|
|
113
|
+
self.info.append(f"All {len(recommendations)} recommendations have citations")
|
|
114
|
+
|
|
115
|
+
def check_recommendation_grading(self):
|
|
116
|
+
"""Check for GRADE-style recommendation strength."""
|
|
117
|
+
|
|
118
|
+
# Look for GRADE notation (1A, 1B, 2A, 2B, 2C)
|
|
119
|
+
grade_pattern = r'GRADE\s*[12][A-C]|Grade\s*[12][A-C]|\(?\s*[12][A-C]\s*\)?'
|
|
120
|
+
grades = re.findall(grade_pattern, self.content, re.IGNORECASE)
|
|
121
|
+
|
|
122
|
+
# Look for strong/conditional language
|
|
123
|
+
strong_pattern = r'(strong|we recommend|should)'
|
|
124
|
+
conditional_pattern = r'(conditional|weak|we suggest|may consider|could consider)'
|
|
125
|
+
|
|
126
|
+
strong_count = len(re.findall(strong_pattern, self.content, re.IGNORECASE))
|
|
127
|
+
conditional_count = len(re.findall(conditional_pattern, self.content, re.IGNORECASE))
|
|
128
|
+
|
|
129
|
+
if grades:
|
|
130
|
+
self.info.append(f"Found {len(grades)} GRADE-style recommendations")
|
|
131
|
+
else:
|
|
132
|
+
self.warnings.append("No GRADE-style recommendation grading found (1A, 1B, 2A, etc.)")
|
|
133
|
+
|
|
134
|
+
if strong_count > 0 or conditional_count > 0:
|
|
135
|
+
self.info.append(f"Recommendation language: {strong_count} strong, {conditional_count} conditional")
|
|
136
|
+
else:
|
|
137
|
+
self.warnings.append("No clear recommendation strength language (strong/conditional) found")
|
|
138
|
+
|
|
139
|
+
def check_statistical_reporting(self):
|
|
140
|
+
"""Check for proper statistical reporting."""
|
|
141
|
+
|
|
142
|
+
# Check for p-values
|
|
143
|
+
p_values = re.findall(r'p\s*[=<>]\s*[\d.]+', self.content, re.IGNORECASE)
|
|
144
|
+
|
|
145
|
+
# Check for confidence intervals
|
|
146
|
+
ci_pattern = r'95%\s*CI|confidence interval'
|
|
147
|
+
cis = re.findall(ci_pattern, self.content, re.IGNORECASE)
|
|
148
|
+
|
|
149
|
+
# Check for hazard ratios
|
|
150
|
+
hr_pattern = r'HR\s*[=:]\s*[\d.]+'
|
|
151
|
+
hrs = re.findall(hr_pattern, self.content)
|
|
152
|
+
|
|
153
|
+
# Check for sample sizes
|
|
154
|
+
n_pattern = r'n\s*=\s*\d+'
|
|
155
|
+
sample_sizes = re.findall(n_pattern, self.content, re.IGNORECASE)
|
|
156
|
+
|
|
157
|
+
if not p_values:
|
|
158
|
+
self.warnings.append("No p-values found - statistical significance not reported")
|
|
159
|
+
else:
|
|
160
|
+
self.info.append(f"Found {len(p_values)} p-values")
|
|
161
|
+
|
|
162
|
+
if hrs and not cis:
|
|
163
|
+
self.warnings.append("Hazard ratios reported without confidence intervals")
|
|
164
|
+
|
|
165
|
+
if not sample_sizes:
|
|
166
|
+
self.warnings.append("Sample sizes (n=X) not clearly reported")
|
|
167
|
+
|
|
168
|
+
# Check for common statistical errors
|
|
169
|
+
if 'p=0.00' in self.content or 'p = 0.00' in self.content:
|
|
170
|
+
self.warnings.append("Found p=0.00 (should report as p<0.001 instead)")
|
|
171
|
+
|
|
172
|
+
def check_hipaa_identifiers(self):
|
|
173
|
+
"""Check for potential HIPAA identifiers."""
|
|
174
|
+
|
|
175
|
+
# 18 HIPAA identifiers (simplified check for common ones)
|
|
176
|
+
identifiers = {
|
|
177
|
+
'Names': r'Dr\.\s+[A-Z][a-z]+|Patient:\s*[A-Z][a-z]+',
|
|
178
|
+
'Specific dates': r'\d{1,2}/\d{1,2}/\d{4}', # MM/DD/YYYY
|
|
179
|
+
'Phone numbers': r'\d{3}[-.]?\d{3}[-.]?\d{4}',
|
|
180
|
+
'Email addresses': r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}',
|
|
181
|
+
'SSN': r'\d{3}-\d{2}-\d{4}',
|
|
182
|
+
'MRN': r'MRN\s*:?\s*\d+',
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
found_identifiers = []
|
|
186
|
+
|
|
187
|
+
for identifier_type, pattern in identifiers.items():
|
|
188
|
+
matches = re.findall(pattern, self.content)
|
|
189
|
+
if matches:
|
|
190
|
+
found_identifiers.append(f"{identifier_type}: {len(matches)} instance(s)")
|
|
191
|
+
|
|
192
|
+
if found_identifiers:
|
|
193
|
+
self.errors.append("Potential HIPAA identifiers detected:")
|
|
194
|
+
for identifier in found_identifiers:
|
|
195
|
+
self.errors.append(f" - {identifier}")
|
|
196
|
+
self.errors.append(" ** Ensure proper de-identification before distribution **")
|
|
197
|
+
else:
|
|
198
|
+
self.info.append("No obvious HIPAA identifiers detected (basic check only)")
|
|
199
|
+
|
|
200
|
+
def check_biomarker_nomenclature(self):
|
|
201
|
+
"""Check for consistent biomarker nomenclature."""
|
|
202
|
+
|
|
203
|
+
# Common biomarker naming issues
|
|
204
|
+
issues = []
|
|
205
|
+
|
|
206
|
+
# Check for gene names (should be italicized in LaTeX)
|
|
207
|
+
gene_names = ['EGFR', 'ALK', 'ROS1', 'BRAF', 'KRAS', 'HER2', 'TP53', 'BRCA1', 'BRCA2']
|
|
208
|
+
for gene in gene_names:
|
|
209
|
+
# Check if gene appears but not in italics (\textit{} or \emph{})
|
|
210
|
+
if gene in self.content:
|
|
211
|
+
if f'\\textit{{{gene}}}' not in self.content and f'\\emph{{{gene}}}' not in self.content:
|
|
212
|
+
if '.tex' in self.filepath.suffix:
|
|
213
|
+
issues.append(f"{gene} should be italicized in LaTeX (\\textit{{{gene}}})")
|
|
214
|
+
|
|
215
|
+
# Check for protein vs gene naming
|
|
216
|
+
# HER2 (protein) vs ERBB2 (gene) - both valid
|
|
217
|
+
# Check for mutation nomenclature (HGVS format)
|
|
218
|
+
hgvs_pattern = r'p\.[A-Z]\d+[A-Z]' # e.g., p.L858R
|
|
219
|
+
hgvs_mutations = re.findall(hgvs_pattern, self.content)
|
|
220
|
+
|
|
221
|
+
if hgvs_mutations:
|
|
222
|
+
self.info.append(f"Found {len(hgvs_mutations)} HGVS protein nomenclature (e.g., p.L858R)")
|
|
223
|
+
|
|
224
|
+
# Warn about non-standard mutation format
|
|
225
|
+
if 'EGFR mutation' in self.content and 'exon' not in self.content.lower():
|
|
226
|
+
self.warnings.append("EGFR mutation mentioned - specify exon/variant (e.g., exon 19 deletion)")
|
|
227
|
+
|
|
228
|
+
if issues:
|
|
229
|
+
self.warnings.extend(issues)
|
|
230
|
+
|
|
231
|
+
def generate_report(self):
|
|
232
|
+
"""Generate validation report."""
|
|
233
|
+
|
|
234
|
+
print("\n" + "=" * 70)
|
|
235
|
+
print("VALIDATION REPORT")
|
|
236
|
+
print("=" * 70)
|
|
237
|
+
|
|
238
|
+
if self.errors:
|
|
239
|
+
print(f"\n❌ ERRORS ({len(self.errors)}):")
|
|
240
|
+
for error in self.errors:
|
|
241
|
+
print(f" {error}")
|
|
242
|
+
|
|
243
|
+
if self.warnings:
|
|
244
|
+
print(f"\n⚠️ WARNINGS ({len(self.warnings)}):")
|
|
245
|
+
for warning in self.warnings:
|
|
246
|
+
print(f" {warning}")
|
|
247
|
+
|
|
248
|
+
if self.info:
|
|
249
|
+
print(f"\n✓ PASSED CHECKS ({len(self.info)}):")
|
|
250
|
+
for info in self.info:
|
|
251
|
+
print(f" {info}")
|
|
252
|
+
|
|
253
|
+
# Overall status
|
|
254
|
+
print("\n" + "=" * 70)
|
|
255
|
+
if self.errors:
|
|
256
|
+
print("STATUS: ❌ VALIDATION FAILED - Address errors before distribution")
|
|
257
|
+
return False
|
|
258
|
+
elif self.warnings:
|
|
259
|
+
print("STATUS: ⚠️ VALIDATION PASSED WITH WARNINGS - Review recommended")
|
|
260
|
+
return True
|
|
261
|
+
else:
|
|
262
|
+
print("STATUS: ✓ VALIDATION PASSED - Document meets quality standards")
|
|
263
|
+
return True
|
|
264
|
+
|
|
265
|
+
def save_report(self, output_file):
|
|
266
|
+
"""Save validation report to file."""
|
|
267
|
+
|
|
268
|
+
with open(output_file, 'w') as f:
|
|
269
|
+
f.write("CLINICAL DECISION SUPPORT DOCUMENT VALIDATION REPORT\n")
|
|
270
|
+
f.write("=" * 70 + "\n")
|
|
271
|
+
f.write(f"Document: {self.filepath}\n")
|
|
272
|
+
f.write(f"Validated: {Path.cwd()}\n\n")
|
|
273
|
+
|
|
274
|
+
if self.errors:
|
|
275
|
+
f.write(f"ERRORS ({len(self.errors)}):\n")
|
|
276
|
+
for error in self.errors:
|
|
277
|
+
f.write(f" - {error}\n")
|
|
278
|
+
f.write("\n")
|
|
279
|
+
|
|
280
|
+
if self.warnings:
|
|
281
|
+
f.write(f"WARNINGS ({len(self.warnings)}):\n")
|
|
282
|
+
for warning in self.warnings:
|
|
283
|
+
f.write(f" - {warning}\n")
|
|
284
|
+
f.write("\n")
|
|
285
|
+
|
|
286
|
+
if self.info:
|
|
287
|
+
f.write(f"PASSED CHECKS ({len(self.info)}):\n")
|
|
288
|
+
for info in self.info:
|
|
289
|
+
f.write(f" - {info}\n")
|
|
290
|
+
|
|
291
|
+
print(f"\nValidation report saved to: {output_file}")
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
def main():
|
|
295
|
+
parser = argparse.ArgumentParser(description='Validate clinical decision support documents')
|
|
296
|
+
parser.add_argument('input_file', type=str, help='Document to validate (.tex, .md, .txt)')
|
|
297
|
+
parser.add_argument('-o', '--output', type=str, default=None, help='Save validation report to file')
|
|
298
|
+
parser.add_argument('--strict', action='store_true', help='Treat warnings as errors')
|
|
299
|
+
|
|
300
|
+
args = parser.parse_args()
|
|
301
|
+
|
|
302
|
+
# Validate
|
|
303
|
+
validator = CDSValidator(args.input_file)
|
|
304
|
+
passed = validator.validate_all()
|
|
305
|
+
|
|
306
|
+
# Save report if requested
|
|
307
|
+
if args.output:
|
|
308
|
+
validator.save_report(args.output)
|
|
309
|
+
|
|
310
|
+
# Exit code
|
|
311
|
+
if args.strict and (validator.errors or validator.warnings):
|
|
312
|
+
exit(1)
|
|
313
|
+
elif validator.errors:
|
|
314
|
+
exit(1)
|
|
315
|
+
else:
|
|
316
|
+
exit(0)
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
if __name__ == '__main__':
|
|
320
|
+
main()
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
# Example usage:
|
|
324
|
+
# python validate_cds_document.py cohort_analysis.tex
|
|
325
|
+
# python validate_cds_document.py treatment_recommendations.tex -o validation_report.txt
|
|
326
|
+
# python validate_cds_document.py document.tex --strict # Warnings cause failure
|