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,354 @@
1
+ # Academic AIO General Checklist
2
+
3
+ > Machine-readable checklist mirroring `SKILL.md` sections 1–12. Use as the canonical pass/fail audit table for any medical-AI artifact (manuscript, preprint, README, CITATION.cff, HF card). Each item maps to a SKILL.md section so audit findings can be traced back to the rule.
4
+
5
+ ## How to use
6
+
7
+ 1. Copy this checklist into the working artifact directory as `qc/aio_audit.md`.
8
+ 2. Determine the artifact's **lifecycle phase** (`pre-draft`, `drafting`, `pre-submission`, `post-acceptance`, `post-publication`) and filter rules whose `applies_to_phase` does not include the current phase — those become NA (do not surface as FAIL).
9
+ 3. Mark each remaining item PASS / PARTIAL / FAIL with a one-line reason.
10
+ 4. For FAIL items, generate a concrete edit suggestion ranked by `expected_lift` (`high` first, then `medium`, then `low`).
11
+ 5. Re-run after edits until ≥ 90 % of applicable items pass.
12
+ 6. Where an item carries a `defers_to` link, item-level detail belongs to the linked skill — record only the high-level status here to avoid duplicate audits.
13
+
14
+ ## Schema (v2)
15
+
16
+ ```
17
+ items[].id : §-numbered rule id
18
+ items[].rule : one-line description
19
+ items[].applies_to : artifact types where the rule fires
20
+ items[].applies_to_phase: lifecycle phases where the rule is actionable
21
+ items[].priority : H | M | L (severity if missing)
22
+ items[].expected_lift : high | medium | low (KJR-case-validated visibility gain)
23
+ items[].defers_to : optional skill / file owning item-level detail
24
+ ```
25
+
26
+ ## Checklist
27
+
28
+ ```yaml
29
+ checklist:
30
+ schema_version: 2
31
+ last_updated: "2026-05-11"
32
+
33
+ metadata:
34
+ artifact_path: ""
35
+ artifact_type: "" # manuscript | preprint | readme | citation_cff | hf_card | dataset_card
36
+ artifact_phase: "" # pre-draft | drafting | pre-submission | post-acceptance | post-publication
37
+ journal_target: ""
38
+ audit_date: "" # YYYY-MM-DD
39
+ reviewer: ""
40
+
41
+ items:
42
+ # Section 1 — Title and Abstract Optimization
43
+ - id: 1.1
44
+ rule: Title three-slot ([Task] + [Modality/anatomy] + [Model class])
45
+ applies_to: [title]
46
+ applies_to_phase: [drafting, pre-submission]
47
+ priority: H
48
+ expected_lift: high
49
+ - id: 1.2
50
+ rule: Structured abstract per journal template; chunk-friendly ≤3-sentence sub-blocks
51
+ applies_to: [abstract]
52
+ applies_to_phase: [drafting, pre-submission]
53
+ priority: H
54
+ expected_lift: high
55
+ - id: 1.3
56
+ rule: First sentence states problem + contribution; last sentence is explicit interpretation
57
+ applies_to: [abstract]
58
+ applies_to_phase: [drafting, pre-submission]
59
+ priority: H
60
+ expected_lift: high
61
+ - id: 1.4
62
+ rule: Taxonomy line names controlled vocabulary (e.g., DTA, foundation-model evaluation)
63
+ applies_to: [abstract]
64
+ applies_to_phase: [pre-submission]
65
+ priority: M
66
+ expected_lift: low
67
+ - id: 1.5
68
+ rule: Quantified primary outcome with 95 % CI in abstract
69
+ applies_to: [abstract]
70
+ applies_to_phase: [drafting, pre-submission]
71
+ priority: H
72
+ expected_lift: high
73
+ - id: 1.6
74
+ rule: Reporting-guideline anchor present (TRIPOD+AI / CLAIM / STARD-AI / TRIPOD-LLM / DECIDE-AI / PRISMA-DTA)
75
+ applies_to: [abstract, methods]
76
+ applies_to_phase: [drafting, pre-submission]
77
+ priority: H
78
+ expected_lift: high
79
+ defers_to: /check-reporting # item-level audit; AIO records anchor-present status only
80
+ - id: 1.7
81
+ rule: MeSH and RadLex coverage; consistent UK/US spelling; no abstract-keyword redundancy
82
+ applies_to: [keywords, abstract]
83
+ applies_to_phase: [pre-submission]
84
+ priority: M
85
+ expected_lift: medium
86
+
87
+ # Section 2 — Manuscript-Level
88
+ - id: 2.1
89
+ rule: Journal-specific summary box present (Research in context / Key Points / PLS / Main Points)
90
+ applies_to: [manuscript]
91
+ applies_to_phase: [drafting, pre-submission]
92
+ priority: H
93
+ expected_lift: high # KJR case: top extracted fragment by AI overviews
94
+ - id: 2.2
95
+ rule: Section headings are declarative claims, not generic labels
96
+ applies_to: [manuscript]
97
+ applies_to_phase: [drafting, pre-submission]
98
+ priority: M
99
+ expected_lift: medium
100
+ - id: 2.3
101
+ rule: Numeric claim compression sentence in Methods and Results
102
+ applies_to: [methods, results]
103
+ applies_to_phase: [drafting, pre-submission]
104
+ priority: M
105
+ expected_lift: medium
106
+ - id: 2.4
107
+ rule: Reproducibility block (data, code, weights, prompts, seeds, env)
108
+ applies_to: [methods, data_availability]
109
+ applies_to_phase: [pre-submission]
110
+ priority: H
111
+ expected_lift: high
112
+ - id: 2.5
113
+ rule: Limitations enumerated and named
114
+ applies_to: [discussion]
115
+ applies_to_phase: [drafting, pre-submission]
116
+ priority: M
117
+ expected_lift: medium
118
+ - id: 2.6
119
+ rule: Standalone figure captions restate claim, dataset, and metric
120
+ applies_to: [figures]
121
+ applies_to_phase: [pre-submission]
122
+ priority: M
123
+ expected_lift: low
124
+
125
+ # Section 3 — Preprint, Channel, Indexing
126
+ - id: 3.1
127
+ rule: Preprint posted on submission day, OR fast-track justified
128
+ applies_to: [submission_strategy]
129
+ applies_to_phase: [pre-submission]
130
+ priority: H
131
+ expected_lift: high
132
+ - id: 3.2
133
+ rule: Journal preprint policy verified (Sherpa Romeo or IFA)
134
+ applies_to: [submission_strategy]
135
+ applies_to_phase: [pre-submission]
136
+ priority: H
137
+ expected_lift: medium
138
+ - id: 3.4
139
+ rule: Open-access route selected (gold OA preferred; green OA acceptable)
140
+ applies_to: [submission_strategy]
141
+ applies_to_phase: [pre-draft, pre-submission]
142
+ priority: H
143
+ expected_lift: high
144
+ defers_to: references/oac_funding_checklist.yaml
145
+ - id: 3.5
146
+ rule: Post-acceptance channel checklist scheduled (PMC, ORCID, Scholar, SNS, HF)
147
+ applies_to: [post_acceptance]
148
+ applies_to_phase: [post-acceptance]
149
+ priority: M
150
+ expected_lift: high
151
+
152
+ # Section 5 — GitHub / CITATION.cff / Zenodo / HF
153
+ - id: 5.1
154
+ rule: README follows 10-slot canonical order
155
+ applies_to: [readme]
156
+ applies_to_phase: [post-acceptance, post-publication]
157
+ priority: H
158
+ expected_lift: medium
159
+ - id: 5.2
160
+ rule: CITATION.cff present at repo root with ORCID, DOI, version
161
+ applies_to: [citation_cff]
162
+ applies_to_phase: [post-acceptance, post-publication]
163
+ priority: H
164
+ expected_lift: medium
165
+ - id: 5.3
166
+ rule: Zenodo DOI minted via GitHub integration; cited in paper
167
+ applies_to: [zenodo, manuscript]
168
+ applies_to_phase: [pre-submission, post-acceptance]
169
+ priority: H
170
+ expected_lift: high
171
+ - id: 5.4
172
+ rule: Hugging Face model card YAML keys + required prose sections complete
173
+ applies_to: [hf_card]
174
+ applies_to_phase: [post-acceptance, post-publication]
175
+ priority: H
176
+ expected_lift: medium
177
+ - id: 5.5
178
+ rule: Hugging Face dataset card includes PHI/re-identification disclosure
179
+ applies_to: [dataset_card]
180
+ applies_to_phase: [post-acceptance, post-publication]
181
+ priority: H
182
+ expected_lift: medium
183
+ - id: 5.6
184
+ rule: Web-crawler-friendly markdown (declarative headings, alt text, fenced code, JSON-LD)
185
+ applies_to: [readme, hf_card]
186
+ applies_to_phase: [post-acceptance, post-publication]
187
+ priority: M
188
+ expected_lift: medium
189
+
190
+ # Section 6 — Authority / E-E-A-T
191
+ - id: 6.1
192
+ rule: Personal author landing page lists all papers with DOIs
193
+ applies_to: [author_profile]
194
+ applies_to_phase: [pre-draft, drafting, pre-submission, post-acceptance, post-publication]
195
+ priority: M
196
+ expected_lift: medium
197
+ - id: 6.2
198
+ rule: Affiliation string consistent across papers
199
+ applies_to: [author_profile]
200
+ applies_to_phase: [drafting, pre-submission]
201
+ priority: H
202
+ expected_lift: high
203
+ - id: 6.3
204
+ rule: ORCID complete and linked to Google Scholar
205
+ applies_to: [author_profile]
206
+ applies_to_phase: [pre-draft, drafting, pre-submission, post-acceptance, post-publication]
207
+ priority: H
208
+ expected_lift: high
209
+
210
+ # Section 7 — LLM-Citation Fabrication Defense
211
+ - id: 7.1
212
+ rule: DOI + PMID surfaced in copy-friendly text on landing page and README
213
+ applies_to: [readme, manuscript]
214
+ applies_to_phase: [post-acceptance, post-publication]
215
+ priority: H
216
+ expected_lift: high
217
+ - id: 7.2
218
+ rule: "How to cite" section with BibTeX, APA, Vancouver, plain-text
219
+ applies_to: [readme]
220
+ applies_to_phase: [post-acceptance, post-publication]
221
+ priority: H
222
+ expected_lift: medium
223
+ - id: 7.3
224
+ rule: Scholar alert configured; Perplexity / ChatGPT probes scheduled
225
+ applies_to: [post_acceptance]
226
+ applies_to_phase: [post-publication]
227
+ priority: M
228
+ expected_lift: low
229
+
230
+ # Section 10 — Q&A and Entity-Extraction
231
+ - id: 10.1
232
+ rule: Four-question Q&A block (What was known / What this adds / How this changes practice / Why it matters)
233
+ applies_to: [discussion, supplement]
234
+ applies_to_phase: [drafting, pre-submission]
235
+ priority: H
236
+ expected_lift: high # KJR case: directly correlated with AI-overview extraction
237
+ - id: 10.2
238
+ rule: Glossary block with MeSH / RadLex / UMLS / arXiv IDs
239
+ applies_to: [methods, supplement]
240
+ applies_to_phase: [pre-submission]
241
+ priority: L
242
+ expected_lift: low # over-engineering for non-NLP / non-foundation-model papers; apply selectively
243
+ - id: 10.3
244
+ rule: Inline citation anchor text uses semantic predicates, not bare numbers
245
+ applies_to: [manuscript]
246
+ applies_to_phase: [drafting, pre-submission]
247
+ priority: M
248
+ expected_lift: medium
249
+ - id: 10.4
250
+ rule: Explicit "Why this is hard" challenge statement at start of Discussion
251
+ applies_to: [discussion]
252
+ applies_to_phase: [drafting, pre-submission]
253
+ priority: H
254
+ expected_lift: high # KJR case: top quoted fragment by Perplexity / ChatGPT web
255
+
256
+ # Section 11 — First-Mover Timing and Citation-Graph
257
+ - id: 11.1
258
+ rule: Topic-peak signals checked before submission timing decision
259
+ applies_to: [submission_strategy]
260
+ applies_to_phase: [pre-draft]
261
+ priority: H
262
+ expected_lift: high
263
+ - id: 11.2
264
+ rule: Editorial-board leverage considered (corresponding author affiliation)
265
+ applies_to: [submission_strategy]
266
+ applies_to_phase: [pre-draft]
267
+ priority: M
268
+ expected_lift: medium
269
+ - id: 11.3
270
+ rule: Target journal verified as PMC-auto-deposit when applicable
271
+ applies_to: [submission_strategy]
272
+ applies_to_phase: [pre-draft, pre-submission]
273
+ priority: H
274
+ expected_lift: high
275
+ defers_to: references/oac_funding_checklist.yaml
276
+ - id: 11.4
277
+ rule: Discussion anchored in 5–10 high-visibility seminal works
278
+ applies_to: [discussion]
279
+ applies_to_phase: [drafting]
280
+ priority: M
281
+ expected_lift: medium
282
+ - id: 11.5
283
+ rule: Author roster spans ≥ 3 institutions and ≥ 2 disciplines (review papers)
284
+ applies_to: [authorship]
285
+ applies_to_phase: [pre-draft]
286
+ priority: M
287
+ expected_lift: medium # not actionable once drafting begins; auto-NA in later phases
288
+
289
+ # Section 12 — Cross-Platform Launch Sequencing
290
+ - id: 12.1
291
+ rule: Day-0 simultaneous launch (GitHub release, HF card, X/Threads, LinkedIn, landing page)
292
+ applies_to: [post_acceptance]
293
+ applies_to_phase: [post-acceptance]
294
+ priority: H
295
+ expected_lift: high
296
+ - id: 12.2
297
+ rule: Day-1 propagation (ORCID, Scholar, preprint update, institutional page)
298
+ applies_to: [post_acceptance]
299
+ applies_to_phase: [post-acceptance]
300
+ priority: M
301
+ expected_lift: medium
302
+ - id: 12.3
303
+ rule: Week-1 depth posts (LinkedIn long-form, Papers with Code, ResearchGate)
304
+ applies_to: [post_acceptance]
305
+ applies_to_phase: [post-acceptance]
306
+ priority: M
307
+ expected_lift: medium
308
+ - id: 12.4
309
+ rule: Weeks 2–4 refresh signals scheduled
310
+ applies_to: [post_acceptance]
311
+ applies_to_phase: [post-publication]
312
+ priority: L
313
+ expected_lift: low
314
+ - id: 12.5
315
+ rule: Month-1 monitoring (alerts + AI-search probes)
316
+ applies_to: [post_acceptance]
317
+ applies_to_phase: [post-publication]
318
+ priority: M
319
+ expected_lift: medium
320
+ ```
321
+
322
+ ## Output template (paste into qc/aio_audit.md)
323
+
324
+ ```markdown
325
+ # AIO Audit — {artifact_path}
326
+
327
+ **Phase**: {pre-draft | drafting | pre-submission | post-acceptance | post-publication}
328
+ **Top 5 ranked by expected_lift (high → medium → low):**
329
+
330
+ | Rank | ID | Rule | Status | Reason | Suggested edit |
331
+ |------|----|------|--------|--------|----------------|
332
+ | 1 | {id} | … | FAIL | … | … |
333
+ | ... |
334
+
335
+ ## Full table (applicable items only — out-of-phase rules auto-NA)
336
+
337
+ | ID | Rule | Lift | Status | Reason | Suggested edit |
338
+ |----|------|------|--------|--------|----------------|
339
+ | ... |
340
+
341
+ ## Deferred items (audit elsewhere)
342
+
343
+ - §1.6 → run `/check-reporting`
344
+ - §3.4 / §11.3 → see `references/oac_funding_checklist.yaml`
345
+
346
+ ## Summary
347
+
348
+ - PASS: X / Y applicable items
349
+ - High-lift fixes pending: …
350
+ ```
351
+
352
+ ## Migration from schema v1
353
+
354
+ If a prior `qc/aio_audit.md` was generated under schema v1 (no `applies_to_phase` / `expected_lift`), regenerate from this v2 file. The id list is unchanged so prior PASS/FAIL state can be re-imported by id.
@@ -0,0 +1,126 @@
1
+ ---
2
+ schema_version: 1
3
+ last_updated: "2026-05-10"
4
+ purpose: |
5
+ Templates for journal-specific summary boxes used in medical-AI manuscripts.
6
+ Each entry mirrors the journal's Instructions for Authors (IFA) at the date
7
+ shown. USER MUST VERIFY the current IFA before applying — journal policies
8
+ change without notice.
9
+
10
+ verification_protocol: |
11
+ Before applying any template:
12
+ 1. Open the journal's current IFA URL (ifa_url field).
13
+ 2. Compare structure / labels / word targets to this YAML.
14
+ 3. If any field has changed since `last_verified`, update this file before
15
+ deriving the manuscript's box.
16
+ 4. Treat `last_verified` older than 6 months as STALE — re-verify before
17
+ submission.
18
+
19
+ journals:
20
+ - id: lancet-digital-health
21
+ name: The Lancet Digital Health
22
+ box_label: Research in context
23
+ ifa_url: https://www.thelancet.com/journals/landig/about
24
+ last_verified: "2026-05-10"
25
+ placement: After Introduction in main text, or as Panel 1.
26
+ structure:
27
+ - id: evidence-before
28
+ label: Evidence before this study
29
+ word_target: 100-200
30
+ notes: |
31
+ Describe the systematic search method (databases, dates, terms) and
32
+ what was known prior to this study.
33
+ - id: added-value
34
+ label: Added value of this study
35
+ word_target: 100-200
36
+ notes: |
37
+ State the contribution and how it advances the field beyond the
38
+ evidence summarized above.
39
+ - id: implications
40
+ label: Implications of all the available evidence
41
+ word_target: 100-200
42
+ notes: |
43
+ How findings (combined with prior evidence) should change clinical
44
+ practice, policy, or future research.
45
+ user_must_verify: true
46
+
47
+ - id: rsna-radiology
48
+ name: Radiology (RSNA)
49
+ box_label: Key Results
50
+ ifa_url: https://pubs.rsna.org/page/radiology/author-instructions
51
+ last_verified: "2026-05-10"
52
+ placement: First page of article, after Abstract.
53
+ structure:
54
+ - id: key-results
55
+ label: Key Results
56
+ format: 3 bullets, claim-centric, one finding each
57
+ notes: |
58
+ Each bullet should state a primary outcome with point estimate and
59
+ confidence interval where applicable. Avoid hedging language.
60
+ user_must_verify: true
61
+
62
+ - id: rsna-radiology-ai
63
+ name: Radiology Artificial Intelligence (RSNA)
64
+ box_label: Key Points
65
+ ifa_url: https://pubs.rsna.org/page/ai/author-instructions
66
+ last_verified: "2026-05-10"
67
+ placement: After Abstract.
68
+ structure:
69
+ - id: key-points
70
+ label: Key Points
71
+ format: 3 bullets
72
+ notes: |
73
+ Same conventions as Radiology Key Results — claim-centric, numeric
74
+ where possible.
75
+ user_must_verify: true
76
+
77
+ - id: npj-digital-medicine
78
+ name: npj Digital Medicine
79
+ box_label: Plain Language Summary
80
+ ifa_url: https://www.nature.com/npjdigitalmed/submission-guidelines
81
+ last_verified: "2026-05-10"
82
+ placement: After Abstract; required for all primary research.
83
+ structure:
84
+ - id: pls
85
+ label: Plain Language Summary
86
+ word_target: 150-200
87
+ reading_level: 8th-grade
88
+ notes: |
89
+ Avoid jargon, define acronyms inline, prefer everyday vocabulary.
90
+ Should be readable by a non-specialist physician or informed lay
91
+ reader. No quantitative thresholds; describe magnitude in plain terms.
92
+ user_must_verify: true
93
+
94
+ - id: nature-medicine
95
+ name: Nature Medicine
96
+ box_label: Editor's Summary
97
+ ifa_url: https://www.nature.com/nm/for-authors
98
+ last_verified: "2026-05-10"
99
+ placement: Editorial-supplied at acceptance; not author-drafted in main text.
100
+ structure:
101
+ - id: editor-summary
102
+ label: Editor's Summary
103
+ word_target: 100-150
104
+ notes: |
105
+ Supplied by the editorial team after acceptance. Authors should
106
+ proactively draft a 100–150 word version for the cover letter and
107
+ post-acceptance launch materials, so the editor has anchor wording
108
+ to refine.
109
+ user_must_verify: true
110
+
111
+ - id: jamia
112
+ name: JAMIA (Journal of the American Medical Informatics Association)
113
+ box_label: (none mandated; structured abstract used)
114
+ ifa_url: https://academic.oup.com/jamia/pages/General_Instructions
115
+ last_verified: "2026-05-10"
116
+ placement: Structured abstract serves the role of summary box.
117
+ structure:
118
+ - id: structured-abstract
119
+ label: Structured Abstract
120
+ format: Objective / Materials and Methods / Results / Discussion / Conclusion
121
+ notes: Treat each section as a chunk-friendly semantic block (≤ 3 sentences).
122
+ user_must_verify: true
123
+
124
+ related:
125
+ - skills/academic-aio/SKILL.md Section 2.1 (manuscript-level summary box)
126
+ - skills/academic-aio/SKILL.md Section 1.6 (reporting-guideline anchor)
@@ -0,0 +1,129 @@
1
+ ---
2
+ schema_version: 1
3
+ last_updated: "2026-05-10"
4
+ purpose: |
5
+ Open-access compliance matrix for major funders that medical-AI researchers
6
+ may encounter. Use to decide gold OA vs green OA vs preprint route per paper.
7
+ Funder policies change; verify the policy_url before applying.
8
+
9
+ verification_protocol: |
10
+ All funder policies change without notice.
11
+ - Verify policy_url before applying decisions.
12
+ - Treat `last_verified` older than 6 months as STALE.
13
+ - When in doubt, contact the institution's research-administration office.
14
+
15
+ funders:
16
+ - id: plan-s
17
+ name: cOAlition S (Plan S)
18
+ region: Europe (multiple national funders)
19
+ policy_url: https://www.coalition-s.org/plan-s-principles/
20
+ last_verified: "2026-05-10"
21
+ requirement: Immediate OA on publication; no embargo allowed.
22
+ accepted_routes:
23
+ - Gold OA with CC-BY (preferred)
24
+ - Green OA via repository deposit at publication (no embargo)
25
+ apc_cap: ~ EUR 2,500 typical, varies by funder
26
+ notes: Strict; transformative agreements widely available.
27
+ user_must_verify: true
28
+
29
+ - id: nih-public-access
30
+ name: US NIH Public Access Policy
31
+ region: United States
32
+ policy_url: https://publicaccess.nih.gov/
33
+ last_verified: "2026-05-10"
34
+ requirement: |
35
+ From 2025 onward NIH policy requires manuscript deposit in PMC at
36
+ publication (no 12-month embargo). Earlier grants may still operate
37
+ under the legacy 12-month rule.
38
+ accepted_routes:
39
+ - Gold OA (publisher deposits to PMC)
40
+ - Green OA (author deposits AAM to PMC via NIHMS)
41
+ apc_cap: No cap; APCs are eligible expenses on most grants.
42
+ user_must_verify: true
43
+
44
+ - id: ukri
45
+ name: UK Research and Innovation (UKRI)
46
+ region: United Kingdom
47
+ policy_url: https://www.ukri.org/manage-your-award/publishing-your-research-findings/making-your-research-open/
48
+ last_verified: "2026-05-10"
49
+ requirement: Immediate OA; CC-BY preferred.
50
+ accepted_routes:
51
+ - Gold OA via transformative agreement (preferred)
52
+ - Green OA in approved repository at publication
53
+ user_must_verify: true
54
+
55
+ - id: gates-foundation
56
+ name: Bill & Melinda Gates Foundation
57
+ region: Global
58
+ policy_url: https://openaccess.gatesfoundation.org/
59
+ last_verified: "2026-05-10"
60
+ requirement: Immediate OA, CC-BY, no embargo.
61
+ accepted_routes:
62
+ - Gold OA (mandatory)
63
+ notes: Strictest among major funders. Closed-access publication is non-compliant.
64
+ user_must_verify: true
65
+
66
+ - id: wellcome
67
+ name: Wellcome Trust
68
+ region: UK / global
69
+ policy_url: https://wellcome.org/grant-funding/guidance/open-access-policy
70
+ last_verified: "2026-05-10"
71
+ requirement: Immediate OA, CC-BY, including for preprints.
72
+ accepted_routes:
73
+ - Gold OA (preferred)
74
+ - Green OA at publication
75
+ user_must_verify: true
76
+
77
+ - id: nrf-korea
78
+ name: National Research Foundation of Korea (NRF)
79
+ region: South Korea
80
+ policy_url: https://www.nrf.re.kr/
81
+ last_verified: "2026-05-10"
82
+ requirement: |
83
+ No formal mandatory immediate-OA policy as of 2026-Q2. Gold OA is
84
+ encouraged and APCs are eligible expenses on most grants.
85
+ accepted_routes:
86
+ - Gold OA (encouraged)
87
+ - Green OA (acceptable)
88
+ user_must_verify: true
89
+
90
+ - id: hira-mohw
91
+ name: Korean Ministry of Health & Welfare research grants
92
+ region: South Korea
93
+ policy_url: https://www.mohw.go.kr/
94
+ last_verified: "2026-05-10"
95
+ requirement: Public benefit / repository deposit encouraged; no strict immediate-OA mandate.
96
+ accepted_routes:
97
+ - Gold OA (encouraged)
98
+ - Green OA (acceptable)
99
+ user_must_verify: true
100
+
101
+ decision_tree:
102
+ - step: 1
103
+ question: Does any funder on this paper require immediate OA?
104
+ yes_action: |
105
+ Choose gold OA at a Plan-S compliant journal, OR green OA with
106
+ repository deposit at publication. Closed-access is not allowed.
107
+ no_action: Continue to step 2.
108
+ - step: 2
109
+ question: Is APC budget available (grant line, institutional waiver, or transformative agreement)?
110
+ yes_action: |
111
+ Gold OA preferred — lower friction, faster PMC deposit, cited
112
+ 30-50 % more by AI-search tools (Section 3.4).
113
+ no_action: |
114
+ Green OA via preprint at submission + AAM deposit at acceptance.
115
+ Verify journal's green-OA timeline.
116
+ - step: 3
117
+ question: Does the target journal auto-deposit to PMC (Section 11.3)?
118
+ yes_action: Confirm and proceed. Deposit window typically 4-6 weeks.
119
+ no_action: |
120
+ Plan green OA pathway and timeline. Budget the AAM submission step
121
+ (NIHMS or Europe PMC).
122
+ - step: 4
123
+ question: Is a transformative agreement available via the institution?
124
+ yes_action: Gold OA is effectively free for the author — use it.
125
+ no_action: Apply APC budget directly or fall back to green OA.
126
+
127
+ related:
128
+ - skills/academic-aio/SKILL.md Section 3.4 (open-access choice)
129
+ - skills/academic-aio/SKILL.md Section 11.3 (PMC-auto-deposit journal preference)
@@ -0,0 +1,39 @@
1
+ # Reporting-Guideline ↔ AIO Rule Mapping
2
+
3
+ This table maps each AIO rule (sections 1-12 of `SKILL.md`) to the corresponding item(s) in the major medical-AI reporting guidelines. Use it to align the `/check-reporting` audit with the `/academic-aio` audit so the same evidence covers both.
4
+
5
+ ## Core mapping
6
+
7
+ | AIO rule | TRIPOD+AI 2024 | CLAIM 2024 | STARD-AI 2025 | TRIPOD-LLM 2024 | DECIDE-AI 2022 | Notes |
8
+ |----------|----------------|-------------|----------------|-----------------|----------------|-------|
9
+ | §1.1 Title three-slot | item 1 (title) | item 1 (title and abstract) | item 1 (title) | item 1a (title) | — | All require keyword presence and study-type identification. |
10
+ | §1.2 Structured abstract | item 2 (abstract) | item 1 (title and abstract) | item 2 (abstract) | item 1b (abstract) | — | Each guideline mandates structured form. |
11
+ | §1.5 Quantified primary outcome with CI | item 16 (model performance) | items 28-30 (performance metrics) | items 23-26 (diagnostic estimates) | item 17 (performance with CI) | item 8 (clinical effect) | CI mandatory for all. |
12
+ | §1.6 Reporting-guideline anchor | (compliance declaration) | (compliance declaration) | (compliance declaration) | (compliance declaration) | (compliance declaration) | Cite guideline + checklist in Methods or supplement. |
13
+ | §2.4 Reproducibility block | item 24 (data sharing) + item 25 (code sharing) | items 33-34 (data and code availability) | item 28 (data and code) | items 22-23 (artifacts) | item 12 (artifacts) | All require explicit data/code statement. |
14
+ | §2.5 Limitations enumeration | item 23 (limitations) | item 41 (limitations) | item 27 (limitations) | item 19 (limitations) | item 11 (limitations) | Enumerate, do not narrate generally. |
15
+ | §10.4 Challenge statement | (implicit in Background) | item 4 (rationale) | item 5 (rationale) | item 4 (rationale) | item 4 (rationale) | "Why this is hard" overlaps with rationale items. |
16
+
17
+ ## Workflow
18
+
19
+ 1. Run `/check-reporting` first — produces a PRESENT/PARTIAL/MISSING audit per guideline item.
20
+ 2. Run `/academic-aio` — produces the AIO PASS/PARTIAL/FAIL checklist.
21
+ 3. For each AIO FAIL or PARTIAL row, check this mapping. If the underlying reporting-guideline item is also MISSING/PARTIAL, fix it once and both audits update.
22
+ 4. Items present in `/check-reporting` audit but not in this mapping (e.g., randomization details for RCTs, domain-specific safety items) do not have an AIO consequence and can be addressed independently.
23
+
24
+ ## When the two audits disagree
25
+
26
+ - AIO PASS + reporting-guideline MISSING — the manuscript looks discoverable but is not formally compliant. Reviewers may still reject. Always fix the reporting-guideline gap.
27
+ - AIO FAIL + reporting-guideline PRESENT — a rule was recorded in compliance form but rendered in a way that LLM extractors cannot parse (e.g., reporting CIs in supplementary instead of inline in the abstract). Move the content into a chunk-friendly location.
28
+
29
+ ## Source
30
+
31
+ - TRIPOD+AI: Collins et al. BMJ 2024.
32
+ - CLAIM 2024: Tejani et al. Radiology: AI 2024, doi:10.1148/ryai.240300.
33
+ - STARD-AI 2025: Sounderajah et al. Nat Med 2025, doi:10.1038/s41591-025-03953-8.
34
+ - TRIPOD-LLM 2024: Gallifant et al. Nat Med 2024, doi:10.1038/s41591-024-03425-5.
35
+ - DECIDE-AI 2022: Vasey et al. Nat Med 2022, doi:10.1038/s41591-022-01772-9.
36
+
37
+ ## Anti-hallucination
38
+
39
+ Item numbers above are derived from the most recent published version of each guideline. Verify against the EQUATOR Network entry before citing item numbers in a manuscript — guideline updates renumber items.
@@ -0,0 +1,32 @@
1
+ {
2
+ "@context": "https://schema.org",
3
+ "@type": "SoftwareSourceCode",
4
+ "name": "<repo name>",
5
+ "description": "<one-line description of what this repository contains>",
6
+ "codeRepository": "https://github.com/<org>/<repo>",
7
+ "programmingLanguage": ["Python", "R"],
8
+ "license": "https://spdx.org/licenses/Apache-2.0.html",
9
+ "datePublished": "YYYY-MM-DD",
10
+ "version": "v1.0.0",
11
+ "author": [
12
+ {
13
+ "@type": "Person",
14
+ "name": "<First Last>",
15
+ "identifier": "https://orcid.org/0000-0000-0000-0000"
16
+ }
17
+ ],
18
+ "isPartOf": {
19
+ "@type": "ScholarlyArticle",
20
+ "@id": "https://doi.org/10.xxxx/yyyy"
21
+ },
22
+ "identifier": {
23
+ "@type": "PropertyValue",
24
+ "propertyID": "DOI",
25
+ "value": "10.5281/zenodo.<id>"
26
+ },
27
+ "url": "https://doi.org/10.5281/zenodo.<id>",
28
+ "softwareRequirements": "Python 3.10+, PyTorch 2.0+",
29
+ "operatingSystem": ["Linux", "macOS"],
30
+ "applicationCategory": "Medical AI Research",
31
+ "keywords": ["<task>", "<modality>", "<model family>"]
32
+ }