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.
Files changed (702) hide show
  1. package/LICENSE +50 -0
  2. package/README.md +602 -0
  3. package/README_FIRST.md +27 -0
  4. package/bin/medsci-skills.js +159 -0
  5. package/installers/install-macos.command +19 -0
  6. package/installers/install-windows.cmd +26 -0
  7. package/installers/install-windows.ps1 +17 -0
  8. package/installers/install.py +218 -0
  9. package/metadata/skills_catalog.json +452 -0
  10. package/package.json +48 -0
  11. package/skills/academic-aio/SKILL.md +408 -0
  12. package/skills/academic-aio/references/case_studies/kjr_mllm_2025.md +82 -0
  13. package/skills/academic-aio/references/checklists/AIO_GENERAL.md +354 -0
  14. package/skills/academic-aio/references/journal_summarybox_templates.yaml +126 -0
  15. package/skills/academic-aio/references/oac_funding_checklist.yaml +129 -0
  16. package/skills/academic-aio/references/reporting_guideline_mapping.md +39 -0
  17. package/skills/academic-aio/references/schema_markup_templates/CodeRepository.jsonld +32 -0
  18. package/skills/academic-aio/references/schema_markup_templates/Dataset.jsonld +36 -0
  19. package/skills/academic-aio/references/schema_markup_templates/Person.jsonld +30 -0
  20. package/skills/academic-aio/references/schema_markup_templates/README.md +43 -0
  21. package/skills/academic-aio/references/schema_markup_templates/ScholarlyArticle.jsonld +55 -0
  22. package/skills/academic-aio/scripts/batch_metadata_audit.py +169 -0
  23. package/skills/academic-aio/scripts/validate_schema.py +118 -0
  24. package/skills/academic-aio/skill.yml +36 -0
  25. package/skills/academic-aio/templates/aio_audit_checklist.md.j2 +108 -0
  26. package/skills/add-journal/SKILL.md +482 -0
  27. package/skills/add-journal/skill.yml +33 -0
  28. package/skills/analyze-stats/SKILL.md +598 -0
  29. package/skills/analyze-stats/references/analysis_guides/missing_data.md +109 -0
  30. package/skills/analyze-stats/references/analysis_guides/nhis_icd10_mapping.md +247 -0
  31. package/skills/analyze-stats/references/analysis_guides/propensity_score.md +132 -0
  32. package/skills/analyze-stats/references/analysis_guides/regression.md +115 -0
  33. package/skills/analyze-stats/references/analysis_guides/repeated_measures.md +160 -0
  34. package/skills/analyze-stats/references/analysis_guides/survey_weighted.md +366 -0
  35. package/skills/analyze-stats/references/analysis_guides/test_selection.md +86 -0
  36. package/skills/analyze-stats/references/style/figure_style.mplstyle +69 -0
  37. package/skills/analyze-stats/references/style/theme_publication.R +147 -0
  38. package/skills/analyze-stats/references/table-standards/journal-profiles/ajr.yaml +51 -0
  39. package/skills/analyze-stats/references/table-standards/journal-profiles/european_radiology.yaml +55 -0
  40. package/skills/analyze-stats/references/table-standards/journal-profiles/jama.yaml +66 -0
  41. package/skills/analyze-stats/references/table-standards/journal-profiles/lancet.yaml +57 -0
  42. package/skills/analyze-stats/references/table-standards/journal-profiles/nejm.yaml +51 -0
  43. package/skills/analyze-stats/references/table-standards/journal-profiles/radiology.yaml +66 -0
  44. package/skills/analyze-stats/references/table-standards/table-standards.md +287 -0
  45. package/skills/analyze-stats/references/table-standards/table-types/diagnostic_accuracy.md +36 -0
  46. package/skills/analyze-stats/references/table-standards/table-types/meta_analysis.md +58 -0
  47. package/skills/analyze-stats/references/table-standards/table-types/model_comparison.md +36 -0
  48. package/skills/analyze-stats/references/table-standards/table-types/regression_results.md +50 -0
  49. package/skills/analyze-stats/references/table-standards/table-types/table1_demographics.md +51 -0
  50. package/skills/analyze-stats/references/table-standards/tool-comparison.md +79 -0
  51. package/skills/analyze-stats/references/templates/agreement_analysis.py +436 -0
  52. package/skills/analyze-stats/references/templates/dca_plot.R +237 -0
  53. package/skills/analyze-stats/references/templates/diagnostic_accuracy.py +401 -0
  54. package/skills/analyze-stats/references/templates/dta_meta_analysis.R +384 -0
  55. package/skills/analyze-stats/references/templates/forest_plot.py +412 -0
  56. package/skills/analyze-stats/references/templates/likert_summary.py +356 -0
  57. package/skills/analyze-stats/references/templates/meta_analysis.R +365 -0
  58. package/skills/analyze-stats/references/templates/propensity_score.py +478 -0
  59. package/skills/analyze-stats/references/templates/regression.py +425 -0
  60. package/skills/analyze-stats/references/templates/repeated_measures.py +434 -0
  61. package/skills/analyze-stats/references/templates/sample_size.R +382 -0
  62. package/skills/analyze-stats/references/templates/survey_weighted_analysis.py +411 -0
  63. package/skills/analyze-stats/references/templates/survival_analysis.py +325 -0
  64. package/skills/analyze-stats/references/templates/table1_demographics.py +287 -0
  65. package/skills/analyze-stats/scripts/check_generated_code.py +335 -0
  66. package/skills/analyze-stats/skill.yml +38 -0
  67. package/skills/analyze-stats/tests/fixtures/gen_bad.R +16 -0
  68. package/skills/analyze-stats/tests/fixtures/gen_bad.py +24 -0
  69. package/skills/analyze-stats/tests/fixtures/gen_clean.py +21 -0
  70. package/skills/analyze-stats/tests/test_generated_code.sh +59 -0
  71. package/skills/analyze-stats/tests/test_survival_template.sh +53 -0
  72. package/skills/author-strategy/SKILL.md +117 -0
  73. package/skills/author-strategy/analyze_patterns.py +303 -0
  74. package/skills/author-strategy/fetch_pubmed.py +374 -0
  75. package/skills/author-strategy/skill.yml +34 -0
  76. package/skills/batch-cohort/SKILL.md +223 -0
  77. package/skills/batch-cohort/references/base_template_knhanes.R +210 -0
  78. package/skills/batch-cohort/references/batch_template_generator.R +222 -0
  79. package/skills/batch-cohort/references/variable_coding_registry.md +136 -0
  80. package/skills/batch-cohort/skill.yml +35 -0
  81. package/skills/calc-sample-size/SKILL.md +491 -0
  82. package/skills/calc-sample-size/references/formulas.md +655 -0
  83. package/skills/calc-sample-size/references/observational_cohort.md +49 -0
  84. package/skills/calc-sample-size/skill.yml +51 -0
  85. package/skills/check-reporting/SKILL.md +534 -0
  86. package/skills/check-reporting/references/LICENSES.md +41 -0
  87. package/skills/check-reporting/references/checklists/AMSTAR2.md +54 -0
  88. package/skills/check-reporting/references/checklists/ARRIVE_2.md +234 -0
  89. package/skills/check-reporting/references/checklists/CARE.md +102 -0
  90. package/skills/check-reporting/references/checklists/CLAIM_2024.md +128 -0
  91. package/skills/check-reporting/references/checklists/CLEAR.md +113 -0
  92. package/skills/check-reporting/references/checklists/CONSORT.md +86 -0
  93. package/skills/check-reporting/references/checklists/COSMIN_RoB.md +136 -0
  94. package/skills/check-reporting/references/checklists/GRRAS.md +61 -0
  95. package/skills/check-reporting/references/checklists/MI_CLEAR_LLM.md +167 -0
  96. package/skills/check-reporting/references/checklists/MOOSE.md +85 -0
  97. package/skills/check-reporting/references/checklists/NOS.md +88 -0
  98. package/skills/check-reporting/references/checklists/PRISMA_2020.md +135 -0
  99. package/skills/check-reporting/references/checklists/PRISMA_DTA.md +36 -0
  100. package/skills/check-reporting/references/checklists/PRISMA_P.md +56 -0
  101. package/skills/check-reporting/references/checklists/PROBAST.md +75 -0
  102. package/skills/check-reporting/references/checklists/PROBAST_AI.md +130 -0
  103. package/skills/check-reporting/references/checklists/QUADAS2.md +77 -0
  104. package/skills/check-reporting/references/checklists/QUADAS_C.md +131 -0
  105. package/skills/check-reporting/references/checklists/ROBINS_E.md +179 -0
  106. package/skills/check-reporting/references/checklists/ROBINS_I.md +87 -0
  107. package/skills/check-reporting/references/checklists/ROBIS.md +114 -0
  108. package/skills/check-reporting/references/checklists/ROB_ME.md +126 -0
  109. package/skills/check-reporting/references/checklists/RoB2.md +79 -0
  110. package/skills/check-reporting/references/checklists/RoB_NMA.md +96 -0
  111. package/skills/check-reporting/references/checklists/SPIRIT.md +112 -0
  112. package/skills/check-reporting/references/checklists/SQUIRE_2.md +68 -0
  113. package/skills/check-reporting/references/checklists/STARD.md +129 -0
  114. package/skills/check-reporting/references/checklists/STARD_AI.md +211 -0
  115. package/skills/check-reporting/references/checklists/STROBE.md +80 -0
  116. package/skills/check-reporting/references/checklists/SWiM.md +33 -0
  117. package/skills/check-reporting/references/checklists/TRIPOD.md +157 -0
  118. package/skills/check-reporting/references/checklists/TRIPOD_AI.md +140 -0
  119. package/skills/check-reporting/references/step4c_registration_timing.md +93 -0
  120. package/skills/check-reporting/references/step4d_prisma_figure_audit.md +137 -0
  121. package/skills/check-reporting/scripts/check_checklist_exists.py +183 -0
  122. package/skills/check-reporting/scripts/check_checklist_version.py +168 -0
  123. package/skills/check-reporting/scripts/check_framework_naming.py +206 -0
  124. package/skills/check-reporting/scripts/check_prisma_figure.py +209 -0
  125. package/skills/check-reporting/scripts/prisma_cascade_check.py +274 -0
  126. package/skills/check-reporting/skill.yml +41 -0
  127. package/skills/check-reporting/tests/fixtures/framework_bad.md +8 -0
  128. package/skills/check-reporting/tests/fixtures/framework_clean.md +7 -0
  129. package/skills/check-reporting/tests/test_checklist_fail_fast.sh +77 -0
  130. package/skills/check-reporting/tests/test_checklist_version.sh +72 -0
  131. package/skills/check-reporting/tests/test_framework_naming.sh +45 -0
  132. package/skills/check-reporting/tests/test_prisma_cascade.sh +104 -0
  133. package/skills/clean-data/SKILL.md +180 -0
  134. package/skills/clean-data/references/cleaning_patterns.md +299 -0
  135. package/skills/clean-data/references/profiling_template.py +304 -0
  136. package/skills/clean-data/scripts/check_structural_zero.py +174 -0
  137. package/skills/clean-data/skill.yml +35 -0
  138. package/skills/clean-data/tests/fixtures/smoking.csv +8 -0
  139. package/skills/clean-data/tests/test_structural_zero.sh +49 -0
  140. package/skills/cross-national/SKILL.md +264 -0
  141. package/skills/cross-national/skill.yml +37 -0
  142. package/skills/define-variables/SKILL.md +146 -0
  143. package/skills/define-variables/references/common_definitions.md +190 -0
  144. package/skills/define-variables/skill.yml +34 -0
  145. package/skills/define-variables/templates/variable_operationalization.md +64 -0
  146. package/skills/deidentify/SKILL.md +203 -0
  147. package/skills/deidentify/deidentify.py +1224 -0
  148. package/skills/deidentify/locales/_template.json +45 -0
  149. package/skills/deidentify/locales/au.json +43 -0
  150. package/skills/deidentify/locales/ca.json +44 -0
  151. package/skills/deidentify/locales/cn.json +47 -0
  152. package/skills/deidentify/locales/de.json +48 -0
  153. package/skills/deidentify/locales/fr.json +48 -0
  154. package/skills/deidentify/locales/in.json +48 -0
  155. package/skills/deidentify/locales/jp.json +48 -0
  156. package/skills/deidentify/locales/kr.json +48 -0
  157. package/skills/deidentify/locales/uk.json +45 -0
  158. package/skills/deidentify/locales/us.json +43 -0
  159. package/skills/deidentify/references/date_shift_guide.md +82 -0
  160. package/skills/deidentify/references/hipaa_18_identifiers.md +48 -0
  161. package/skills/deidentify/references/korean_phi_patterns.md +135 -0
  162. package/skills/deidentify/skill.yml +43 -0
  163. package/skills/deidentify/tests/README.md +26 -0
  164. package/skills/deidentify/tests/test_clean.csv +16 -0
  165. package/skills/deidentify/tests/test_edge_cases.csv +11 -0
  166. package/skills/deidentify/tests/test_phi_korean.csv +11 -0
  167. package/skills/design-ai-benchmarking/SKILL.md +214 -0
  168. package/skills/design-ai-benchmarking/references/benchmark_export_schema.json +69 -0
  169. package/skills/design-ai-benchmarking/references/elicitation_rubric_template.md +37 -0
  170. package/skills/design-ai-benchmarking/skill.yml +38 -0
  171. package/skills/design-study/SKILL.md +298 -0
  172. package/skills/design-study/skill.yml +33 -0
  173. package/skills/fill-icmje-coi/SKILL.md +216 -0
  174. package/skills/fill-icmje-coi/scripts/fill_icmje_coi.py +140 -0
  175. package/skills/fill-icmje-coi/skill.yml +35 -0
  176. package/skills/fill-icmje-coi/templates/icmje_coi_seed_synthetic.docx +0 -0
  177. package/skills/fill-protocol/SKILL.md +248 -0
  178. package/skills/fill-protocol/examples/example_irb_template.yaml +53 -0
  179. package/skills/fill-protocol/references/best_practices.md +121 -0
  180. package/skills/fill-protocol/scripts/doc_to_docx.py +111 -0
  181. package/skills/fill-protocol/scripts/fill_form.py +611 -0
  182. package/skills/fill-protocol/scripts/inspect_template.py +61 -0
  183. package/skills/fill-protocol/setup.sh +162 -0
  184. package/skills/fill-protocol/skill.yml +37 -0
  185. package/skills/find-cohort-gap/SKILL.md +309 -0
  186. package/skills/find-cohort-gap/references/cohort_profile_template.md +93 -0
  187. package/skills/find-cohort-gap/references/onepager_template.md +84 -0
  188. package/skills/find-cohort-gap/references/pattern_scoring_rubric.md +169 -0
  189. package/skills/find-cohort-gap/references/saturation_query_templates.md +143 -0
  190. package/skills/find-cohort-gap/skill.yml +35 -0
  191. package/skills/find-journal/POLICY.md +87 -0
  192. package/skills/find-journal/SKILL.md +340 -0
  193. package/skills/find-journal/references/journal_profiles/AJNR.md +29 -0
  194. package/skills/find-journal/references/journal_profiles/AJR.md +30 -0
  195. package/skills/find-journal/references/journal_profiles/Abdominal_Radiology.md +30 -0
  196. package/skills/find-journal/references/journal_profiles/Academic_Radiology.md +30 -0
  197. package/skills/find-journal/references/journal_profiles/Annals_of_Internal_Medicine.md +33 -0
  198. package/skills/find-journal/references/journal_profiles/Artificial_Intelligence_in_Medicine.md +28 -0
  199. package/skills/find-journal/references/journal_profiles/BMC_Medicine.md +31 -0
  200. package/skills/find-journal/references/journal_profiles/British_Journal_of_Radiology.md +39 -0
  201. package/skills/find-journal/references/journal_profiles/CVIR.md +30 -0
  202. package/skills/find-journal/references/journal_profiles/Chest.md +39 -0
  203. package/skills/find-journal/references/journal_profiles/Clinical_Radiology.md +30 -0
  204. package/skills/find-journal/references/journal_profiles/Clinical_and_Molecular_Hepatology.md +32 -0
  205. package/skills/find-journal/references/journal_profiles/Diabetes_Metabolism_Journal.md +36 -0
  206. package/skills/find-journal/references/journal_profiles/Diagnostic_and_Interventional_Radiology.md +32 -0
  207. package/skills/find-journal/references/journal_profiles/Endocrinology_and_Metabolism.md +37 -0
  208. package/skills/find-journal/references/journal_profiles/European_Journal_of_Preventive_Cardiology.md +39 -0
  209. package/skills/find-journal/references/journal_profiles/European_Radiology.md +29 -0
  210. package/skills/find-journal/references/journal_profiles/Hepatology_Communications.md +40 -0
  211. package/skills/find-journal/references/journal_profiles/Hepatology_International.md +37 -0
  212. package/skills/find-journal/references/journal_profiles/IEEE_JBHI.md +28 -0
  213. package/skills/find-journal/references/journal_profiles/IEEE_TMI.md +28 -0
  214. package/skills/find-journal/references/journal_profiles/INSI.md +29 -0
  215. package/skills/find-journal/references/journal_profiles/Investigative_Radiology.md +25 -0
  216. package/skills/find-journal/references/journal_profiles/JACC_Advances.md +41 -0
  217. package/skills/find-journal/references/journal_profiles/JACC_Asia.md +30 -0
  218. package/skills/find-journal/references/journal_profiles/JACR.md +28 -0
  219. package/skills/find-journal/references/journal_profiles/JAMA.md +40 -0
  220. package/skills/find-journal/references/journal_profiles/JAMA_Network_Open.md +30 -0
  221. package/skills/find-journal/references/journal_profiles/JCSM.md +39 -0
  222. package/skills/find-journal/references/journal_profiles/JKMS.md +32 -0
  223. package/skills/find-journal/references/journal_profiles/JMIR.md +29 -0
  224. package/skills/find-journal/references/journal_profiles/JMIR_Medical_Education.md +29 -0
  225. package/skills/find-journal/references/journal_profiles/JNIS.md +35 -0
  226. package/skills/find-journal/references/journal_profiles/JVIR.md +31 -0
  227. package/skills/find-journal/references/journal_profiles/Journal_of_Biomedical_Informatics.md +29 -0
  228. package/skills/find-journal/references/journal_profiles/Journal_of_Clinical_Endocrinology_and_Metabolism.md +40 -0
  229. package/skills/find-journal/references/journal_profiles/Journal_of_Magnetic_Resonance_Imaging.md +30 -0
  230. package/skills/find-journal/references/journal_profiles/Journal_of_Nuclear_Medicine.md +31 -0
  231. package/skills/find-journal/references/journal_profiles/Journal_of_Stroke.md +32 -0
  232. package/skills/find-journal/references/journal_profiles/KJR.md +38 -0
  233. package/skills/find-journal/references/journal_profiles/Korean_Circulation_Journal.md +38 -0
  234. package/skills/find-journal/references/journal_profiles/Korean_Journal_of_Internal_Medicine.md +36 -0
  235. package/skills/find-journal/references/journal_profiles/Lancet_Diabetes_and_Endocrinology.md +40 -0
  236. package/skills/find-journal/references/journal_profiles/Lancet_Gastroenterology_and_Hepatology.md +49 -0
  237. package/skills/find-journal/references/journal_profiles/Lancet_Infectious_Diseases.md +38 -0
  238. package/skills/find-journal/references/journal_profiles/Lancet_Neurology.md +39 -0
  239. package/skills/find-journal/references/journal_profiles/Lancet_Oncology.md +40 -0
  240. package/skills/find-journal/references/journal_profiles/Lancet_Psychiatry.md +38 -0
  241. package/skills/find-journal/references/journal_profiles/Lancet_Public_Health.md +30 -0
  242. package/skills/find-journal/references/journal_profiles/Lancet_Respiratory_Medicine.md +39 -0
  243. package/skills/find-journal/references/journal_profiles/Liver_International.md +33 -0
  244. package/skills/find-journal/references/journal_profiles/Medical_Image_Analysis.md +28 -0
  245. package/skills/find-journal/references/journal_profiles/NEJM.md +33 -0
  246. package/skills/find-journal/references/journal_profiles/Nature_Machine_Intelligence.md +31 -0
  247. package/skills/find-journal/references/journal_profiles/Nature_Medicine.md +39 -0
  248. package/skills/find-journal/references/journal_profiles/Neuroradiology.md +31 -0
  249. package/skills/find-journal/references/journal_profiles/Nutrition_Metabolism_and_Cardiovascular_Diseases.md +39 -0
  250. package/skills/find-journal/references/journal_profiles/PLOS_Medicine.md +32 -0
  251. package/skills/find-journal/references/journal_profiles/RYAI.md +28 -0
  252. package/skills/find-journal/references/journal_profiles/Radiology.md +29 -0
  253. package/skills/find-journal/references/journal_profiles/Skeletal_Radiology.md +31 -0
  254. package/skills/find-journal/references/journal_profiles/Stroke.md +37 -0
  255. package/skills/find-journal/references/journal_profiles/The_BMJ.md +31 -0
  256. package/skills/find-journal/references/journal_profiles/The_Lancet.md +31 -0
  257. package/skills/find-journal/references/journal_profiles/The_Lancet_Digital_Health.md +29 -0
  258. package/skills/find-journal/references/journal_profiles/World_Journal_of_Hepatology.md +53 -0
  259. package/skills/find-journal/references/journal_profiles/npj_Digital_Medicine.md +29 -0
  260. package/skills/find-journal/skill.yml +34 -0
  261. package/skills/fulltext-retrieval/SKILL.md +174 -0
  262. package/skills/fulltext-retrieval/fetch_oa.py +433 -0
  263. package/skills/fulltext-retrieval/pdf_to_md.py +160 -0
  264. package/skills/fulltext-retrieval/skill.yml +41 -0
  265. package/skills/generate-codebook/SKILL.md +155 -0
  266. package/skills/generate-codebook/references/codebook_schema.md +76 -0
  267. package/skills/generate-codebook/scripts/generate_codebook.py +278 -0
  268. package/skills/generate-codebook/skill.yml +35 -0
  269. package/skills/generate-codebook/tests/test_generate_codebook.sh +76 -0
  270. package/skills/grant-builder/SKILL.md +251 -0
  271. package/skills/grant-builder/skill.yml +34 -0
  272. package/skills/humanize/SKILL.md +251 -0
  273. package/skills/humanize/references/ai_patterns.md +571 -0
  274. package/skills/humanize/skill.yml +33 -0
  275. package/skills/intake-project/SKILL.md +264 -0
  276. package/skills/intake-project/skill.yml +34 -0
  277. package/skills/lit-sync/SKILL.md +448 -0
  278. package/skills/lit-sync/references/locale/ko/note_templates.md +110 -0
  279. package/skills/lit-sync/skill.yml +52 -0
  280. package/skills/lit-sync/tests/test_poll_logic.sh +92 -0
  281. package/skills/ma-scout/SKILL.md +640 -0
  282. package/skills/ma-scout/references/project_readme_template.md +95 -0
  283. package/skills/ma-scout/references/project_readme_template_ko.md +82 -0
  284. package/skills/ma-scout/skill.yml +33 -0
  285. package/skills/make-figures/SKILL.md +957 -0
  286. package/skills/make-figures/references/critic_rubrics/data_plot.md +166 -0
  287. package/skills/make-figures/references/critic_rubrics/flow_diagram.md +169 -0
  288. package/skills/make-figures/references/design_principles.md +181 -0
  289. package/skills/make-figures/references/exemplar_diagrams/README.md +65 -0
  290. package/skills/make-figures/references/exemplar_diagrams/consort/README.md +15 -0
  291. package/skills/make-figures/references/exemplar_diagrams/consort/template_input.yaml +37 -0
  292. package/skills/make-figures/references/exemplar_diagrams/consort/template_output.pdf +0 -0
  293. package/skills/make-figures/references/exemplar_diagrams/consort/template_output.png +0 -0
  294. package/skills/make-figures/references/exemplar_diagrams/consort/template_output_600.png +0 -0
  295. package/skills/make-figures/references/exemplar_diagrams/other/other_02.meta.yaml +4 -0
  296. package/skills/make-figures/references/exemplar_diagrams/other/other_02.png +0 -0
  297. package/skills/make-figures/references/exemplar_diagrams/other/other_02_why.md +13 -0
  298. package/skills/make-figures/references/exemplar_diagrams/pipeline/README.md +15 -0
  299. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_01.meta.yaml +4 -0
  300. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_01.png +0 -0
  301. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_01_why.md +13 -0
  302. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_03.meta.yaml +4 -0
  303. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_03.png +0 -0
  304. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_03_why.md +13 -0
  305. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_04.meta.yaml +4 -0
  306. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_04.png +0 -0
  307. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_04_why.md +13 -0
  308. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_05.meta.yaml +4 -0
  309. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_05.png +0 -0
  310. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_05_why.md +13 -0
  311. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_06.meta.yaml +4 -0
  312. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_06.png +0 -0
  313. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_06_why.md +13 -0
  314. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_07.meta.yaml +4 -0
  315. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_07.png +0 -0
  316. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_07_why.md +13 -0
  317. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_08.meta.yaml +4 -0
  318. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_08.png +0 -0
  319. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_08_why.md +13 -0
  320. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_09.meta.yaml +4 -0
  321. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_09.png +0 -0
  322. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_09_why.md +13 -0
  323. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_10.meta.yaml +4 -0
  324. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_10.png +0 -0
  325. package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_10_why.md +13 -0
  326. package/skills/make-figures/references/exemplar_diagrams/prisma/README.md +15 -0
  327. package/skills/make-figures/references/exemplar_diagrams/prisma/template_input.yaml +47 -0
  328. package/skills/make-figures/references/exemplar_diagrams/prisma/template_output.pdf +0 -0
  329. package/skills/make-figures/references/exemplar_diagrams/prisma/template_output.png +0 -0
  330. package/skills/make-figures/references/exemplar_diagrams/prisma/template_output_600.png +0 -0
  331. package/skills/make-figures/references/exemplar_diagrams/stard/README.md +15 -0
  332. package/skills/make-figures/references/exemplar_diagrams/stard/template_input.yaml +40 -0
  333. package/skills/make-figures/references/exemplar_diagrams/stard/template_output.pdf +0 -0
  334. package/skills/make-figures/references/exemplar_diagrams/stard/template_output.png +0 -0
  335. package/skills/make-figures/references/exemplar_diagrams/stard/template_output_600.png +0 -0
  336. package/skills/make-figures/references/exemplar_diagrams/strobe/template_input.yaml +43 -0
  337. package/skills/make-figures/references/exemplar_diagrams/strobe/template_input_pptx.yaml +43 -0
  338. package/skills/make-figures/references/exemplar_diagrams/strobe/template_output.pdf +0 -0
  339. package/skills/make-figures/references/exemplar_diagrams/strobe/template_output.png +0 -0
  340. package/skills/make-figures/references/exemplar_diagrams/strobe/template_output.pptx +0 -0
  341. package/skills/make-figures/references/exemplar_diagrams/strobe/template_output_600.png +0 -0
  342. package/skills/make-figures/references/figure_specs.md +291 -0
  343. package/skills/make-figures/references/flow_diagram_lessons.md +164 -0
  344. package/skills/make-figures/references/jacc_central_illustration_principles.md +91 -0
  345. package/skills/make-figures/references/medical_illustration_sources.md +98 -0
  346. package/skills/make-figures/references/pipeline_concepts_medical_ai.md +240 -0
  347. package/skills/make-figures/references/reporting_guideline_figure_map.md +104 -0
  348. package/skills/make-figures/references/visual_abstract_templates/european_radiology.pptx +0 -0
  349. package/skills/make-figures/references/visual_abstract_templates/jacc_central_illustration.pptx +0 -0
  350. package/skills/make-figures/references/visual_abstract_templates/medsci_default.pptx +0 -0
  351. package/skills/make-figures/references/visual_abstract_templates/template_guide.md +114 -0
  352. package/skills/make-figures/scripts/build_jacc_template.py +77 -0
  353. package/skills/make-figures/scripts/build_prisma2020_template.py +371 -0
  354. package/skills/make-figures/scripts/build_strobe_template.py +351 -0
  355. package/skills/make-figures/scripts/critic_figure.py +264 -0
  356. package/skills/make-figures/scripts/derive_figure_legend_counts.py +138 -0
  357. package/skills/make-figures/scripts/extract_exemplar_from_pdf.py +186 -0
  358. package/skills/make-figures/scripts/fetch_official_templates.sh +88 -0
  359. package/skills/make-figures/scripts/fill_prisma_template.py +142 -0
  360. package/skills/make-figures/scripts/generate_flow_diagram.R +133 -0
  361. package/skills/make-figures/scripts/generate_image.py +99 -0
  362. package/skills/make-figures/scripts/generate_visual_abstract.py +438 -0
  363. package/skills/make-figures/scripts/validate_pptx_mac_compat.py +233 -0
  364. package/skills/make-figures/skill.yml +52 -0
  365. package/skills/make-figures/templates/official/NOTES.md +62 -0
  366. package/skills/make-figures/templates/official/consort2010/CONSORT_2025_editable_checklist.docx +0 -0
  367. package/skills/make-figures/templates/official/consort2010/CONSORT_2025_flow_diagram.docx +0 -0
  368. package/skills/make-figures/templates/official/prisma2020/PRISMA_2020_flow_new_v1.pptx +0 -0
  369. package/skills/make-figures/templates/official/prisma2020/PRISMA_2020_flow_new_v2.pptx +0 -0
  370. package/skills/make-figures/templates/official/prisma2020/PRISMA_2020_flow_updated_v2.pptx +0 -0
  371. package/skills/make-figures/templates/official/spirit2013/SPIRIT_2025_editable_checklist.docx +0 -0
  372. package/skills/make-figures/templates/official/spirit2013/SPIRIT_2025_participant_timeline.docx +0 -0
  373. package/skills/make-figures/templates/official/stard2015/STARD_2015_checklist.docx +0 -0
  374. package/skills/make-figures/templates/official/stard2015/STARD_2015_flow_diagram.pdf +0 -0
  375. package/skills/make-figures/tests/fixtures/figure1_flow.yaml +8 -0
  376. package/skills/make-figures/tests/fixtures/manuscript_ok.md +9 -0
  377. package/skills/make-figures/tests/fixtures/manuscript_stale.md +4 -0
  378. package/skills/make-figures/tests/test_legend_reconcile.sh +36 -0
  379. package/skills/manage-project/SKILL.md +358 -0
  380. package/skills/manage-project/references/pre_submission_checklist.md +53 -0
  381. package/skills/manage-project/references/project_state_template.json +37 -0
  382. package/skills/manage-project/references/scaffold_templates.md +118 -0
  383. package/skills/manage-project/references/status_output_format.md +44 -0
  384. package/skills/manage-project/references/timeline_example.md +20 -0
  385. package/skills/manage-project/skill.yml +36 -0
  386. package/skills/manage-project/templates/SSOT.yaml.template +41 -0
  387. package/skills/manage-refs/LICENSE.zotero-mcp +21 -0
  388. package/skills/manage-refs/NOTICE.md +29 -0
  389. package/skills/manage-refs/SKILL.md +289 -0
  390. package/skills/manage-refs/citation_styles/README.md +40 -0
  391. package/skills/manage-refs/citation_styles/american-journal-of-roentgenology.csl +211 -0
  392. package/skills/manage-refs/citation_styles/cardiovascular-and-interventional-radiology.csl +19 -0
  393. package/skills/manage-refs/citation_styles/european-radiology.csl +19 -0
  394. package/skills/manage-refs/citation_styles/journal-of-cachexia-sarcopenia-and-muscle.csl +150 -0
  395. package/skills/manage-refs/citation_styles/journal-of-korean-medical-science-strict.csl +533 -0
  396. package/skills/manage-refs/citation_styles/journal-of-korean-medical-science.csl +16 -0
  397. package/skills/manage-refs/citation_styles/korean-journal-of-radiology.csl +155 -0
  398. package/skills/manage-refs/citation_styles/nature.csl +189 -0
  399. package/skills/manage-refs/citation_styles/nlm-citation-sequence.csl +535 -0
  400. package/skills/manage-refs/citation_styles/radiology.csl +228 -0
  401. package/skills/manage-refs/citation_styles/springer-basic-brackets.csl +187 -0
  402. package/skills/manage-refs/citation_styles/springer-vancouver-brackets.csl +276 -0
  403. package/skills/manage-refs/citation_styles/vancouver-superscript.csl +536 -0
  404. package/skills/manage-refs/citation_styles/vancouver.csl +535 -0
  405. package/skills/manage-refs/references/REFERENCE_STYLE_SPECS.md +59 -0
  406. package/skills/manage-refs/references/check_xref_symptoms.md +35 -0
  407. package/skills/manage-refs/scripts/_vendor_citation_writer.py +600 -0
  408. package/skills/manage-refs/scripts/check_citation_keys.py +112 -0
  409. package/skills/manage-refs/scripts/check_csl_render.py +102 -0
  410. package/skills/manage-refs/scripts/check_xref.py +633 -0
  411. package/skills/manage-refs/scripts/fill_journal_abbrev.py +104 -0
  412. package/skills/manage-refs/scripts/inject_zotero_cwyw.py +133 -0
  413. package/skills/manage-refs/scripts/md_marker_convert.py +193 -0
  414. package/skills/manage-refs/scripts/pre_submission_gate.sh +238 -0
  415. package/skills/manage-refs/scripts/render_pandoc.sh +88 -0
  416. package/skills/manage-refs/skill.yml +70 -0
  417. package/skills/manage-refs/tests/fixtures/pre_submission_gate/README.md +32 -0
  418. package/skills/manage-refs/tests/fixtures/pre_submission_gate/manuscript.md +10 -0
  419. package/skills/manage-refs/tests/fixtures/pre_submission_gate/refs.bib +34 -0
  420. package/skills/manage-refs/tests/fixtures/pre_submission_gate/run.sh +117 -0
  421. package/skills/manage-refs/tests/test_vN_docx_check.sh +145 -0
  422. package/skills/meta-analysis/SKILL.md +739 -0
  423. package/skills/meta-analysis/references/LICENSES.md +21 -0
  424. package/skills/meta-analysis/references/PROSPERO_template.md +221 -0
  425. package/skills/meta-analysis/references/ai_pre_screening_template.py +245 -0
  426. package/skills/meta-analysis/references/checklists/JBI_Case_Series.md +45 -0
  427. package/skills/meta-analysis/references/checklists/NOS.md +88 -0
  428. package/skills/meta-analysis/references/checklists/PRISMA_DTA.md +36 -0
  429. package/skills/meta-analysis/references/checklists/PROBAST.md +75 -0
  430. package/skills/meta-analysis/references/checklists/QUADAS2.md +77 -0
  431. package/skills/meta-analysis/references/checklists/ROBINS_I.md +87 -0
  432. package/skills/meta-analysis/references/checklists/RoB2.md +79 -0
  433. package/skills/meta-analysis/references/data_integrity_checklist.md +57 -0
  434. package/skills/meta-analysis/references/icmje_coi_guide.md +181 -0
  435. package/skills/meta-analysis/references/phase10_recovery.md +136 -0
  436. package/skills/meta-analysis/references/phase4_km_composite.md +58 -0
  437. package/skills/meta-analysis/references/phase6_statistical_synthesis.md +148 -0
  438. package/skills/meta-analysis/references/phase9_circulation.md +84 -0
  439. package/skills/meta-analysis/references/post_submission_release_ops.md +41 -0
  440. package/skills/meta-analysis/references/r_templates.md +132 -0
  441. package/skills/meta-analysis/references/review_orchestration.md +40 -0
  442. package/skills/meta-analysis/references/submission_package_drift.md +71 -0
  443. package/skills/meta-analysis/scripts/check_pool_consistency.py +201 -0
  444. package/skills/meta-analysis/scripts/cohort_overlap_check.py +242 -0
  445. package/skills/meta-analysis/scripts/dta_extraction_qc.py +137 -0
  446. package/skills/meta-analysis/scripts/screening_reconcile.py +160 -0
  447. package/skills/meta-analysis/skill.yml +47 -0
  448. package/skills/meta-analysis/templates/FINAL_POOL_LOCK.yaml.template +70 -0
  449. package/skills/meta-analysis/templates/extraction_form_v2.md +129 -0
  450. package/skills/meta-analysis/templates/supplementary_8file_checklist.md +94 -0
  451. package/skills/meta-analysis/tests/test_pool_consistency.sh +123 -0
  452. package/skills/orchestrate/SKILL.md +501 -0
  453. package/skills/orchestrate/references/dialogue_nodes.md +196 -0
  454. package/skills/orchestrate/references/report_template.md +109 -0
  455. package/skills/orchestrate/references/report_template_ko.md +88 -0
  456. package/skills/orchestrate/skill.yml +44 -0
  457. package/skills/peer-review/SKILL.md +381 -0
  458. package/skills/peer-review/references/aczel_2021_reviewer2_patterns.md +88 -0
  459. package/skills/peer-review/references/domain-probes/ai_overclaiming.md +47 -0
  460. package/skills/peer-review/references/domain-probes/narrative_review.md +44 -0
  461. package/skills/peer-review/references/domain-probes/observational_confounding.md +48 -0
  462. package/skills/peer-review/references/domain-probes/radiomics.md +38 -0
  463. package/skills/peer-review/references/domain-probes/sr_ma.md +87 -0
  464. package/skills/peer-review/references/domain-probes/survival_prognostic.md +68 -0
  465. package/skills/peer-review/references/exemplar_reviews/README.md +43 -0
  466. package/skills/peer-review/references/exemplar_reviews/ai_overclaiming.md +47 -0
  467. package/skills/peer-review/references/exemplar_reviews/calibration_missing.md +44 -0
  468. package/skills/peer-review/references/exemplar_reviews/data_leakage.md +48 -0
  469. package/skills/peer-review/references/exemplar_reviews/reference_standard_validity.md +45 -0
  470. package/skills/peer-review/references/narrative_review_audit.md +67 -0
  471. package/skills/peer-review/references/reviewer_calibration/README.md +34 -0
  472. package/skills/peer-review/references/reviewer_calibration/compliance_floor.md +52 -0
  473. package/skills/peer-review/references/reviewer_profiles/AJR.md +82 -0
  474. package/skills/peer-review/references/reviewer_profiles/EURE.md +64 -0
  475. package/skills/peer-review/references/reviewer_profiles/INSI.md +57 -0
  476. package/skills/peer-review/references/reviewer_profiles/KJR.md +100 -0
  477. package/skills/peer-review/references/reviewer_profiles/README.md +32 -0
  478. package/skills/peer-review/references/reviewer_profiles/RYAI.md +86 -0
  479. package/skills/peer-review/skill.yml +39 -0
  480. package/skills/present-paper/SKILL.md +675 -0
  481. package/skills/present-paper/references/critic_rubrics/slide.md +155 -0
  482. package/skills/present-paper/references/generate_pptx_templates.py +604 -0
  483. package/skills/present-paper/references/medical_presentation_templates.md +277 -0
  484. package/skills/present-paper/references/slide_design_principles.md +202 -0
  485. package/skills/present-paper/references/slide_visual_styles/nature_lancet.md +168 -0
  486. package/skills/present-paper/references/workflow-checklist.md +109 -0
  487. package/skills/present-paper/scripts/extract_pdf_figures.py +243 -0
  488. package/skills/present-paper/scripts/inject_pronunciation_notes.py +178 -0
  489. package/skills/present-paper/scripts/inject_speaker_notes.py +133 -0
  490. package/skills/present-paper/scripts/strip_notes_for_sharing.py +140 -0
  491. package/skills/present-paper/scripts/trim_caption.py +271 -0
  492. package/skills/present-paper/skill.yml +41 -0
  493. package/skills/present-paper/templates/build_pptx_nature_lancet.py +688 -0
  494. package/skills/publish-skill/SKILL.md +370 -0
  495. package/skills/publish-skill/references/license-compatibility-matrix.md +132 -0
  496. package/skills/publish-skill/references/pii-patterns.md +130 -0
  497. package/skills/publish-skill/scripts/audit_skill.sh +278 -0
  498. package/skills/publish-skill/skill.yml +35 -0
  499. package/skills/render-pdf-doc/SKILL.md +146 -0
  500. package/skills/render-pdf-doc/references/known_pitfalls.md +53 -0
  501. package/skills/render-pdf-doc/references/pandoc_korean_cheatsheet.md +77 -0
  502. package/skills/render-pdf-doc/scripts/check_deps.sh +42 -0
  503. package/skills/render-pdf-doc/scripts/infer_colwidths.py +164 -0
  504. package/skills/render-pdf-doc/scripts/render_pdf.sh +98 -0
  505. package/skills/render-pdf-doc/skill.yml +57 -0
  506. package/skills/render-pdf-doc/templates/anchor-doc.md +27 -0
  507. package/skills/render-pdf-doc/templates/anchor-doc_ko.md +25 -0
  508. package/skills/render-pdf-doc/templates/briefing-handout.md +33 -0
  509. package/skills/render-pdf-doc/templates/briefing-handout_ko.md +31 -0
  510. package/skills/render-pdf-doc/templates/proposal-cover.md +33 -0
  511. package/skills/render-pdf-doc/templates/proposal-cover_ko.md +31 -0
  512. package/skills/render-pdf-doc/templates/reference-table.md +22 -0
  513. package/skills/render-pdf-doc/templates/reference-table_ko.md +20 -0
  514. package/skills/replicate-study/SKILL.md +150 -0
  515. package/skills/replicate-study/references/harmonization_3country.csv +47 -0
  516. package/skills/replicate-study/references/harmonization_knhanes_nhanes.csv +68 -0
  517. package/skills/replicate-study/references/methodology_extraction_template.md +134 -0
  518. package/skills/replicate-study/skill.yml +37 -0
  519. package/skills/review-paper/SKILL.md +104 -0
  520. package/skills/review-paper/references/macro_skeleton.md +6 -0
  521. package/skills/review-paper/skill.yml +25 -0
  522. package/skills/revise/SKILL.md +515 -0
  523. package/skills/revise/references/r2r_voice.md +346 -0
  524. package/skills/revise/skill.yml +43 -0
  525. package/skills/search-lit/SKILL.md +443 -0
  526. package/skills/search-lit/references/parse_pubmed.py +326 -0
  527. package/skills/search-lit/references/pubmed_eutils.sh +111 -0
  528. package/skills/search-lit/skill.yml +46 -0
  529. package/skills/self-review/SKILL.md +1045 -0
  530. package/skills/self-review/references/domain-probes/ai_overclaiming.md +47 -0
  531. package/skills/self-review/references/domain-probes/narrative_review.md +44 -0
  532. package/skills/self-review/references/domain-probes/observational_confounding.md +48 -0
  533. package/skills/self-review/references/domain-probes/radiomics.md +38 -0
  534. package/skills/self-review/references/domain-probes/sr_ma.md +87 -0
  535. package/skills/self-review/references/domain-probes/survival_prognostic.md +68 -0
  536. package/skills/self-review/references/exemplar_findings/README.md +43 -0
  537. package/skills/self-review/references/exemplar_findings/cohort_arithmetic_mismatch.md +35 -0
  538. package/skills/self-review/references/exemplar_findings/estimand_drift_posthoc_primary.md +39 -0
  539. package/skills/self-review/references/exemplar_findings/scope_overreach_cross_sectional.md +35 -0
  540. package/skills/self-review/references/exemplar_findings/unadjusted_confounder.md +36 -0
  541. package/skills/self-review/references/panel_review_template.md +177 -0
  542. package/skills/self-review/scripts/check_artifact_coverage.py +301 -0
  543. package/skills/self-review/scripts/check_claim_artifact.py +248 -0
  544. package/skills/self-review/scripts/check_classical_style.py +185 -0
  545. package/skills/self-review/scripts/check_cohort_arithmetic.py +481 -0
  546. package/skills/self-review/scripts/check_confounding_completeness.py +287 -0
  547. package/skills/self-review/scripts/check_panel_diversity.py +336 -0
  548. package/skills/self-review/scripts/check_reference_adequacy.py +392 -0
  549. package/skills/self-review/scripts/check_reviewer_team_consistency.py +412 -0
  550. package/skills/self-review/scripts/check_scope_coherence.py +177 -0
  551. package/skills/self-review/skill.yml +47 -0
  552. package/skills/self-review/tests/fixtures/claim_manuscript.md +17 -0
  553. package/skills/self-review/tests/fixtures/claim_prereg.md +6 -0
  554. package/skills/self-review/tests/fixtures/cohort_bad.md +21 -0
  555. package/skills/self-review/tests/fixtures/cohort_clean.md +21 -0
  556. package/skills/self-review/tests/fixtures/cohort_partition.csv +5 -0
  557. package/skills/self-review/tests/fixtures/coverage_analysis/31_delong_nested_added_value.csv +3 -0
  558. package/skills/self-review/tests/fixtures/coverage_analysis/table1_demographics.csv +3 -0
  559. package/skills/self-review/tests/fixtures/coverage_clean.md +13 -0
  560. package/skills/self-review/tests/fixtures/coverage_manuscript.md +11 -0
  561. package/skills/self-review/tests/fixtures/panel_collapse.json +27 -0
  562. package/skills/self-review/tests/fixtures/panel_good.json +32 -0
  563. package/skills/self-review/tests/fixtures/panel_monoculture.json +32 -0
  564. package/skills/self-review/tests/fixtures/refadeq_letter.md +13 -0
  565. package/skills/self-review/tests/fixtures/refadeq_original_fixed.md +42 -0
  566. package/skills/self-review/tests/fixtures/refadeq_original_uncited.md +40 -0
  567. package/skills/self-review/tests/fixtures/scope_bad.md +9 -0
  568. package/skills/self-review/tests/fixtures/scope_clean.md +8 -0
  569. package/skills/self-review/tests/fixtures/scope_surrogate.md +8 -0
  570. package/skills/self-review/tests/fixtures/style_bad.md +13 -0
  571. package/skills/self-review/tests/fixtures/style_clean.md +11 -0
  572. package/skills/self-review/tests/fixtures/table1_by_exposure.csv +11 -0
  573. package/skills/self-review/tests/test_artifact_coverage.sh +44 -0
  574. package/skills/self-review/tests/test_claim_artifact.sh +50 -0
  575. package/skills/self-review/tests/test_classical_style.sh +44 -0
  576. package/skills/self-review/tests/test_cohort_arithmetic.sh +49 -0
  577. package/skills/self-review/tests/test_confounding_completeness.sh +66 -0
  578. package/skills/self-review/tests/test_panel_diversity.sh +55 -0
  579. package/skills/self-review/tests/test_panel_mode.sh +69 -0
  580. package/skills/self-review/tests/test_reference_adequacy.sh +68 -0
  581. package/skills/self-review/tests/test_reviewer_team_consistency.sh +138 -0
  582. package/skills/self-review/tests/test_scope_coherence.sh +46 -0
  583. package/skills/setup-medsci/SKILL.md +110 -0
  584. package/skills/setup-medsci/references/setup-checklist.md +51 -0
  585. package/skills/setup-medsci/skill.yml +30 -0
  586. package/skills/sync-submission/SKILL.md +382 -0
  587. package/skills/sync-submission/scripts/author_registry_example.yaml +36 -0
  588. package/skills/sync-submission/scripts/blind_sweep.py +203 -0
  589. package/skills/sync-submission/scripts/check_asset_anonymization.py +300 -0
  590. package/skills/sync-submission/scripts/check_cross_artifact_stale.py +211 -0
  591. package/skills/sync-submission/scripts/cover_letter_drift_check.py +451 -0
  592. package/skills/sync-submission/scripts/cross_document_n_check.py +486 -0
  593. package/skills/sync-submission/scripts/detect_copy_divergence.py +136 -0
  594. package/skills/sync-submission/scripts/preflight_gate.py +458 -0
  595. package/skills/sync-submission/scripts/scope_drift_check.py +362 -0
  596. package/skills/sync-submission/scripts/sync_submission.py +169 -0
  597. package/skills/sync-submission/skill.yml +43 -0
  598. package/skills/sync-submission/tests/fixtures/copy_ok.md +5 -0
  599. package/skills/sync-submission/tests/fixtures/copy_stale.md +5 -0
  600. package/skills/sync-submission/tests/fixtures/ssot.md +5 -0
  601. package/skills/sync-submission/tests/test_asset_anonymization.sh +99 -0
  602. package/skills/sync-submission/tests/test_copy_divergence.sh +44 -0
  603. package/skills/sync-submission/tests/test_cross_artifact_stale.sh +80 -0
  604. package/skills/sync-submission/tests/test_cross_document_n.sh +132 -0
  605. package/skills/sync-submission/tests/test_preflight_gate.sh +112 -0
  606. package/skills/sync-submission/tests/test_scope_drift.sh +122 -0
  607. package/skills/sync-submission/tests/test_vN_docx_assertion.sh +51 -0
  608. package/skills/verify-refs/SKILL.md +177 -0
  609. package/skills/verify-refs/references/manual_checkpoint_guide.md +100 -0
  610. package/skills/verify-refs/scripts/verify_cli.sh +62 -0
  611. package/skills/verify-refs/scripts/verify_refs.py +782 -0
  612. package/skills/verify-refs/skill.yml +44 -0
  613. package/skills/verify-refs/tests/fixtures/pagination_placeholder.bib +17 -0
  614. package/skills/verify-refs/tests/test_pagination_placeholder.sh +42 -0
  615. package/skills/version-dataset/SKILL.md +143 -0
  616. package/skills/version-dataset/references/manifest_schema.md +72 -0
  617. package/skills/version-dataset/scripts/version_dataset.py +242 -0
  618. package/skills/version-dataset/skill.yml +35 -0
  619. package/skills/version-dataset/tests/test_version_dataset.sh +52 -0
  620. package/skills/write-paper/SKILL.md +1148 -0
  621. package/skills/write-paper/references/exemplar_methods/README.md +38 -0
  622. package/skills/write-paper/references/exemplar_methods/ai_validation_tripod_claim.md +47 -0
  623. package/skills/write-paper/references/exemplar_methods/diagnostic_accuracy_stard.md +50 -0
  624. package/skills/write-paper/references/exemplar_methods/observational_cohort_strobe.md +43 -0
  625. package/skills/write-paper/references/journal_profiles/AJNR.md +185 -0
  626. package/skills/write-paper/references/journal_profiles/AJR.md +149 -0
  627. package/skills/write-paper/references/journal_profiles/Abdominal_Radiology.md +139 -0
  628. package/skills/write-paper/references/journal_profiles/Academic_Radiology.md +90 -0
  629. package/skills/write-paper/references/journal_profiles/Annals_of_Internal_Medicine.md +150 -0
  630. package/skills/write-paper/references/journal_profiles/Artificial_Intelligence_in_Medicine.md +82 -0
  631. package/skills/write-paper/references/journal_profiles/British_Journal_of_Radiology.md +161 -0
  632. package/skills/write-paper/references/journal_profiles/CVIR.md +157 -0
  633. package/skills/write-paper/references/journal_profiles/Chest.md +270 -0
  634. package/skills/write-paper/references/journal_profiles/Clinical_Radiology.md +160 -0
  635. package/skills/write-paper/references/journal_profiles/Clinical_and_Molecular_Hepatology.md +147 -0
  636. package/skills/write-paper/references/journal_profiles/Diabetes_Metabolism_Journal.md +163 -0
  637. package/skills/write-paper/references/journal_profiles/Diagnostic_and_Interventional_Radiology.md +216 -0
  638. package/skills/write-paper/references/journal_profiles/Endocrinology_and_Metabolism.md +167 -0
  639. package/skills/write-paper/references/journal_profiles/European_Journal_of_Preventive_Cardiology.md +192 -0
  640. package/skills/write-paper/references/journal_profiles/European_Radiology.md +159 -0
  641. package/skills/write-paper/references/journal_profiles/Hepatology_Communications.md +110 -0
  642. package/skills/write-paper/references/journal_profiles/Hepatology_International.md +106 -0
  643. package/skills/write-paper/references/journal_profiles/IEEE_TMI.md +180 -0
  644. package/skills/write-paper/references/journal_profiles/INSI.md +163 -0
  645. package/skills/write-paper/references/journal_profiles/Investigative_Radiology.md +86 -0
  646. package/skills/write-paper/references/journal_profiles/JACC_Advances.md +197 -0
  647. package/skills/write-paper/references/journal_profiles/JACC_Asia.md +168 -0
  648. package/skills/write-paper/references/journal_profiles/JACR.md +87 -0
  649. package/skills/write-paper/references/journal_profiles/JAMA.md +188 -0
  650. package/skills/write-paper/references/journal_profiles/JAMA_Network_Open.md +170 -0
  651. package/skills/write-paper/references/journal_profiles/JCSM.md +266 -0
  652. package/skills/write-paper/references/journal_profiles/JKMS.md +201 -0
  653. package/skills/write-paper/references/journal_profiles/JMIR.md +88 -0
  654. package/skills/write-paper/references/journal_profiles/JMIR_Medical_Education.md +86 -0
  655. package/skills/write-paper/references/journal_profiles/JNIS.md +227 -0
  656. package/skills/write-paper/references/journal_profiles/JVIR.md +158 -0
  657. package/skills/write-paper/references/journal_profiles/Journal_of_Clinical_Endocrinology_and_Metabolism.md +191 -0
  658. package/skills/write-paper/references/journal_profiles/Journal_of_Stroke.md +176 -0
  659. package/skills/write-paper/references/journal_profiles/KJR.md +185 -0
  660. package/skills/write-paper/references/journal_profiles/Korean_Circulation_Journal.md +184 -0
  661. package/skills/write-paper/references/journal_profiles/Korean_Journal_of_Internal_Medicine.md +178 -0
  662. package/skills/write-paper/references/journal_profiles/Lancet_Gastroenterology_and_Hepatology.md +127 -0
  663. package/skills/write-paper/references/journal_profiles/Liver_International.md +165 -0
  664. package/skills/write-paper/references/journal_profiles/Medical_Image_Analysis.md +147 -0
  665. package/skills/write-paper/references/journal_profiles/NEJM.md +147 -0
  666. package/skills/write-paper/references/journal_profiles/Nature_Medicine.md +181 -0
  667. package/skills/write-paper/references/journal_profiles/Neuroradiology.md +151 -0
  668. package/skills/write-paper/references/journal_profiles/Nutrition_Metabolism_and_Cardiovascular_Diseases.md +184 -0
  669. package/skills/write-paper/references/journal_profiles/PLOS_Medicine.md +166 -0
  670. package/skills/write-paper/references/journal_profiles/RYAI.md +124 -0
  671. package/skills/write-paper/references/journal_profiles/Radiology.md +173 -0
  672. package/skills/write-paper/references/journal_profiles/Skeletal_Radiology.md +135 -0
  673. package/skills/write-paper/references/journal_profiles/Stroke.md +210 -0
  674. package/skills/write-paper/references/journal_profiles/The_BMJ.md +121 -0
  675. package/skills/write-paper/references/journal_profiles/The_Lancet.md +112 -0
  676. package/skills/write-paper/references/journal_profiles/The_Lancet_Digital_Health.md +104 -0
  677. package/skills/write-paper/references/journal_profiles/World_Journal_of_Hepatology.md +106 -0
  678. package/skills/write-paper/references/journal_profiles/npj_Digital_Medicine.md +93 -0
  679. package/skills/write-paper/references/paper_types/ai_validation.md +270 -0
  680. package/skills/write-paper/references/paper_types/animal_study.md +194 -0
  681. package/skills/write-paper/references/paper_types/case_report.md +237 -0
  682. package/skills/write-paper/references/paper_types/cross_national.md +328 -0
  683. package/skills/write-paper/references/paper_types/letter.md +127 -0
  684. package/skills/write-paper/references/paper_types/meta_analysis.md +181 -0
  685. package/skills/write-paper/references/paper_types/nhis_cohort.md +297 -0
  686. package/skills/write-paper/references/paper_types/original_article.md +221 -0
  687. package/skills/write-paper/references/paper_types/technical_note.md +131 -0
  688. package/skills/write-paper/references/section_guides/discussion.md +155 -0
  689. package/skills/write-paper/references/section_guides/introduction.md +108 -0
  690. package/skills/write-paper/references/section_guides/methods.md +144 -0
  691. package/skills/write-paper/references/section_guides/results.md +113 -0
  692. package/skills/write-paper/references/section_guides/step7_1_classical_qc.md +67 -0
  693. package/skills/write-paper/references/section_guides/step7_4a_audit_recovery.md +74 -0
  694. package/skills/write-paper/references/section_guides/title_abstract.md +123 -0
  695. package/skills/write-paper/references/section_templates/methods_statistical.md +147 -0
  696. package/skills/write-paper/scripts/check_placeholders.py +182 -0
  697. package/skills/write-paper/skill.yml +48 -0
  698. package/skills/write-paper/tests/test_placeholders.sh +107 -0
  699. package/skills/write-protocol/SKILL.md +243 -0
  700. package/skills/write-protocol/references/ethics_checklist.md +150 -0
  701. package/skills/write-protocol/references/protocol_template.md +304 -0
  702. package/skills/write-protocol/skill.yml +34 -0
