medsci-skills 4.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 +50 -0
- package/README.md +602 -0
- package/README_FIRST.md +27 -0
- package/bin/medsci-skills.js +159 -0
- package/installers/install-macos.command +19 -0
- package/installers/install-windows.cmd +26 -0
- package/installers/install-windows.ps1 +17 -0
- package/installers/install.py +218 -0
- package/metadata/skills_catalog.json +452 -0
- package/package.json +48 -0
- package/skills/academic-aio/SKILL.md +408 -0
- package/skills/academic-aio/references/case_studies/kjr_mllm_2025.md +82 -0
- package/skills/academic-aio/references/checklists/AIO_GENERAL.md +354 -0
- package/skills/academic-aio/references/journal_summarybox_templates.yaml +126 -0
- package/skills/academic-aio/references/oac_funding_checklist.yaml +129 -0
- package/skills/academic-aio/references/reporting_guideline_mapping.md +39 -0
- package/skills/academic-aio/references/schema_markup_templates/CodeRepository.jsonld +32 -0
- package/skills/academic-aio/references/schema_markup_templates/Dataset.jsonld +36 -0
- package/skills/academic-aio/references/schema_markup_templates/Person.jsonld +30 -0
- package/skills/academic-aio/references/schema_markup_templates/README.md +43 -0
- package/skills/academic-aio/references/schema_markup_templates/ScholarlyArticle.jsonld +55 -0
- package/skills/academic-aio/scripts/batch_metadata_audit.py +169 -0
- package/skills/academic-aio/scripts/validate_schema.py +118 -0
- package/skills/academic-aio/skill.yml +36 -0
- package/skills/academic-aio/templates/aio_audit_checklist.md.j2 +108 -0
- package/skills/add-journal/SKILL.md +482 -0
- package/skills/add-journal/skill.yml +33 -0
- package/skills/analyze-stats/SKILL.md +598 -0
- package/skills/analyze-stats/references/analysis_guides/missing_data.md +109 -0
- package/skills/analyze-stats/references/analysis_guides/nhis_icd10_mapping.md +247 -0
- package/skills/analyze-stats/references/analysis_guides/propensity_score.md +132 -0
- package/skills/analyze-stats/references/analysis_guides/regression.md +115 -0
- package/skills/analyze-stats/references/analysis_guides/repeated_measures.md +160 -0
- package/skills/analyze-stats/references/analysis_guides/survey_weighted.md +366 -0
- package/skills/analyze-stats/references/analysis_guides/test_selection.md +86 -0
- package/skills/analyze-stats/references/style/figure_style.mplstyle +69 -0
- package/skills/analyze-stats/references/style/theme_publication.R +147 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/ajr.yaml +51 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/european_radiology.yaml +55 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/jama.yaml +66 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/lancet.yaml +57 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/nejm.yaml +51 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/radiology.yaml +66 -0
- package/skills/analyze-stats/references/table-standards/table-standards.md +287 -0
- package/skills/analyze-stats/references/table-standards/table-types/diagnostic_accuracy.md +36 -0
- package/skills/analyze-stats/references/table-standards/table-types/meta_analysis.md +58 -0
- package/skills/analyze-stats/references/table-standards/table-types/model_comparison.md +36 -0
- package/skills/analyze-stats/references/table-standards/table-types/regression_results.md +50 -0
- package/skills/analyze-stats/references/table-standards/table-types/table1_demographics.md +51 -0
- package/skills/analyze-stats/references/table-standards/tool-comparison.md +79 -0
- package/skills/analyze-stats/references/templates/agreement_analysis.py +436 -0
- package/skills/analyze-stats/references/templates/dca_plot.R +237 -0
- package/skills/analyze-stats/references/templates/diagnostic_accuracy.py +401 -0
- package/skills/analyze-stats/references/templates/dta_meta_analysis.R +384 -0
- package/skills/analyze-stats/references/templates/forest_plot.py +412 -0
- package/skills/analyze-stats/references/templates/likert_summary.py +356 -0
- package/skills/analyze-stats/references/templates/meta_analysis.R +365 -0
- package/skills/analyze-stats/references/templates/propensity_score.py +478 -0
- package/skills/analyze-stats/references/templates/regression.py +425 -0
- package/skills/analyze-stats/references/templates/repeated_measures.py +434 -0
- package/skills/analyze-stats/references/templates/sample_size.R +382 -0
- package/skills/analyze-stats/references/templates/survey_weighted_analysis.py +411 -0
- package/skills/analyze-stats/references/templates/survival_analysis.py +325 -0
- package/skills/analyze-stats/references/templates/table1_demographics.py +287 -0
- package/skills/analyze-stats/scripts/check_generated_code.py +335 -0
- package/skills/analyze-stats/skill.yml +38 -0
- package/skills/analyze-stats/tests/fixtures/gen_bad.R +16 -0
- package/skills/analyze-stats/tests/fixtures/gen_bad.py +24 -0
- package/skills/analyze-stats/tests/fixtures/gen_clean.py +21 -0
- package/skills/analyze-stats/tests/test_generated_code.sh +59 -0
- package/skills/analyze-stats/tests/test_survival_template.sh +53 -0
- package/skills/author-strategy/SKILL.md +117 -0
- package/skills/author-strategy/analyze_patterns.py +303 -0
- package/skills/author-strategy/fetch_pubmed.py +374 -0
- package/skills/author-strategy/skill.yml +34 -0
- package/skills/batch-cohort/SKILL.md +223 -0
- package/skills/batch-cohort/references/base_template_knhanes.R +210 -0
- package/skills/batch-cohort/references/batch_template_generator.R +222 -0
- package/skills/batch-cohort/references/variable_coding_registry.md +136 -0
- package/skills/batch-cohort/skill.yml +35 -0
- package/skills/calc-sample-size/SKILL.md +491 -0
- package/skills/calc-sample-size/references/formulas.md +655 -0
- package/skills/calc-sample-size/references/observational_cohort.md +49 -0
- package/skills/calc-sample-size/skill.yml +51 -0
- package/skills/check-reporting/SKILL.md +534 -0
- package/skills/check-reporting/references/LICENSES.md +41 -0
- package/skills/check-reporting/references/checklists/AMSTAR2.md +54 -0
- package/skills/check-reporting/references/checklists/ARRIVE_2.md +234 -0
- package/skills/check-reporting/references/checklists/CARE.md +102 -0
- package/skills/check-reporting/references/checklists/CLAIM_2024.md +128 -0
- package/skills/check-reporting/references/checklists/CLEAR.md +113 -0
- package/skills/check-reporting/references/checklists/CONSORT.md +86 -0
- package/skills/check-reporting/references/checklists/COSMIN_RoB.md +136 -0
- package/skills/check-reporting/references/checklists/GRRAS.md +61 -0
- package/skills/check-reporting/references/checklists/MI_CLEAR_LLM.md +167 -0
- package/skills/check-reporting/references/checklists/MOOSE.md +85 -0
- package/skills/check-reporting/references/checklists/NOS.md +88 -0
- package/skills/check-reporting/references/checklists/PRISMA_2020.md +135 -0
- package/skills/check-reporting/references/checklists/PRISMA_DTA.md +36 -0
- package/skills/check-reporting/references/checklists/PRISMA_P.md +56 -0
- package/skills/check-reporting/references/checklists/PROBAST.md +75 -0
- package/skills/check-reporting/references/checklists/PROBAST_AI.md +130 -0
- package/skills/check-reporting/references/checklists/QUADAS2.md +77 -0
- package/skills/check-reporting/references/checklists/QUADAS_C.md +131 -0
- package/skills/check-reporting/references/checklists/ROBINS_E.md +179 -0
- package/skills/check-reporting/references/checklists/ROBINS_I.md +87 -0
- package/skills/check-reporting/references/checklists/ROBIS.md +114 -0
- package/skills/check-reporting/references/checklists/ROB_ME.md +126 -0
- package/skills/check-reporting/references/checklists/RoB2.md +79 -0
- package/skills/check-reporting/references/checklists/RoB_NMA.md +96 -0
- package/skills/check-reporting/references/checklists/SPIRIT.md +112 -0
- package/skills/check-reporting/references/checklists/SQUIRE_2.md +68 -0
- package/skills/check-reporting/references/checklists/STARD.md +129 -0
- package/skills/check-reporting/references/checklists/STARD_AI.md +211 -0
- package/skills/check-reporting/references/checklists/STROBE.md +80 -0
- package/skills/check-reporting/references/checklists/SWiM.md +33 -0
- package/skills/check-reporting/references/checklists/TRIPOD.md +157 -0
- package/skills/check-reporting/references/checklists/TRIPOD_AI.md +140 -0
- package/skills/check-reporting/references/step4c_registration_timing.md +93 -0
- package/skills/check-reporting/references/step4d_prisma_figure_audit.md +137 -0
- package/skills/check-reporting/scripts/check_checklist_exists.py +183 -0
- package/skills/check-reporting/scripts/check_checklist_version.py +168 -0
- package/skills/check-reporting/scripts/check_framework_naming.py +206 -0
- package/skills/check-reporting/scripts/check_prisma_figure.py +209 -0
- package/skills/check-reporting/scripts/prisma_cascade_check.py +274 -0
- package/skills/check-reporting/skill.yml +41 -0
- package/skills/check-reporting/tests/fixtures/framework_bad.md +8 -0
- package/skills/check-reporting/tests/fixtures/framework_clean.md +7 -0
- package/skills/check-reporting/tests/test_checklist_fail_fast.sh +77 -0
- package/skills/check-reporting/tests/test_checklist_version.sh +72 -0
- package/skills/check-reporting/tests/test_framework_naming.sh +45 -0
- package/skills/check-reporting/tests/test_prisma_cascade.sh +104 -0
- package/skills/clean-data/SKILL.md +180 -0
- package/skills/clean-data/references/cleaning_patterns.md +299 -0
- package/skills/clean-data/references/profiling_template.py +304 -0
- package/skills/clean-data/scripts/check_structural_zero.py +174 -0
- package/skills/clean-data/skill.yml +35 -0
- package/skills/clean-data/tests/fixtures/smoking.csv +8 -0
- package/skills/clean-data/tests/test_structural_zero.sh +49 -0
- package/skills/cross-national/SKILL.md +264 -0
- package/skills/cross-national/skill.yml +37 -0
- package/skills/define-variables/SKILL.md +146 -0
- package/skills/define-variables/references/common_definitions.md +190 -0
- package/skills/define-variables/skill.yml +34 -0
- package/skills/define-variables/templates/variable_operationalization.md +64 -0
- package/skills/deidentify/SKILL.md +203 -0
- package/skills/deidentify/deidentify.py +1224 -0
- package/skills/deidentify/locales/_template.json +45 -0
- package/skills/deidentify/locales/au.json +43 -0
- package/skills/deidentify/locales/ca.json +44 -0
- package/skills/deidentify/locales/cn.json +47 -0
- package/skills/deidentify/locales/de.json +48 -0
- package/skills/deidentify/locales/fr.json +48 -0
- package/skills/deidentify/locales/in.json +48 -0
- package/skills/deidentify/locales/jp.json +48 -0
- package/skills/deidentify/locales/kr.json +48 -0
- package/skills/deidentify/locales/uk.json +45 -0
- package/skills/deidentify/locales/us.json +43 -0
- package/skills/deidentify/references/date_shift_guide.md +82 -0
- package/skills/deidentify/references/hipaa_18_identifiers.md +48 -0
- package/skills/deidentify/references/korean_phi_patterns.md +135 -0
- package/skills/deidentify/skill.yml +43 -0
- package/skills/deidentify/tests/README.md +26 -0
- package/skills/deidentify/tests/test_clean.csv +16 -0
- package/skills/deidentify/tests/test_edge_cases.csv +11 -0
- package/skills/deidentify/tests/test_phi_korean.csv +11 -0
- package/skills/design-ai-benchmarking/SKILL.md +214 -0
- package/skills/design-ai-benchmarking/references/benchmark_export_schema.json +69 -0
- package/skills/design-ai-benchmarking/references/elicitation_rubric_template.md +37 -0
- package/skills/design-ai-benchmarking/skill.yml +38 -0
- package/skills/design-study/SKILL.md +298 -0
- package/skills/design-study/skill.yml +33 -0
- package/skills/fill-icmje-coi/SKILL.md +216 -0
- package/skills/fill-icmje-coi/scripts/fill_icmje_coi.py +140 -0
- package/skills/fill-icmje-coi/skill.yml +35 -0
- package/skills/fill-icmje-coi/templates/icmje_coi_seed_synthetic.docx +0 -0
- package/skills/fill-protocol/SKILL.md +248 -0
- package/skills/fill-protocol/examples/example_irb_template.yaml +53 -0
- package/skills/fill-protocol/references/best_practices.md +121 -0
- package/skills/fill-protocol/scripts/doc_to_docx.py +111 -0
- package/skills/fill-protocol/scripts/fill_form.py +611 -0
- package/skills/fill-protocol/scripts/inspect_template.py +61 -0
- package/skills/fill-protocol/setup.sh +162 -0
- package/skills/fill-protocol/skill.yml +37 -0
- package/skills/find-cohort-gap/SKILL.md +309 -0
- package/skills/find-cohort-gap/references/cohort_profile_template.md +93 -0
- package/skills/find-cohort-gap/references/onepager_template.md +84 -0
- package/skills/find-cohort-gap/references/pattern_scoring_rubric.md +169 -0
- package/skills/find-cohort-gap/references/saturation_query_templates.md +143 -0
- package/skills/find-cohort-gap/skill.yml +35 -0
- package/skills/find-journal/POLICY.md +87 -0
- package/skills/find-journal/SKILL.md +340 -0
- package/skills/find-journal/references/journal_profiles/AJNR.md +29 -0
- package/skills/find-journal/references/journal_profiles/AJR.md +30 -0
- package/skills/find-journal/references/journal_profiles/Abdominal_Radiology.md +30 -0
- package/skills/find-journal/references/journal_profiles/Academic_Radiology.md +30 -0
- package/skills/find-journal/references/journal_profiles/Annals_of_Internal_Medicine.md +33 -0
- package/skills/find-journal/references/journal_profiles/Artificial_Intelligence_in_Medicine.md +28 -0
- package/skills/find-journal/references/journal_profiles/BMC_Medicine.md +31 -0
- package/skills/find-journal/references/journal_profiles/British_Journal_of_Radiology.md +39 -0
- package/skills/find-journal/references/journal_profiles/CVIR.md +30 -0
- package/skills/find-journal/references/journal_profiles/Chest.md +39 -0
- package/skills/find-journal/references/journal_profiles/Clinical_Radiology.md +30 -0
- package/skills/find-journal/references/journal_profiles/Clinical_and_Molecular_Hepatology.md +32 -0
- package/skills/find-journal/references/journal_profiles/Diabetes_Metabolism_Journal.md +36 -0
- package/skills/find-journal/references/journal_profiles/Diagnostic_and_Interventional_Radiology.md +32 -0
- package/skills/find-journal/references/journal_profiles/Endocrinology_and_Metabolism.md +37 -0
- package/skills/find-journal/references/journal_profiles/European_Journal_of_Preventive_Cardiology.md +39 -0
- package/skills/find-journal/references/journal_profiles/European_Radiology.md +29 -0
- package/skills/find-journal/references/journal_profiles/Hepatology_Communications.md +40 -0
- package/skills/find-journal/references/journal_profiles/Hepatology_International.md +37 -0
- package/skills/find-journal/references/journal_profiles/IEEE_JBHI.md +28 -0
- package/skills/find-journal/references/journal_profiles/IEEE_TMI.md +28 -0
- package/skills/find-journal/references/journal_profiles/INSI.md +29 -0
- package/skills/find-journal/references/journal_profiles/Investigative_Radiology.md +25 -0
- package/skills/find-journal/references/journal_profiles/JACC_Advances.md +41 -0
- package/skills/find-journal/references/journal_profiles/JACC_Asia.md +30 -0
- package/skills/find-journal/references/journal_profiles/JACR.md +28 -0
- package/skills/find-journal/references/journal_profiles/JAMA.md +40 -0
- package/skills/find-journal/references/journal_profiles/JAMA_Network_Open.md +30 -0
- package/skills/find-journal/references/journal_profiles/JCSM.md +39 -0
- package/skills/find-journal/references/journal_profiles/JKMS.md +32 -0
- package/skills/find-journal/references/journal_profiles/JMIR.md +29 -0
- package/skills/find-journal/references/journal_profiles/JMIR_Medical_Education.md +29 -0
- package/skills/find-journal/references/journal_profiles/JNIS.md +35 -0
- package/skills/find-journal/references/journal_profiles/JVIR.md +31 -0
- package/skills/find-journal/references/journal_profiles/Journal_of_Biomedical_Informatics.md +29 -0
- package/skills/find-journal/references/journal_profiles/Journal_of_Clinical_Endocrinology_and_Metabolism.md +40 -0
- package/skills/find-journal/references/journal_profiles/Journal_of_Magnetic_Resonance_Imaging.md +30 -0
- package/skills/find-journal/references/journal_profiles/Journal_of_Nuclear_Medicine.md +31 -0
- package/skills/find-journal/references/journal_profiles/Journal_of_Stroke.md +32 -0
- package/skills/find-journal/references/journal_profiles/KJR.md +38 -0
- package/skills/find-journal/references/journal_profiles/Korean_Circulation_Journal.md +38 -0
- package/skills/find-journal/references/journal_profiles/Korean_Journal_of_Internal_Medicine.md +36 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Diabetes_and_Endocrinology.md +40 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Gastroenterology_and_Hepatology.md +49 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Infectious_Diseases.md +38 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Neurology.md +39 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Oncology.md +40 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Psychiatry.md +38 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Public_Health.md +30 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Respiratory_Medicine.md +39 -0
- package/skills/find-journal/references/journal_profiles/Liver_International.md +33 -0
- package/skills/find-journal/references/journal_profiles/Medical_Image_Analysis.md +28 -0
- package/skills/find-journal/references/journal_profiles/NEJM.md +33 -0
- package/skills/find-journal/references/journal_profiles/Nature_Machine_Intelligence.md +31 -0
- package/skills/find-journal/references/journal_profiles/Nature_Medicine.md +39 -0
- package/skills/find-journal/references/journal_profiles/Neuroradiology.md +31 -0
- package/skills/find-journal/references/journal_profiles/Nutrition_Metabolism_and_Cardiovascular_Diseases.md +39 -0
- package/skills/find-journal/references/journal_profiles/PLOS_Medicine.md +32 -0
- package/skills/find-journal/references/journal_profiles/RYAI.md +28 -0
- package/skills/find-journal/references/journal_profiles/Radiology.md +29 -0
- package/skills/find-journal/references/journal_profiles/Skeletal_Radiology.md +31 -0
- package/skills/find-journal/references/journal_profiles/Stroke.md +37 -0
- package/skills/find-journal/references/journal_profiles/The_BMJ.md +31 -0
- package/skills/find-journal/references/journal_profiles/The_Lancet.md +31 -0
- package/skills/find-journal/references/journal_profiles/The_Lancet_Digital_Health.md +29 -0
- package/skills/find-journal/references/journal_profiles/World_Journal_of_Hepatology.md +53 -0
- package/skills/find-journal/references/journal_profiles/npj_Digital_Medicine.md +29 -0
- package/skills/find-journal/skill.yml +34 -0
- package/skills/fulltext-retrieval/SKILL.md +174 -0
- package/skills/fulltext-retrieval/fetch_oa.py +433 -0
- package/skills/fulltext-retrieval/pdf_to_md.py +160 -0
- package/skills/fulltext-retrieval/skill.yml +41 -0
- package/skills/generate-codebook/SKILL.md +155 -0
- package/skills/generate-codebook/references/codebook_schema.md +76 -0
- package/skills/generate-codebook/scripts/generate_codebook.py +278 -0
- package/skills/generate-codebook/skill.yml +35 -0
- package/skills/generate-codebook/tests/test_generate_codebook.sh +76 -0
- package/skills/grant-builder/SKILL.md +251 -0
- package/skills/grant-builder/skill.yml +34 -0
- package/skills/humanize/SKILL.md +251 -0
- package/skills/humanize/references/ai_patterns.md +571 -0
- package/skills/humanize/skill.yml +33 -0
- package/skills/intake-project/SKILL.md +264 -0
- package/skills/intake-project/skill.yml +34 -0
- package/skills/lit-sync/SKILL.md +448 -0
- package/skills/lit-sync/references/locale/ko/note_templates.md +110 -0
- package/skills/lit-sync/skill.yml +52 -0
- package/skills/lit-sync/tests/test_poll_logic.sh +92 -0
- package/skills/ma-scout/SKILL.md +640 -0
- package/skills/ma-scout/references/project_readme_template.md +95 -0
- package/skills/ma-scout/references/project_readme_template_ko.md +82 -0
- package/skills/ma-scout/skill.yml +33 -0
- package/skills/make-figures/SKILL.md +957 -0
- package/skills/make-figures/references/critic_rubrics/data_plot.md +166 -0
- package/skills/make-figures/references/critic_rubrics/flow_diagram.md +169 -0
- package/skills/make-figures/references/design_principles.md +181 -0
- package/skills/make-figures/references/exemplar_diagrams/README.md +65 -0
- package/skills/make-figures/references/exemplar_diagrams/consort/README.md +15 -0
- package/skills/make-figures/references/exemplar_diagrams/consort/template_input.yaml +37 -0
- package/skills/make-figures/references/exemplar_diagrams/consort/template_output.pdf +0 -0
- package/skills/make-figures/references/exemplar_diagrams/consort/template_output.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/consort/template_output_600.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/other/other_02.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/other/other_02.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/other/other_02_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/README.md +15 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_01.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_01.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_01_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_03.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_03.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_03_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_04.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_04.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_04_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_05.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_05.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_05_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_06.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_06.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_06_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_07.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_07.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_07_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_08.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_08.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_08_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_09.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_09.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_09_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_10.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_10.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_10_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/prisma/README.md +15 -0
- package/skills/make-figures/references/exemplar_diagrams/prisma/template_input.yaml +47 -0
- package/skills/make-figures/references/exemplar_diagrams/prisma/template_output.pdf +0 -0
- package/skills/make-figures/references/exemplar_diagrams/prisma/template_output.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/prisma/template_output_600.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/stard/README.md +15 -0
- package/skills/make-figures/references/exemplar_diagrams/stard/template_input.yaml +40 -0
- package/skills/make-figures/references/exemplar_diagrams/stard/template_output.pdf +0 -0
- package/skills/make-figures/references/exemplar_diagrams/stard/template_output.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/stard/template_output_600.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_input.yaml +43 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_input_pptx.yaml +43 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_output.pdf +0 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_output.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_output.pptx +0 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_output_600.png +0 -0
- package/skills/make-figures/references/figure_specs.md +291 -0
- package/skills/make-figures/references/flow_diagram_lessons.md +164 -0
- package/skills/make-figures/references/jacc_central_illustration_principles.md +91 -0
- package/skills/make-figures/references/medical_illustration_sources.md +98 -0
- package/skills/make-figures/references/pipeline_concepts_medical_ai.md +240 -0
- package/skills/make-figures/references/reporting_guideline_figure_map.md +104 -0
- package/skills/make-figures/references/visual_abstract_templates/european_radiology.pptx +0 -0
- package/skills/make-figures/references/visual_abstract_templates/jacc_central_illustration.pptx +0 -0
- package/skills/make-figures/references/visual_abstract_templates/medsci_default.pptx +0 -0
- package/skills/make-figures/references/visual_abstract_templates/template_guide.md +114 -0
- package/skills/make-figures/scripts/build_jacc_template.py +77 -0
- package/skills/make-figures/scripts/build_prisma2020_template.py +371 -0
- package/skills/make-figures/scripts/build_strobe_template.py +351 -0
- package/skills/make-figures/scripts/critic_figure.py +264 -0
- package/skills/make-figures/scripts/derive_figure_legend_counts.py +138 -0
- package/skills/make-figures/scripts/extract_exemplar_from_pdf.py +186 -0
- package/skills/make-figures/scripts/fetch_official_templates.sh +88 -0
- package/skills/make-figures/scripts/fill_prisma_template.py +142 -0
- package/skills/make-figures/scripts/generate_flow_diagram.R +133 -0
- package/skills/make-figures/scripts/generate_image.py +99 -0
- package/skills/make-figures/scripts/generate_visual_abstract.py +438 -0
- package/skills/make-figures/scripts/validate_pptx_mac_compat.py +233 -0
- package/skills/make-figures/skill.yml +52 -0
- package/skills/make-figures/templates/official/NOTES.md +62 -0
- package/skills/make-figures/templates/official/consort2010/CONSORT_2025_editable_checklist.docx +0 -0
- package/skills/make-figures/templates/official/consort2010/CONSORT_2025_flow_diagram.docx +0 -0
- package/skills/make-figures/templates/official/prisma2020/PRISMA_2020_flow_new_v1.pptx +0 -0
- package/skills/make-figures/templates/official/prisma2020/PRISMA_2020_flow_new_v2.pptx +0 -0
- package/skills/make-figures/templates/official/prisma2020/PRISMA_2020_flow_updated_v2.pptx +0 -0
- package/skills/make-figures/templates/official/spirit2013/SPIRIT_2025_editable_checklist.docx +0 -0
- package/skills/make-figures/templates/official/spirit2013/SPIRIT_2025_participant_timeline.docx +0 -0
- package/skills/make-figures/templates/official/stard2015/STARD_2015_checklist.docx +0 -0
- package/skills/make-figures/templates/official/stard2015/STARD_2015_flow_diagram.pdf +0 -0
- package/skills/make-figures/tests/fixtures/figure1_flow.yaml +8 -0
- package/skills/make-figures/tests/fixtures/manuscript_ok.md +9 -0
- package/skills/make-figures/tests/fixtures/manuscript_stale.md +4 -0
- package/skills/make-figures/tests/test_legend_reconcile.sh +36 -0
- package/skills/manage-project/SKILL.md +358 -0
- package/skills/manage-project/references/pre_submission_checklist.md +53 -0
- package/skills/manage-project/references/project_state_template.json +37 -0
- package/skills/manage-project/references/scaffold_templates.md +118 -0
- package/skills/manage-project/references/status_output_format.md +44 -0
- package/skills/manage-project/references/timeline_example.md +20 -0
- package/skills/manage-project/skill.yml +36 -0
- package/skills/manage-project/templates/SSOT.yaml.template +41 -0
- package/skills/manage-refs/LICENSE.zotero-mcp +21 -0
- package/skills/manage-refs/NOTICE.md +29 -0
- package/skills/manage-refs/SKILL.md +289 -0
- package/skills/manage-refs/citation_styles/README.md +40 -0
- package/skills/manage-refs/citation_styles/american-journal-of-roentgenology.csl +211 -0
- package/skills/manage-refs/citation_styles/cardiovascular-and-interventional-radiology.csl +19 -0
- package/skills/manage-refs/citation_styles/european-radiology.csl +19 -0
- package/skills/manage-refs/citation_styles/journal-of-cachexia-sarcopenia-and-muscle.csl +150 -0
- package/skills/manage-refs/citation_styles/journal-of-korean-medical-science-strict.csl +533 -0
- package/skills/manage-refs/citation_styles/journal-of-korean-medical-science.csl +16 -0
- package/skills/manage-refs/citation_styles/korean-journal-of-radiology.csl +155 -0
- package/skills/manage-refs/citation_styles/nature.csl +189 -0
- package/skills/manage-refs/citation_styles/nlm-citation-sequence.csl +535 -0
- package/skills/manage-refs/citation_styles/radiology.csl +228 -0
- package/skills/manage-refs/citation_styles/springer-basic-brackets.csl +187 -0
- package/skills/manage-refs/citation_styles/springer-vancouver-brackets.csl +276 -0
- package/skills/manage-refs/citation_styles/vancouver-superscript.csl +536 -0
- package/skills/manage-refs/citation_styles/vancouver.csl +535 -0
- package/skills/manage-refs/references/REFERENCE_STYLE_SPECS.md +59 -0
- package/skills/manage-refs/references/check_xref_symptoms.md +35 -0
- package/skills/manage-refs/scripts/_vendor_citation_writer.py +600 -0
- package/skills/manage-refs/scripts/check_citation_keys.py +112 -0
- package/skills/manage-refs/scripts/check_csl_render.py +102 -0
- package/skills/manage-refs/scripts/check_xref.py +633 -0
- package/skills/manage-refs/scripts/fill_journal_abbrev.py +104 -0
- package/skills/manage-refs/scripts/inject_zotero_cwyw.py +133 -0
- package/skills/manage-refs/scripts/md_marker_convert.py +193 -0
- package/skills/manage-refs/scripts/pre_submission_gate.sh +238 -0
- package/skills/manage-refs/scripts/render_pandoc.sh +88 -0
- package/skills/manage-refs/skill.yml +70 -0
- package/skills/manage-refs/tests/fixtures/pre_submission_gate/README.md +32 -0
- package/skills/manage-refs/tests/fixtures/pre_submission_gate/manuscript.md +10 -0
- package/skills/manage-refs/tests/fixtures/pre_submission_gate/refs.bib +34 -0
- package/skills/manage-refs/tests/fixtures/pre_submission_gate/run.sh +117 -0
- package/skills/manage-refs/tests/test_vN_docx_check.sh +145 -0
- package/skills/meta-analysis/SKILL.md +739 -0
- package/skills/meta-analysis/references/LICENSES.md +21 -0
- package/skills/meta-analysis/references/PROSPERO_template.md +221 -0
- package/skills/meta-analysis/references/ai_pre_screening_template.py +245 -0
- package/skills/meta-analysis/references/checklists/JBI_Case_Series.md +45 -0
- package/skills/meta-analysis/references/checklists/NOS.md +88 -0
- package/skills/meta-analysis/references/checklists/PRISMA_DTA.md +36 -0
- package/skills/meta-analysis/references/checklists/PROBAST.md +75 -0
- package/skills/meta-analysis/references/checklists/QUADAS2.md +77 -0
- package/skills/meta-analysis/references/checklists/ROBINS_I.md +87 -0
- package/skills/meta-analysis/references/checklists/RoB2.md +79 -0
- package/skills/meta-analysis/references/data_integrity_checklist.md +57 -0
- package/skills/meta-analysis/references/icmje_coi_guide.md +181 -0
- package/skills/meta-analysis/references/phase10_recovery.md +136 -0
- package/skills/meta-analysis/references/phase4_km_composite.md +58 -0
- package/skills/meta-analysis/references/phase6_statistical_synthesis.md +148 -0
- package/skills/meta-analysis/references/phase9_circulation.md +84 -0
- package/skills/meta-analysis/references/post_submission_release_ops.md +41 -0
- package/skills/meta-analysis/references/r_templates.md +132 -0
- package/skills/meta-analysis/references/review_orchestration.md +40 -0
- package/skills/meta-analysis/references/submission_package_drift.md +71 -0
- package/skills/meta-analysis/scripts/check_pool_consistency.py +201 -0
- package/skills/meta-analysis/scripts/cohort_overlap_check.py +242 -0
- package/skills/meta-analysis/scripts/dta_extraction_qc.py +137 -0
- package/skills/meta-analysis/scripts/screening_reconcile.py +160 -0
- package/skills/meta-analysis/skill.yml +47 -0
- package/skills/meta-analysis/templates/FINAL_POOL_LOCK.yaml.template +70 -0
- package/skills/meta-analysis/templates/extraction_form_v2.md +129 -0
- package/skills/meta-analysis/templates/supplementary_8file_checklist.md +94 -0
- package/skills/meta-analysis/tests/test_pool_consistency.sh +123 -0
- package/skills/orchestrate/SKILL.md +501 -0
- package/skills/orchestrate/references/dialogue_nodes.md +196 -0
- package/skills/orchestrate/references/report_template.md +109 -0
- package/skills/orchestrate/references/report_template_ko.md +88 -0
- package/skills/orchestrate/skill.yml +44 -0
- package/skills/peer-review/SKILL.md +381 -0
- package/skills/peer-review/references/aczel_2021_reviewer2_patterns.md +88 -0
- package/skills/peer-review/references/domain-probes/ai_overclaiming.md +47 -0
- package/skills/peer-review/references/domain-probes/narrative_review.md +44 -0
- package/skills/peer-review/references/domain-probes/observational_confounding.md +48 -0
- package/skills/peer-review/references/domain-probes/radiomics.md +38 -0
- package/skills/peer-review/references/domain-probes/sr_ma.md +87 -0
- package/skills/peer-review/references/domain-probes/survival_prognostic.md +68 -0
- package/skills/peer-review/references/exemplar_reviews/README.md +43 -0
- package/skills/peer-review/references/exemplar_reviews/ai_overclaiming.md +47 -0
- package/skills/peer-review/references/exemplar_reviews/calibration_missing.md +44 -0
- package/skills/peer-review/references/exemplar_reviews/data_leakage.md +48 -0
- package/skills/peer-review/references/exemplar_reviews/reference_standard_validity.md +45 -0
- package/skills/peer-review/references/narrative_review_audit.md +67 -0
- package/skills/peer-review/references/reviewer_calibration/README.md +34 -0
- package/skills/peer-review/references/reviewer_calibration/compliance_floor.md +52 -0
- package/skills/peer-review/references/reviewer_profiles/AJR.md +82 -0
- package/skills/peer-review/references/reviewer_profiles/EURE.md +64 -0
- package/skills/peer-review/references/reviewer_profiles/INSI.md +57 -0
- package/skills/peer-review/references/reviewer_profiles/KJR.md +100 -0
- package/skills/peer-review/references/reviewer_profiles/README.md +32 -0
- package/skills/peer-review/references/reviewer_profiles/RYAI.md +86 -0
- package/skills/peer-review/skill.yml +39 -0
- package/skills/present-paper/SKILL.md +675 -0
- package/skills/present-paper/references/critic_rubrics/slide.md +155 -0
- package/skills/present-paper/references/generate_pptx_templates.py +604 -0
- package/skills/present-paper/references/medical_presentation_templates.md +277 -0
- package/skills/present-paper/references/slide_design_principles.md +202 -0
- package/skills/present-paper/references/slide_visual_styles/nature_lancet.md +168 -0
- package/skills/present-paper/references/workflow-checklist.md +109 -0
- package/skills/present-paper/scripts/extract_pdf_figures.py +243 -0
- package/skills/present-paper/scripts/inject_pronunciation_notes.py +178 -0
- package/skills/present-paper/scripts/inject_speaker_notes.py +133 -0
- package/skills/present-paper/scripts/strip_notes_for_sharing.py +140 -0
- package/skills/present-paper/scripts/trim_caption.py +271 -0
- package/skills/present-paper/skill.yml +41 -0
- package/skills/present-paper/templates/build_pptx_nature_lancet.py +688 -0
- package/skills/publish-skill/SKILL.md +370 -0
- package/skills/publish-skill/references/license-compatibility-matrix.md +132 -0
- package/skills/publish-skill/references/pii-patterns.md +130 -0
- package/skills/publish-skill/scripts/audit_skill.sh +278 -0
- package/skills/publish-skill/skill.yml +35 -0
- package/skills/render-pdf-doc/SKILL.md +146 -0
- package/skills/render-pdf-doc/references/known_pitfalls.md +53 -0
- package/skills/render-pdf-doc/references/pandoc_korean_cheatsheet.md +77 -0
- package/skills/render-pdf-doc/scripts/check_deps.sh +42 -0
- package/skills/render-pdf-doc/scripts/infer_colwidths.py +164 -0
- package/skills/render-pdf-doc/scripts/render_pdf.sh +98 -0
- package/skills/render-pdf-doc/skill.yml +57 -0
- package/skills/render-pdf-doc/templates/anchor-doc.md +27 -0
- package/skills/render-pdf-doc/templates/anchor-doc_ko.md +25 -0
- package/skills/render-pdf-doc/templates/briefing-handout.md +33 -0
- package/skills/render-pdf-doc/templates/briefing-handout_ko.md +31 -0
- package/skills/render-pdf-doc/templates/proposal-cover.md +33 -0
- package/skills/render-pdf-doc/templates/proposal-cover_ko.md +31 -0
- package/skills/render-pdf-doc/templates/reference-table.md +22 -0
- package/skills/render-pdf-doc/templates/reference-table_ko.md +20 -0
- package/skills/replicate-study/SKILL.md +150 -0
- package/skills/replicate-study/references/harmonization_3country.csv +47 -0
- package/skills/replicate-study/references/harmonization_knhanes_nhanes.csv +68 -0
- package/skills/replicate-study/references/methodology_extraction_template.md +134 -0
- package/skills/replicate-study/skill.yml +37 -0
- package/skills/review-paper/SKILL.md +104 -0
- package/skills/review-paper/references/macro_skeleton.md +6 -0
- package/skills/review-paper/skill.yml +25 -0
- package/skills/revise/SKILL.md +515 -0
- package/skills/revise/references/r2r_voice.md +346 -0
- package/skills/revise/skill.yml +43 -0
- package/skills/search-lit/SKILL.md +443 -0
- package/skills/search-lit/references/parse_pubmed.py +326 -0
- package/skills/search-lit/references/pubmed_eutils.sh +111 -0
- package/skills/search-lit/skill.yml +46 -0
- package/skills/self-review/SKILL.md +1045 -0
- package/skills/self-review/references/domain-probes/ai_overclaiming.md +47 -0
- package/skills/self-review/references/domain-probes/narrative_review.md +44 -0
- package/skills/self-review/references/domain-probes/observational_confounding.md +48 -0
- package/skills/self-review/references/domain-probes/radiomics.md +38 -0
- package/skills/self-review/references/domain-probes/sr_ma.md +87 -0
- package/skills/self-review/references/domain-probes/survival_prognostic.md +68 -0
- package/skills/self-review/references/exemplar_findings/README.md +43 -0
- package/skills/self-review/references/exemplar_findings/cohort_arithmetic_mismatch.md +35 -0
- package/skills/self-review/references/exemplar_findings/estimand_drift_posthoc_primary.md +39 -0
- package/skills/self-review/references/exemplar_findings/scope_overreach_cross_sectional.md +35 -0
- package/skills/self-review/references/exemplar_findings/unadjusted_confounder.md +36 -0
- package/skills/self-review/references/panel_review_template.md +177 -0
- package/skills/self-review/scripts/check_artifact_coverage.py +301 -0
- package/skills/self-review/scripts/check_claim_artifact.py +248 -0
- package/skills/self-review/scripts/check_classical_style.py +185 -0
- package/skills/self-review/scripts/check_cohort_arithmetic.py +481 -0
- package/skills/self-review/scripts/check_confounding_completeness.py +287 -0
- package/skills/self-review/scripts/check_panel_diversity.py +336 -0
- package/skills/self-review/scripts/check_reference_adequacy.py +392 -0
- package/skills/self-review/scripts/check_reviewer_team_consistency.py +412 -0
- package/skills/self-review/scripts/check_scope_coherence.py +177 -0
- package/skills/self-review/skill.yml +47 -0
- package/skills/self-review/tests/fixtures/claim_manuscript.md +17 -0
- package/skills/self-review/tests/fixtures/claim_prereg.md +6 -0
- package/skills/self-review/tests/fixtures/cohort_bad.md +21 -0
- package/skills/self-review/tests/fixtures/cohort_clean.md +21 -0
- package/skills/self-review/tests/fixtures/cohort_partition.csv +5 -0
- package/skills/self-review/tests/fixtures/coverage_analysis/31_delong_nested_added_value.csv +3 -0
- package/skills/self-review/tests/fixtures/coverage_analysis/table1_demographics.csv +3 -0
- package/skills/self-review/tests/fixtures/coverage_clean.md +13 -0
- package/skills/self-review/tests/fixtures/coverage_manuscript.md +11 -0
- package/skills/self-review/tests/fixtures/panel_collapse.json +27 -0
- package/skills/self-review/tests/fixtures/panel_good.json +32 -0
- package/skills/self-review/tests/fixtures/panel_monoculture.json +32 -0
- package/skills/self-review/tests/fixtures/refadeq_letter.md +13 -0
- package/skills/self-review/tests/fixtures/refadeq_original_fixed.md +42 -0
- package/skills/self-review/tests/fixtures/refadeq_original_uncited.md +40 -0
- package/skills/self-review/tests/fixtures/scope_bad.md +9 -0
- package/skills/self-review/tests/fixtures/scope_clean.md +8 -0
- package/skills/self-review/tests/fixtures/scope_surrogate.md +8 -0
- package/skills/self-review/tests/fixtures/style_bad.md +13 -0
- package/skills/self-review/tests/fixtures/style_clean.md +11 -0
- package/skills/self-review/tests/fixtures/table1_by_exposure.csv +11 -0
- package/skills/self-review/tests/test_artifact_coverage.sh +44 -0
- package/skills/self-review/tests/test_claim_artifact.sh +50 -0
- package/skills/self-review/tests/test_classical_style.sh +44 -0
- package/skills/self-review/tests/test_cohort_arithmetic.sh +49 -0
- package/skills/self-review/tests/test_confounding_completeness.sh +66 -0
- package/skills/self-review/tests/test_panel_diversity.sh +55 -0
- package/skills/self-review/tests/test_panel_mode.sh +69 -0
- package/skills/self-review/tests/test_reference_adequacy.sh +68 -0
- package/skills/self-review/tests/test_reviewer_team_consistency.sh +138 -0
- package/skills/self-review/tests/test_scope_coherence.sh +46 -0
- package/skills/setup-medsci/SKILL.md +110 -0
- package/skills/setup-medsci/references/setup-checklist.md +51 -0
- package/skills/setup-medsci/skill.yml +30 -0
- package/skills/sync-submission/SKILL.md +382 -0
- package/skills/sync-submission/scripts/author_registry_example.yaml +36 -0
- package/skills/sync-submission/scripts/blind_sweep.py +203 -0
- package/skills/sync-submission/scripts/check_asset_anonymization.py +300 -0
- package/skills/sync-submission/scripts/check_cross_artifact_stale.py +211 -0
- package/skills/sync-submission/scripts/cover_letter_drift_check.py +451 -0
- package/skills/sync-submission/scripts/cross_document_n_check.py +486 -0
- package/skills/sync-submission/scripts/detect_copy_divergence.py +136 -0
- package/skills/sync-submission/scripts/preflight_gate.py +458 -0
- package/skills/sync-submission/scripts/scope_drift_check.py +362 -0
- package/skills/sync-submission/scripts/sync_submission.py +169 -0
- package/skills/sync-submission/skill.yml +43 -0
- package/skills/sync-submission/tests/fixtures/copy_ok.md +5 -0
- package/skills/sync-submission/tests/fixtures/copy_stale.md +5 -0
- package/skills/sync-submission/tests/fixtures/ssot.md +5 -0
- package/skills/sync-submission/tests/test_asset_anonymization.sh +99 -0
- package/skills/sync-submission/tests/test_copy_divergence.sh +44 -0
- package/skills/sync-submission/tests/test_cross_artifact_stale.sh +80 -0
- package/skills/sync-submission/tests/test_cross_document_n.sh +132 -0
- package/skills/sync-submission/tests/test_preflight_gate.sh +112 -0
- package/skills/sync-submission/tests/test_scope_drift.sh +122 -0
- package/skills/sync-submission/tests/test_vN_docx_assertion.sh +51 -0
- package/skills/verify-refs/SKILL.md +177 -0
- package/skills/verify-refs/references/manual_checkpoint_guide.md +100 -0
- package/skills/verify-refs/scripts/verify_cli.sh +62 -0
- package/skills/verify-refs/scripts/verify_refs.py +782 -0
- package/skills/verify-refs/skill.yml +44 -0
- package/skills/verify-refs/tests/fixtures/pagination_placeholder.bib +17 -0
- package/skills/verify-refs/tests/test_pagination_placeholder.sh +42 -0
- package/skills/version-dataset/SKILL.md +143 -0
- package/skills/version-dataset/references/manifest_schema.md +72 -0
- package/skills/version-dataset/scripts/version_dataset.py +242 -0
- package/skills/version-dataset/skill.yml +35 -0
- package/skills/version-dataset/tests/test_version_dataset.sh +52 -0
- package/skills/write-paper/SKILL.md +1148 -0
- package/skills/write-paper/references/exemplar_methods/README.md +38 -0
- package/skills/write-paper/references/exemplar_methods/ai_validation_tripod_claim.md +47 -0
- package/skills/write-paper/references/exemplar_methods/diagnostic_accuracy_stard.md +50 -0
- package/skills/write-paper/references/exemplar_methods/observational_cohort_strobe.md +43 -0
- package/skills/write-paper/references/journal_profiles/AJNR.md +185 -0
- package/skills/write-paper/references/journal_profiles/AJR.md +149 -0
- package/skills/write-paper/references/journal_profiles/Abdominal_Radiology.md +139 -0
- package/skills/write-paper/references/journal_profiles/Academic_Radiology.md +90 -0
- package/skills/write-paper/references/journal_profiles/Annals_of_Internal_Medicine.md +150 -0
- package/skills/write-paper/references/journal_profiles/Artificial_Intelligence_in_Medicine.md +82 -0
- package/skills/write-paper/references/journal_profiles/British_Journal_of_Radiology.md +161 -0
- package/skills/write-paper/references/journal_profiles/CVIR.md +157 -0
- package/skills/write-paper/references/journal_profiles/Chest.md +270 -0
- package/skills/write-paper/references/journal_profiles/Clinical_Radiology.md +160 -0
- package/skills/write-paper/references/journal_profiles/Clinical_and_Molecular_Hepatology.md +147 -0
- package/skills/write-paper/references/journal_profiles/Diabetes_Metabolism_Journal.md +163 -0
- package/skills/write-paper/references/journal_profiles/Diagnostic_and_Interventional_Radiology.md +216 -0
- package/skills/write-paper/references/journal_profiles/Endocrinology_and_Metabolism.md +167 -0
- package/skills/write-paper/references/journal_profiles/European_Journal_of_Preventive_Cardiology.md +192 -0
- package/skills/write-paper/references/journal_profiles/European_Radiology.md +159 -0
- package/skills/write-paper/references/journal_profiles/Hepatology_Communications.md +110 -0
- package/skills/write-paper/references/journal_profiles/Hepatology_International.md +106 -0
- package/skills/write-paper/references/journal_profiles/IEEE_TMI.md +180 -0
- package/skills/write-paper/references/journal_profiles/INSI.md +163 -0
- package/skills/write-paper/references/journal_profiles/Investigative_Radiology.md +86 -0
- package/skills/write-paper/references/journal_profiles/JACC_Advances.md +197 -0
- package/skills/write-paper/references/journal_profiles/JACC_Asia.md +168 -0
- package/skills/write-paper/references/journal_profiles/JACR.md +87 -0
- package/skills/write-paper/references/journal_profiles/JAMA.md +188 -0
- package/skills/write-paper/references/journal_profiles/JAMA_Network_Open.md +170 -0
- package/skills/write-paper/references/journal_profiles/JCSM.md +266 -0
- package/skills/write-paper/references/journal_profiles/JKMS.md +201 -0
- package/skills/write-paper/references/journal_profiles/JMIR.md +88 -0
- package/skills/write-paper/references/journal_profiles/JMIR_Medical_Education.md +86 -0
- package/skills/write-paper/references/journal_profiles/JNIS.md +227 -0
- package/skills/write-paper/references/journal_profiles/JVIR.md +158 -0
- package/skills/write-paper/references/journal_profiles/Journal_of_Clinical_Endocrinology_and_Metabolism.md +191 -0
- package/skills/write-paper/references/journal_profiles/Journal_of_Stroke.md +176 -0
- package/skills/write-paper/references/journal_profiles/KJR.md +185 -0
- package/skills/write-paper/references/journal_profiles/Korean_Circulation_Journal.md +184 -0
- package/skills/write-paper/references/journal_profiles/Korean_Journal_of_Internal_Medicine.md +178 -0
- package/skills/write-paper/references/journal_profiles/Lancet_Gastroenterology_and_Hepatology.md +127 -0
- package/skills/write-paper/references/journal_profiles/Liver_International.md +165 -0
- package/skills/write-paper/references/journal_profiles/Medical_Image_Analysis.md +147 -0
- package/skills/write-paper/references/journal_profiles/NEJM.md +147 -0
- package/skills/write-paper/references/journal_profiles/Nature_Medicine.md +181 -0
- package/skills/write-paper/references/journal_profiles/Neuroradiology.md +151 -0
- package/skills/write-paper/references/journal_profiles/Nutrition_Metabolism_and_Cardiovascular_Diseases.md +184 -0
- package/skills/write-paper/references/journal_profiles/PLOS_Medicine.md +166 -0
- package/skills/write-paper/references/journal_profiles/RYAI.md +124 -0
- package/skills/write-paper/references/journal_profiles/Radiology.md +173 -0
- package/skills/write-paper/references/journal_profiles/Skeletal_Radiology.md +135 -0
- package/skills/write-paper/references/journal_profiles/Stroke.md +210 -0
- package/skills/write-paper/references/journal_profiles/The_BMJ.md +121 -0
- package/skills/write-paper/references/journal_profiles/The_Lancet.md +112 -0
- package/skills/write-paper/references/journal_profiles/The_Lancet_Digital_Health.md +104 -0
- package/skills/write-paper/references/journal_profiles/World_Journal_of_Hepatology.md +106 -0
- package/skills/write-paper/references/journal_profiles/npj_Digital_Medicine.md +93 -0
- package/skills/write-paper/references/paper_types/ai_validation.md +270 -0
- package/skills/write-paper/references/paper_types/animal_study.md +194 -0
- package/skills/write-paper/references/paper_types/case_report.md +237 -0
- package/skills/write-paper/references/paper_types/cross_national.md +328 -0
- package/skills/write-paper/references/paper_types/letter.md +127 -0
- package/skills/write-paper/references/paper_types/meta_analysis.md +181 -0
- package/skills/write-paper/references/paper_types/nhis_cohort.md +297 -0
- package/skills/write-paper/references/paper_types/original_article.md +221 -0
- package/skills/write-paper/references/paper_types/technical_note.md +131 -0
- package/skills/write-paper/references/section_guides/discussion.md +155 -0
- package/skills/write-paper/references/section_guides/introduction.md +108 -0
- package/skills/write-paper/references/section_guides/methods.md +144 -0
- package/skills/write-paper/references/section_guides/results.md +113 -0
- package/skills/write-paper/references/section_guides/step7_1_classical_qc.md +67 -0
- package/skills/write-paper/references/section_guides/step7_4a_audit_recovery.md +74 -0
- package/skills/write-paper/references/section_guides/title_abstract.md +123 -0
- package/skills/write-paper/references/section_templates/methods_statistical.md +147 -0
- package/skills/write-paper/scripts/check_placeholders.py +182 -0
- package/skills/write-paper/skill.yml +48 -0
- package/skills/write-paper/tests/test_placeholders.sh +107 -0
- package/skills/write-protocol/SKILL.md +243 -0
- package/skills/write-protocol/references/ethics_checklist.md +150 -0
- package/skills/write-protocol/references/protocol_template.md +304 -0
- package/skills/write-protocol/skill.yml +34 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
schema_version: 2
|
|
2
|
+
name: calc-sample-size
|
|
3
|
+
layer: A
|
|
4
|
+
owner_domain: study_design
|
|
5
|
+
when_to_use:
|
|
6
|
+
- User asks for a sample size, power calculation, or "how many patients/subjects do I need"
|
|
7
|
+
- Drafting an IRB sample size justification before /write-protocol Methods
|
|
8
|
+
- Re-deriving N when a reviewer challenges the original power assumption
|
|
9
|
+
- Estimating events-per-variable (EPV) for survival or logistic regression
|
|
10
|
+
when_NOT_to_use:
|
|
11
|
+
- Statistical analysis of collected data (use /analyze-stats)
|
|
12
|
+
- Choosing the test itself rather than its N (use /design-study)
|
|
13
|
+
- Replicating a prior study's reported N without recomputation (still re-derive)
|
|
14
|
+
inputs:
|
|
15
|
+
- study_design (proportions, continuous, agreement, survival, ANOVA, logistic, NI/equivalence, diagnostic accuracy, repeated measures, Cox EPV)
|
|
16
|
+
- parameters (effect size, alpha, power, attrition rate, etc.)
|
|
17
|
+
outputs:
|
|
18
|
+
- protocol/sample_size_justification.md # IRB-ready prose, Output Format §"IRB Justification Text"
|
|
19
|
+
- protocol/sample_size_calc.R # reproducible R script
|
|
20
|
+
- protocol/sample_size_calc.py # alternative reproducible Python script
|
|
21
|
+
deterministic_scripts:
|
|
22
|
+
- inline R/Python code blocks (skill-emitted, not packaged)
|
|
23
|
+
side_effects:
|
|
24
|
+
- none # no external API calls; pure computation + literature anchoring
|
|
25
|
+
downstream_consumers:
|
|
26
|
+
- write-protocol # embeds Output §"IRB Justification Text" verbatim into Methods §Sample Size
|
|
27
|
+
- write-paper # embeds same text into Methods (post-IRB)
|
|
28
|
+
- design-study # cross-reference for analysis-unit / cohort-logic alignment
|
|
29
|
+
ssot_boundary:
|
|
30
|
+
- protocol/sample_size_justification.md is the canonical sample size text. write-protocol and write-paper EMBED VERBATIM; do not rephrase numbers.
|
|
31
|
+
quality_gates:
|
|
32
|
+
- parameters_documented: every parameter has a Source column entry (user / literature / convention)
|
|
33
|
+
- effect_size_interpretation: Cohen's benchmark classification present
|
|
34
|
+
- methodological_reference: cited (e.g., "Schoenfeld, 1981" for survival)
|
|
35
|
+
- reproducible_code: both R and Python emitted (skill default), runnable standalone
|
|
36
|
+
forbidden_actions:
|
|
37
|
+
- fabricate_effect_size_from_unverified_assumption
|
|
38
|
+
- omit_attrition_or_loss_to_followup
|
|
39
|
+
- silent_protocol_modification # changes to N must update both justification.md and protocol Methods
|
|
40
|
+
|
|
41
|
+
# v2.1 quality card
|
|
42
|
+
purpose: "Compute sample size / power with decision-tree test selection and reproducible R/Python code plus IRB-ready justification."
|
|
43
|
+
safety_boundaries:
|
|
44
|
+
- "Effect-size assumptions are justified and sourced, not fabricated; attrition/loss is accounted for."
|
|
45
|
+
- "Any change to N updates both the justification and the protocol Methods (no silent change)."
|
|
46
|
+
known_limitations:
|
|
47
|
+
- "Emits inline R/Python, not a packaged script; the user runs it."
|
|
48
|
+
- "Output is only as valid as the assumed effect size and design."
|
|
49
|
+
validation_commands:
|
|
50
|
+
- "re-run the emitted power code and confirm N matches the justification"
|
|
51
|
+
evidence_surface: manual_workflow
|
|
@@ -0,0 +1,534 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: check-reporting
|
|
3
|
+
description: Check manuscript compliance with medical research reporting guidelines. Supports 32 guidelines including STROBE, CONSORT, STARD, STARD-AI, TRIPOD, TRIPOD+AI, ARRIVE, PRISMA, PRISMA-DTA, PRISMA-P, CARE, SPIRIT, CLAIM, MI-CLEAR-LLM, SQUIRE 2.0, CLEAR, MOOSE, GRRAS, SWiM, AMSTAR 2, and risk of bias tools (QUADAS-2, QUADAS-C, RoB 2, ROBINS-I, ROBINS-E, ROBIS, ROB-ME, PROBAST, PROBAST+AI, NOS, COSMIN, RoB NMA). Generates item-by-item assessment with PRESENT/MISSING/PARTIAL status.
|
|
4
|
+
triggers: checklist, reporting guideline, STROBE, CONSORT, STARD, STARD-AI, TRIPOD, PRISMA, PRISMA-DTA, PRISMA-P, ARRIVE, CARE, CLAIM, MI-CLEAR-LLM, SPIRIT, QUADAS, QUADAS-C, RoB, ROBINS, ROBINS-E, ROBIS, ROB-ME, PROBAST, NOS, COSMIN, AMSTAR, SWiM, risk of bias, compliance check, LLM accuracy
|
|
5
|
+
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
model: inherit
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Check-Reporting Skill
|
|
10
|
+
|
|
11
|
+
You are helping a medical researcher verify that their manuscript complies with the appropriate
|
|
12
|
+
medical research reporting guideline. You perform a systematic, item-by-item audit and produce a
|
|
13
|
+
compliance report suitable for journal submission.
|
|
14
|
+
|
|
15
|
+
## Communication Rules
|
|
16
|
+
|
|
17
|
+
- Communicate with the user in their preferred language.
|
|
18
|
+
- Checklist items and report output are in English (matching guideline originals).
|
|
19
|
+
- Medical terminology is always in English.
|
|
20
|
+
|
|
21
|
+
## Reference Files
|
|
22
|
+
|
|
23
|
+
- **Checklists (bundled, open license)**: `${CLAUDE_SKILL_DIR}/references/checklists/`
|
|
24
|
+
- `STROBE.md` -- observational studies (CC BY)
|
|
25
|
+
- `STARD.md` -- diagnostic accuracy studies (CC BY 4.0)
|
|
26
|
+
- `STARD_AI.md` -- AI diagnostic accuracy studies (CC BY, Sounderajah et al. Nat Med 2025)
|
|
27
|
+
- `TRIPOD.md` -- prediction models, classic 2015 version (CC BY, Moons et al. Ann Intern Med 2015)
|
|
28
|
+
- `TRIPOD_AI.md` -- prediction models with AI/ML (CC BY 4.0, Collins et al. BMJ 2024)
|
|
29
|
+
- `PRISMA_2020.md` -- systematic reviews (CC BY)
|
|
30
|
+
- `ARRIVE_2.md` -- animal studies (CC0)
|
|
31
|
+
- `PRISMA_DTA.md` -- DTA systematic reviews (CC BY, McInnes et al. JAMA 2018)
|
|
32
|
+
- `QUADAS2.md` -- diagnostic accuracy risk of bias (CC BY, Whiting et al. Ann Intern Med 2011)
|
|
33
|
+
- `RoB2.md` -- RCT risk of bias (CC BY, Sterne et al. BMJ 2019)
|
|
34
|
+
- `ROBINS_I.md` -- non-randomised studies risk of bias (CC BY, Sterne et al. BMJ 2016)
|
|
35
|
+
- `PROBAST.md` -- prediction model risk of bias (CC BY, Wolff et al. Ann Intern Med 2019)
|
|
36
|
+
- `NOS.md` -- observational study quality (public domain, Ottawa Hospital)
|
|
37
|
+
- `CONSORT.md` -- randomised controlled trials, CONSORT 2025 (CC BY 4.0, Hopewell et al. BMJ 2025)
|
|
38
|
+
- `CARE.md` -- case reports, CARE 2013 (CC BY-NC 4.0, Gagnier et al. J Clin Epidemiol 2014)
|
|
39
|
+
- `SPIRIT.md` -- clinical trial protocols, SPIRIT 2025 (CC BY 4.0, Chan et al. BMJ 2025)
|
|
40
|
+
- `CLAIM_2024.md` -- AI/ML in clinical imaging, CLAIM 2024 Update (RSNA open access, Tejani et al. Radiol Artif Intell 2024)
|
|
41
|
+
- `MI_CLEAR_LLM.md` -- LLM accuracy studies in healthcare (CC BY-NC 4.0, Park et al. KJR 2024; 2025 update)
|
|
42
|
+
- `SQUIRE_2.md` -- quality improvement in healthcare/education (CC BY, Ogrinc et al. BMJ Qual Saf 2016)
|
|
43
|
+
- `CLEAR.md` -- radiomics studies (CC BY 4.0, Kocak et al. Insights Imaging 2023)
|
|
44
|
+
- `MOOSE.md` -- meta-analysis of observational studies (Stroup et al. JAMA 2000)
|
|
45
|
+
- `GRRAS.md` -- reliability and agreement studies (Kottner et al. J Clin Epidemiol 2011)
|
|
46
|
+
- `QUADAS_C.md` -- comparative DTA risk of bias, extension to QUADAS-2 (CC BY 4.0, Yang et al. 2021)
|
|
47
|
+
- `ROBINS_E.md` -- non-randomised exposure studies risk of bias (CC BY-NC-ND 4.0, Higgins et al. Environ Int 2024)
|
|
48
|
+
- `ROBIS.md` -- risk of bias in systematic reviews (Whiting et al. J Clin Epidemiol 2016)
|
|
49
|
+
- `ROB_ME.md` -- risk of bias due to missing evidence in meta-analysis (CC BY-NC-ND 4.0, Page et al. BMJ 2023)
|
|
50
|
+
- `PROBAST_AI.md` -- prediction model risk of bias, updated for AI/ML (Moons et al. BMJ 2025)
|
|
51
|
+
- `COSMIN_RoB.md` -- reliability/measurement error risk of bias (Mokkink et al. BMC Med Res Methodol 2020)
|
|
52
|
+
- `RoB_NMA.md` -- risk of bias in network meta-analysis (Lunny et al. 2024)
|
|
53
|
+
- `AMSTAR2.md` -- quality of systematic reviews (Shea et al. BMJ 2017)
|
|
54
|
+
- `PRISMA_P.md` -- systematic review protocols (Shamseer et al. BMJ 2015)
|
|
55
|
+
- `SWiM.md` -- synthesis without meta-analysis reporting (Campbell et al. BMJ 2020)
|
|
56
|
+
- Fail-fast contract: if a routed guideline has no vendored checklist file, the skill does **not** silently construct items from memory. It halts with a `MISSING_CHECKLIST_CONTRACT_VIOLATION` and surfaces the gap. A from-memory assessment is allowed only with the explicit `--allow-from-memory` opt-in, and that report must be clearly labelled NON-AUTHORITATIVE. See Step 2 and `scripts/check_checklist_exists.py`.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Workflow
|
|
61
|
+
|
|
62
|
+
### Step 0: Existing-checklist staleness pre-check
|
|
63
|
+
|
|
64
|
+
If a checklist already exists for this project (`qc/reporting_checklist.json` or a prior `.md` report), verify it targets the **current** manuscript before reusing it — a checklist generated against an older version carries stale section/line references and a stale version label that a reviewer who cross-checks will catch:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
python3 "${CLAUDE_SKILL_DIR}/scripts/check_checklist_version.py" \
|
|
68
|
+
--checklist qc/reporting_checklist.json --manuscript manuscript_v8.md
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
A non-zero exit means the existing checklist is stale (older `target_version`, changed `source_sha256`, different `target_manuscript`) or pre-dates the version contract — regenerate it against the current manuscript (Steps 1–5) rather than reusing it. Every report you generate must carry the `target_manuscript` / `target_version` / `source_sha256` fields (Part A header + Part D JSON) so this check works next round.
|
|
72
|
+
|
|
73
|
+
### Step 1: Select Guideline
|
|
74
|
+
|
|
75
|
+
Determine the appropriate reporting guideline. Auto-detect from the manuscript type or accept
|
|
76
|
+
user specification.
|
|
77
|
+
|
|
78
|
+
**Auto-detection mapping:**
|
|
79
|
+
|
|
80
|
+
| Study Type | Primary Guideline | AI Extension |
|
|
81
|
+
|------------|------------------|--------------|
|
|
82
|
+
| Observational study | STROBE | -- |
|
|
83
|
+
| Randomized controlled trial | CONSORT 2025 | CONSORT-AI |
|
|
84
|
+
| Diagnostic accuracy study | STARD 2015 | STARD-AI |
|
|
85
|
+
| Prediction model (development/validation) | TRIPOD | TRIPOD+AI |
|
|
86
|
+
| Systematic review / meta-analysis | PRISMA 2020 | -- |
|
|
87
|
+
| DTA systematic review / meta-analysis | PRISMA-DTA | -- |
|
|
88
|
+
| Meta-analysis of observational studies | MOOSE | PRISMA 2020 (use both) |
|
|
89
|
+
| Risk of bias (DTA studies) | QUADAS-2 | -- |
|
|
90
|
+
| Risk of bias (RCTs) | RoB 2 | -- |
|
|
91
|
+
| Risk of bias (non-randomised intervention studies) | ROBINS-I | -- |
|
|
92
|
+
| Risk of bias (non-randomised exposure studies) | ROBINS-E | -- |
|
|
93
|
+
| Risk of bias (comparative DTA studies) | QUADAS-C | QUADAS-2 (use both) |
|
|
94
|
+
| Risk of bias (prediction models) | PROBAST | PROBAST+AI |
|
|
95
|
+
| Risk of bias (systematic reviews) | ROBIS | AMSTAR 2 |
|
|
96
|
+
| Risk of bias (missing evidence in MA) | ROB-ME | -- |
|
|
97
|
+
| Risk of bias (network meta-analysis) | RoB NMA | -- |
|
|
98
|
+
| Risk of bias (measurement properties) | COSMIN RoB | -- |
|
|
99
|
+
| Quality assessment (observational) | NOS | -- |
|
|
100
|
+
| Case report | CARE | -- |
|
|
101
|
+
| Study protocol | SPIRIT 2025 | SPIRIT-AI |
|
|
102
|
+
| Animal study | ARRIVE 2.0 | -- |
|
|
103
|
+
| AI/ML study in clinical imaging | CLAIM 2024 | -- |
|
|
104
|
+
| LLM accuracy evaluation in healthcare | MI-CLEAR-LLM | STARD-AI or CLAIM 2024 (use alongside) |
|
|
105
|
+
| Reliability / agreement study | GRRAS | -- |
|
|
106
|
+
| SR protocol | PRISMA-P | -- |
|
|
107
|
+
| Synthesis without meta-analysis | SWiM | PRISMA 2020 (use both) |
|
|
108
|
+
| Quality of systematic reviews | AMSTAR 2 | ROBIS |
|
|
109
|
+
| Radiomics study | CLEAR | CLAIM 2024 (if deep learning component) |
|
|
110
|
+
| Educational / QI study | SQUIRE 2.0 | -- |
|
|
111
|
+
|
|
112
|
+
**Rules:**
|
|
113
|
+
- If the study involves AI/ML, always apply the AI extension in addition to the base guideline.
|
|
114
|
+
- **Exception — TRIPOD**: TRIPOD+AI 2024 (Collins et al., BMJ 2024) is a complete rewrite, not an addendum to TRIPOD 2015 (Moons et al., Ann Intern Med 2015). For non-AI prediction models, use TRIPOD 2015 only. For AI/ML prediction models, use TRIPOD+AI 2024 only. Do NOT apply both simultaneously.
|
|
115
|
+
- **STARD-AI** (Sounderajah et al., Nat Med 2025) extends STARD 2015 with 14 new and 4 modified items (40 total). For AI diagnostic accuracy studies, use STARD-AI (which incorporates all STARD 2015 items). Do NOT apply both STARD 2015 and STARD-AI simultaneously — STARD-AI supersedes STARD 2015 for AI studies.
|
|
116
|
+
- **MI-CLEAR-LLM** is a supplementary checklist (6 items), not a standalone reporting guideline. Always pair it with the study's primary guideline (e.g., STARD-AI for AI diagnostic accuracy, CLAIM for imaging AI). Apply MI-CLEAR-LLM whenever the study evaluates LLM accuracy as an outcome — do NOT apply it merely because the manuscript was written with LLM assistance.
|
|
117
|
+
- If multiple guidelines apply (e.g., a diagnostic accuracy study that is also an AI study), check against all relevant guidelines and merge into one report.
|
|
118
|
+
- If the user requests a specific guideline, use that one regardless of auto-detection.
|
|
119
|
+
|
|
120
|
+
### Step 2: Load Checklist
|
|
121
|
+
|
|
122
|
+
1. **Run the fail-fast guard first** for every guideline you intend to apply:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
python "${CLAUDE_SKILL_DIR}/scripts/check_checklist_exists.py" --guideline "STARD-AI"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
- Exit 0 → the vendored checklist exists; read it from
|
|
129
|
+
`${CLAUDE_SKILL_DIR}/references/checklists/` and proceed.
|
|
130
|
+
- Exit 1 (`MISSING_CHECKLIST_CONTRACT_VIOLATION`) → the guideline is routed
|
|
131
|
+
but no checklist file is vendored. **Do not construct items from memory.**
|
|
132
|
+
Halt, report the violation to the user, and stop unless they explicitly
|
|
133
|
+
opt in (next bullet).
|
|
134
|
+
- Exit 2 (`UNKNOWN_GUIDELINE`) → the name is not recognised; confirm the
|
|
135
|
+
correct guideline with the user.
|
|
136
|
+
|
|
137
|
+
2. **No silent fallback.** A from-memory checklist is permitted only when the
|
|
138
|
+
user explicitly accepts it — re-run the guard with `--allow-from-memory`
|
|
139
|
+
(exit 0 + a NON-AUTHORITATIVE warning). In that case the output report MUST
|
|
140
|
+
carry a prominent banner that the assessment was constructed from model
|
|
141
|
+
knowledge and is not backed by a vendored checklist, and `submission_safe`
|
|
142
|
+
must not be asserted on its basis.
|
|
143
|
+
|
|
144
|
+
### Step 3: Scan Manuscript
|
|
145
|
+
|
|
146
|
+
Read all sections of the manuscript thoroughly:
|
|
147
|
+
1. Title and abstract
|
|
148
|
+
2. Introduction
|
|
149
|
+
3. Methods (all subsections)
|
|
150
|
+
4. Results (all subsections)
|
|
151
|
+
5. Discussion
|
|
152
|
+
6. Tables, figures, and their captions
|
|
153
|
+
7. Supplemental materials (if available)
|
|
154
|
+
8. References (for registration numbers, protocol references)
|
|
155
|
+
|
|
156
|
+
Gather context from the full document before starting the item-by-item assessment.
|
|
157
|
+
|
|
158
|
+
### Step 4: Assess Each Item
|
|
159
|
+
|
|
160
|
+
For every checklist item, determine:
|
|
161
|
+
|
|
162
|
+
| Status | Criteria |
|
|
163
|
+
|--------|----------|
|
|
164
|
+
| **PRESENT** | The item is fully addressed with sufficient detail. |
|
|
165
|
+
| **PARTIAL** | The item is mentioned or partially addressed but lacks required detail. |
|
|
166
|
+
| **MISSING** | The item is not found anywhere in the manuscript. |
|
|
167
|
+
| **N/A** | The item does not apply to this particular study (justify why). |
|
|
168
|
+
|
|
169
|
+
For each item, record:
|
|
170
|
+
- **Status**: PRESENT / PARTIAL / MISSING / N/A
|
|
171
|
+
- **Location**: Section name and paragraph or approximate position (e.g., "Methods, paragraph 3")
|
|
172
|
+
- **Notes**: What was found (if PRESENT/PARTIAL) or what should be added (if MISSING)
|
|
173
|
+
|
|
174
|
+
### Step 4b: Section Boundary Check
|
|
175
|
+
|
|
176
|
+
In addition to checklist items, verify that:
|
|
177
|
+
- **Results section** contains only factual findings: no interpretation, no "why" explanations,
|
|
178
|
+
no prior literature comparisons, no evaluative adjectives without numbers.
|
|
179
|
+
- **Discussion section** does not introduce new data not presented in Results.
|
|
180
|
+
- Flag any boundary violation as a separate finding in Part C Action Items with the label
|
|
181
|
+
`[BOUNDARY]`.
|
|
182
|
+
|
|
183
|
+
### Step 4c: Registration / Protocol Timing Consistency Check
|
|
184
|
+
|
|
185
|
+
**Applies to:** systematic reviews, meta-analyses, and intervention studies with
|
|
186
|
+
prospective registration (PRISMA 2020, PRISMA-DTA, PRISMA-P, MOOSE, CONSORT, SPIRIT).
|
|
187
|
+
|
|
188
|
+
**Why this step exists:** the registration identifier is a single checklist item and can
|
|
189
|
+
pass Step 4 even when the manuscript is internally inconsistent about *when* the
|
|
190
|
+
registration or its amendments occurred relative to the analysis. An undisclosed
|
|
191
|
+
post-hoc amendment is a common rejection trigger.
|
|
192
|
+
|
|
193
|
+
**Five audit items (summary):** (1) registration identifier present in Methods, Abstract,
|
|
194
|
+
and cover letter; (2) initial registration date precedes — or is explicitly disclosed as
|
|
195
|
+
post-dating — the extraction milestone; (3) amendment dates appear in Methods, the
|
|
196
|
+
described change is visible in Methods, analysis was re-run if amendment post-dates the
|
|
197
|
+
lock, and no amendment post-dates submission; (4) cross-artifact agreement between
|
|
198
|
+
Methods and the registry record (PROSPERO PDF, ClinicalTrials.gov export) — silent
|
|
199
|
+
discrepancy is a finding; (5) retrospective-registration disclosure paragraph when
|
|
200
|
+
evidence suggests post-extraction filing.
|
|
201
|
+
|
|
202
|
+
**Registration-ID format gate:** a PROSPERO ID is `CRD42` + 9 digits = 14 characters
|
|
203
|
+
(`^CRD42\d{9}$`, e.g. `CRD42024500001`). Run `grep -oE 'CRD42[0-9]+' manuscript.md` and
|
|
204
|
+
assert each match is 14 characters long; a 15-character ID (a stray inserted digit) is a
|
|
205
|
+
transcription error logged as `[REGISTRATION-TIMING]` (`fixable_by_ai: false` — verify against
|
|
206
|
+
the live PROSPERO record, do not guess the correct digit).
|
|
207
|
+
|
|
208
|
+
**Flagging:** any failure is logged in Part C Action Items with label
|
|
209
|
+
`[REGISTRATION-TIMING]`. `fixable_by_ai: false` when reconciliation requires an external
|
|
210
|
+
amendment filing; `true` only when the fix is a Methods-text insertion of a date already
|
|
211
|
+
disclosed elsewhere. Part D JSON includes a `registration_timing` object
|
|
212
|
+
(registry, id, initial_registration_date, amendments[], timing_consistency, findings[]).
|
|
213
|
+
|
|
214
|
+
**Load-on-demand procedural detail** (exact item-by-item procedure, JSON schema,
|
|
215
|
+
flagging edge cases): `${CLAUDE_SKILL_DIR}/references/step4c_registration_timing.md`.
|
|
216
|
+
|
|
217
|
+
### Step 4d: PRISMA Figure 1 Arithmetic & Cross-Reference Audit
|
|
218
|
+
|
|
219
|
+
**Applies to:** systematic reviews and meta-analyses using PRISMA 2020 / PRISMA-DTA /
|
|
220
|
+
PRISMA-P. Triggers when Item 16a (flow diagram) is PRESENT.
|
|
221
|
+
|
|
222
|
+
**Why this step exists:** the flow diagram is a single checklist item and can pass Step 4
|
|
223
|
+
visually while still containing arithmetic errors (records screened ≠ identified − duplicates;
|
|
224
|
+
sought-for-retrieval ≠ screened − excluded) or text↔figure number disagreements. Senior
|
|
225
|
+
MA reviewers commonly require strict PRISMA 2020 diagram conformance and explicit body↔
|
|
226
|
+
figure number agreement; reviewers who detect these mismatches lose confidence in the
|
|
227
|
+
study's data integrity immediately.
|
|
228
|
+
|
|
229
|
+
**Four arithmetic checks:**
|
|
230
|
+
1. records screened = records identified − duplicates removed
|
|
231
|
+
2. records sought-for-retrieval = records screened − records excluded (screening)
|
|
232
|
+
3. reports retrieved = sought − reports not retrieved
|
|
233
|
+
4. studies included = reports assessed for eligibility − reports excluded (with reasons)
|
|
234
|
+
|
|
235
|
+
**Two cross-reference checks:**
|
|
236
|
+
- Body text PRISMA numbers (e.g., "315 records identified, 122 duplicates removed,
|
|
237
|
+
186 records screened") match Figure 1 box labels 1:1.
|
|
238
|
+
- Reasons for exclusion (Methods + Figure legend) agree on counts and category names.
|
|
239
|
+
|
|
240
|
+
**Procedure:**
|
|
241
|
+
1. Extract numbers from manuscript Results / PRISMA flow paragraph (regex: integers near
|
|
242
|
+
keywords `identified`, `duplicates`, `screened`, `excluded`, `sought`, `retrieved`,
|
|
243
|
+
`assessed`, `included`).
|
|
244
|
+
2. Extract numbers from Figure 1 source — preferred order: (a) `analysis/figures/Figure1_PRISMA.md`
|
|
245
|
+
markdown manifest, (b) caption text in `manuscript.md`, (c) PPTX text run if `.pptx`
|
|
246
|
+
exists, (d) manual entry from PNG/SVG.
|
|
247
|
+
3. **Cross-check `analysis/figures/_figure_manifest.md`** (produced by `/make-figures`):
|
|
248
|
+
verify that the row whose `Type = prisma` (or `Type = prisma-dta`) points at the same
|
|
249
|
+
file path used as the audit source, and that the row's `Critic` field is `yes` or
|
|
250
|
+
`partial` (not `no`). A missing manifest row, mismatched path, or `Critic = no` flag
|
|
251
|
+
logs `[MANIFEST-XREF]` (advisory) — the arithmetic check still runs against the source
|
|
252
|
+
identified in step 2. Skip this sub-step if `_figure_manifest.md` does not exist (older
|
|
253
|
+
projects).
|
|
254
|
+
4. Run 4 arithmetic checks; emit PRESENT / MISSING / MISMATCH per equation.
|
|
255
|
+
5. Run 2 cross-reference checks; emit PRESENT / MISSING / MISMATCH per number.
|
|
256
|
+
6. Output `qc/prisma_figure_audit.json` and a short table.
|
|
257
|
+
|
|
258
|
+
**Flagging:** any MISMATCH or arithmetic failure logs a Part C Action Item with label
|
|
259
|
+
`[PRISMA-FIGURE]`. `fixable_by_ai: false` (numbers must be reconciled by the author).
|
|
260
|
+
|
|
261
|
+
**Load-on-demand procedural detail** (exact regex set, JSON schema, edge cases —
|
|
262
|
+
duplicates handled across databases, citation searching strand, dual-reviewer screening):
|
|
263
|
+
`${CLAUDE_SKILL_DIR}/references/step4d_prisma_figure_audit.md`.
|
|
264
|
+
|
|
265
|
+
**Cross-cutting**: integrates with `~/.claude/rules/numerical-safety.md` (PRISMA 5-way
|
|
266
|
+
consistency: text ↔ Figure ↔ extraction CSV ↔ analysis script ↔ supplementary).
|
|
267
|
+
|
|
268
|
+
### Step 4e: Reporting-Framework Naming Audit
|
|
269
|
+
|
|
270
|
+
**Applies to:** any manuscript that invokes an AI/extension reporting framework
|
|
271
|
+
(PROBAST+AI, STARD-AI, TRIPOD+AI, TRIPOD-LLM, CONSORT-AI, SPIRIT-AI, PRISMA-DTA, QUADAS-C).
|
|
272
|
+
|
|
273
|
+
**Why this step exists:** a base reporting tool and its extension are distinct instruments
|
|
274
|
+
with separate citations (manuscript-style-classical §14). Step 1 routes to the right
|
|
275
|
+
checklist but does not police how the framework is *named* in prose. The recurring failures
|
|
276
|
+
are: invoking an extension without ever naming or citing the base instrument it extends;
|
|
277
|
+
mixing `+AI` and `-AI` hyphenation for one family within a single document; coining item
|
|
278
|
+
labels like "12-AI"; and waving at "recent guidance" instead of naming the framework.
|
|
279
|
+
|
|
280
|
+
**Run the deterministic gate:**
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
python3 "${CLAUDE_SKILL_DIR}/scripts/check_framework_naming.py" \
|
|
284
|
+
--manuscript manuscript.md --out qc/framework_naming.json --strict
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
**Verdicts:** `BASE_MISSING` (extension used, base instrument never named standalone) is a
|
|
288
|
+
Major and logs `[FRAMEWORK-NAMING]` in Part C with `fixable_by_ai: true` (insert the base
|
|
289
|
+
name + its citation). `HYPHEN_MIX`, `CITE_MISSING`, `SELF_COINED_LABEL`, and `VAGUE_GUIDANCE`
|
|
290
|
+
are Minor (`fixable_by_ai: true`). Part D JSON includes a `framework_naming` object mirroring
|
|
291
|
+
the script's `claims[]`.
|
|
292
|
+
|
|
293
|
+
### Step 5: Generate Report
|
|
294
|
+
|
|
295
|
+
Produce a structured compliance report in two parts.
|
|
296
|
+
|
|
297
|
+
#### Part A: Summary
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
## Reporting Guideline Compliance Report
|
|
301
|
+
|
|
302
|
+
Manuscript: {title}
|
|
303
|
+
Target manuscript file: {manuscript filename, e.g. manuscript_v8.md}
|
|
304
|
+
Target version: {version token from the filename or frontmatter, e.g. v8}
|
|
305
|
+
Guideline: {name and version}
|
|
306
|
+
Date: {YYYY-MM-DD}
|
|
307
|
+
Assessed by: Claude (automated pre-screening)
|
|
308
|
+
|
|
309
|
+
### Summary
|
|
310
|
+
|
|
311
|
+
| Status | Count | Percentage |
|
|
312
|
+
|--------|-------|------------|
|
|
313
|
+
| PRESENT | {n} | {%} |
|
|
314
|
+
| PARTIAL | {n} | {%} |
|
|
315
|
+
| MISSING | {n} | {%} |
|
|
316
|
+
| N/A | {n} | {%} |
|
|
317
|
+
| **Total** | **{n}** | **100%** |
|
|
318
|
+
|
|
319
|
+
Overall compliance: {PRESENT count}/{applicable count} ({%})
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
#### Part B: Item-by-Item Checklist
|
|
323
|
+
|
|
324
|
+
```
|
|
325
|
+
### Detailed Checklist
|
|
326
|
+
|
|
327
|
+
| # | Section | Item | Status | Location | Notes |
|
|
328
|
+
|---|---------|------|--------|----------|-------|
|
|
329
|
+
| 1 | Title/Abstract | {item text} | PRESENT | Title | {notes} |
|
|
330
|
+
| 2 | Introduction | {item text} | MISSING | -- | {suggestion} |
|
|
331
|
+
| ... | ... | ... | ... | ... | ... |
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
#### Part C: Action Items (for MISSING and PARTIAL)
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
### Action Items (Priority Order)
|
|
338
|
+
|
|
339
|
+
1. **[MISSING] Item {N}: {item name}**
|
|
340
|
+
- Required: {what needs to be added}
|
|
341
|
+
- Suggested location: {section, paragraph}
|
|
342
|
+
- Example text: "{draft sentence or phrase}"
|
|
343
|
+
|
|
344
|
+
2. **[PARTIAL] Item {N}: {item name}**
|
|
345
|
+
- Current: {what was found}
|
|
346
|
+
- Needed: {what additional detail is required}
|
|
347
|
+
- Suggested revision: "{draft revision}"
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
Order action items by:
|
|
351
|
+
1. Items most journals enforce strictly (e.g., ethics approval, registration, sample size)
|
|
352
|
+
2. Items in the Methods section (easiest to fix)
|
|
353
|
+
3. Items in other sections
|
|
354
|
+
|
|
355
|
+
#### Part D: Machine-Readable JSON Summary
|
|
356
|
+
|
|
357
|
+
Append a fenced JSON block at the end of the report. This enables `/write-paper` Phase 7 and `/orchestrate` to parse compliance results programmatically. This block **MUST** be present when invoked with `--json` flag or when called from `/write-paper` Phase 7. It SHOULD also be present in standard invocations (appended after Part C).
|
|
358
|
+
|
|
359
|
+
```json
|
|
360
|
+
{
|
|
361
|
+
"check_reporting_version": "1.1",
|
|
362
|
+
"manuscript_title": "...",
|
|
363
|
+
"target_manuscript": "manuscript_v8.md",
|
|
364
|
+
"target_version": "v8",
|
|
365
|
+
"source_sha256": "<first 12 hex chars of sha256 of the manuscript file bytes>",
|
|
366
|
+
"guideline": "STARD-AI",
|
|
367
|
+
"guideline_version": "2025",
|
|
368
|
+
"date": "YYYY-MM-DD",
|
|
369
|
+
"total_items": 40,
|
|
370
|
+
"present": 32,
|
|
371
|
+
"partial": 4,
|
|
372
|
+
"missing": 3,
|
|
373
|
+
"na": 1,
|
|
374
|
+
"compliance_pct": 88.9,
|
|
375
|
+
"action_items": [
|
|
376
|
+
{
|
|
377
|
+
"item_number": 12,
|
|
378
|
+
"section": "Methods",
|
|
379
|
+
"item_name": "Sample size justification",
|
|
380
|
+
"status": "MISSING",
|
|
381
|
+
"suggested_location": "Methods, after participant description",
|
|
382
|
+
"suggested_fix": "Add: 'The sample size was determined based on [rationale]. A minimum of [N] cases was required to achieve [target] precision for the primary endpoint.'",
|
|
383
|
+
"fixable_by_ai": true
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"item_number": 7,
|
|
387
|
+
"section": "Methods",
|
|
388
|
+
"item_name": "Blinding of index test to reference standard",
|
|
389
|
+
"status": "PARTIAL",
|
|
390
|
+
"current_text": "Readers were blinded",
|
|
391
|
+
"needed": "Specify what readers were blinded to (reference standard results, clinical information, other reader results)",
|
|
392
|
+
"suggested_fix": "Expand to: 'Readers interpreted [index test] images blinded to the reference standard results, clinical information, and other readers' assessments.'",
|
|
393
|
+
"fixable_by_ai": true
|
|
394
|
+
}
|
|
395
|
+
]
|
|
396
|
+
}
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
**Field definitions:**
|
|
400
|
+
- `compliance_pct`: `present / (total_items - na) * 100`, rounded to one decimal
|
|
401
|
+
- `action_items`: Array of MISSING and PARTIAL items only (PRESENT and N/A excluded)
|
|
402
|
+
- `fixable_by_ai`: `true` if the fix involves inserting or expanding text with information available in the manuscript or inferable from context; `false` if it requires external information (e.g., registration number, IRB approval number, specific protocol details only the author knows)
|
|
403
|
+
- `suggested_fix`: Concrete draft text that can be inserted or used to expand an existing sentence
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
## Assessment Standards
|
|
408
|
+
|
|
409
|
+
### Be Strict
|
|
410
|
+
|
|
411
|
+
- PARTIAL means the item is mentioned but lacks specificity. For example:
|
|
412
|
+
- "We used appropriate statistical tests" = PARTIAL (which tests?)
|
|
413
|
+
- "We used the Mann-Whitney U test for continuous variables and Fisher's exact test for categorical variables" = PRESENT
|
|
414
|
+
- A vague reference does not count as PRESENT. The detail level must match what the guideline expects.
|
|
415
|
+
|
|
416
|
+
### Be Specific in Suggestions
|
|
417
|
+
|
|
418
|
+
- For MISSING items, provide a draft sentence the user can insert.
|
|
419
|
+
- For PARTIAL items, point to the exact gap and suggest specific additions.
|
|
420
|
+
- Reference the specific manuscript section where the addition should go.
|
|
421
|
+
|
|
422
|
+
### Common Gaps to Watch For
|
|
423
|
+
|
|
424
|
+
These items are frequently missing in medical manuscripts:
|
|
425
|
+
|
|
426
|
+
1. **Study registration number** (CONSORT, PRISMA, STARD)
|
|
427
|
+
2. **Registration / amendment date consistency** (PRISMA 2020, PRISMA-DTA, CONSORT, SPIRIT) — run Step 4c whenever a registration identifier is present
|
|
428
|
+
3. **Sample size justification** (CONSORT, STROBE, STARD)
|
|
429
|
+
4. **Missing data handling** (all guidelines)
|
|
430
|
+
5. **Blinding details** (CONSORT, STARD)
|
|
431
|
+
6. **Funding and conflicts of interest** (all guidelines)
|
|
432
|
+
7. **Ethics approval with committee name and approval number** (all guidelines)
|
|
433
|
+
8. **Data availability statement** (increasingly required)
|
|
434
|
+
9. **AI-specific: training/validation/test split details** (TRIPOD+AI, CLAIM, STARD-AI)
|
|
435
|
+
10. **AI-specific: model architecture and hyperparameters** (TRIPOD+AI, CLAIM, STARD-AI)
|
|
436
|
+
11. **AI-specific: failure mode analysis** (CLAIM, STARD-AI)
|
|
437
|
+
12. **AI-specific: fairness/bias assessment** (STARD-AI)
|
|
438
|
+
13. **AI-specific: commercial interests and data/code availability** (STARD-AI)
|
|
439
|
+
|
|
440
|
+
---
|
|
441
|
+
|
|
442
|
+
## PRISMA Cascade Arithmetic Auto-Verify
|
|
443
|
+
|
|
444
|
+
PRISMA 2020 flow diagrams chain a cascade of subtractions (database
|
|
445
|
+
records → after dedup → title/abstract screened → full-text reviewed →
|
|
446
|
+
included in synthesis). Off-by-one errors in the prose cascade are a
|
|
447
|
+
high-frequency reviewer red flag (e.g., `151 + 108 + 39 + 1 + 1 + 4 =
|
|
448
|
+
304` followed by a prose summary "305" four lines later).
|
|
449
|
+
|
|
450
|
+
When PRISMA 2020 or PRISMA-DTA is selected and round-by-round
|
|
451
|
+
screening TSV artifacts are available, run the cascade auto-verify:
|
|
452
|
+
|
|
453
|
+
```bash
|
|
454
|
+
python "${CLAUDE_SKILL_DIR}/scripts/prisma_cascade_check.py" \
|
|
455
|
+
--round1 2_Screening/round1.tsv \
|
|
456
|
+
--round2 2_Screening/round2.tsv \
|
|
457
|
+
--round3 2_Screening/round3_adjudication.tsv \
|
|
458
|
+
--manuscript manuscript.md \
|
|
459
|
+
--out qc/prisma_cascade.json
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
The script:
|
|
463
|
+
1. Reads the round TSVs and counts `INCLUDE` / `EXCLUDE` / `MAYBE`
|
|
464
|
+
decisions per round.
|
|
465
|
+
2. Computes the cascade arithmetic from raw decisions (no prose).
|
|
466
|
+
3. Optionally grep the manuscript for matching stage-count claims and
|
|
467
|
+
emits per-stage drift when the prose disagrees.
|
|
468
|
+
|
|
469
|
+
Treat any `manuscript_drift` entry as a P0 blocker — fix the prose to
|
|
470
|
+
match the computed cascade and re-run.
|
|
471
|
+
|
|
472
|
+
## Submission Checklist Export
|
|
473
|
+
|
|
474
|
+
Many journals require a filled reporting checklist to be submitted alongside the manuscript.
|
|
475
|
+
When the user asks for a submission-ready checklist, format the output as:
|
|
476
|
+
|
|
477
|
+
```
|
|
478
|
+
{Guideline Name} Checklist
|
|
479
|
+
|
|
480
|
+
Manuscript title: {title}
|
|
481
|
+
Date: {YYYY-MM-DD}
|
|
482
|
+
|
|
483
|
+
| Item # | Checklist Item | Reported on Page # | Reported in Section |
|
|
484
|
+
|--------|---------------|-------------------|-------------------|
|
|
485
|
+
| 1 | {item text} | {page or N/A} | {section} |
|
|
486
|
+
| 2 | {item text} | {page or N/A} | {section} |
|
|
487
|
+
| ... | ... | ... | ... |
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
Page numbers should be filled in by the user after final formatting. Use section names as placeholders.
|
|
491
|
+
|
|
492
|
+
---
|
|
493
|
+
|
|
494
|
+
## Skill Interactions
|
|
495
|
+
|
|
496
|
+
| When | Call | Purpose |
|
|
497
|
+
|------|------|---------|
|
|
498
|
+
| During manuscript writing | `/write-paper` Phase 7 | Final compliance check |
|
|
499
|
+
| Need to add Methods text | `/write-paper` Phase 3 | Draft missing Methods content |
|
|
500
|
+
| Need statistical details | `/analyze-stats` | Generate missing statistical reporting |
|
|
501
|
+
| Need flow diagram | `/make-figures` | Generate CONSORT/STARD/PRISMA diagram |
|
|
502
|
+
|
|
503
|
+
---
|
|
504
|
+
|
|
505
|
+
## Error Handling
|
|
506
|
+
|
|
507
|
+
- If the manuscript file cannot be read, ask the user for the correct path.
|
|
508
|
+
- If the study type is ambiguous, ask the user to confirm before selecting a guideline.
|
|
509
|
+
- If a checklist item is genuinely unclear in its applicability, mark as N/A with justification.
|
|
510
|
+
- This is a pre-screening tool. Always remind the user that final compliance should be verified by all co-authors and ideally by a methodologist.
|
|
511
|
+
|
|
512
|
+
## Language
|
|
513
|
+
|
|
514
|
+
- Checklist content and compliance report: English
|
|
515
|
+
- Communication with user: Match user's preferred language
|
|
516
|
+
- Medical terms: English only
|
|
517
|
+
|
|
518
|
+
## Anti-Hallucination
|
|
519
|
+
|
|
520
|
+
- **Never fabricate references.** All citations must be verified via `/search-lit` with confirmed DOI or PMID. Mark unverified references as `[UNVERIFIED - NEEDS MANUAL CHECK]`.
|
|
521
|
+
- **Never invent clinical definitions, diagnostic criteria, or guideline recommendations.** If uncertain, flag with `[VERIFY]` and ask the user.
|
|
522
|
+
- **Never fabricate numerical results** — compliance percentages, scores, effect sizes, or sample sizes must come from actual data or analysis output.
|
|
523
|
+
- If a reporting guideline item, journal policy, or clinical standard is uncertain, state the uncertainty rather than guessing.
|
|
524
|
+
|
|
525
|
+
---
|
|
526
|
+
|
|
527
|
+
## Gates
|
|
528
|
+
|
|
529
|
+
| Gate | Severity | Trigger | Action on fail |
|
|
530
|
+
|---|---|---|---|
|
|
531
|
+
| Mandatory items present | ENFORCED at submission | < 100% of guideline-mandatory items marked PRESENT | Auto-fix MISSING items where text exists; otherwise route to `/write-paper` Phase 7 for re-draft |
|
|
532
|
+
| Step 4d PRISMA Figure 1 arithmetic & cross-reference audit (PRISMA / PRISMA-DTA only) | ENFORCED for SR/MA | flow numbers don't sum (e.g., screened ≠ included + excluded), or in-text counts mismatch flow diagram | HALT; reconcile against extraction artifacts |
|
|
533
|
+
| Optional items (e.g., supplementary AI declarations) | ADVISORY | < 80% of optional items present | warn; user accepts |
|
|
534
|
+
| Cross-reporting-guideline routing (study type → guideline) | ENFORCED | study type undeclared or guideline missing | Ask user; do not silently default |
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Checklist Licenses
|
|
2
|
+
|
|
3
|
+
Attribution for bundled reporting guideline checklists.
|
|
4
|
+
|
|
5
|
+
| File | Guideline | Reference | License |
|
|
6
|
+
|------|-----------|-----------|---------|
|
|
7
|
+
| STROBE.md | STROBE 2007 | von Elm E et al. PLoS Med 2007 | CC BY |
|
|
8
|
+
| STARD.md | STARD 2015 | Bossuyt PM et al. BMJ 2015 | CC BY 4.0 |
|
|
9
|
+
| STARD_AI.md | STARD-AI 2025 | Sounderajah V et al. Nat Med 2025;31:3283-3289 | CC BY |
|
|
10
|
+
| TRIPOD_AI.md | TRIPOD+AI 2024 | Collins GS et al. BMJ 2024 | CC BY 4.0 |
|
|
11
|
+
| PRISMA_2020.md | PRISMA 2020 | Page MJ et al. BMJ 2021 | CC BY |
|
|
12
|
+
| ARRIVE_2.md | ARRIVE 2.0 | Percie du Sert N et al. PLoS Biol 2020 | CC0 |
|
|
13
|
+
| PRISMA_DTA.md | PRISMA-DTA 2018 | McInnes MDF et al. JAMA 2018 | CC BY |
|
|
14
|
+
| QUADAS2.md | QUADAS-2 | Whiting PF et al. Ann Intern Med 2011 | CC BY |
|
|
15
|
+
| RoB2.md | RoB 2 | Sterne JAC et al. BMJ 2019 | CC BY |
|
|
16
|
+
| ROBINS_I.md | ROBINS-I | Sterne JAC et al. BMJ 2016 | CC BY |
|
|
17
|
+
| PROBAST.md | PROBAST | Wolff RF et al. Ann Intern Med 2019 | CC BY |
|
|
18
|
+
| NOS.md | Newcastle-Ottawa Scale | Wells GA et al. Ottawa Hospital Research Institute | Public Domain |
|
|
19
|
+
| MI_CLEAR_LLM.md | MI-CLEAR-LLM 2025 | Park SH et al. Korean J Radiol 2024;25(10):865-868; 2025 update KJR 2025;26(12):1123-1132 | CC BY-NC 4.0 |
|
|
20
|
+
| CONSORT.md | CONSORT 2025 | Hopewell S et al. BMJ 2025;389:e081123 | CC BY 4.0 |
|
|
21
|
+
| SPIRIT.md | SPIRIT 2025 | Chan AW et al. BMJ 2025;389:e081477 | CC BY 4.0 |
|
|
22
|
+
| CARE.md | CARE 2013 | Gagnier JJ et al. J Clin Epidemiol 2014;67(1):46-51 | CC BY-NC 4.0 |
|
|
23
|
+
| CLAIM_2024.md | CLAIM 2024 Update | Tejani AS et al. Radiol Artif Intell 2024;6(4):e240300 | RSNA, open access |
|
|
24
|
+
|
|
25
|
+
These files are educational summaries of published assessment tools. The original
|
|
26
|
+
checklist documents should be cited in any manuscript that uses them.
|
|
27
|
+
|
|
28
|
+
## Third-party licenses (NOT covered by the repository MIT license)
|
|
29
|
+
|
|
30
|
+
Most files above are CC BY / CC0 / public domain and redistribute freely with
|
|
31
|
+
attribution. The following retain their own licenses and are **not** placed under
|
|
32
|
+
this repository's MIT license — downstream use must comply with the original terms:
|
|
33
|
+
|
|
34
|
+
- **CARE.md** and **MI_CLEAR_LLM.md** are **CC BY-NC 4.0**: free to copy and
|
|
35
|
+
redistribute **with attribution for non-commercial purposes**. Commercial use
|
|
36
|
+
requires permission from the original rights holders.
|
|
37
|
+
- **CLAIM_2024.md** is an educational summary of an RSNA open-access checklist
|
|
38
|
+
(© RSNA). Cite Tejani et al. 2024; consult RSNA for commercial reuse terms.
|
|
39
|
+
|
|
40
|
+
All files remain educational summaries that cite their source; they do not relicense
|
|
41
|
+
the underlying guidelines.
|