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,80 @@
|
|
|
1
|
+
# STROBE Checklist
|
|
2
|
+
|
|
3
|
+
**Strengthening the Reporting of Observational Studies in Epidemiology**
|
|
4
|
+
Version: STROBE 2007 (combined checklist for cohort, case-control, and cross-sectional studies)
|
|
5
|
+
Source: https://www.strobe-statement.org
|
|
6
|
+
|
|
7
|
+
## Checklist Items (22 items)
|
|
8
|
+
|
|
9
|
+
### Title and Abstract
|
|
10
|
+
|
|
11
|
+
| # | Item | Description |
|
|
12
|
+
|---|------|-------------|
|
|
13
|
+
| 1a | Title | Indicate the study's design with a commonly used term in the title or abstract. |
|
|
14
|
+
| 1b | Abstract | Provide in the abstract an informative and balanced summary of what was done and what was found. |
|
|
15
|
+
|
|
16
|
+
### Introduction
|
|
17
|
+
|
|
18
|
+
| # | Item | Description |
|
|
19
|
+
|---|------|-------------|
|
|
20
|
+
| 2 | Background/rationale | Explain the scientific background and rationale for the investigation being reported. |
|
|
21
|
+
| 3 | Objectives | State specific objectives, including any prespecified hypotheses. |
|
|
22
|
+
|
|
23
|
+
### Methods
|
|
24
|
+
|
|
25
|
+
| # | Item | Description |
|
|
26
|
+
|---|------|-------------|
|
|
27
|
+
| 4 | Study design | Present key elements of study design early in the paper. |
|
|
28
|
+
| 5 | Setting | Describe the setting, locations, and relevant dates, including periods of recruitment, exposure, follow-up, and data collection. |
|
|
29
|
+
| 6a | Participants | *Cohort study*: Give the eligibility criteria, and the sources and methods of selection of participants. Describe methods of follow-up. *Case-control study*: Give the eligibility criteria, and the sources and methods of case ascertainment and control selection. Give the rationale for the choice of cases and controls. *Cross-sectional study*: Give the eligibility criteria, and the sources and methods of selection of participants. |
|
|
30
|
+
| 6b | Participants | *Cohort study*: For matched studies, give matching criteria and number of exposed and unexposed. *Case-control study*: For matched studies, give matching criteria and the number of controls per case. |
|
|
31
|
+
| 7 | Variables | Clearly define all outcomes, exposures, predictors, potential confounders, and effect modifiers. Give diagnostic criteria, if applicable. |
|
|
32
|
+
| 8 | Data sources/measurement | For each variable of interest, give sources of data and details of methods of assessment (measurement). Describe comparability of assessment methods if there is more than one group. |
|
|
33
|
+
| 9 | Bias | Describe any efforts to address potential sources of bias. |
|
|
34
|
+
| 10 | Study size | Explain how the study size was arrived at. |
|
|
35
|
+
| 11 | Quantitative variables | Explain how quantitative variables were handled in the analyses. If applicable, describe which groupings were chosen and why. |
|
|
36
|
+
| 12a | Statistical methods | Describe all statistical methods, including those used to control for confounding. |
|
|
37
|
+
| 12b | Statistical methods | Describe any methods used to examine subgroups and interactions. |
|
|
38
|
+
| 12c | Statistical methods | Explain how missing data were addressed. |
|
|
39
|
+
| 12d | Statistical methods | *Cohort study*: If applicable, explain how loss to follow-up was addressed. *Case-control study*: If applicable, explain how matching of cases and controls was addressed. *Cross-sectional study*: If applicable, describe analytical methods taking account of sampling strategy. |
|
|
40
|
+
| 12e | Statistical methods | Describe any sensitivity analyses. |
|
|
41
|
+
|
|
42
|
+
### Results
|
|
43
|
+
|
|
44
|
+
| # | Item | Description |
|
|
45
|
+
|---|------|-------------|
|
|
46
|
+
| 13a | Participants | Report numbers of individuals at each stage of study -- e.g., numbers potentially eligible, examined for eligibility, confirmed eligible, included in the study, completing follow-up, and analysed. |
|
|
47
|
+
| 13b | Participants | Give reasons for non-participation at each stage. |
|
|
48
|
+
| 13c | Participants | Consider use of a flow diagram. |
|
|
49
|
+
| 14a | Descriptive data | Give characteristics of study participants (e.g., demographic, clinical, social) and information on exposures and potential confounders. |
|
|
50
|
+
| 14b | Descriptive data | Indicate number of participants with missing data for each variable of interest. |
|
|
51
|
+
| 14c | Descriptive data | *Cohort study*: Summarise follow-up time (e.g., average and total amount). |
|
|
52
|
+
| 15 | Outcome data | *Cohort study*: Report numbers of outcome events or summary measures over time. *Case-control study*: Report numbers in each exposure category, or summary measures of exposure. *Cross-sectional study*: Report numbers of outcome events or summary measures. |
|
|
53
|
+
| 16a | Main results | Give unadjusted estimates and, if applicable, confounder-adjusted estimates and their precision (e.g., 95% confidence interval). Make clear which confounders were adjusted for and why they were included. |
|
|
54
|
+
| 16b | Main results | Report category boundaries when continuous variables were categorized. |
|
|
55
|
+
| 16c | Main results | If relevant, consider translating estimates of relative risk into absolute risk for a meaningful time period. |
|
|
56
|
+
| 17 | Other analyses | Report other analyses done -- e.g., analyses of subgroups and interactions, and sensitivity analyses. |
|
|
57
|
+
|
|
58
|
+
### Discussion
|
|
59
|
+
|
|
60
|
+
| # | Item | Description |
|
|
61
|
+
|---|------|-------------|
|
|
62
|
+
| 18 | Key results | Summarise key results with reference to study objectives. |
|
|
63
|
+
| 19 | Limitations | Discuss limitations of the study, taking into account sources of potential bias or imprecision. Discuss both direction and magnitude of any potential bias. |
|
|
64
|
+
| 20 | Interpretation | Give a cautious overall interpretation of results considering objectives, limitations, multiplicity of analyses, results from similar studies, and other relevant evidence. |
|
|
65
|
+
| 21 | Generalisability | Discuss the generalisability (external validity) of the study results. |
|
|
66
|
+
|
|
67
|
+
### Other Information
|
|
68
|
+
|
|
69
|
+
| # | Item | Description |
|
|
70
|
+
|---|------|-------------|
|
|
71
|
+
| 22 | Funding | Give the source of funding and the role of the funders for the present study and, if applicable, for the original study on which the present article is based. |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Notes for Assessors
|
|
76
|
+
|
|
77
|
+
- Items 6b, 12d, and 14c have study-design-specific wording. Choose the version matching the study design.
|
|
78
|
+
- Item 13c (flow diagram) is a recommendation, not a strict requirement, but strongly encouraged.
|
|
79
|
+
- For studies involving AI/ML, consider also checking against TRIPOD+AI or CLAIM as applicable.
|
|
80
|
+
- STROBE extensions exist for specific designs: STROBE-ME (molecular epidemiology), STROBE-NI (neonatal infections), RECORD (routinely collected health data).
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# SWiM Checklist
|
|
2
|
+
|
|
3
|
+
**Synthesis Without Meta-analysis (SWiM) in systematic reviews: reporting guideline**
|
|
4
|
+
Version: SWiM 2020
|
|
5
|
+
Source: Campbell M et al. BMJ 2020;368:l6890. doi: 10.1136/bmj.l6890
|
|
6
|
+
Website: https://swim.sphsu.gla.ac.uk/
|
|
7
|
+
|
|
8
|
+
## Checklist Items (9 items)
|
|
9
|
+
|
|
10
|
+
### Reporting Items
|
|
11
|
+
|
|
12
|
+
| # | Item | Description |
|
|
13
|
+
|---|------|-------------|
|
|
14
|
+
| 1 | Grouping studies for synthesis | Provide a description of and rationale for the groups used in the synthesis (e.g., by population, intervention, outcome, study design). Specify which studies were included in each group. |
|
|
15
|
+
| 2 | Describe the standardised metric and transformation methods used | Describe the standardised metric for each outcome and the methods used to transform study results (e.g., converting to a common effect measure such as risk ratio, mean difference, or standardized mean difference). If no transformation was applied, state the metric used in each study. |
|
|
16
|
+
| 3 | Describe the synthesis methods | Describe and justify the methods used to synthesise results when meta-analysis of effect estimates is not used. Methods include: vote counting based on direction of effect, combining P values, calculating the median effect size, combining confidence intervals, Bayesian synthesis, and other approaches. |
|
|
17
|
+
| 4 | Criteria used to prioritise results for summary and synthesis | Where applicable, describe criteria used to decide which study results to prioritise for the synthesis (e.g., most adjusted, longest follow-up, largest sample, most relevant outcome). |
|
|
18
|
+
| 5 | Investigation of heterogeneity in reported effects | Describe the methods used to examine how the synthesis results relate to key study characteristics. State whether heterogeneity was investigated (e.g., by narrative comparison of subgroups, visual inspection of forest plots without pooling, tabulation of results by study characteristics). |
|
|
19
|
+
| 6 | Certainty of evidence | Describe the methods used to assess certainty of the synthesised findings (e.g., GRADE approach adapted for narrative synthesis). |
|
|
20
|
+
| 7 | Data presentation methods | Describe the data presentation methods used to display the individual study results and the synthesis (e.g., structured tables, forest plots without pooling, harvest plots, albatross plots, bubble plots). |
|
|
21
|
+
| 8 | Reporting results | For each synthesis, provide a brief summary of the key findings, including the number of studies and participants contributing to the synthesis, the direction and size of the effect (with a measure of precision if available), and the certainty of evidence. |
|
|
22
|
+
| 9 | Limitations of the synthesis | Report the limitations of the synthesis methods used and/or the grouped studies. Discuss the impact of the limitations on the certainty of the synthesis results. Compare the review findings against what would have been reported using meta-analysis where applicable. |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Notes for Assessors
|
|
27
|
+
|
|
28
|
+
- SWiM complements PRISMA 2020 — it provides additional guidance for reporting when meta-analysis is not performed
|
|
29
|
+
- We estimate that 35% of health-related systematic reviews do not do meta-analysis
|
|
30
|
+
- Items currently available in PRISMA (Items 13, 14, and 21) and RAMESES (Items 15 and 19) also apply
|
|
31
|
+
- SWiM items should accompany PRISMA items, not replace them
|
|
32
|
+
- The guideline applies to systematic reviews using alternative synthesis methods: vote counting based on direction, combining P values, narrative synthesis, range of effects, etc.
|
|
33
|
+
- Not applicable to qualitative evidence syntheses (use ENTREQ instead)
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# TRIPOD Checklist
|
|
2
|
+
|
|
3
|
+
**Transparent Reporting of a multivariable prediction model for Individual Prognosis Or Diagnosis**
|
|
4
|
+
Version: TRIPOD 2015
|
|
5
|
+
Source: Moons KGM et al. Ann Intern Med. 2015;162:55-63. https://www.tripod-statement.org
|
|
6
|
+
|
|
7
|
+
## Applicability
|
|
8
|
+
|
|
9
|
+
Items apply to different study types:
|
|
10
|
+
- **D** = Development study only
|
|
11
|
+
- **V** = Validation study only
|
|
12
|
+
- **DV** = Both development and validation studies
|
|
13
|
+
|
|
14
|
+
## Checklist Items
|
|
15
|
+
|
|
16
|
+
### Title and Abstract
|
|
17
|
+
|
|
18
|
+
| # | Item | Applies | Description |
|
|
19
|
+
|---|------|---------|-------------|
|
|
20
|
+
| 1 | Title | DV | Identify the study as developing and/or validating a multivariable prediction model, the target population, and the outcome to be predicted. |
|
|
21
|
+
| 2 | Abstract | DV | Provide a summary of objectives, study design, setting, participants, sample size, predictors, outcome, statistical analysis, results, and conclusions. |
|
|
22
|
+
|
|
23
|
+
### Introduction
|
|
24
|
+
|
|
25
|
+
| # | Item | Applies | Description |
|
|
26
|
+
|---|------|---------|-------------|
|
|
27
|
+
| 3a | Background | DV | Explain the medical context (including whether diagnostic or prognostic) and rationale for developing or validating the multivariable prediction model, including references to existing models. |
|
|
28
|
+
| 3b | Objectives | DV | Specify the objectives, including whether the study describes the development or validation of the model or both. |
|
|
29
|
+
|
|
30
|
+
### Methods
|
|
31
|
+
|
|
32
|
+
#### Source of Data
|
|
33
|
+
|
|
34
|
+
| # | Item | Applies | Description |
|
|
35
|
+
|---|------|---------|-------------|
|
|
36
|
+
| 4a | Source of data | DV | Describe the study design or source of data (e.g., randomized trial, cohort, or registry data), separately for the development and validation data sets, if applicable. |
|
|
37
|
+
| 4b | Source of data | DV | Specify the key study dates, including start of accrual; end of accrual; and, if applicable, end of follow-up. |
|
|
38
|
+
|
|
39
|
+
#### Participants
|
|
40
|
+
|
|
41
|
+
| # | Item | Applies | Description |
|
|
42
|
+
|---|------|---------|-------------|
|
|
43
|
+
| 5a | Participants | DV | Specify key elements of the study setting (e.g., primary care, secondary care, general population) including number and location of centres. |
|
|
44
|
+
| 5b | Participants | DV | Describe eligibility criteria for participants. |
|
|
45
|
+
| 5c | Participants | DV | Give details of treatments received, if relevant. |
|
|
46
|
+
|
|
47
|
+
#### Outcome
|
|
48
|
+
|
|
49
|
+
| # | Item | Applies | Description |
|
|
50
|
+
|---|------|---------|-------------|
|
|
51
|
+
| 6a | Outcome | DV | Clearly define the outcome that is predicted by the prediction model, including how and when assessed. |
|
|
52
|
+
| 6b | Outcome | DV | Report any actions to blind assessment of the outcome to be predicted. |
|
|
53
|
+
|
|
54
|
+
#### Predictors
|
|
55
|
+
|
|
56
|
+
| # | Item | Applies | Description |
|
|
57
|
+
|---|------|---------|-------------|
|
|
58
|
+
| 7a | Predictors | DV | Clearly define all predictors used in developing or validating the multivariable prediction model, including how and when they were measured. |
|
|
59
|
+
| 7b | Predictors | DV | Report any actions to blind assessment of predictors for the outcome and other predictors. |
|
|
60
|
+
|
|
61
|
+
#### Sample Size
|
|
62
|
+
|
|
63
|
+
| # | Item | Applies | Description |
|
|
64
|
+
|---|------|---------|-------------|
|
|
65
|
+
| 8 | Sample size | DV | Explain how the study size was arrived at. |
|
|
66
|
+
|
|
67
|
+
#### Missing Data
|
|
68
|
+
|
|
69
|
+
| # | Item | Applies | Description |
|
|
70
|
+
|---|------|---------|-------------|
|
|
71
|
+
| 9 | Missing data | DV | Describe how missing data were handled (e.g., complete-case analysis, single imputation, multiple imputation) with details of any imputation method. |
|
|
72
|
+
|
|
73
|
+
#### Statistical Analysis Methods
|
|
74
|
+
|
|
75
|
+
| # | Item | Applies | Description |
|
|
76
|
+
|---|------|---------|-------------|
|
|
77
|
+
| 10a | Model building | D | Describe how predictors were handled in the analyses. |
|
|
78
|
+
| 10b | Model building | D | Specify type of model, all model-building procedures (including any predictor selection), and method for internal validation. |
|
|
79
|
+
| 10c | Validation | V | For validation, describe how the predictions were calculated. |
|
|
80
|
+
| 10d | Model performance | DV | Specify all measures used to assess model performance and, if relevant, to compare multiple models. |
|
|
81
|
+
| 10e | Model updating | V | Describe any model updating (e.g., recalibration) arising from the validation, if done. |
|
|
82
|
+
|
|
83
|
+
#### Risk Groups
|
|
84
|
+
|
|
85
|
+
| # | Item | Applies | Description |
|
|
86
|
+
|---|------|---------|-------------|
|
|
87
|
+
| 11 | Risk groups | DV | Provide details on how risk groups were created, if done. |
|
|
88
|
+
|
|
89
|
+
#### Development vs. Validation
|
|
90
|
+
|
|
91
|
+
| # | Item | Applies | Description |
|
|
92
|
+
|---|------|---------|-------------|
|
|
93
|
+
| 12 | Development vs. validation | V | For validation, identify any differences from the development data in setting, eligibility criteria, outcome, and predictors. |
|
|
94
|
+
|
|
95
|
+
### Results
|
|
96
|
+
|
|
97
|
+
#### Participants
|
|
98
|
+
|
|
99
|
+
| # | Item | Applies | Description |
|
|
100
|
+
|---|------|---------|-------------|
|
|
101
|
+
| 13a | Participants | DV | Describe the flow of participants through the study, including the number of participants with and without the outcome and, if applicable, a summary of the follow-up time. A diagram may be helpful. |
|
|
102
|
+
| 13b | Participants | DV | Describe the characteristics of the participants (basic demographics, clinical features, available predictors), including the number of participants with missing data for predictors and outcome. |
|
|
103
|
+
| 13c | Participants | V | For validation, show a comparison with the development data of the distribution of important variables (demographics, predictors, and outcome). |
|
|
104
|
+
|
|
105
|
+
#### Model Development
|
|
106
|
+
|
|
107
|
+
| # | Item | Applies | Description |
|
|
108
|
+
|---|------|---------|-------------|
|
|
109
|
+
| 14a | Model development | D | Specify the number of participants and outcome events in each analysis. |
|
|
110
|
+
| 14b | Model development | D | If done, report the unadjusted association between each candidate predictor and outcome. |
|
|
111
|
+
|
|
112
|
+
#### Model Specification
|
|
113
|
+
|
|
114
|
+
| # | Item | Applies | Description |
|
|
115
|
+
|---|------|---------|-------------|
|
|
116
|
+
| 15a | Model specification | D | Present the full prediction model to allow predictions for individuals (i.e., all regression coefficients, and model intercept or baseline survival at a given time point). |
|
|
117
|
+
| 15b | Model specification | D | Explain how to use the prediction model. |
|
|
118
|
+
|
|
119
|
+
#### Model Performance
|
|
120
|
+
|
|
121
|
+
| # | Item | Applies | Description |
|
|
122
|
+
|---|------|---------|-------------|
|
|
123
|
+
| 16 | Model performance | DV | Report performance measures (with CIs) for the prediction model. Report discrimination (e.g., C-statistic/AUC) and calibration (e.g., calibration plot, Hosmer-Lemeshow, calibration slope and intercept). |
|
|
124
|
+
|
|
125
|
+
#### Model Updating
|
|
126
|
+
|
|
127
|
+
| # | Item | Applies | Description |
|
|
128
|
+
|---|------|---------|-------------|
|
|
129
|
+
| 17 | Model updating | V | If done, report the results from any model updating (e.g., model recalibration). |
|
|
130
|
+
|
|
131
|
+
### Discussion
|
|
132
|
+
|
|
133
|
+
| # | Item | Applies | Description |
|
|
134
|
+
|---|------|---------|-------------|
|
|
135
|
+
| 18 | Limitations | DV | Discuss any limitations of the study (such as nonrepresentative sample, few events per predictor, missing data). |
|
|
136
|
+
| 19a | Interpretation | V | For validation, discuss the results with reference to performance in the development data, and any other validation data. |
|
|
137
|
+
| 19b | Interpretation | DV | Give an overall interpretation of the results, considering objectives, limitations, results from similar studies, and other relevant evidence. |
|
|
138
|
+
| 20 | Implications | DV | Discuss the potential clinical use of the model and implications for future research. |
|
|
139
|
+
|
|
140
|
+
### Other Information
|
|
141
|
+
|
|
142
|
+
| # | Item | Applies | Description |
|
|
143
|
+
|---|------|---------|-------------|
|
|
144
|
+
| 21 | Supplementary information | DV | Provide information about the availability of supplementary resources, such as study protocol, Web calculator, and data sets. |
|
|
145
|
+
| 22 | Funding | DV | Give the source of funding and the role of the funders for the present study. |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Notes for Assessors
|
|
150
|
+
|
|
151
|
+
- TRIPOD 2015 applies to **non-AI/ML prediction models only** (logistic regression, Cox regression, etc.). For AI/ML prediction models, use TRIPOD+AI 2024 instead. Do NOT apply both simultaneously.
|
|
152
|
+
- Items 10a, 10b, 14a, 14b, 15a, 15b are specific to **development studies**. Mark as N/A for validation-only studies.
|
|
153
|
+
- Items 10c, 10e, 13c, 17, 19a are specific to **validation studies**. Mark as N/A for development-only studies.
|
|
154
|
+
- Item 16 must include BOTH discrimination (C-statistic/AUC) and calibration (calibration plot, Hosmer-Lemeshow, or calibration slope/intercept). A study reporting only AUC without calibration assessment is PARTIAL on this item.
|
|
155
|
+
- Item 8 (sample size): the events per variable (EPV) ratio should be reported. EPV < 10 should be flagged as a limitation.
|
|
156
|
+
- Item 15a (full model specification): the complete regression equation must be presented, not just significant predictors. Omitting non-significant predictors from the final model presentation is a common gap.
|
|
157
|
+
- For studies that combine development and validation (e.g., internal-external validation), all items apply.
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# TRIPOD+AI Checklist
|
|
2
|
+
|
|
3
|
+
**Transparent Reporting of a multivariable prediction model for Individual Prognosis Or Diagnosis -- AI Extension**
|
|
4
|
+
Version: TRIPOD+AI 2024
|
|
5
|
+
Source: https://www.tripod-statement.org
|
|
6
|
+
|
|
7
|
+
## Checklist Items
|
|
8
|
+
|
|
9
|
+
Items marked with **(AI)** are specific to the AI extension. All other items are from TRIPOD 2015.
|
|
10
|
+
|
|
11
|
+
### Title and Abstract
|
|
12
|
+
|
|
13
|
+
| # | Item | Description |
|
|
14
|
+
|---|------|-------------|
|
|
15
|
+
| 1 | Title | Identify the study as developing and/or validating a multivariable prediction model, the target population, and the outcome to be predicted. |
|
|
16
|
+
| 1-AI | Title (AI) | Identify that the prediction model uses AI/ML methods. |
|
|
17
|
+
| 2 | Abstract | Provide a summary of objectives, study design, setting, participants, sample size, predictors, outcome, statistical analysis, results, and conclusions. |
|
|
18
|
+
|
|
19
|
+
### Introduction
|
|
20
|
+
|
|
21
|
+
| # | Item | Description |
|
|
22
|
+
|---|------|-------------|
|
|
23
|
+
| 3a | Background | Explain the medical context (including whether diagnostic or prognostic) and rationale for developing or validating the multivariable prediction model, including references to existing models. |
|
|
24
|
+
| 3b | Objectives | Specify the objectives, including whether the study describes the development or validation of the model or both. |
|
|
25
|
+
|
|
26
|
+
### Methods
|
|
27
|
+
|
|
28
|
+
#### Source of Data
|
|
29
|
+
|
|
30
|
+
| # | Item | Description |
|
|
31
|
+
|---|------|-------------|
|
|
32
|
+
| 4a | Source of data | Describe the study design or source of data (e.g., randomized trial, cohort, or registry data), separately for the development and validation data sets, if applicable. |
|
|
33
|
+
| 4b | Source of data | Specify the key study dates, including start of accrual; end of accrual; and, if applicable, end of follow-up. |
|
|
34
|
+
| 4-AI | Source of data (AI) | Describe the source of all input data types (e.g., imaging modality, laboratory system, free text, structured data). |
|
|
35
|
+
|
|
36
|
+
#### Participants
|
|
37
|
+
|
|
38
|
+
| # | Item | Description |
|
|
39
|
+
|---|------|-------------|
|
|
40
|
+
| 5a | Participants | Specify key elements of the study setting (e.g., primary care, secondary care, general population) including number and location of centres. |
|
|
41
|
+
| 5b | Participants | Describe eligibility criteria for participants. |
|
|
42
|
+
| 5c | Participants | Give details of treatments received, if relevant. |
|
|
43
|
+
|
|
44
|
+
#### Outcome
|
|
45
|
+
|
|
46
|
+
| # | Item | Description |
|
|
47
|
+
|---|------|-------------|
|
|
48
|
+
| 6a | Outcome | Clearly define the outcome that is predicted by the prediction model, including how and when assessed. |
|
|
49
|
+
| 6b | Outcome | Report any actions to blind assessment of the outcome to be predicted. |
|
|
50
|
+
|
|
51
|
+
#### Predictors
|
|
52
|
+
|
|
53
|
+
| # | Item | Description |
|
|
54
|
+
|---|------|-------------|
|
|
55
|
+
| 7a | Predictors | Clearly define all predictors used in developing or validating the multivariable prediction model, including how and when they were measured. |
|
|
56
|
+
| 7b | Predictors | Report any actions to blind assessment of predictors for the outcome and other predictors. |
|
|
57
|
+
| 7-AI | Predictors (AI) | Describe data preprocessing steps: normalization, augmentation, feature extraction, handling of missing inputs, and any dimensionality reduction. |
|
|
58
|
+
|
|
59
|
+
#### Sample Size
|
|
60
|
+
|
|
61
|
+
| # | Item | Description |
|
|
62
|
+
|---|------|-------------|
|
|
63
|
+
| 8 | Sample size | Explain how the study size was arrived at. |
|
|
64
|
+
| 8-AI | Sample size (AI) | Report the effective sample size relative to model complexity (e.g., events per variable, events per parameter). |
|
|
65
|
+
|
|
66
|
+
#### Missing Data
|
|
67
|
+
|
|
68
|
+
| # | Item | Description |
|
|
69
|
+
|---|------|-------------|
|
|
70
|
+
| 9 | Missing data | Describe how missing data were handled (e.g., complete-case analysis, single imputation, multiple imputation) with details of any imputation method. |
|
|
71
|
+
|
|
72
|
+
#### Statistical Analysis Methods
|
|
73
|
+
|
|
74
|
+
| # | Item | Description |
|
|
75
|
+
|---|------|-------------|
|
|
76
|
+
| 10a | Model development | Describe how predictors were handled in the analyses. |
|
|
77
|
+
| 10b | Model development | Specify type of model, all model-building procedures (including any predictor selection), and method for internal validation. |
|
|
78
|
+
| 10c | Validation | For validation, describe how the predictions were calculated. |
|
|
79
|
+
| 10d | Model performance | Specify all measures used to assess model performance and, if relevant, to compare multiple models. |
|
|
80
|
+
| 10e | Model updating | Describe any model updating (e.g., recalibration) arising from the validation, if done. |
|
|
81
|
+
| 10-AI-a | Model architecture (AI) | Describe the model architecture in sufficient detail for replication (e.g., network type, number of layers, activation functions, loss function). |
|
|
82
|
+
| 10-AI-b | Training procedure (AI) | Describe the training procedure: optimizer, learning rate (schedule), batch size, number of epochs, early stopping criteria, regularization methods. |
|
|
83
|
+
| 10-AI-c | Software and hardware (AI) | Report software libraries (with version numbers), programming language, and hardware used (especially GPU type for deep learning). |
|
|
84
|
+
| 10-AI-d | Reproducibility (AI) | Report measures taken to ensure reproducibility (random seeds, data splits, code availability). |
|
|
85
|
+
|
|
86
|
+
#### Risk Groups
|
|
87
|
+
|
|
88
|
+
| # | Item | Description |
|
|
89
|
+
|---|------|-------------|
|
|
90
|
+
| 11 | Risk groups | Provide details on how risk groups were created, if done. |
|
|
91
|
+
|
|
92
|
+
#### Development vs. Validation
|
|
93
|
+
|
|
94
|
+
| # | Item | Description |
|
|
95
|
+
|---|------|-------------|
|
|
96
|
+
| 12 | Development vs. validation | For validation, identify any differences from the development data in setting, eligibility criteria, outcome, and predictors. |
|
|
97
|
+
|
|
98
|
+
### Results
|
|
99
|
+
|
|
100
|
+
| # | Item | Description |
|
|
101
|
+
|---|------|-------------|
|
|
102
|
+
| 13a | Participants | Describe the flow of participants through the study, including the number of participants with and without the outcome and, if applicable, a summary of the follow-up time. A diagram may be helpful. |
|
|
103
|
+
| 13b | Participants | Describe the characteristics of the participants (basic demographics, clinical features, available predictors), including the number of participants with missing data for predictors and outcome. |
|
|
104
|
+
| 13c | Participants | For validation, show a comparison with the development data of the distribution of important variables (demographics, predictors, and outcome). |
|
|
105
|
+
| 14a | Model development | Specify the number of participants and outcome events in each analysis. |
|
|
106
|
+
| 14b | Model development | If done, report the unadjusted association between each candidate predictor and outcome. |
|
|
107
|
+
| 15a | Model specification | Present the full prediction model to allow predictions for individuals (i.e., all regression coefficients, and model intercept or baseline survival at a given time point). |
|
|
108
|
+
| 15b | Model specification | Explain how to use the prediction model. |
|
|
109
|
+
| 15-AI | Model specification (AI) | If the full model cannot be presented as coefficients: report model availability (e.g., open-source repository, API, executable), and describe the input/output specification. |
|
|
110
|
+
| 16 | Model performance | Report performance measures (with CIs) for the prediction model. Report discrimination (e.g., C-statistic/AUC) and calibration (e.g., calibration plot, Hosmer-Lemeshow, calibration slope and intercept). |
|
|
111
|
+
| 16-AI | Fairness assessment (AI) | Report model performance stratified by relevant demographic subgroups (age, sex, ethnicity) if data are available. |
|
|
112
|
+
|
|
113
|
+
### Discussion
|
|
114
|
+
|
|
115
|
+
| # | Item | Description |
|
|
116
|
+
|---|------|-------------|
|
|
117
|
+
| 18 | Limitations | Discuss any limitations of the study (such as nonrepresentative sample, few events per predictor, missing data). |
|
|
118
|
+
| 19a | Interpretation | For validation, discuss the results with reference to performance in the development data, and any other validation data. |
|
|
119
|
+
| 19b | Interpretation | Give an overall interpretation of the results, considering objectives, limitations, results from similar studies, and other relevant evidence. |
|
|
120
|
+
| 19-AI | Interpretation (AI) | Discuss potential sources of bias in the AI model: data bias, label noise, distribution shift between development and deployment settings. |
|
|
121
|
+
| 20 | Implications | Discuss the potential clinical use of the model and implications for future research. |
|
|
122
|
+
|
|
123
|
+
### Other Information
|
|
124
|
+
|
|
125
|
+
| # | Item | Description |
|
|
126
|
+
|---|------|-------------|
|
|
127
|
+
| 21 | Supplementary information | Provide information about the availability of supplementary resources, such as study protocol, Web calculator, and data sets. |
|
|
128
|
+
| 21-AI | Code and model availability (AI) | State whether the trained model and/or source code are publicly available, and provide the repository URL or access instructions. |
|
|
129
|
+
| 22 | Funding | Give the source of funding and the role of the funders for the present study. |
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Notes for Assessors
|
|
134
|
+
|
|
135
|
+
- TRIPOD applies to both development and validation studies. Some items (e.g., 10c, 13c, 19a) are specific to validation studies; mark as N/A for development-only studies.
|
|
136
|
+
- The AI extension items are mandatory for any study using machine learning or deep learning methods.
|
|
137
|
+
- Item 15a (full model specification) is often not feasible for deep learning models; in that case, item 15-AI (model availability) becomes critical.
|
|
138
|
+
- Item 16 must include BOTH discrimination and calibration. A study reporting only AUC without calibration assessment is PARTIAL on this item.
|
|
139
|
+
- Item 16-AI (fairness) is increasingly expected but may be marked N/A if the study population lacks demographic diversity data, with a note explaining this limitation.
|
|
140
|
+
- For studies that are both diagnostic accuracy and prediction model studies, consider cross-referencing with STARD as well.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Step 4c Reference — Registration / Protocol Timing Consistency Check
|
|
2
|
+
|
|
3
|
+
Load this reference when running Step 4c during `/check-reporting`. The SKILL.md body
|
|
4
|
+
carries only the scope + trigger summary; full item-by-item procedure lives here.
|
|
5
|
+
|
|
6
|
+
## Applies To
|
|
7
|
+
|
|
8
|
+
Systematic reviews, meta-analyses, and intervention studies with prospective registration
|
|
9
|
+
(PRISMA 2020, PRISMA-DTA, PRISMA-P, MOOSE, CONSORT, SPIRIT).
|
|
10
|
+
|
|
11
|
+
## Motivation
|
|
12
|
+
|
|
13
|
+
The registration identifier itself is a single checklist item in most guidelines, so it
|
|
14
|
+
can pass the Step 4 audit even when the manuscript is internally inconsistent about
|
|
15
|
+
*when* the registration or its amendments occurred relative to the analysis. Reviewers
|
|
16
|
+
and editors scrutinize this timing — an undisclosed post-hoc amendment is a common
|
|
17
|
+
rejection trigger.
|
|
18
|
+
|
|
19
|
+
## Items to Check
|
|
20
|
+
|
|
21
|
+
### 1. Registration identifier present
|
|
22
|
+
|
|
23
|
+
Confirm the registration number (e.g., PROSPERO CRD####, ClinicalTrials.gov NCT####) is
|
|
24
|
+
cited in Methods, the Abstract, and (where required) the cover letter.
|
|
25
|
+
|
|
26
|
+
### 2. Initial registration date vs. manuscript milestone dates
|
|
27
|
+
|
|
28
|
+
Extract from the manuscript:
|
|
29
|
+
- Search start / end date (e.g., "databases were searched from 2010-01-01 to 2025-12-31").
|
|
30
|
+
- Screening / data extraction completion date (often in the PRISMA flow caption or in
|
|
31
|
+
Methods).
|
|
32
|
+
- If the Methods states an explicit registration date, that date must predate — or at
|
|
33
|
+
minimum not contradict — the screening/extraction milestone. A registration date
|
|
34
|
+
*after* data extraction completion must be disclosed as retrospective and justified.
|
|
35
|
+
|
|
36
|
+
### 3. Amendment date(s) consistency
|
|
37
|
+
|
|
38
|
+
If the manuscript references an amendment to the registered protocol:
|
|
39
|
+
- The amendment date must appear in Methods (typical phrasing: "The registered protocol
|
|
40
|
+
was amended on YYYY-MM-DD to …").
|
|
41
|
+
- The described amendment content must match what Methods actually reports (e.g., an
|
|
42
|
+
eligibility refinement, subgroup reassignment, outcome addition). A Methods-stated
|
|
43
|
+
amendment that does not correspond to any visible methods change is a red flag.
|
|
44
|
+
- If the amendment post-dates the analysis lock, Methods must state that the analysis
|
|
45
|
+
was re-run after the amendment — otherwise the amendment is a post-hoc rationalization.
|
|
46
|
+
- The amendment date must not post-date the manuscript submission date (when the latter
|
|
47
|
+
is known from the cover letter or file metadata).
|
|
48
|
+
|
|
49
|
+
### 4. Cross-artifact agreement
|
|
50
|
+
|
|
51
|
+
When the author provides the registry record (PROSPERO PDF, ClinicalTrials.gov export)
|
|
52
|
+
as a supplement or accompanying document:
|
|
53
|
+
- Primary outcome(s), eligibility criteria, and analysis plan described in Methods must
|
|
54
|
+
agree with the registry entry, or explicit amendment citations must reconcile any
|
|
55
|
+
difference.
|
|
56
|
+
- A silent discrepancy between registry and Methods is a `[REGISTRATION-TIMING]`
|
|
57
|
+
finding, reported in Part C with `fixable_by_ai: false` (requires author action — file
|
|
58
|
+
an amendment or correct Methods text).
|
|
59
|
+
|
|
60
|
+
### 5. Retrospective registration disclosure
|
|
61
|
+
|
|
62
|
+
If any evidence suggests the registration was filed after data extraction began
|
|
63
|
+
(registration date later than the reported extraction start, or the registry record's
|
|
64
|
+
"current stage" indicates post-extraction filing), Methods must contain a disclosure
|
|
65
|
+
paragraph. The absence of such disclosure in a retrospective-registered review is a
|
|
66
|
+
`[REGISTRATION-TIMING]` finding.
|
|
67
|
+
|
|
68
|
+
## Flagging Rules
|
|
69
|
+
|
|
70
|
+
- Any failure among items 1 – 5 is reported in Part C Action Items with the label
|
|
71
|
+
`[REGISTRATION-TIMING]`.
|
|
72
|
+
- Mark `fixable_by_ai: false` when reconciliation requires an external amendment filing
|
|
73
|
+
or an author-supplied date.
|
|
74
|
+
- Mark `fixable_by_ai: true` only when the fix is a Methods-text insertion of a known
|
|
75
|
+
registration identifier or amendment date already disclosed elsewhere in the
|
|
76
|
+
manuscript.
|
|
77
|
+
|
|
78
|
+
## JSON Field (Part D)
|
|
79
|
+
|
|
80
|
+
Include a `registration_timing` object when this step runs:
|
|
81
|
+
|
|
82
|
+
```json
|
|
83
|
+
"registration_timing": {
|
|
84
|
+
"registry": "PROSPERO",
|
|
85
|
+
"registration_id": "CRD########",
|
|
86
|
+
"initial_registration_date": "YYYY-MM-DD or null",
|
|
87
|
+
"amendments": [
|
|
88
|
+
{ "date": "YYYY-MM-DD", "described_change": "..." }
|
|
89
|
+
],
|
|
90
|
+
"timing_consistency": "CONSISTENT | DISCREPANCY | INCOMPLETE",
|
|
91
|
+
"findings": ["free-text list of specific issues"]
|
|
92
|
+
}
|
|
93
|
+
```
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Step 4d — PRISMA Figure 1 Arithmetic & Cross-Reference Audit (Procedural Detail)
|
|
2
|
+
|
|
3
|
+
Load-on-demand from `SKILL.md` Step 4d. Applies to PRISMA 2020 / PRISMA-DTA / PRISMA-P
|
|
4
|
+
systematic reviews and meta-analyses where Item 16a (flow diagram) is PRESENT.
|
|
5
|
+
|
|
6
|
+
## Inputs
|
|
7
|
+
|
|
8
|
+
| Source | Path | Required |
|
|
9
|
+
|--------|------|----------|
|
|
10
|
+
| Manuscript body | `manuscript/manuscript.md` (or path provided) | yes |
|
|
11
|
+
| Figure 1 manifest | `analysis/figures/Figure1_PRISMA.md` (preferred) | one of |
|
|
12
|
+
| Figure 1 PPTX | `analysis/figures/Figure1_PRISMA.pptx` (text-extractable) | one of |
|
|
13
|
+
| Figure 1 caption | embedded in `manuscript.md` | one of |
|
|
14
|
+
| Figure 1 PNG/SVG | `analysis/figures/Figure1_PRISMA.{png,svg}` | fallback (manual entry) |
|
|
15
|
+
|
|
16
|
+
If no machine-readable Figure source exists, Step 4d emits `MISSING` for the cross-reference
|
|
17
|
+
checks and asks the user to supply numbers manually.
|
|
18
|
+
|
|
19
|
+
## Number extraction (regex)
|
|
20
|
+
|
|
21
|
+
```python
|
|
22
|
+
KEYWORDS = {
|
|
23
|
+
"identified": r"(\d[\d,]*)\s+(?:records?|reports?)\s+identified",
|
|
24
|
+
"duplicates": r"(\d[\d,]*)\s+(?:records?|reports?|duplicates?)\s+(?:removed|duplicates? removed)",
|
|
25
|
+
"screened": r"(\d[\d,]*)\s+(?:records?|reports?)\s+screened",
|
|
26
|
+
"excluded_screening": r"(\d[\d,]*)\s+(?:records?|reports?)\s+excluded(?:\s+(?:at|after|during)\s+screening)?",
|
|
27
|
+
"sought": r"(\d[\d,]*)\s+(?:reports?|records?)\s+sought(?:\s+for\s+retrieval)?",
|
|
28
|
+
"not_retrieved": r"(\d[\d,]*)\s+(?:reports?|records?)\s+(?:not\s+retrieved|unobtainable)",
|
|
29
|
+
"retrieved": r"(\d[\d,]*)\s+(?:reports?|records?)\s+retrieved",
|
|
30
|
+
"assessed": r"(\d[\d,]*)\s+(?:reports?|records?)\s+assessed(?:\s+for\s+eligibility)?",
|
|
31
|
+
"excluded_eligibility": r"(\d[\d,]*)\s+(?:reports?|records?)\s+excluded(?:\s+with\s+reasons?)?",
|
|
32
|
+
"included": r"(\d[\d,]*)\s+(?:studies|records?|reports?)\s+included",
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Apply to body text and Figure source independently → produce two dictionaries
|
|
37
|
+
`body_numbers` and `figure_numbers`.
|
|
38
|
+
|
|
39
|
+
## Arithmetic checks (4)
|
|
40
|
+
|
|
41
|
+
```python
|
|
42
|
+
def check_arithmetic(n: dict) -> list[dict]:
|
|
43
|
+
results = []
|
|
44
|
+
if all(k in n for k in ["identified", "duplicates", "screened"]):
|
|
45
|
+
ok = n["identified"] - n["duplicates"] == n["screened"]
|
|
46
|
+
results.append({"eq": "screened = identified - duplicates",
|
|
47
|
+
"lhs": n["screened"], "rhs": n["identified"] - n["duplicates"],
|
|
48
|
+
"status": "PRESENT" if ok else "MISMATCH"})
|
|
49
|
+
if all(k in n for k in ["screened", "excluded_screening", "sought"]):
|
|
50
|
+
ok = n["screened"] - n["excluded_screening"] == n["sought"]
|
|
51
|
+
results.append({"eq": "sought = screened - excluded_screening",
|
|
52
|
+
"lhs": n["sought"], "rhs": n["screened"] - n["excluded_screening"],
|
|
53
|
+
"status": "PRESENT" if ok else "MISMATCH"})
|
|
54
|
+
if all(k in n for k in ["sought", "not_retrieved", "retrieved"]):
|
|
55
|
+
ok = n["sought"] - n["not_retrieved"] == n["retrieved"]
|
|
56
|
+
results.append({"eq": "retrieved = sought - not_retrieved",
|
|
57
|
+
"lhs": n["retrieved"], "rhs": n["sought"] - n["not_retrieved"],
|
|
58
|
+
"status": "PRESENT" if ok else "MISMATCH"})
|
|
59
|
+
if all(k in n for k in ["assessed", "excluded_eligibility", "included"]):
|
|
60
|
+
ok = n["assessed"] - n["excluded_eligibility"] == n["included"]
|
|
61
|
+
results.append({"eq": "included = assessed - excluded_eligibility",
|
|
62
|
+
"lhs": n["included"], "rhs": n["assessed"] - n["excluded_eligibility"],
|
|
63
|
+
"status": "PRESENT" if ok else "MISMATCH"})
|
|
64
|
+
return results
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Run independently on `body_numbers` and `figure_numbers`.
|
|
68
|
+
|
|
69
|
+
## Cross-reference check (body ↔ figure)
|
|
70
|
+
|
|
71
|
+
For each key in `KEYWORDS`:
|
|
72
|
+
- Both present + agree → `PRESENT`
|
|
73
|
+
- Both present + disagree → `MISMATCH` (record both values)
|
|
74
|
+
- Only one source has it → `MISSING` (record which side)
|
|
75
|
+
- Neither → skip
|
|
76
|
+
|
|
77
|
+
## JSON schema (`qc/prisma_figure_audit.json`)
|
|
78
|
+
|
|
79
|
+
```json
|
|
80
|
+
{
|
|
81
|
+
"manuscript": "manuscript/manuscript.md",
|
|
82
|
+
"figure_source": "analysis/figures/Figure1_PRISMA.md",
|
|
83
|
+
"body_numbers": { "identified": 315, "duplicates": 122, "screened": 186, "...": "..." },
|
|
84
|
+
"figure_numbers": { "identified": 315, "duplicates": 122, "screened": 186, "...": "..." },
|
|
85
|
+
"arithmetic_body": [
|
|
86
|
+
{"eq": "screened = identified - duplicates", "lhs": 186, "rhs": 193, "status": "MISMATCH"}
|
|
87
|
+
],
|
|
88
|
+
"arithmetic_figure": [],
|
|
89
|
+
"cross_reference": [
|
|
90
|
+
{"key": "screened", "body": 186, "figure": 186, "status": "PRESENT"}
|
|
91
|
+
],
|
|
92
|
+
"audit_safe": false,
|
|
93
|
+
"action_items": [
|
|
94
|
+
"[PRISMA-FIGURE] body arithmetic 'screened = identified - duplicates' fails: 186 vs 315-122=193"
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
`audit_safe: true` ⟺ all arithmetic_body, arithmetic_figure, cross_reference rows are
|
|
100
|
+
`PRESENT`. Anything else → `false` and Step 5 must surface action_items.
|
|
101
|
+
|
|
102
|
+
## Edge cases
|
|
103
|
+
|
|
104
|
+
- **Multi-database identification**: PRISMA 2020 supports separate boxes for database vs
|
|
105
|
+
register vs other methods. Sum across boxes for `identified` total — extraction regex must
|
|
106
|
+
handle `321 records (213 from databases, 108 from citation searching)`.
|
|
107
|
+
- **Citation searching strand**: separate flow on right side of PRISMA 2020 diagram. If
|
|
108
|
+
present, run arithmetic checks on each strand independently + a combined `total identified`
|
|
109
|
+
check.
|
|
110
|
+
- **Dual-reviewer screening**: numbers should reflect post-consensus counts. If body reports
|
|
111
|
+
pre/post-consensus separately, use post-consensus.
|
|
112
|
+
- **Reports vs records**: PRISMA 2020 distinguishes records (citations) from reports
|
|
113
|
+
(full-text). Regex captures both; treat them as the same key for arithmetic but flag
|
|
114
|
+
inconsistent terminology (`[PRISMA-FIGURE-TERMINOLOGY]`).
|
|
115
|
+
- **Duplicates split across stages**: some manuscripts list duplicates removed automatically
|
|
116
|
+
(deduplication tool) separately from manual deduplication. Sum.
|
|
117
|
+
- **Reasons for exclusion**: Step 4d does not enforce specific reasons but checks that
|
|
118
|
+
the count of "with reasons" categories sums to `excluded_eligibility`. Add as optional
|
|
119
|
+
check `excluded_eligibility = sum(reason_counts)`.
|
|
120
|
+
|
|
121
|
+
## Cross-cutting rules
|
|
122
|
+
|
|
123
|
+
- `~/.claude/rules/numerical-safety.md`: PRISMA 5-way consistency (text ↔ Figure ↔
|
|
124
|
+
extraction CSV ↔ analysis script ↔ supplementary). Step 4d covers text ↔ Figure;
|
|
125
|
+
extraction CSV ↔ script ↔ supplementary belong to `/meta-analysis` Phase 6 and
|
|
126
|
+
`/write-paper` Step 7.3a.
|
|
127
|
+
- `~/.claude/rules/manuscript-style-classical.md`: number formatting (Arabic numerals,
|
|
128
|
+
thousands separator consistent with journal style).
|
|
129
|
+
|
|
130
|
+
## Related
|
|
131
|
+
|
|
132
|
+
- `/check-reporting prisma` (this step caller)
|
|
133
|
+
- `/write-paper` Step 7.3a (Numerical Claim Audit — different scope: pooled estimates,
|
|
134
|
+
not flow diagram)
|
|
135
|
+
- `/make-figures` (PRISMA flow diagram generation — produces `Figure1_PRISMA.md` manifest
|
|
136
|
+
this step consumes)
|
|
137
|
+
- Sample primary source (motivation): an active meta-analysis project v3 Figure 1 PRISMA verification, 2026-04-26
|