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,221 @@
1
+ # Original Article — IMRAD Template
2
+
3
+ ## Overview
4
+
5
+ Standard template for medical original research articles. Follows the Introduction, Materials and Methods, Results, and Discussion (IMRAD) structure used by virtually all biomedical journals.
6
+
7
+ ---
8
+
9
+ ## Title
10
+
11
+ - Concise and specific, under 20 words.
12
+ - Include the study design if space allows (e.g., "A Retrospective Cohort Study").
13
+ - Avoid questions, abbreviations (except universally known ones like CT, MRI, AI), and clever wordplay.
14
+ - Good: "Deep Learning Detection of Pulmonary Embolism on CT Angiography: A Multicenter Validation Study"
15
+ - Bad: "Can AI Find Clots? A Novel Approach Using Advanced Neural Networks"
16
+
17
+ ---
18
+
19
+ ## Abstract (Structured, 250 words max)
20
+
21
+ Four sections matching the journal's required headings (common variants shown):
22
+
23
+ ### Purpose / Objective
24
+ - One to two sentences stating the study aim.
25
+ - Template: "To {evaluate/compare/assess/determine} {what} in {population/context}."
26
+
27
+ ### Materials and Methods
28
+ - Study design, setting, dates, participants (N), key methods, primary outcome measure, statistical approach.
29
+ - Three to four sentences maximum.
30
+
31
+ ### Results
32
+ - Key findings with specific numbers (effect sizes, CIs, p-values).
33
+ - Start with primary endpoint, then most important secondary findings.
34
+ - Three to four sentences maximum.
35
+
36
+ ### Conclusion
37
+ - One to two sentences. Restate the main finding and its implication.
38
+ - Do NOT end with "further studies are needed."
39
+ - Be specific: "This model achieved diagnostic accuracy comparable to fellowship-trained radiologists and may reduce interpretation time for emergency CT studies."
40
+
41
+ ---
42
+
43
+ ## Introduction (3-4 paragraphs, ~400-500 words)
44
+
45
+ ### Paragraph 1: Clinical Context
46
+ - Establish the clinical importance of the topic.
47
+ - Cite prevalence, incidence, or burden data.
48
+ - Describe current clinical practice or diagnostic approach.
49
+
50
+ ### Paragraph 2: Knowledge Gap
51
+ - What is known from prior work (cite key studies).
52
+ - What remains unknown, uncertain, or unresolved.
53
+ - Why this gap matters clinically.
54
+
55
+ ### Paragraph 3: Study Objective
56
+ - State the specific aim of this study.
57
+ - Include hypothesis if applicable (for confirmatory studies).
58
+ - Template: "The purpose of this study was to {aim}. We hypothesized that {hypothesis}."
59
+ - Optional final sentence previewing the approach: "We evaluated this in a {study design} of {N} patients at {setting}."
60
+
61
+ ### Rules
62
+ - Do not review the entire literature; cite only what is needed to establish the gap.
63
+ - Do not describe methods or results.
64
+ - Do not state conclusions.
65
+ - Funnel structure: broad context to narrow focus.
66
+
67
+ ---
68
+
69
+ ## Materials and Methods (~800-1200 words)
70
+
71
+ ### 3.1 Study Design and Setting
72
+ - One paragraph: design (retrospective/prospective, single/multicenter), institution(s), date range.
73
+ - Template: "This {retrospective cohort / prospective cross-sectional / etc.} study was conducted at {institution} between {start date} and {end date}."
74
+
75
+ ### 3.2 Participants / Study Population
76
+ - Inclusion and exclusion criteria, stated explicitly.
77
+ - How participants were identified (database query, consecutive enrollment, random sampling).
78
+ - Final sample size with brief explanation of exclusions.
79
+ - For AI studies: dataset split (training/validation/test) with rationale.
80
+
81
+ ### 3.3 Procedures / Intervention / Index Test
82
+ - Describe what was done in enough detail for replication.
83
+ - For imaging: scanner model, sequence parameters, contrast protocol.
84
+ - For AI: model architecture, input data, preprocessing, training procedure, hyperparameters.
85
+ - For reader studies: number of readers, experience level, blinding, reading environment.
86
+
87
+ ### 3.4 Outcome Measures
88
+ - Define primary and secondary endpoints explicitly.
89
+ - State the reference standard and how it was established.
90
+ - Define any composite endpoints or derived variables.
91
+
92
+ ### 3.5 Statistical Analysis
93
+ - Descriptive statistics approach (mean +/- SD or median [IQR]).
94
+ - Specific tests for each comparison (name the test, state the rationale).
95
+ - Significance level (two-sided, alpha = 0.05).
96
+ - Software and version.
97
+ - Sample size justification if applicable.
98
+ - See `section_templates/methods_statistical.md` for common paragraph templates.
99
+
100
+ ### 3.6 Ethics
101
+ - IRB/Ethics committee approval (name, protocol number).
102
+ - Informed consent status (obtained, waived with reason).
103
+ - For retrospective studies: "The institutional review board of {institution} approved this retrospective study and waived the requirement for informed consent."
104
+
105
+ ---
106
+
107
+ ## Results (~800-1200 words)
108
+
109
+ ### 4.1 Study Population
110
+ - Start with the total number screened, excluded (with reasons), and included.
111
+ - Reference the flow diagram (Figure 1) if applicable.
112
+ - Describe demographics and baseline characteristics, referencing Table 1.
113
+ - Template: "A total of {N} patients ({N} male, {N} female; mean age, {X} +/- {Y} years) were included."
114
+
115
+ ### 4.2 Primary Endpoint
116
+ - Present the main result with effect size and 95% CI.
117
+ - Reference the relevant table or figure.
118
+ - Template: "The {metric} was {value} (95% CI, {lower}-{upper}; P = {value})."
119
+
120
+ ### 4.3 Secondary Endpoints
121
+ - Present in order of importance or in the order listed in Methods.
122
+ - Each gets its own paragraph or sub-paragraph.
123
+
124
+ ### 4.4 Subgroup and Sensitivity Analyses
125
+ - Present if pre-specified in Methods.
126
+ - Acknowledge if exploratory (not powered for subgroup differences).
127
+
128
+ ### Rules
129
+ - Do NOT interpret findings; state them. Results answers "What?" only — never "Why?"
130
+ - Every table and figure must be referenced in the text.
131
+ - Numbers in text must match tables exactly.
132
+ - Report exact p-values; use "P < .001" only when truly below 0.001.
133
+ - Present data in the same order as Methods subsections.
134
+ - NO comparisons with prior literature (save for Discussion).
135
+ - NO causal language ("caused," "led to," "due to") — use "was associated with."
136
+ - NO evaluative adjectives without numbers ("high," "notable," "remarkable").
137
+ - NO hedge words implying interpretation ("suggests," "implies," "indicates importance").
138
+ - Banned openers: "Interestingly," "Notably," "Remarkably," "Surprisingly," "As expected."
139
+
140
+ ---
141
+
142
+ ## Discussion (4-5 paragraphs, ~800-1200 words)
143
+
144
+ > **Before writing:** The user should provide anchor papers (3-5 key references for
145
+ > comparison) and key findings to emphasize. See SKILL.md Phase 5a for the interactive
146
+ > planning gate. If not provided, identify anchor papers from the reference list.
147
+
148
+ ### Paragraph 1: Summary of Key Findings
149
+ - Restate the principal findings in the context of the study aim.
150
+ - Do not repeat exact numbers from Results (paraphrase).
151
+ - One paragraph, 3-5 sentences.
152
+
153
+ ### Paragraphs 2-3: Comparison with Prior Literature (anchor paper driven)
154
+ - Organize around anchor papers provided by the user.
155
+ - For each anchor paper: state their finding → compare with ours → explain discrepancy.
156
+ - Pattern: "Smith et al. [ref] reported {X} in {population}. In contrast/Similarly, our
157
+ study found {Y}, which may be attributable to {methodological/population difference}."
158
+ - Include both concordant and discordant studies.
159
+
160
+ ### Paragraph 4: Clinical Implications
161
+ - What does this mean for clinical practice, training, or future research?
162
+ - Be specific: "{AI tool} could be integrated into {specific workflow} to {specific benefit}."
163
+ - Avoid vague statements about "future directions."
164
+
165
+ ### Paragraph 5: Limitations
166
+ - Ordered by severity (most impactful first).
167
+ - Be specific and honest.
168
+ - Do NOT start with "Our study has several limitations."
169
+ - For each limitation: (a) what it is, (b) how it was mitigated, (c) direction of residual bias.
170
+ - Template: "This study has limitations. First, the retrospective design at a single
171
+ institution limits generalizability; however, the multicenter external test set partially
172
+ addresses this, and any selection bias would likely inflate performance estimates."
173
+
174
+ ### Conclusion (within Discussion, final paragraph or sentence)
175
+ - One to two sentences restating the single most important finding.
176
+ - Must be a citable statement — memorable and specific.
177
+ - Template: "In summary, {main finding} in {context}, suggesting {implication}."
178
+
179
+ ---
180
+
181
+ ## References
182
+
183
+ - Typically 30-40 for original articles.
184
+ - Prioritize recent references (within 5 years) for establishing current knowledge.
185
+ - Include seminal/classic references where appropriate.
186
+ - Every citation must be referenced in the text.
187
+ - Self-citation should be limited and justified.
188
+
189
+ ---
190
+
191
+ ## Tables
192
+
193
+ - **Table 1**: Demographics and baseline characteristics (always required).
194
+ - Columns: overall cohort, comparison groups (if applicable).
195
+ - Rows: age, sex, relevant clinical variables.
196
+ - Include p-values for between-group comparisons if relevant.
197
+ - **Table 2+**: Results tables (primary/secondary endpoints, model performance, etc.).
198
+ - Use footnotes for abbreviations and statistical details.
199
+ - Do not duplicate data that is better shown in a figure.
200
+
201
+ ## Figures
202
+
203
+ - **Figure 1**: Flow diagram (CONSORT/STARD/PRISMA as appropriate).
204
+ - Additional figures: performance curves (ROC, calibration), representative images, forest plots.
205
+ - Each figure needs a descriptive legend that allows the figure to be understood without reading the text.
206
+ - Minimum 300 dpi resolution for submission.
207
+
208
+ ---
209
+
210
+ ## Checklist Before Submission
211
+
212
+ - [ ] Title under 20 words, specific and informative
213
+ - [ ] Abstract numbers match Results/Tables
214
+ - [ ] Introduction ends with clear objective
215
+ - [ ] Methods sufficient for replication
216
+ - [ ] All tables/figures referenced in text
217
+ - [ ] Numbers consistent between text, tables, and figures
218
+ - [ ] Limitations discussed honestly
219
+ - [ ] All reporting guideline items addressed
220
+ - [ ] References complete and correctly formatted
221
+ - [ ] Word count within journal limits
@@ -0,0 +1,131 @@
1
+ # Paper Type: Technical Note
2
+
3
+ ## Overview
4
+
5
+ - **Purpose:** Describe a novel technique, method, algorithm, or device — NOT clinical outcomes
6
+ - **Typical word count:** 1500–2500 words
7
+ - **Structure:** Abstract (unstructured or brief structured) → Introduction → Materials and Methods → Results (proof of concept) → Discussion → Conclusion
8
+ - **Key requirement:** Sufficient reproducibility data; must demonstrate feasibility, not efficacy
9
+
10
+ ---
11
+
12
+ ## What a Technical Note Is (and Is Not)
13
+
14
+ **IS:** A concise description of a new technique, workflow, algorithm, software tool, or modified procedure, with proof-of-concept validation data.
15
+
16
+ **IS NOT:** A clinical efficacy study. Technical notes do not aim to demonstrate that a new technique is better than existing ones — that requires a full original article with appropriate controls and statistical power.
17
+
18
+ ---
19
+
20
+ ## Abstract (150–200 words, unstructured or brief structured)
21
+
22
+ "We describe [technique/method/tool] for [application]. [One sentence on how it works]. Using [validation dataset / N cases / N samples], we demonstrated [key performance metric with value]. [One sentence on potential clinical or research utility]. [This technique is available / Code is available at [URL]]."
23
+
24
+ ---
25
+
26
+ ## Introduction (300–500 words)
27
+
28
+ 1. **Clinical or research problem:** Why is a new technique needed? What is the limitation of existing methods?
29
+ 2. **Description of the new approach:** Brief overview without technical detail (that belongs in Methods).
30
+ 3. **Objective:** "The purpose of this technical note is to describe [technique] and demonstrate its feasibility in [application context]."
31
+
32
+ ---
33
+
34
+ ## Materials and Methods (600–1000 words)
35
+
36
+ This is the core of the technical note. Write in enough detail that the technique can be replicated by another group.
37
+
38
+ ### System/Technique Description
39
+
40
+ Describe the method step by step. Use numbered steps or clear paragraphs. Include:
41
+
42
+ **For imaging techniques:**
43
+ - Equipment (manufacturer, model, software version)
44
+ - Acquisition parameters (field strength, sequence parameters, slice thickness, FOV, contrast agent if used)
45
+ - Post-processing steps
46
+ - Analysis software and version
47
+
48
+ **For software/algorithm:**
49
+ - Programming language and version (e.g., Python 3.10, PyTorch 2.0.1)
50
+ - Architecture description (high-level; detailed architecture in supplementary)
51
+ - Training/validation/test split
52
+ - Computational requirements (GPU, RAM, processing time per case)
53
+ - Availability: "Code is publicly available at [GitHub URL] under [license]"
54
+
55
+ **For procedural techniques:**
56
+ - Equipment, instruments, materials (with catalog numbers if novel)
57
+ - Step-by-step procedure
58
+ - Safety considerations and failure modes
59
+
60
+ ### Validation Dataset
61
+
62
+ - Source: retrospective or prospective, single center
63
+ - N cases / samples
64
+ - Inclusion/exclusion criteria (brief)
65
+ - Reference standard used for comparison (if applicable)
66
+
67
+ ### Evaluation Metrics
68
+
69
+ Define exactly what you measured and how:
70
+ - For segmentation: Dice similarity coefficient, Hausdorff distance
71
+ - For detection: sensitivity, specificity at fixed operating point
72
+ - For measurement tools: ICC with 95% CI against reference method (Bland-Altman analysis)
73
+ - For image quality: signal-to-noise ratio, contrast-to-noise ratio, or expert reader assessment
74
+
75
+ State how reproducibility was assessed (intra- and inter-observer variability).
76
+
77
+ ---
78
+
79
+ ## Results (400–600 words — Proof of Concept)
80
+
81
+ Report the key feasibility metrics. This section should be concise.
82
+
83
+ - Success rate (technical feasibility)
84
+ - Primary performance metric with 95% CI
85
+ - Processing time (if relevant)
86
+ - Any failure cases and their characteristics
87
+
88
+ "The technique was successfully applied in [N/N] ([%]) cases. [Primary metric] was [value] (95% CI, [lower]–[upper]). Mean processing time per case was [X ± SD] seconds on a [hardware specification]."
89
+
90
+ If comparing to an existing reference method:
91
+ "Compared with [reference method], [new technique] demonstrated [similar/higher/lower] [metric] ([value] vs. [value]; difference, [X]; 95% CI, [lower]–[upper]; P = [value])."
92
+
93
+ ---
94
+
95
+ ## Discussion (300–500 words)
96
+
97
+ 1. **Summary of findings:** What did you demonstrate? Keep to feasibility.
98
+ 2. **Technical advantages:** What does this technique offer that existing approaches do not?
99
+ 3. **Limitations:**
100
+ - Small validation set (cannot make efficacy claims)
101
+ - Single-center, single-vendor
102
+ - May not generalize (state conditions under which technique may fail)
103
+ - Computational requirements (if any)
104
+ 4. **Future directions:** What clinical validation is needed? Will you make the tool publicly available?
105
+
106
+ ---
107
+
108
+ ## Conclusion (50–100 words)
109
+
110
+ "We describe [technique] for [application]. Proof-of-concept validation in [N] [cases/samples] demonstrated [key metric]. This technique [potential utility]. [Clinical validation in larger prospective studies is warranted]."
111
+
112
+ ---
113
+
114
+ ## Supplementary Materials
115
+
116
+ Technical notes commonly require supplementary materials:
117
+ - Detailed algorithm pseudocode or flowchart
118
+ - Full acquisition parameter tables
119
+ - Additional validation cases (figures)
120
+ - Code repository link + usage instructions
121
+
122
+ ---
123
+
124
+ ## Common Technical Note Pitfalls
125
+
126
+ 1. **Making efficacy claims instead of feasibility claims** — a technical note cannot conclude that the technique is better; say it "demonstrates feasibility" or "warrants further investigation."
127
+ 2. **Missing reproducibility data** — always report intra- and inter-observer variability (ICC) for measurement tools.
128
+ 3. **Insufficient Methods detail** — another lab must be able to replicate from your Methods alone.
129
+ 4. **Not specifying software versions** — exact versions are required for reproducibility.
130
+ 5. **Combining technical note and clinical study** — keep the paper focused; add clinical data in supplementary only if very limited.
131
+ 6. **No code availability statement** — increasingly expected for algorithm papers; GitHub link strongly encouraged.
@@ -0,0 +1,155 @@
1
+ # Discussion Writing Guide
2
+
3
+ Reference for write-paper Phase 5 (Discussion).
4
+ Loaded on-demand when drafting the Discussion section.
5
+
6
+ ---
7
+
8
+ ## Purpose
9
+
10
+ Discussion answers: "Why do these results matter?" It connects your findings to
11
+ the broader clinical and scientific context. Results tells the reader *what* you found;
12
+ Discussion tells them *so what*.
13
+
14
+ ---
15
+
16
+ ## Specifications
17
+
18
+ - **Word limit**: 800 words for Radiology; check journal profile for others
19
+ - **No Table/Figure citations**: Do not reference Tables or Figures in Discussion
20
+ (journal-specific — verify with loaded profile, but this is the default for Radiology)
21
+ - **No abbreviations**: In the first and last paragraphs, spell out all abbreviations
22
+ - **Structure**: 4-paragraph base (expandable to 5-6 for complex studies)
23
+
24
+ ---
25
+
26
+ ## 4-Paragraph Structure
27
+
28
+ ### Paragraph 1: Summary of Key Findings
29
+
30
+ - 2-3 sentences restating the main findings
31
+ - Include the primary metric with its value (but do not repeat all numbers verbatim from Results)
32
+ - End with one sentence on clinical importance or implication
33
+
34
+ **Template**:
35
+ ```
36
+ In this study, we evaluated [what was done].
37
+ We found that [main finding with key metric].
38
+ [Optional: secondary finding].
39
+ This finding suggests [core clinical interpretation in one sentence].
40
+ ```
41
+
42
+ ### Paragraphs 2-3 (or 2-4): Interpretation and Literature Comparison
43
+
44
+ - Organize by theme or finding, not by reviewer expectation
45
+ - Order by importance: most significant finding first
46
+ - For each comparison with prior work:
47
+ 1. State the prior finding with citation
48
+ 2. State whether your result agrees or disagrees
49
+ 3. If disagrees: explain the discrepancy (methodological or population differences)
50
+ - For unexpected results: offer a plausible explanation backed by references
51
+
52
+ **Rules**:
53
+ - Do not list prior studies mechanically ("A found X. B found Y. C found Z.")
54
+ - Only cite studies that directly relate to your findings — not tangential background
55
+ - Prefer high-impact journal references for comparisons
56
+ - Do not attack or disparage prior studies; present differences neutrally
57
+ - Speculation is acceptable if flagged as such and supported by a reference
58
+
59
+ ### Limitation Paragraph
60
+
61
+ This is the most scrutinized paragraph. Write it with care.
62
+
63
+ **Tone: frank and objective**
64
+ - Acknowledge real limitations honestly
65
+ - Do not bury limitations under a pile of strengths
66
+ - Do not be self-deprecating either — state facts
67
+
68
+ **Structure for each limitation**:
69
+ 1. What the limitation is
70
+ 2. How it was mitigated (if at all)
71
+ 3. What direction of bias it introduces (overestimate or underestimate)
72
+
73
+ **Checklist-guided limitations** (check the relevant guideline):
74
+ - **STROBE (cohort)**: Potential bias direction, generalizability
75
+ - **TRIPOD (prediction)**: Sample size, overfitting, missing data, data quality
76
+ - **STARD (diagnostic)**: Spectrum bias, verification bias, reader experience
77
+
78
+ **What NOT to do**:
79
+ - Do not open with "Our study has several limitations" (generic; dive straight in)
80
+ - Do not list 6+ limitations — 3-4 is sufficient for most studies
81
+ - Do not neutralize every limitation with "however, our study also has strengths"
82
+ (a few strengths at the end are fine, but limitation-strength-limitation-strength
83
+ ping-pong reads as defensive)
84
+
85
+ **Last sentence**: A future study recommendation is acceptable here.
86
+
87
+ **Study-design-specific limitation templates**:
88
+
89
+ - **Healthy volunteer / screening cohort bias**: Participants in voluntary health screening programs tend to be healthier, more health-conscious, and of higher socioeconomic status than the general population. This selection bias may limit generalizability and likely underestimates event rates compared to population-based cohorts. Mitigations: report the cohort's baseline characteristics against national statistics; acknowledge the direction of bias explicitly.
90
+ - **Surveillance bias (repeated screening)**: Participants with more frequent follow-up visits have higher probability of outcome detection. If the number of follow-up visits differs between groups, this asymmetry may inflate apparent event rates in the more-screened group. Report the number of scans/visits per participant (median, IQR) and note any group imbalance in surveillance intensity.
91
+
92
+ ### Conclusion (Final Paragraph or Final Sentences)
93
+
94
+ - Must align with the Purpose statement from the Introduction
95
+ - State only conclusions directly supported by Results (no over-interpretation)
96
+ - End with a clinical implication or application, not "further studies are needed"
97
+ - Should be a citable, quotable statement
98
+
99
+ ---
100
+
101
+ ## Relationship with Introduction
102
+
103
+ Discussion and Introduction are a conversation:
104
+ - Introduction foreshadows the gap
105
+ - Discussion fills that gap with your findings
106
+
107
+ The reader should be able to read the Introduction's gap statement and the Discussion's
108
+ conclusion and see a direct logical connection. If they do not connect, either the
109
+ Introduction was too broad or the Discussion overclaims.
110
+
111
+ ---
112
+
113
+ ## Common Mistakes
114
+
115
+ 1. **Repeating Results**: Restating numbers without adding interpretation
116
+ 2. **Wandering off-topic**: Discussing tangential findings not in your Results
117
+ 3. **Introducing new data**: Mentioning analyses not presented in Results
118
+ (if needed, add to Supplementary first, then reference)
119
+ 4. **Over-interpretation**: Claiming causation from observational data
120
+ 5. **Too long**: Exceeding word limits signals lack of focus
121
+ 6. **Literature dump**: Paragraphs of prior study summaries with no connection to your findings
122
+ 7. **Defensive limitation writing**: Every limitation immediately countered with a strength
123
+ 8. **Ignoring contradictory evidence**: Not addressing studies that found opposite results
124
+
125
+ ---
126
+
127
+ ## Stuckler's Alternative Structure (for non-radiology journals)
128
+
129
+ Some journals or fields prefer limitations before interpretation:
130
+
131
+ 1. **Recap of findings**
132
+ 2. **Limitations** (early — "psychologically unblock the reader")
133
+ 3. **Strengths**
134
+ 4. **Coherence with literature**
135
+ 5. **Implications for future research**
136
+
137
+ Rationale: addressing limitations first disarms the reader's skepticism, making them
138
+ more receptive to your interpretation. Consider this structure for journals outside
139
+ the radiology tradition.
140
+
141
+ ---
142
+
143
+ ## Self-Check
144
+
145
+ Before finalizing Discussion:
146
+
147
+ - [ ] Within word limit (800 words for Radiology)?
148
+ - [ ] No Table/Figure citations in Discussion?
149
+ - [ ] No abbreviations in first and last paragraphs?
150
+ - [ ] Key findings summarized (not just repeated)?
151
+ - [ ] Each comparison with prior work includes: their finding, agreement/disagreement, explanation?
152
+ - [ ] Limitations are honest, specific, and include bias direction?
153
+ - [ ] Conclusion matches the Introduction's purpose statement?
154
+ - [ ] No new data introduced that is not in Results?
155
+ - [ ] No AI pattern phrases ("plays a crucial role", "sheds light on")?
@@ -0,0 +1,108 @@
1
+ # Introduction Writing Guide
2
+
3
+ Reference for write-paper Phase 6 (Introduction + Abstract).
4
+ Loaded on-demand when drafting the Introduction section.
5
+
6
+ ---
7
+
8
+ ## Specifications
9
+
10
+ - **Word count**: 300-400 words (most radiology journals)
11
+ - **Paragraphs**: 3-4
12
+ - **References**: 10-15 citations
13
+ - **Tense**: Present tense for established knowledge; past tense for specific prior study findings
14
+ - **Structure**: Funnel shape — broad context narrowing to specific gap and study objective
15
+
16
+ ---
17
+
18
+ ## Gap Storytelling: 5-Step Structure
19
+
20
+ The Introduction is a story that leads the reader inevitably to your research question.
21
+ The GAP is the single most important element — it determines accept vs. reject more than
22
+ methodology alone.
23
+
24
+ ### Step 1: Disease Burden and Clinical Significance
25
+
26
+ Establish why this topic matters. Cite prevalence, clinical impact, or current practice gaps.
27
+ Keep it to 2-3 sentences — do not write a textbook introduction.
28
+
29
+ ### Step 2: Existing Research Landscape
30
+
31
+ Summarize what is already known. Do NOT list studies mechanically ("Study A found X.
32
+ Study B found Y."). Instead, weave them into a narrative that builds toward the gap.
33
+
34
+ ### Step 3: Most Relevant Prior Work (1-2 studies)
35
+
36
+ Highlight the closest prior work to your study. Describe what they did and what they
37
+ achieved. This sets the benchmark your study will build upon or challenge.
38
+
39
+ ### Step 4: The GAP (critical)
40
+
41
+ State clearly what remains unknown, unsolved, or insufficient. This is the pivot point
42
+ of the entire Introduction.
43
+
44
+ Effective gap statements:
45
+ - "However, [prior approach] has not been validated in [your population/setting]."
46
+ - "Whether [finding] applies to [specific subgroup] remains unclear."
47
+ - "No study has directly compared [A] and [B] in [context]."
48
+
49
+ Weak gap statements (avoid):
50
+ - "There is limited research on..." (vague)
51
+ - "No study has ever..." (too absolute — likely incorrect)
52
+ - "The role of X is not fully understood" (every topic could claim this)
53
+
54
+ ### Step 5: Study Objective
55
+
56
+ State the specific aim: "Therefore, the purpose of this study was to..."
57
+
58
+ - Use "purpose" or "aim" — avoid "goal" or "objective" interchangeably within one paper
59
+ - Match the objective precisely to the gap
60
+ - If there is a hypothesis, state it explicitly
61
+
62
+ ---
63
+
64
+ ## Three-Part Formula (complementary framing)
65
+
66
+ An alternative lens for the same structure (from academic writing pedagogy):
67
+
68
+ 1. **The Debate**: Why should the reader care right now? What is the burning question?
69
+ 2. **The Gap**: What do we know, and what is still missing?
70
+ 3. **The Winning Study**: How does this study fill that gap?
71
+
72
+ This maps directly to Steps 1-2, Step 4, and Step 5 above.
73
+
74
+ ---
75
+
76
+ ## Common Mistakes
77
+
78
+ 1. **Too much background**: Spending 200+ words on disease epidemiology before reaching the gap
79
+ 2. **Mechanical literature listing**: "A et al. found X. B et al. found Y. C et al. found Z."
80
+ 3. **Vague gap**: "Limited research exists" without specifying what specifically is unknown
81
+ 4. **Mismatch**: Gap statement does not logically lead to the study objective
82
+ 5. **Over-promising**: Implying the study will solve a problem it cannot address
83
+ 6. **Too many references**: Citing 25+ references in the Introduction signals unfocused writing
84
+
85
+ ---
86
+
87
+ ## Gap Discovery Strategies
88
+
89
+ When struggling to articulate the gap:
90
+
91
+ 1. Read the Discussion "future research" sections of related papers — authors explicitly state gaps
92
+ 2. Read systematic review limitation sections — reviewers synthesize what is missing
93
+ 3. Check if prior work was done in a different population, modality, or clinical setting
94
+ 4. Look for methodological limitations in prior studies that your design addresses
95
+
96
+ ---
97
+
98
+ ## Self-Check
99
+
100
+ Before finalizing the Introduction:
101
+
102
+ - [ ] 300-400 words?
103
+ - [ ] 3-4 paragraphs?
104
+ - [ ] 10-15 references?
105
+ - [ ] Gap is specific, concrete, and compelling?
106
+ - [ ] Study objective directly follows from the gap?
107
+ - [ ] No AI pattern phrases ("In the rapidly evolving landscape of...")?
108
+ - [ ] Funnel structure maintained (broad → narrow)?