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,179 @@
1
+ # ROBINS-E Assessment Guide
2
+
3
+ Risk Of Bias In Non-randomized Studies — of Exposures.
4
+ Reference: Higgins JPT et al. Environment International 2024;186:108602. doi: 10.1016/j.envint.2024.108602.
5
+ Website: https://www.riskofbias.info/welcome/robins-e-tool
6
+
7
+ ## Purpose
8
+
9
+ ROBINS-E assesses the risk of **material bias** in individual observational studies examining the effect of an **exposure** on an outcome. Designed for follow-up (cohort) studies. Material bias = bias sufficient to affect the direction of the estimated effect or impact the ability to draw conclusions.
10
+
11
+ ## Structure
12
+
13
+ ROBINS-E has:
14
+ - **Planning stage**: List confounders and consider appropriateness
15
+ - **Preliminary considerations** (per study): Sections A-E
16
+ - **7 bias domains** with signalling questions
17
+ - **Overall judgment** across domains
18
+
19
+ Signalling question responses: Yes / Probably yes / Probably no / No / No information
20
+ (Some questions have domain-specific response options)
21
+
22
+ Domain judgments: Low risk of bias / Some concerns / High risk of bias / Very high risk of bias
23
+
24
+ Three outputs per domain:
25
+ 1. Risk of bias judgment (algorithmic, overridable)
26
+ 2. Predicted direction of bias
27
+ 3. Whether bias threatens conclusions (Yes / No / Cannot tell)
28
+
29
+ ## Planning Stage
30
+
31
+ ### P1: List Important Confounding Factors
32
+ Specify confounders relevant to all or most studies on this topic. State whether they are particular to specific exposure-outcome combinations.
33
+
34
+ ### P2: Appropriateness Assessment
35
+ Will the review use the ROBINS-E assessment of appropriateness (study sensitivity)? → Yes / No
36
+ If Yes, complete Appendix 1 (Parts I, II, III).
37
+
38
+ ## Preliminary Considerations (Per Study)
39
+
40
+ ### A. Specify the Result Being Assessed
41
+ - ROBINS-E is specific to a particular study result
42
+ - Different results from the same study may have different risks of bias
43
+ - Specify the numerical result (e.g., RR=1.52, 95% CI 0.83 to 2.77)
44
+
45
+ ### B. Decide Whether to Proceed
46
+ - Some study characteristics may directly indicate very high risk of bias
47
+ - Screening section to identify such situations before detailed assessment
48
+
49
+ ### C. Specify the Analysis
50
+ - Gather information about participants, exposure measure(s), outcome, and analysis methods
51
+
52
+ ### D. Specify the Causal Effect
53
+ - Define the causal effect of exposure being estimated
54
+ - This is essential: the causal effect defines what the result would be in the absence of bias
55
+
56
+ ### E. Evaluation of Confounding Factors
57
+ - Identify which important confounders (from P1) are controlled for in the analysis
58
+ - Assess whether control is adequate
59
+
60
+ ## Domain 1: Risk of Bias Due to Confounding
61
+
62
+ ### Key Signalling Questions
63
+ - Were all important confounding domains measured?
64
+ - Were all important confounding domains adequately controlled for?
65
+ - Was the analysis adjusted for all important confounders, or was matching/restriction used?
66
+ - Were appropriate methods used to control confounding (regression, propensity score, IP weighting)?
67
+
68
+ ### Judgment
69
+ - **Low risk of bias (except for concerns about uncontrolled confounding)**: All critical confounders well addressed, but residual uncontrolled confounding cannot be eliminated in observational studies
70
+ - **Some concerns**: Minor concerns about residual confounding
71
+ - **High risk of bias**: Important confounders not adequately controlled
72
+ - **Very high risk of bias**: Critical confounding renders the estimate unreliable
73
+
74
+ *Note: For Domain 1, 'Low risk' is expressed as "Low risk of bias (except for concerns about uncontrolled confounding)" because uncontrolled confounding can never be fully excluded in observational studies.*
75
+
76
+ ## Domain 2: Risk of Bias Arising from Measurement of the Exposure
77
+
78
+ ### Key Signalling Questions
79
+ - Was the exposure clearly defined and consistently measured?
80
+ - Was exposure assessment valid and reliable?
81
+ - Was exposure measured at the appropriate time point?
82
+ - Was exposure classification differential with respect to the outcome?
83
+
84
+ ### Judgment
85
+ - **Low**: Exposure well-defined, measured validly, non-differential misclassification
86
+ - **Some concerns**: Minor measurement issues unlikely to materially affect results
87
+ - **High**: Exposure measurement likely to introduce material bias
88
+ - **Very high**: Exposure so poorly measured that no useful estimate possible
89
+
90
+ ## Domain 3: Risk of Bias in Selection of Participants
91
+
92
+ ### Key Signalling Questions
93
+ - Was selection into the study (or into the analysis) related to both exposure and outcome?
94
+ - Was start of follow-up aligned with exposure assessment?
95
+ - Were adjustments made for selection effects?
96
+
97
+ ### Judgment
98
+ - **Low**: Selection not related to both exposure and outcome
99
+ - **Some concerns**: Minor selection issues
100
+ - **High**: Selection bias likely to materially affect results
101
+ - **Very high**: Extreme selection bias
102
+
103
+ ## Domain 4: Risk of Bias Due to Post-exposure Interventions
104
+
105
+ ### Key Signalling Questions
106
+ - Were there post-exposure interventions that could have affected the outcome?
107
+ - Were these interventions differential across exposure groups?
108
+ - Were they likely to affect the estimated exposure effect?
109
+
110
+ ### Judgment
111
+ - **Low**: No important post-exposure interventions, or balanced across groups
112
+ - **Some concerns**: Some differential post-exposure interventions
113
+ - **High**: Important post-exposure interventions likely bias the result
114
+ - **Very high**: Post-exposure interventions dominate the observed effect
115
+
116
+ ## Domain 5: Risk of Bias Due to Missing Data
117
+
118
+ ### Key Signalling Questions
119
+ - Were outcome data available for all or nearly all participants?
120
+ - Were participants excluded due to missing data on exposure or other variables?
121
+ - Was the proportion of missing data similar across exposure groups?
122
+ - Were appropriate methods used to handle missing data?
123
+
124
+ ### Judgment
125
+ - **Low**: Complete data or minimal, non-differential missingness
126
+ - **Some concerns**: Some missing data but unlikely to materially bias results
127
+ - **High**: Missing data pattern likely to introduce material bias
128
+ - **Very high**: Extensive missing data with differential patterns
129
+
130
+ ## Domain 6: Risk of Bias Arising from Measurement of the Outcome
131
+
132
+ ### Key Signalling Questions
133
+ - Could outcome measurement have been influenced by knowledge of exposure status?
134
+ - Were outcome assessors blinded to exposure?
135
+ - Were outcome measures comparable across exposure groups?
136
+ - Was the outcome defined and assessed using validated methods?
137
+
138
+ ### Judgment
139
+ - **Low**: Objective outcome or blinded assessment, non-differential measurement
140
+ - **Some concerns**: Minor measurement concerns
141
+ - **High**: Outcome measurement likely differentially affected by exposure knowledge
142
+ - **Very high**: Outcome measurement severely compromised
143
+
144
+ ## Domain 7: Risk of Bias in Selection of the Reported Result
145
+
146
+ ### Key Signalling Questions
147
+ - Were multiple outcome measurements reported?
148
+ - Were multiple analyses performed (different adjustments, subgroups, models)?
149
+ - Is the reported result likely selected from among multiple measurements or analyses?
150
+
151
+ ### Judgment
152
+ - **Low**: Pre-specified analysis plan or single planned analysis
153
+ - **Some concerns**: Minor concerns about selective reporting
154
+ - **High**: Reported result likely selected to favor a particular conclusion
155
+ - **Very high**: Clear evidence of selective reporting
156
+
157
+ ## Overall Risk of Bias
158
+
159
+ Three overall judgments are derived from the domain judgments:
160
+
161
+ 1. **Overall risk of bias**: Most conservative across domains
162
+ - **Low**: Low in all domains
163
+ - **Some concerns**: Some concerns in at least one domain, but no high/very high
164
+ - **High**: High in at least one domain, but not very high in any
165
+ - **Very high**: Very high in at least one domain
166
+
167
+ 2. **Overall predicted direction of bias**: Considering all domains together
168
+
169
+ 3. **Overall: does bias threaten conclusions?**: Yes / No / Cannot tell
170
+
171
+ Justification should be provided when overriding algorithm-suggested judgments.
172
+
173
+ ## When to Use
174
+
175
+ - Systematic reviews of observational studies examining exposure effects (environmental, occupational, behavioral, dietary)
176
+ - Currently designed for cohort (follow-up) studies
177
+ - Not for case-control studies (extension planned)
178
+ - Not for intervention studies (use ROBINS-I instead)
179
+ - Complementary to GRADE for rating certainty of evidence from observational studies
@@ -0,0 +1,87 @@
1
+ # ROBINS-I Assessment Guide
2
+
3
+ Risk Of Bias In Non-randomised Studies - of Interventions.
4
+ Reference: Sterne JAC et al. BMJ 2016;355:i4919.
5
+
6
+ ## Structure
7
+
8
+ ROBINS-I assesses 7 domains + overall judgment.
9
+ - **Signalling questions**: Yes / Probably yes / Probably no / No / No information
10
+ - **Domain judgment**: Low / Moderate / Serious / Critical / No information
11
+ - **Overall judgment**: Lowest of all domain judgments (most conservative)
12
+
13
+ ## Pre-assessment Requirements
14
+
15
+ Before applying ROBINS-I, specify:
16
+ 1. The target trial (what RCT would ideally answer this question?)
17
+ 2. The effect of interest (assignment to intervention vs starting and adhering)
18
+ 3. Confounders to be controlled
19
+
20
+ ## Domain 1: Bias Due to Confounding
21
+
22
+ ### Key Questions
23
+ - Is there potential for confounding not accounted for?
24
+ - Did the authors use appropriate methods to control confounding (matching, regression, propensity score)?
25
+
26
+ ### Judgment
27
+ - **Low**: All critical confounders appropriately controlled
28
+ - **Moderate**: Minor concerns about residual confounding
29
+ - **Serious**: Important confounders not adequately controlled
30
+ - **Critical**: Confounding so severe that no useful estimate possible
31
+
32
+ ## Domain 2: Bias in Selection of Participants
33
+
34
+ ### Key Questions
35
+ - Was selection into the study related to both intervention and outcome?
36
+ - Was start of follow-up and intervention aligned?
37
+ - Were adjustments made for different start times?
38
+
39
+ ## Domain 3: Bias in Classification of Interventions
40
+
41
+ ### Key Questions
42
+ - Were intervention groups clearly defined?
43
+ - Was information used to classify interventions recorded at the start of the intervention?
44
+ - Could classification of intervention status have been affected by knowledge of the outcome?
45
+
46
+ ## Domain 4: Bias Due to Deviations from Intended Interventions
47
+
48
+ ### Key Questions
49
+ - Were there deviations from intended intervention beyond what would be expected?
50
+ - Were these deviations unbalanced between groups and likely to affect outcomes?
51
+ - Were important co-interventions balanced across groups?
52
+
53
+ ## Domain 5: Bias Due to Missing Data
54
+
55
+ ### Key Questions
56
+ - Were outcome data available for all or nearly all participants?
57
+ - Were participants excluded due to missing data on intervention or other variables?
58
+ - Was the proportion of missing data similar across groups?
59
+ - Were appropriate methods used to handle missing data?
60
+
61
+ ## Domain 6: Bias in Measurement of Outcomes
62
+
63
+ ### Key Questions
64
+ - Could outcome measurement have been influenced by knowledge of intervention?
65
+ - Were outcome assessors blinded?
66
+ - Were outcome measures comparable across groups?
67
+
68
+ ## Domain 7: Bias in Selection of Reported Result
69
+
70
+ ### Key Questions
71
+ - Were multiple outcome measurements reported?
72
+ - Were multiple analyses performed?
73
+ - Is the reported result likely selected from among multiple measurements or analyses?
74
+
75
+ ## Overall Risk of Bias
76
+
77
+ The overall judgment is the most conservative across all domains:
78
+ - **Low**: Low risk in all domains
79
+ - **Moderate**: Low or moderate in all domains
80
+ - **Serious**: Serious in at least one domain, but not critical in any
81
+ - **Critical**: Critical in at least one domain
82
+
83
+ ## Recommendation for Synthesis
84
+
85
+ - Studies at **critical** risk of bias should be excluded from meta-analysis
86
+ - Present critical studies in a separate table for completeness
87
+ - Conduct sensitivity analysis excluding serious risk of bias studies
@@ -0,0 +1,114 @@
1
+ # ROBIS Assessment Guide
2
+
3
+ Risk Of Bias In Systematic Reviews, version 1.2.
4
+ Reference: Whiting P et al. J Clin Epidemiol 2016;69:225-234.
5
+
6
+ ## Purpose
7
+
8
+ ROBIS assesses the risk of bias **in systematic reviews themselves** (not in individual studies). It evaluates whether the review process was conducted appropriately and whether the conclusions are trustworthy.
9
+
10
+ Applicable to reviews of: interventions, aetiology, diagnosis, and prognosis.
11
+
12
+ ## Structure
13
+
14
+ ROBIS has 3 phases:
15
+ - **Phase 1** (optional): Assessing relevance of the review to the target question
16
+ - **Phase 2**: Identifying concerns with the review process (4 domains, signalling questions)
17
+ - **Phase 3**: Judging overall risk of bias in the review
18
+
19
+ Signalling questions answered: Y (Yes) / PY (Probably Yes) / PN (Probably No) / N (No) / NI (No Information)
20
+
21
+ Domain concerns rated: LOW / HIGH / UNCLEAR
22
+
23
+ ## Phase 1: Assessing Relevance (Optional)
24
+
25
+ State the target question and compare it with the question addressed by the review.
26
+
27
+ For **intervention reviews**, specify: Patients/Population, Intervention(s), Comparator(s), Outcome(s)
28
+
29
+ For **aetiology reviews**, specify: Patients/Population, Exposure(s) and Comparator(s), Outcome(s)
30
+
31
+ For **DTA reviews**, specify: Patients, Index test(s), Reference standard, Target condition
32
+
33
+ For **prognostic reviews**, specify: Patients, Outcome to be predicted, Intended use of model, Intended moment in time
34
+
35
+ Final question: Does the question addressed by the review match the target question? → YES / NO / UNCLEAR
36
+
37
+ ## Phase 2: Identifying Concerns with the Review Process
38
+
39
+ ### Domain 1: Study Eligibility Criteria
40
+
41
+ Describe the study eligibility criteria, any restrictions, and whether objectives and criteria were pre-specified.
42
+
43
+ #### Signalling Questions
44
+ 1.1 Did the review adhere to pre-defined objectives and eligibility criteria?
45
+ 1.2 Were the eligibility criteria appropriate for the review question?
46
+ 1.3 Were eligibility criteria unambiguous?
47
+ 1.4 Were any restrictions in eligibility criteria based on study characteristics appropriate (e.g., date, sample size, study quality, outcomes measured)?
48
+ 1.5 Were any restrictions in eligibility criteria based on sources of information appropriate (e.g., publication status or format, language, availability of data)?
49
+
50
+ **Concerns regarding specification of study eligibility criteria:** LOW / HIGH / UNCLEAR
51
+
52
+ ### Domain 2: Identification and Selection of Studies
53
+
54
+ Describe methods of study identification and selection (e.g., number of reviewers involved).
55
+
56
+ #### Signalling Questions
57
+ 2.1 Did the search include an appropriate range of databases/electronic sources for published and unpublished reports?
58
+ 2.2 Were methods additional to database searching used to identify relevant reports?
59
+ 2.3 Were the terms and structure of the search strategy likely to retrieve as many eligible studies as possible?
60
+ 2.4 Were restrictions based on date, publication format, or language appropriate?
61
+ 2.5 Were efforts made to minimise error in selection of studies?
62
+
63
+ **Concerns regarding methods used to identify and/or select studies:** LOW / HIGH / UNCLEAR
64
+
65
+ ### Domain 3: Data Collection and Study Appraisal
66
+
67
+ Describe methods of data collection, what data were extracted, how risk of bias was assessed (e.g., number of reviewers), and the tool used.
68
+
69
+ #### Signalling Questions
70
+ 3.1 Were efforts made to minimise error in data collection?
71
+ 3.2 Were sufficient study characteristics available for both review authors and readers to be able to interpret the results?
72
+ 3.3 Were all relevant study results collected for use in the synthesis?
73
+ 3.4 Was risk of bias (or methodological quality) formally assessed using appropriate criteria?
74
+ 3.5 Were efforts made to minimise error in risk of bias assessment?
75
+
76
+ **Concerns regarding methods used to collect data and appraise studies:** LOW / HIGH / UNCLEAR
77
+
78
+ ### Domain 4: Synthesis and Findings
79
+
80
+ Describe synthesis methods.
81
+
82
+ #### Signalling Questions
83
+ 4.1 Did the synthesis include all studies that it should?
84
+ 4.2 Were all pre-defined analyses reported or departures explained?
85
+ 4.3 Was the synthesis appropriate given the nature and similarity in the research questions, study designs and outcomes across included studies?
86
+ 4.4 Was between-study variation (heterogeneity) minimal or addressed in the synthesis?
87
+ 4.5 Were the findings robust e.g. as demonstrated through funnel plot or sensitivity analyses?
88
+ 4.6 Were biases in primary studies minimal or addressed in the synthesis?
89
+
90
+ **Concerns regarding the synthesis and findings:** LOW / HIGH / UNCLEAR
91
+
92
+ ## Phase 3: Judging Risk of Bias in the Review
93
+
94
+ Describe whether conclusions were supported by the evidence.
95
+
96
+ ### Signalling Questions
97
+ A. Did the interpretation of findings address all of the concerns identified in Domains 1 to 4?
98
+ B. Was the relevance of identified studies to the review's research question appropriately considered?
99
+ C. Did the reviewers avoid emphasizing results on the basis of their statistical significance?
100
+
101
+ **Risk of bias in the review:** LOW / HIGH / UNCLEAR
102
+
103
+ ### Judgment Algorithm
104
+ - **Low risk**: Concerns are low across all domains and Phase 3 questions are favorable
105
+ - **High risk**: High concerns in one or more domains, or the interpretation does not adequately address identified concerns
106
+ - **Unclear**: Insufficient information to make a judgment
107
+
108
+ ## When to Use
109
+
110
+ - Assessing quality of existing systematic reviews (overview of reviews)
111
+ - Evaluating competing systematic reviews on the same topic
112
+ - Guideline development (appraising evidence base)
113
+ - Critical appraisal teaching and journal clubs
114
+ - Not for assessing individual primary studies (use QUADAS-2, RoB 2, ROBINS-I, etc.)
@@ -0,0 +1,126 @@
1
+ # ROB-ME Assessment Guide
2
+
3
+ Risk Of Bias due to Missing Evidence in a meta-analysis.
4
+ Reference: Page MJ et al. BMJ 2023;383:e076"; ROB-ME Cribsheet Version 1, October 2023.
5
+ Website: https://www.riskofbias.info/welcome/rob-me-tool
6
+
7
+ ## Purpose
8
+
9
+ ROB-ME assesses the risk of bias in a **pairwise meta-analysis result** due to missing evidence — encompassing both non-reporting biases (selective reporting of results) and non-publication biases (unpublished studies). It is applied at the synthesis level (not individual study level).
10
+
11
+ ## Structure
12
+
13
+ ROB-ME has 5 steps applied to **each meta-analysis** in a systematic review:
14
+ 1. Select and define meta-analyses to assess
15
+ 2. Determine which studies have missing results (Results Matrix)
16
+ 3. Consider the potential for missing studies across the systematic review
17
+ 4. Assess risk of bias due to missing evidence (signalling questions)
18
+ 5. Overall risk of bias judgment
19
+
20
+ Response options: Y (Yes) / PY (Probably Yes) / PN (Probably No) / N (No) / NI (No Information) / NA (Not Applicable)
21
+
22
+ Green-underlined responses are potential markers for **low** risk of bias.
23
+ Red responses are potential markers for **a** risk of bias.
24
+
25
+ ## Step 1: Select and Define Meta-analyses
26
+
27
+ For each meta-analysis, specify:
28
+ - The PICO: Participants, Intervention, Comparator, Outcome
29
+ - Eligible study designs
30
+ - Eligible outcome definitions (measures, metrics, time points)
31
+ - Eligible methods of analysis (analysis populations, crude vs adjusted estimates)
32
+
33
+ ## Step 2: Determine Which Studies Have Missing Results (Results Matrix)
34
+
35
+ For each study meeting inclusion criteria, create a Results Matrix using these symbols:
36
+
37
+ | Symbol | Meaning |
38
+ |--------|---------|
39
+ | check (green) | A study result is available for inclusion in the meta-analysis |
40
+ | ~ (yellow) | No study result available, for a reason **unrelated** to the P value, magnitude or direction |
41
+ | ? (orange) | Unclear whether an eligible result was generated |
42
+ | X (red) | No study result available, **likely because of** the P value, magnitude or direction |
43
+
44
+ Record: Study ID, Source(s) used, Number of participants analysed, and availability status for each meta-analysis.
45
+
46
+ Also record any known information about the results (direction of effect, statistical significance, or narrative descriptions).
47
+
48
+ ## Step 3: Consider the Potential for Missing Studies
49
+
50
+ Answer the following questions **once** for the systematic review as a whole:
51
+
52
+ ### Signalling Questions
53
+ 3.1 Were prospectively registered studies or studies identified for a prospective meta-analysis the only type of study eligible for inclusion?
54
+ - **Y**: inception cohort → lower risk of missing studies
55
+ - **N**: proceed to 3.2
56
+
57
+ 3.2 If N to 3.1: Would you expect every eligible study to be identifiable regardless of its results?
58
+ - **NA/Y/PY**: lower risk
59
+ - **PN/N**: higher risk — proceed to 3.3
60
+
61
+ 3.3 If Y/PY to 3.2: Were you likely to have found all eligible studies regardless of their results?
62
+ - Consider: trial registers searched, search strategy designed to retrieve regardless of outcomes
63
+ - **NA/Y/PY**: lower risk
64
+ - **PN/N**: higher risk — check the box indicating potential for missing studies
65
+
66
+ ## Step 4: Assess Risk of Bias (per meta-analysis)
67
+
68
+ Specify the meta-analysis details: description, summary effect estimate (95% CI), number of included studies and participants.
69
+
70
+ ### Within-study Assessment ('Known Unknowns')
71
+
72
+ 4.1 Of the studies identified, was there any for which no result was available for inclusion in the meta-analysis, **likely because of the P value, magnitude or direction** of the result generated (refer to Step 2)?
73
+ - Answer 'Yes' if any study has an 'X' in the Results Matrix for this meta-analysis
74
+ - **Y/N**
75
+
76
+ 4.2 If Y to 4.1: Is it likely that there would be a notable change to the summary effect estimate if the omitted results had been included?
77
+ - Consider: amount of missing evidence relative to total; direction of effect in omitted studies; fixed-effect vs random-effects model
78
+ - **Trivial missing → 'No/Probably no'**; Non-trivial with differing direction → 'Yes/Probably yes'
79
+ - **NA/Y/PY/PN/N/NI**
80
+
81
+ ### Within-study Assessment ('Unknown Unknowns')
82
+
83
+ 4.3 Of the studies identified, was there any for which it was unclear whether an eligible result was generated (refer to Step 2)?
84
+ - Answer 'Yes' if any study has a '?' in the Results Matrix
85
+ - **Y/N**
86
+
87
+ 4.4 If Y to 4.3: Is it likely that there would be a notable change to the summary effect estimate if the potentially omitted results had been included?
88
+ - Consider same factors as 4.2 but for 'potentially' missing evidence
89
+ - **NA/Y/PY/PN/N/NI**
90
+
91
+ ### Across-study Assessment
92
+
93
+ 4.5 Do circumstances (identified in Step 3) indicate potential for some eligible studies not being identified because of the P value, magnitude or direction of the results generated?
94
+ - Answer 'Yes' if the checkbox in Step 3 was checked
95
+ - **Y/N**
96
+
97
+ 4.6 If Y to 4.5: Is it likely that studies not identified had results that were eligible for inclusion in the meta-analysis?
98
+ - Consider: core outcome sets, scope of outcome domain, whether missing studies would have measured this outcome
99
+ - **NA/Y/PY/PN/N**
100
+
101
+ 4.7 If Y to 4.1, 4.3, or 4.5: Does the pattern of observed study results suggest that the meta-analysis is likely to be missing results that were systematically different (in terms of P value, magnitude or direction) from those observed?
102
+ - Methods: (1) funnel plot inspection, (2) funnel plot asymmetry test, (3) compare fixed-effect vs random-effects estimates, (4) inspect P values/direction in forest plot
103
+ - Distinguish small-study effects from non-reporting biases
104
+ - **NA/Y/PY/PN/N**
105
+
106
+ 4.8 If Y/PY/NI to 4.2, 4.4, 4.6, or 4.7: Did sensitivity analyses suggest that the summary effect estimate was biased due to missing results?
107
+ - Consider: selection models, regression-based adjustment, restricting to largest studies
108
+ - **NA/Y/PY/PN/N**
109
+
110
+ ## Step 5: Risk of Bias Judgment
111
+
112
+ ### Judgment Scale
113
+ - **Low**: Little or no concern about missing evidence biasing the meta-analysis result
114
+ - **Some concerns**: Some concern but not sufficient to judge high risk
115
+ - **High**: The meta-analysis result is likely biased due to missing evidence
116
+
117
+ ### Optional: Predicted Direction of Bias
118
+ - Favours experimental / Favours comparator / Towards null / Away from null / Unpredictable
119
+
120
+ ## When to Use
121
+
122
+ - Every pairwise meta-analysis in a systematic review (PRISMA 2020 recommends this)
123
+ - Replaces informal funnel plot interpretation with a structured assessment
124
+ - Complements individual study RoB tools (RoB 2, ROBINS-I, QUADAS-2)
125
+ - Not designed for network meta-analysis (use RoB NMA instead)
126
+ - Should be completed by someone familiar with the meta-analysis methods and included studies
@@ -0,0 +1,79 @@
1
+ # RoB 2 Assessment Guide
2
+
3
+ Revised Cochrane Risk-of-Bias tool for Randomised Trials.
4
+ Reference: Sterne JAC et al. BMJ 2019;366:l4898. PMID: 31462531.
5
+
6
+ ## Structure
7
+
8
+ RoB 2 assesses 5 domains for each outcome in each study.
9
+ - **Signalling questions**: Yes / Probably yes / Probably no / No / No information
10
+ - **Domain judgment**: Low risk / Some concerns / High risk
11
+ - **Overall judgment**: Most conservative across all domains
12
+
13
+ ## Domain 1: Bias Arising from the Randomisation Process
14
+
15
+ ### Signalling Questions
16
+ 1. Was the allocation sequence random?
17
+ 2. Was the allocation sequence concealed until participants were enrolled and assigned?
18
+ 3. Did baseline differences between groups suggest a problem with the randomisation process?
19
+
20
+ ### Judgment
21
+ - **Low**: Adequate random sequence generation AND allocation concealment, no problematic baseline imbalances
22
+ - **Some concerns**: Information insufficient to permit judgment
23
+ - **High**: Inadequate sequence generation or concealment, or problematic baseline imbalances suggest failure
24
+
25
+ ## Domain 2: Bias Due to Deviations from Intended Interventions
26
+
27
+ ### Effect of Interest: Assignment (intention-to-treat)
28
+ 1. Were participants aware of their assigned intervention during the trial?
29
+ 2. Were carers and people delivering the interventions aware of assigned intervention?
30
+ 3. Were there deviations from the intended intervention that arose because of the trial context?
31
+ 4. Were these deviations likely to have affected the outcome?
32
+ 5. Was an appropriate analysis used to estimate the effect of assignment to intervention?
33
+
34
+ ### Effect of Interest: Adherence (per-protocol)
35
+ 1-2. Same as above
36
+ 3. Were important non-protocol interventions balanced across groups?
37
+ 4. Could failures in implementing the intervention have affected the outcome?
38
+ 5. Did trial participants adhere to the assigned intervention regimen?
39
+ 6. Was an appropriate analysis used to estimate the effect of adhering to intervention?
40
+
41
+ ## Domain 3: Bias Due to Missing Outcome Data
42
+
43
+ ### Signalling Questions
44
+ 1. Were data for this outcome available for all, or nearly all, participants randomised?
45
+ 2. Is there evidence that the result was not biased by missing outcome data?
46
+ 3. Could missingness in the outcome depend on its true value?
47
+ 4. Is it likely that missingness depended on its true value?
48
+
49
+ ### Judgment
50
+ - **Low**: Data available for all/nearly all (>95%), or evidence result not biased by missing data
51
+ - **Some concerns**: Missingness could depend on true value but unlikely
52
+ - **High**: Missingness likely dependent on true value
53
+
54
+ ## Domain 4: Bias in Measurement of the Outcome
55
+
56
+ ### Signalling Questions
57
+ 1. Was the method of measuring the outcome inappropriate?
58
+ 2. Could measurement or ascertainment of the outcome have differed between groups?
59
+ 3. Were outcome assessors aware of the intervention received by study participants?
60
+ 4. Could assessment of the outcome have been influenced by knowledge of intervention?
61
+ 5. Is it likely that assessment was influenced by knowledge of intervention?
62
+
63
+ ## Domain 5: Bias in Selection of the Reported Result
64
+
65
+ ### Signalling Questions
66
+ 1. Were the data that produced this result analysed in accordance with a pre-specified analysis plan finalised before unblinded outcome data were available?
67
+ 2. Is the numerical result likely to have been selected from multiple eligible outcome measurements or analyses of the data?
68
+
69
+ ## Overall Risk of Bias
70
+
71
+ - **Low risk**: Low risk in all domains
72
+ - **Some concerns**: Some concerns in at least one domain, but not high risk in any
73
+ - **High risk**: High risk in at least one domain, OR some concerns in multiple domains in a way that substantially lowers confidence
74
+
75
+ ## When to Use
76
+
77
+ - Use for **individually randomised, parallel-group trials** (default)
78
+ - Variants available for: cluster-randomised trials, crossover trials
79
+ - Do NOT use for non-randomised studies (use ROBINS-I instead)