@@ -0,0 +1,135 @@
1
+ # PRISMA 2020 Checklist
2
+
3
+ **Preferred Reporting Items for Systematic Reviews and Meta-Analyses**
4
+ Version: PRISMA 2020
5
+ Source: https://www.prisma-statement.org
6
+
7
+ ## Checklist Items (27 items)
8
+
9
+ ### Title
10
+
11
+ | # | Item | Description |
12
+ |---|------|-------------|
13
+ | 1 | Title | Identify the report as a systematic review. |
14
+
15
+ ### Abstract
16
+
17
+ | # | Item | Description |
18
+ |---|------|-------------|
19
+ | 2 | Abstract | Provide a structured summary including, as applicable: background; objectives; data sources; study eligibility criteria, participants, and interventions; study appraisal and synthesis methods; results; limitations; conclusions and implications of key findings; systematic review registration number. |
20
+
21
+ ### Introduction
22
+
23
+ | # | Item | Description |
24
+ |---|------|-------------|
25
+ | 3 | Rationale | Describe the rationale for the review in the context of existing knowledge. |
26
+ | 4 | Objectives | Provide an explicit statement of the objective(s) or question(s) the review addresses using the PICO framework or similar. |
27
+
28
+ ### Methods
29
+
30
+ | # | Item | Description |
31
+ |---|------|-------------|
32
+ | 5 | Eligibility criteria | Specify the inclusion and exclusion criteria for the review and how studies were grouped for the syntheses. |
33
+ | 6 | Information sources | Specify all databases, registers, websites, organisations, reference lists, and other sources searched or consulted to identify studies. Specify the date when each source was last searched or consulted. |
34
+ | 7 | Search strategy | Present the full search strategies for all databases, registers, and websites, including any filters and limits used. |
35
+ | 8 | Selection process | Specify the methods used to decide whether a study met the inclusion criteria of the review, including how many reviewers screened each record and each report retrieved, whether they worked independently, and if applicable, details of automation tools used in the process. |
36
+ | 9 | Data collection process | Specify the methods used to collect data from reports, including how many reviewers collected data from each report, whether they worked independently, any processes for obtaining or confirming data from study investigators, and if applicable, details of automation tools used in the process. |
37
+ | 10a | Data items | List and define all outcomes for which data were sought. Specify whether all results that were compatible with each outcome domain in each study were sought (e.g., for all measures, time points, analyses), and if not, the methods used to decide which results to collect. |
38
+ | 10b | Data items | List and define all other variables for which data were sought (e.g., participant and intervention characteristics, funding sources). Describe any assumptions made about any missing or unclear information. |
39
+ | 11 | Study risk of bias assessment | Specify the methods used to assess risk of bias in the included studies, including details of the tool(s) used, how many reviewers assessed each study and whether they worked independently, and if applicable, details of automation tools used in the process. |
40
+ | 12 | Effect measures | Specify for each outcome the effect measure(s) (e.g., risk ratio, mean difference) used in the synthesis or presentation of results. |
41
+ | 13a | Synthesis methods | Describe the processes used to decide which studies were eligible for each synthesis (e.g., tabulating the study intervention characteristics and comparing against the planned groups for each synthesis). |
42
+ | 13b | Synthesis methods | Describe any methods required to prepare the data for presentation or synthesis, such as handling of multi-arm studies and multiple outcome measures. |
43
+ | 13c | Synthesis methods | Describe any methods used to tabulate or visually display results of individual studies and syntheses. |
44
+ | 13d | Synthesis methods | Describe any methods used to synthesize results and provide a rationale for the choice(s). If meta-analysis was performed, describe the model(s), method(s) to identify the presence and extent of statistical heterogeneity, and software package(s) used. |
45
+ | 13e | Synthesis methods | Describe any methods used to explore possible causes of heterogeneity among study results (e.g., subgroup analysis, meta-regression). |
46
+ | 13f | Synthesis methods | Describe any sensitivity analyses conducted to assess robustness of the synthesized results. |
47
+ | 14 | Reporting bias assessment | Describe any methods used to assess risk of bias due to missing results in a synthesis (arising from reporting biases). |
48
+ | 15 | Certainty assessment | Describe any methods used to assess certainty (or confidence) in the body of evidence for an outcome. |
49
+
50
+ ### Results
51
+
52
+ | # | Item | Description |
53
+ |---|------|-------------|
54
+ | 16a | Study selection | Describe the results of the search and selection process, ideally with a PRISMA flow diagram, from the number of records identified to the number of studies included in the review. |
55
+ | 16b | Study selection | Cite studies that might appear to meet the inclusion criteria, but which were excluded, and explain why they were excluded. |
56
+ | 17 | Study characteristics | Cite each included study and present its characteristics. |
57
+ | 18 | Risk of bias in studies | Present assessments of risk of bias for each included study. |
58
+ | 19 | Results of individual studies | For all outcomes, present, for each study: (a) summary statistics for each group (where appropriate) and (b) an effect estimate and its precision (e.g., confidence/credible interval), ideally using structured tables or forest plots. |
59
+ | 20a | Results of syntheses | For each synthesis, briefly summarise the characteristics and risk of bias among contributing studies. |
60
+ | 20b | Results of syntheses | Present results of all statistical syntheses conducted. If meta-analysis was done, present for each the summary estimate and its precision (e.g., confidence/credible interval) and measures of statistical heterogeneity. If comparing groups, describe the direction of the effect. |
61
+ | 20c | Results of syntheses | Present results of all investigations of possible causes of heterogeneity among study results. |
62
+ | 20d | Results of syntheses | Present results of all sensitivity analyses conducted to assess the robustness of the synthesized results. |
63
+ | 21 | Reporting biases | Present assessments of risk of bias due to missing results (arising from reporting biases) for each synthesis assessed. |
64
+ | 22 | Certainty of evidence | Present assessments of certainty (or confidence) in the body of evidence for each outcome assessed. |
65
+
66
+ ### Discussion
67
+
68
+ | # | Item | Description |
69
+ |---|------|-------------|
70
+ | 23a | Discussion | Provide a general interpretation of the results in the context of other evidence. |
71
+ | 23b | Discussion | Discuss any limitations of the evidence included in the review. |
72
+ | 23c | Discussion | Discuss any limitations of the review processes used. |
73
+ | 23d | Discussion | Discuss implications of the results for practice, policy, and future research. |
74
+
75
+ ### Other Information
76
+
77
+ | # | Item | Description |
78
+ |---|------|-------------|
79
+ | 24a | Registration and protocol | Provide registration information for the review, including register name and registration number, or state that the review was not registered. |
80
+ | 24b | Registration and protocol | Indicate where the review protocol can be accessed, or state that a protocol was not prepared. |
81
+ | 24c | Registration and protocol | Describe and explain any amendments to information provided at registration or in the protocol. |
82
+ | 25 | Support | Describe sources of financial or non-financial support for the review, and the role of the funders or sponsors in the review. |
83
+ | 26 | Competing interests | Declare any competing interests of review authors. |
84
+ | 27 | Availability of data, code, and other materials | Report which of the following are publicly available and where they can be found: template data collection forms; data extracted from included studies; data used for all analyses; analytic code; any other materials used in the review. |
85
+
86
+ ---
87
+
88
+ ## PRISMA 2020 Flow Diagram
89
+
90
+ The PRISMA flow diagram (item 16a) should include four phases:
91
+
92
+ ```
93
+ IDENTIFICATION
94
+ Records identified from databases (n = ?)
95
+ Records identified from other sources (n = ?)
96
+ |
97
+ v
98
+ Records removed before screening:
99
+ Duplicate records (n = ?)
100
+ Records marked as ineligible by automation tools (n = ?)
101
+ Records removed for other reasons (n = ?)
102
+ |
103
+ v
104
+ SCREENING
105
+ Records screened (n = ?)
106
+ Records excluded (n = ?)
107
+ |
108
+ v
109
+ Reports sought for retrieval (n = ?)
110
+ Reports not retrieved (n = ?)
111
+ |
112
+ v
113
+ Reports assessed for eligibility (n = ?)
114
+ Reports excluded (n = ?), with reasons:
115
+ Reason 1 (n = ?)
116
+ Reason 2 (n = ?)
117
+ Reason 3 (n = ?)
118
+ |
119
+ v
120
+ INCLUDED
121
+ Studies included in review (n = ?)
122
+ Reports of included studies (n = ?)
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Notes for Assessors
128
+
129
+ - PRISMA 2020 expanded from the original 27-item checklist; several items now have sub-items (e.g., 10a/10b, 13a-13f, 16a/16b).
130
+ - Item 7 (full search strategy): the complete strategy for at least one database must be provided, either in the manuscript or supplementary materials.
131
+ - Item 15 (certainty assessment): GRADE is the most common framework; mark as MISSING if no certainty assessment is reported.
132
+ - Item 24 (registration): PROSPERO is the standard registry for systematic reviews. If not registered, the authors should explicitly state this.
133
+ - Item 27 (data availability): increasingly required; check if authors state where extracted data and analytic code can be accessed.
134
+ - For systematic reviews of diagnostic test accuracy, also consider PRISMA-DTA extension.
135
+ - For reviews that include meta-analysis, items 13d (synthesis model) and 20b (heterogeneity measures) are critical.
@@ -0,0 +1,36 @@
1
+ # PRISMA-DTA Checklist
2
+
3
+ Preferred Reporting Items for Systematic Reviews and Meta-Analyses of Diagnostic Test Accuracy Studies.
4
+ Reference: McInnes MDF et al. JAMA 2018;319(4):388-396.
5
+
6
+ ## Checklist Items
7
+
8
+ | # | Section | Item |
9
+ |---|---------|------|
10
+ | 1 | Title | Identify the report as a systematic review (+/- meta-analysis) of diagnostic test accuracy studies |
11
+ | 2 | Abstract - Structured | Provide structured summary including objectives, data sources, study eligibility, participants, interventions, study appraisal and synthesis methods, results, limitations, conclusions, registration number |
12
+ | 3 | Introduction - Rationale | Describe the rationale for the review in the context of what is already known |
13
+ | 4 | Introduction - Objectives | State precise objectives, including PIRD elements |
14
+ | 5 | Methods - Protocol | Indicate if a review protocol exists, where it can be accessed, and registration information |
15
+ | 6 | Methods - Eligibility | Specify study characteristics and reporting characteristics used as criteria for eligibility |
16
+ | 7 | Methods - Information sources | Describe all information sources in the search and date last searched |
17
+ | 8 | Methods - Search | Present full electronic search strategy for at least one database |
18
+ | 9 | Methods - Study selection | State the process for selecting studies |
19
+ | 10 | Methods - Data collection | Describe method of data extraction from primary DTA studies and any processes for obtaining and confirming data from investigators |
20
+ | 11 | Methods - Data items | List and define all variables for which data were sought and any assumptions/simplifications made |
21
+ | 12 | Methods - Risk of bias | Describe methods used for assessing risk of bias of individual studies and how this information is used in data synthesis |
22
+ | 13 | Methods - Diagnostic accuracy measures | State the principal diagnostic accuracy measures and how they were calculated |
23
+ | 14 | Methods - Synthesis | Describe methods of handling data and combining results of studies including measures of statistical consistency |
24
+ | 15 | Methods - Risk of bias across studies | Specify any assessment of risk of bias that may affect the cumulative evidence |
25
+ | 16 | Methods - Additional analyses | Describe methods of additional analyses if done (e.g., sensitivity or subgroup analyses, meta-regression) |
26
+ | 17 | Results - Study selection | Give numbers of studies screened, assessed for eligibility, and included with reasons for exclusions at each stage; consider a flow diagram |
27
+ | 18 | Results - Study characteristics | For each study, present characteristics for which data were extracted and provide the citations |
28
+ | 19 | Results - Risk of bias within studies | Present risk of bias assessments for each included study |
29
+ | 20 | Results - Individual study results | For each analysis in each study, report 2x2 data with confidence intervals |
30
+ | 21 | Results - Synthesis of results | Describe test performance and present key results including confidence intervals for the meta-analysis |
31
+ | 22 | Results - Risk of bias across studies | Present results of any assessment of risk of bias across studies |
32
+ | 23 | Results - Additional analyses | Give results of additional analyses (subgroup, sensitivity, meta-regression) |
33
+ | 24 | Discussion - Summary | Summarize the main findings including strength of evidence |
34
+ | 25 | Discussion - Limitations | Discuss limitations at study and outcome level and at review level |
35
+ | 26 | Discussion - Conclusions | Provide a general interpretation of the results in the context of other evidence and implications for future research |
36
+ | 27 | Funding | Describe sources of funding for the systematic review and other support; role of funders |
@@ -0,0 +1,56 @@
1
+ # PRISMA-P Checklist
2
+
3
+ **Preferred Reporting Items for Systematic review and Meta-Analysis Protocols**
4
+ Version: PRISMA-P 2015
5
+ Source: Shamseer L et al. BMJ 2015;349:g7647.
6
+
7
+ ## Checklist Items (17 items, 26 sub-items)
8
+
9
+ ### Administrative Information
10
+
11
+ | # | Item | Description |
12
+ |---|------|-------------|
13
+ | 1a | Identification | Identify the report as a protocol of a systematic review |
14
+ | 1b | Update | If the protocol is for an update of a previous systematic review, identify as such |
15
+ | 2 | Registration | If registered, provide the name of the registry (such as PROSPERO) and registration number |
16
+ | 3a | Contact | Provide name, institutional affiliation, e-mail address of all protocol authors; provide physical mailing address of corresponding author |
17
+ | 3b | Contributions | Describe contributions of protocol authors and identify the guarantor of the review |
18
+ | 4 | Amendments | If the protocol represents an amendment of a previously completed or published protocol, identify as such and list changes; otherwise, state plan for documenting important protocol amendments |
19
+ | 5a | Sources | Indicate sources of financial or other support for the review |
20
+ | 5b | Sponsor | Provide name for the review funder and/or sponsor |
21
+ | 5c | Role of sponsor or funder | Describe roles of funder(s), sponsor(s), and/or institution(s), if any, in developing the protocol |
22
+
23
+ ### Introduction
24
+
25
+ | # | Item | Description |
26
+ |---|------|-------------|
27
+ | 6 | Rationale | Describe the rationale for the review in the context of what is already known |
28
+ | 7 | Objectives | Provide an explicit statement of the question(s) the review will address with reference to participants, interventions, comparators, and outcomes (PICO) |
29
+
30
+ ### Methods
31
+
32
+ | # | Item | Description |
33
+ |---|------|-------------|
34
+ | 8 | Eligibility criteria | Specify the study characteristics (such as PICO, study design, setting, time frame) and report characteristics (such as years considered, language, publication status) to be used as criteria for eligibility for the review |
35
+ | 9 | Information sources | Describe all intended information sources (such as electronic databases, contact with study authors, trial registers or other grey literature sources) with planned dates of coverage |
36
+ | 10 | Search strategy | Present draft of search strategy to be used for at least one electronic database, including planned limits, such that it could be repeated |
37
+ | 11a | Data management | Describe the mechanism(s) that will be used to manage records and data throughout the review |
38
+ | 11b | Selection process | State the process that will be used for selecting studies (such as two independent reviewers) through each phase of the review (that is, screening, eligibility and inclusion in meta-analysis) |
39
+ | 11c | Data collection process | Describe planned method of extracting data from reports (such as piloting forms, done independently, in duplicate), any processes for obtaining and confirming data from investigators |
40
+ | 12 | Data items | List and define all variables for which data will be sought (such as PICO items, funding sources), any pre-planned data assumptions and simplifications |
41
+ | 13 | Outcomes and prioritization | List and define all outcomes for which data will be sought, including prioritization of main and additional outcomes, with rationale |
42
+ | 14 | Risk of bias in individual studies | Describe anticipated methods for assessing risk of bias of individual studies, including whether this will be done at the outcome or study level, or both; state how this information will be used in data synthesis |
43
+ | 15a | Data synthesis | Describe criteria under which study data will be quantitatively synthesised |
44
+ | 15b | Data synthesis | If data are appropriate for quantitative synthesis, describe planned summary measures, methods of handling data and methods of combining data from studies, including any planned exploration of consistency (such as I^2, Kendall's tau) |
45
+ | 15c | Data synthesis | Describe any proposed additional analyses (such as sensitivity or subgroup analyses, meta-regression) |
46
+ | 15d | Data synthesis | If quantitative synthesis is not appropriate, describe the type of summary planned |
47
+ | 16 | Meta-bias(es) | Specify any planned assessment of meta-bias(es) (such as publication bias across studies, selective reporting within studies) |
48
+ | 17 | Confidence in cumulative evidence | Describe how the strength of the body of evidence will be assessed (such as GRADE) |
49
+
50
+ ---
51
+
52
+ ## Notes for Assessors
53
+
54
+ - This checklist should be read in conjunction with the PRISMA-P Explanation and Elaboration document
55
+ - Amendments to a review protocol should be tracked and dated
56
+ - The copyright for PRISMA-P is held by the PRISMA-P Group and is distributed under a Creative Commons Attribution Licence 4.0
@@ -0,0 +1,75 @@
1
+ # PROBAST Assessment Guide
2
+
3
+ Prediction model Risk Of Bias ASsessment Tool.
4
+ Reference: Wolff RF et al. Ann Intern Med 2019;170(1):51-58. PMID: 30596875.
5
+ AI extension: PROBAST+AI (BMJ 2024).
6
+
7
+ ## Structure
8
+
9
+ PROBAST assesses 4 domains, each for Risk of Bias AND Applicability.
10
+ - **Signalling questions**: Yes / Probably yes / No / Probably no / No information
11
+ - **Domain judgment**: Low / High / Unclear
12
+ - **Overall judgment**: High if any domain is high; Low only if all domains are low
13
+
14
+ ## Domain 1: Participants
15
+
16
+ ### Signalling Questions (Risk of Bias)
17
+ 1. Were appropriate data sources used (e.g., cohort, RCT, nested case-control)?
18
+ 2. Were all inclusions and exclusions of participants appropriate?
19
+
20
+ ### Applicability
21
+ - Do the participants and setting match the review question?
22
+
23
+ ## Domain 2: Predictors
24
+
25
+ ### Signalling Questions (Risk of Bias)
26
+ 1. Were predictors defined and assessed in a similar way for all participants?
27
+ 2. Were predictor assessments made without knowledge of outcome data?
28
+ 3. Are all predictors available at the time the model is intended to be used?
29
+
30
+ ### Applicability
31
+ - Do the predictors, their assessment, and timing match the review question?
32
+
33
+ ## Domain 3: Outcome
34
+
35
+ ### Signalling Questions (Risk of Bias)
36
+ 1. Was the outcome determined appropriately?
37
+ 2. Was a pre-specified or standard outcome definition used?
38
+ 3. Were predictors excluded from the outcome definition?
39
+ 4. Was the outcome defined and determined in a similar way for all participants?
40
+ 5. Was the outcome determined without knowledge of predictor information?
41
+ 6. Was the time interval between predictor assessment and outcome appropriate?
42
+
43
+ ### Applicability
44
+ - Does the outcome and its definition/timing match the review question?
45
+
46
+ ## Domain 4: Analysis
47
+
48
+ ### Signalling Questions (Risk of Bias)
49
+ 1. Were there a reasonable number of participants with the outcome?
50
+ 2. Were continuous and categorical predictors handled appropriately?
51
+ 3. Were all enrolled participants included in the analysis?
52
+ 4. Were participants with missing data handled appropriately?
53
+ 5. Was selection of predictors based on univariable analysis avoided?
54
+ 6. Were complexities in the data accounted for appropriately?
55
+ 7. Were relevant model performance measures evaluated appropriately?
56
+ 8. Were model overfitting and optimism in model performance accounted for?
57
+ 9. Do predictors and their assigned weights in the final model correspond to the reported multivariable analysis?
58
+
59
+ ### For Validation Studies (additional)
60
+ - Were the model and its performance evaluated appropriately?
61
+
62
+ ## PROBAST+AI Extensions (2024)
63
+
64
+ For AI/ML prediction models, additional considerations:
65
+ - **Data**: Training/validation/test split, data leakage check
66
+ - **Model**: Architecture transparency, hyperparameter tuning method
67
+ - **Performance**: Discrimination (AUC), calibration, fairness across subgroups
68
+ - **Reproducibility**: Code/data availability, external validation
69
+
70
+ ## When to Use
71
+
72
+ - Diagnostic prediction models (e.g., AI classifiers for imaging findings)
73
+ - Prognostic prediction models (e.g., risk scores, survival prediction)
74
+ - Both development AND validation studies
75
+ - Use PROBAST+AI when the model involves machine learning or deep learning
@@ -0,0 +1,130 @@
1
+ # PROBAST+AI Assessment Guide
2
+
3
+ Prediction model Risk Of Bias ASsessment Tool — updated for AI/ML methods.
4
+ Reference: Moons KGM et al. PROBAST+AI: an updated quality, risk of bias, and applicability assessment tool for prediction models using regression or artificial intelligence methods. BMJ 2025;388:e082505. doi: 10.1136/bmj-2024-082505.
5
+ Website: https://www.probast.org
6
+
7
+ ## Purpose
8
+
9
+ PROBAST+AI is the updated version of PROBAST (2019) that extends the original tool to cover prediction models developed using **machine learning and artificial intelligence** methods, in addition to traditional regression-based models. It replaces PROBAST-2019 for all new assessments.
10
+
11
+ ## What Changed from PROBAST-2019
12
+
13
+ - Updated signalling questions to address AI/ML-specific methodological considerations
14
+ - Expanded from 20 to **16 targeted signalling questions** for model development and **18 for model evaluation**
15
+ - Covers all prediction model types: regression, ML, DL, ensemble methods
16
+ - Applicable regardless of whether the model uses statistical or AI/ML techniques
17
+ - Original PROBAST Explanation and Elaboration document still provides useful background
18
+
19
+ ## Structure
20
+
21
+ PROBAST+AI has two distinct parts:
22
+ 1. **Model development** assessment: quality and applicability
23
+ 2. **Model evaluation** assessment: risk of bias and applicability
24
+
25
+ Both parts assess 4 domains:
26
+ - Domain 1: Participants
27
+ - Domain 2: Predictors
28
+ - Domain 3: Outcome
29
+ - Domain 4: Analysis
30
+
31
+ Signalling questions answered: Yes / Probably Yes / No / Probably No / No Information
32
+
33
+ ## Four Steps of Assessment
34
+
35
+ 1. Specify the intended purpose of the prediction model assessment or systematic review
36
+ 2. Classify the type of prediction model study (development or evaluation or both)
37
+ 3. Assess quality/applicability (development) or risk of bias/applicability (evaluation) for each domain
38
+ 4. Assess overall quality (development) or risk of bias (evaluation)
39
+
40
+ ## Domain 1: Participants
41
+
42
+ ### For Model Development (Quality)
43
+ - Were participants representative of the target population?
44
+ - Was the study setting appropriate?
45
+ - Were inclusion/exclusion criteria clearly defined?
46
+
47
+ ### For Model Evaluation (Risk of Bias)
48
+ - Were participants selected appropriately for the evaluation?
49
+ - Were participants representative of the intended target population?
50
+
51
+ ### Applicability
52
+ - Do the participants match the intended target population for the model?
53
+
54
+ ## Domain 2: Predictors
55
+
56
+ ### For Model Development (Quality)
57
+ - Were predictors defined and assessed in a standardized way?
58
+ - Were predictors available at the intended moment of use?
59
+ - Were all candidate predictors assessed appropriately?
60
+
61
+ ### For Model Evaluation (Risk of Bias)
62
+ - Were predictors assessed in the same way as in the development study?
63
+ - Were predictors assessed without knowledge of the outcome?
64
+
65
+ ### Applicability
66
+ - Do the predictor definitions and assessments match the intended use?
67
+
68
+ ## Domain 3: Outcome
69
+
70
+ ### For Model Development (Quality)
71
+ - Was the outcome clearly defined?
72
+ - Was the outcome determined appropriately?
73
+ - Was the time horizon appropriate?
74
+
75
+ ### For Model Evaluation (Risk of Bias)
76
+ - Was the outcome determined in the same way as in development?
77
+ - Was the outcome determined without knowledge of predictor information?
78
+
79
+ ### Applicability
80
+ - Does the outcome definition and assessment match the intended target?
81
+
82
+ ## Domain 4: Analysis
83
+
84
+ ### For Model Development (Quality — key AI/ML considerations)
85
+ - Was the sample size adequate for the modeling approach?
86
+ - Were missing data handled appropriately?
87
+ - Was the choice of algorithm/method appropriate?
88
+ - Were hyperparameters tuned appropriately (for ML/DL models)?
89
+ - Was overfitting addressed (regularization, early stopping, cross-validation)?
90
+ - Was model performance assessed using appropriate metrics?
91
+ - Was internal validation performed adequately (bootstrapping, cross-validation)?
92
+ - Were relevant performance measures reported (discrimination, calibration)?
93
+
94
+ ### For Model Evaluation (Risk of Bias — key AI/ML considerations)
95
+ - Was the evaluation dataset independent from the development dataset?
96
+ - Were appropriate performance measures used (discrimination AND calibration)?
97
+ - Was the statistical analysis appropriate?
98
+ - Were model updates or recalibration described if performed?
99
+
100
+ ### Applicability
101
+ - Does the analysis approach and validation strategy support the intended clinical use?
102
+
103
+ ## Overall Judgment
104
+
105
+ ### For Model Development: Overall Quality
106
+ - **High quality**: Low concern across all domains
107
+ - **Unclear quality**: Unclear in at least one domain
108
+ - **Low quality**: High concern in at least one domain
109
+
110
+ ### For Model Evaluation: Overall Risk of Bias
111
+ - **Low risk**: Low risk in all domains
112
+ - **Unclear risk**: Unclear in at least one domain, no high risk in any
113
+ - **High risk**: High risk in at least one domain
114
+
115
+ ## Key Differences from Original PROBAST-2019
116
+
117
+ | Aspect | PROBAST-2019 | PROBAST+AI |
118
+ |--------|-------------|------------|
119
+ | Scope | Regression models | Regression + AI/ML models |
120
+ | Development assessment | Risk of bias | **Quality** (more appropriate term) |
121
+ | Evaluation assessment | Risk of bias | Risk of bias (unchanged) |
122
+ | AI-specific items | None | Hyperparameter tuning, overfitting mitigation, algorithm choice |
123
+ | Signalling questions | 20 per assessment | 16 (development) / 18 (evaluation) |
124
+
125
+ ## When to Use
126
+
127
+ - Systematic reviews of prediction model studies (development, validation, or both)
128
+ - Applies to ALL prediction models regardless of algorithm (logistic regression, random forest, deep learning, etc.)
129
+ - Replaces PROBAST-2019 for new assessments
130
+ - Use alongside TRIPOD+AI for reporting quality assessment
@@ -0,0 +1,77 @@
1
+ # QUADAS-2 Assessment Guide
2
+
3
+ Quality Assessment of Diagnostic Accuracy Studies, version 2.
4
+ Reference: Whiting PF et al. Ann Intern Med 2011;155(8):529-536.
5
+
6
+ ## Structure
7
+
8
+ QUADAS-2 assesses 4 domains. Each domain has:
9
+ - **Signalling questions**: answered Yes / No / Unclear
10
+ - **Risk of bias judgment**: Low / High / Unclear
11
+ - **Applicability concern** (domains 1-3 only): Low / High / Unclear
12
+
13
+ ## Domain 1: Patient Selection
14
+
15
+ ### Signalling Questions
16
+ 1. Was a consecutive or random sample of patients enrolled?
17
+ 2. Was a case-control design avoided?
18
+ 3. Did the study avoid inappropriate exclusions?
19
+
20
+ ### Risk of Bias
21
+ - **Low**: Yes to all signalling questions
22
+ - **High**: No to any signalling question
23
+ - **Unclear**: Insufficient information
24
+
25
+ ### Applicability
26
+ - Are there concerns that the included patients and setting do not match the review question?
27
+
28
+ ## Domain 2: Index Test
29
+
30
+ ### Signalling Questions
31
+ 1. Were the index test results interpreted without knowledge of the results of the reference standard?
32
+ 2. If a threshold was used, was it pre-specified?
33
+
34
+ ### Risk of Bias
35
+ - **Low**: Yes to all signalling questions
36
+ - **High**: No to any signalling question
37
+ - **Unclear**: Insufficient information
38
+
39
+ ### Applicability
40
+ - Are there concerns that the index test, its conduct, or interpretation differ from the review question?
41
+
42
+ ## Domain 3: Reference Standard
43
+
44
+ ### Signalling Questions
45
+ 1. Is the reference standard likely to correctly classify the target condition?
46
+ 2. Were the reference standard results interpreted without knowledge of the results of the index test?
47
+
48
+ ### Risk of Bias
49
+ - **Low**: Yes to all signalling questions
50
+ - **High**: No to any signalling question
51
+ - **Unclear**: Insufficient information
52
+
53
+ ### Applicability
54
+ - Are there concerns that the target condition as defined by the reference standard does not match the question?
55
+
56
+ ## Domain 4: Flow and Timing
57
+
58
+ ### Signalling Questions
59
+ 1. Was there an appropriate interval between index test and reference standard?
60
+ 2. Did all patients receive the same reference standard?
61
+ 3. Were all patients included in the analysis?
62
+
63
+ ### Risk of Bias
64
+ - **Low**: Yes to all signalling questions
65
+ - **High**: No to any signalling question
66
+ - **Unclear**: Insufficient information
67
+
68
+ (No applicability concern for this domain)
69
+
70
+ ## Common Issues in DTA Studies
71
+
72
+ - **Partial verification bias**: Not all patients receive the reference standard (especially when invasive, e.g., biopsy)
73
+ - **Differential verification**: Different reference standards used for different patients
74
+ - **Incorporation bias**: Index test forms part of the reference standard
75
+ - **Review bias**: Knowledge of index test results influences reference standard interpretation
76
+ - **Clinical review bias**: Additional clinical information available during index test interpretation
77
+ - **Uninterpretable results**: Exclusion of technically inadequate or indeterminate results
@@ -0,0 +1,131 @@
1
+ # QUADAS-C Assessment Guide
2
+
3
+ Quality Assessment of Diagnostic Accuracy Studies — Comparative (extension to QUADAS-2).
4
+ Reference: Yang B et al. Guidance on how to use QUADAS-C. 2021. Available from: https://osf.io/hq8mf/files/
5
+
6
+ ## Purpose
7
+
8
+ QUADAS-C is an extension (add-on) to QUADAS-2 for assessing risk of bias in **comparative diagnostic test accuracy studies** — studies comparing two or more index tests in the same population.
9
+
10
+ QUADAS-C should be used **together with** QUADAS-2:
11
+ - QUADAS-2 assesses risk of bias for each individual test
12
+ - QUADAS-C assesses additional risk of bias for the **comparison** between tests
13
+
14
+ ## Structure
15
+
16
+ QUADAS-C assesses the same 4 domains as QUADAS-2, with comparative signalling questions:
17
+ - **Signalling questions**: answered Yes / No / Unclear
18
+ - **Risk of bias judgment**: Low / High / Unclear (for the comparison)
19
+ - **No applicability assessment** (inferred from QUADAS-2 judgments)
20
+
21
+ ## Comparative Study Designs
22
+
23
+ 1. **#1 Fully paired**: All participants receive all index tests (most robust)
24
+ 2. **#2 Randomized**: Participants randomly allocated to one index test
25
+ 3. **#3 Partially paired, random subset**: Some randomly selected for multiple tests
26
+ 4. **#4 Partially paired, nonrandom subset**: Some receive multiple tests by clinical decision
27
+ 5. **#5 Unpaired nonrandomized**: Different participants receive different tests
28
+
29
+ Designs #1, #2, and #3 protect against confounding. Designs #4 and #5 have serious confounding potential.
30
+
31
+ ## Four Phases of Completion
32
+
33
+ 1. State the review question (which tests are compared, for what condition, in which population)
34
+ 2. Tailor the tool (add/omit signalling questions per review)
35
+ 3. Review the flow diagram (must show how participants were assigned to index tests)
36
+ 4. Judge risk of bias (and applicability, based on QUADAS-2)
37
+
38
+ ## Domain 1: Patient Selection
39
+
40
+ ### Signalling Questions
41
+ 1. **(C1.1)** Was the risk of bias for each index test judged 'low' for this domain?
42
+ - If any index test is judged 'unclear' or 'high' in QUADAS-2, answer 'no'
43
+ 2. **(C1.2)** Was a fully paired or randomized design used?
44
+ - Designs #1, #2, and #3 (partially paired, random subset) → 'yes' or imply low risk
45
+ - A 'no' answer should almost always prompt 'high risk' for this domain
46
+ 3. **(C1.3)** Was the allocation sequence random? *(only applicable to randomized designs)*
47
+ - Random: computer-generated numbers, random number tables, drawing lots
48
+ - Non-random: alternation, dates, clinician preference
49
+ 4. **(C1.4)** Was the allocation sequence concealed until patients were enrolled and assigned? *(only applicable to randomized designs)*
50
+ - Appropriate: central randomization, telephone/internet service, sealed opaque envelopes
51
+
52
+ ### Risk of Bias Judgment
53
+ - **Low**: 'Yes' to all applicable signalling questions
54
+ - **High**: 'No' to C1.2 (not fully paired/randomized) almost always → high risk; 'No' to other questions raises concern
55
+ - **Unclear**: Insufficient information to judge
56
+
57
+ ## Domain 2: Index Test
58
+
59
+ ### Signalling Questions
60
+ 1. **(C2.1)** Was the risk of bias for each index test judged 'low' for this domain?
61
+ - If any test is 'high' or 'unclear' in QUADAS-2, the comparison is also at risk
62
+ 2. **(C2.2)** Were the index test results interpreted without knowledge of the results of the other index test(s)? *(only for paired/partially paired designs #1, #3, #4)*
63
+ - Consider: subjectivity of interpretation, order of testing, whether output is automated
64
+ 3. **(C2.3)** Is undergoing one index test unlikely to affect the performance of the other index test(s)? *(only for paired/partially paired designs #1, #3, #4)*
65
+ - Consider: learning effects, fatigue, tissue distortion, sample depletion
66
+ 4. **(C2.4)** Were the index tests conducted and interpreted without advantaging one of the tests?
67
+ - Tests should be performed under similar conditions; differences in sample handling, equipment generation, or operator experience may bias the comparison
68
+
69
+ ### Risk of Bias Judgment
70
+ - **Low**: 'Yes' to all applicable signalling questions
71
+ - **High**: 'No' to any question suggesting the comparison is unfairly biased
72
+ - **Unclear**: Insufficient information
73
+
74
+ ## Domain 3: Reference Standard
75
+
76
+ ### Signalling Questions
77
+ 1. **(C3.1)** Was the risk of bias for each index test judged 'low' for this domain?
78
+ - Reference standard misclassification biases both individual and comparative accuracy
79
+ 2. **(C3.2)** Did the reference standard avoid incorporating any of the index tests?
80
+ - If one index test is part of the reference standard, its accuracy is artificially inflated relative to the other test
81
+
82
+ ### Risk of Bias Judgment
83
+ - **Low**: 'Yes' to all signalling questions
84
+ - **High**: 'No' to any, particularly if incorporation affects tests asymmetrically
85
+ - **Unclear**: Insufficient information
86
+
87
+ ## Domain 4: Flow and Timing
88
+
89
+ ### Signalling Questions
90
+ 1. **(C4.1)** Was the risk of bias for each index test judged 'low' for this domain?
91
+ - Timing, verification, and exclusion issues for individual tests also bias the comparison
92
+ 2. **(C4.2)** Was there an appropriate interval between the index tests?
93
+ - Simultaneous or near-simultaneous testing avoids disease progression bias
94
+ - What is 'appropriate' depends on the disease (acute vs. chronic)
95
+ 3. **(C4.3)** Was the same reference standard used for all index tests?
96
+ - Different reference standards across test groups (e.g., surgery vs. follow-up) introduce differential verification bias
97
+ - If reference standards are exchangeable (detect same condition equally), a 'no' may not imply high risk
98
+ 4. **(C4.4)** Are the proportions and reasons for missing data similar across index tests?
99
+ - Differential missing data between test groups can bias the comparison
100
+ - Consider both proportion and mechanism of missingness
101
+
102
+ ### Risk of Bias Judgment
103
+ - **Low**: 'Yes' to all signalling questions
104
+ - **High**: 'No' to any question, particularly C4.3 (differential verification) or C4.4 (differential missing data)
105
+ - **Unclear**: Insufficient information
106
+
107
+ ## Optional Additional Signalling Questions (Table 4)
108
+
109
+ These are not part of the core tool but can be added to tailor for specific reviews:
110
+
111
+ | Domain | Question | Applicable to |
112
+ |--------|----------|---------------|
113
+ | Patient Selection | Were the same patient selection criteria used for those assigned to each index test? | Unpaired nonrandomized studies |
114
+ | Patient Selection | If patients received all index tests, was the decision to use all tests made before participants were recruited? | Paired studies |
115
+ | Patient Selection | Did the study avoid using prior tests as inclusion criteria that were correlated with only one of the index tests? | All |
116
+ | Index Test | Did the study avoid using index test thresholds that are likely to advantage some of the index tests? | Studies with nonbinary tests |
117
+ | Reference Standard | Is the mechanistic basis of one index test more closely shared with the reference standard than the other? | All |
118
+
119
+ ## Presenting QUADAS-C Results
120
+
121
+ - Present QUADAS-2 and QUADAS-C results side by side
122
+ - QUADAS-C results are specific to each test comparison (present separately if multiple comparisons)
123
+ - Use traffic-light tables: + (low risk, green), - (high risk, red), ? (unclear, yellow)
124
+ - Templates available at www.quadas.org
125
+
126
+ ## When to Use
127
+
128
+ - Systematic reviews comparing two or more diagnostic tests head-to-head
129
+ - Should always be used alongside QUADAS-2 (not as a replacement)
130
+ - Primarily designed for fully paired (#1) and randomized (#2) designs
131
+ - Can be adapted for other comparative designs with appropriate tailoring