medsci-skills 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +50 -0
- package/README.md +602 -0
- package/README_FIRST.md +27 -0
- package/bin/medsci-skills.js +159 -0
- package/installers/install-macos.command +19 -0
- package/installers/install-windows.cmd +26 -0
- package/installers/install-windows.ps1 +17 -0
- package/installers/install.py +218 -0
- package/metadata/skills_catalog.json +452 -0
- package/package.json +48 -0
- package/skills/academic-aio/SKILL.md +408 -0
- package/skills/academic-aio/references/case_studies/kjr_mllm_2025.md +82 -0
- package/skills/academic-aio/references/checklists/AIO_GENERAL.md +354 -0
- package/skills/academic-aio/references/journal_summarybox_templates.yaml +126 -0
- package/skills/academic-aio/references/oac_funding_checklist.yaml +129 -0
- package/skills/academic-aio/references/reporting_guideline_mapping.md +39 -0
- package/skills/academic-aio/references/schema_markup_templates/CodeRepository.jsonld +32 -0
- package/skills/academic-aio/references/schema_markup_templates/Dataset.jsonld +36 -0
- package/skills/academic-aio/references/schema_markup_templates/Person.jsonld +30 -0
- package/skills/academic-aio/references/schema_markup_templates/README.md +43 -0
- package/skills/academic-aio/references/schema_markup_templates/ScholarlyArticle.jsonld +55 -0
- package/skills/academic-aio/scripts/batch_metadata_audit.py +169 -0
- package/skills/academic-aio/scripts/validate_schema.py +118 -0
- package/skills/academic-aio/skill.yml +36 -0
- package/skills/academic-aio/templates/aio_audit_checklist.md.j2 +108 -0
- package/skills/add-journal/SKILL.md +482 -0
- package/skills/add-journal/skill.yml +33 -0
- package/skills/analyze-stats/SKILL.md +598 -0
- package/skills/analyze-stats/references/analysis_guides/missing_data.md +109 -0
- package/skills/analyze-stats/references/analysis_guides/nhis_icd10_mapping.md +247 -0
- package/skills/analyze-stats/references/analysis_guides/propensity_score.md +132 -0
- package/skills/analyze-stats/references/analysis_guides/regression.md +115 -0
- package/skills/analyze-stats/references/analysis_guides/repeated_measures.md +160 -0
- package/skills/analyze-stats/references/analysis_guides/survey_weighted.md +366 -0
- package/skills/analyze-stats/references/analysis_guides/test_selection.md +86 -0
- package/skills/analyze-stats/references/style/figure_style.mplstyle +69 -0
- package/skills/analyze-stats/references/style/theme_publication.R +147 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/ajr.yaml +51 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/european_radiology.yaml +55 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/jama.yaml +66 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/lancet.yaml +57 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/nejm.yaml +51 -0
- package/skills/analyze-stats/references/table-standards/journal-profiles/radiology.yaml +66 -0
- package/skills/analyze-stats/references/table-standards/table-standards.md +287 -0
- package/skills/analyze-stats/references/table-standards/table-types/diagnostic_accuracy.md +36 -0
- package/skills/analyze-stats/references/table-standards/table-types/meta_analysis.md +58 -0
- package/skills/analyze-stats/references/table-standards/table-types/model_comparison.md +36 -0
- package/skills/analyze-stats/references/table-standards/table-types/regression_results.md +50 -0
- package/skills/analyze-stats/references/table-standards/table-types/table1_demographics.md +51 -0
- package/skills/analyze-stats/references/table-standards/tool-comparison.md +79 -0
- package/skills/analyze-stats/references/templates/agreement_analysis.py +436 -0
- package/skills/analyze-stats/references/templates/dca_plot.R +237 -0
- package/skills/analyze-stats/references/templates/diagnostic_accuracy.py +401 -0
- package/skills/analyze-stats/references/templates/dta_meta_analysis.R +384 -0
- package/skills/analyze-stats/references/templates/forest_plot.py +412 -0
- package/skills/analyze-stats/references/templates/likert_summary.py +356 -0
- package/skills/analyze-stats/references/templates/meta_analysis.R +365 -0
- package/skills/analyze-stats/references/templates/propensity_score.py +478 -0
- package/skills/analyze-stats/references/templates/regression.py +425 -0
- package/skills/analyze-stats/references/templates/repeated_measures.py +434 -0
- package/skills/analyze-stats/references/templates/sample_size.R +382 -0
- package/skills/analyze-stats/references/templates/survey_weighted_analysis.py +411 -0
- package/skills/analyze-stats/references/templates/survival_analysis.py +325 -0
- package/skills/analyze-stats/references/templates/table1_demographics.py +287 -0
- package/skills/analyze-stats/scripts/check_generated_code.py +335 -0
- package/skills/analyze-stats/skill.yml +38 -0
- package/skills/analyze-stats/tests/fixtures/gen_bad.R +16 -0
- package/skills/analyze-stats/tests/fixtures/gen_bad.py +24 -0
- package/skills/analyze-stats/tests/fixtures/gen_clean.py +21 -0
- package/skills/analyze-stats/tests/test_generated_code.sh +59 -0
- package/skills/analyze-stats/tests/test_survival_template.sh +53 -0
- package/skills/author-strategy/SKILL.md +117 -0
- package/skills/author-strategy/analyze_patterns.py +303 -0
- package/skills/author-strategy/fetch_pubmed.py +374 -0
- package/skills/author-strategy/skill.yml +34 -0
- package/skills/batch-cohort/SKILL.md +223 -0
- package/skills/batch-cohort/references/base_template_knhanes.R +210 -0
- package/skills/batch-cohort/references/batch_template_generator.R +222 -0
- package/skills/batch-cohort/references/variable_coding_registry.md +136 -0
- package/skills/batch-cohort/skill.yml +35 -0
- package/skills/calc-sample-size/SKILL.md +491 -0
- package/skills/calc-sample-size/references/formulas.md +655 -0
- package/skills/calc-sample-size/references/observational_cohort.md +49 -0
- package/skills/calc-sample-size/skill.yml +51 -0
- package/skills/check-reporting/SKILL.md +534 -0
- package/skills/check-reporting/references/LICENSES.md +41 -0
- package/skills/check-reporting/references/checklists/AMSTAR2.md +54 -0
- package/skills/check-reporting/references/checklists/ARRIVE_2.md +234 -0
- package/skills/check-reporting/references/checklists/CARE.md +102 -0
- package/skills/check-reporting/references/checklists/CLAIM_2024.md +128 -0
- package/skills/check-reporting/references/checklists/CLEAR.md +113 -0
- package/skills/check-reporting/references/checklists/CONSORT.md +86 -0
- package/skills/check-reporting/references/checklists/COSMIN_RoB.md +136 -0
- package/skills/check-reporting/references/checklists/GRRAS.md +61 -0
- package/skills/check-reporting/references/checklists/MI_CLEAR_LLM.md +167 -0
- package/skills/check-reporting/references/checklists/MOOSE.md +85 -0
- package/skills/check-reporting/references/checklists/NOS.md +88 -0
- package/skills/check-reporting/references/checklists/PRISMA_2020.md +135 -0
- package/skills/check-reporting/references/checklists/PRISMA_DTA.md +36 -0
- package/skills/check-reporting/references/checklists/PRISMA_P.md +56 -0
- package/skills/check-reporting/references/checklists/PROBAST.md +75 -0
- package/skills/check-reporting/references/checklists/PROBAST_AI.md +130 -0
- package/skills/check-reporting/references/checklists/QUADAS2.md +77 -0
- package/skills/check-reporting/references/checklists/QUADAS_C.md +131 -0
- package/skills/check-reporting/references/checklists/ROBINS_E.md +179 -0
- package/skills/check-reporting/references/checklists/ROBINS_I.md +87 -0
- package/skills/check-reporting/references/checklists/ROBIS.md +114 -0
- package/skills/check-reporting/references/checklists/ROB_ME.md +126 -0
- package/skills/check-reporting/references/checklists/RoB2.md +79 -0
- package/skills/check-reporting/references/checklists/RoB_NMA.md +96 -0
- package/skills/check-reporting/references/checklists/SPIRIT.md +112 -0
- package/skills/check-reporting/references/checklists/SQUIRE_2.md +68 -0
- package/skills/check-reporting/references/checklists/STARD.md +129 -0
- package/skills/check-reporting/references/checklists/STARD_AI.md +211 -0
- package/skills/check-reporting/references/checklists/STROBE.md +80 -0
- package/skills/check-reporting/references/checklists/SWiM.md +33 -0
- package/skills/check-reporting/references/checklists/TRIPOD.md +157 -0
- package/skills/check-reporting/references/checklists/TRIPOD_AI.md +140 -0
- package/skills/check-reporting/references/step4c_registration_timing.md +93 -0
- package/skills/check-reporting/references/step4d_prisma_figure_audit.md +137 -0
- package/skills/check-reporting/scripts/check_checklist_exists.py +183 -0
- package/skills/check-reporting/scripts/check_checklist_version.py +168 -0
- package/skills/check-reporting/scripts/check_framework_naming.py +206 -0
- package/skills/check-reporting/scripts/check_prisma_figure.py +209 -0
- package/skills/check-reporting/scripts/prisma_cascade_check.py +274 -0
- package/skills/check-reporting/skill.yml +41 -0
- package/skills/check-reporting/tests/fixtures/framework_bad.md +8 -0
- package/skills/check-reporting/tests/fixtures/framework_clean.md +7 -0
- package/skills/check-reporting/tests/test_checklist_fail_fast.sh +77 -0
- package/skills/check-reporting/tests/test_checklist_version.sh +72 -0
- package/skills/check-reporting/tests/test_framework_naming.sh +45 -0
- package/skills/check-reporting/tests/test_prisma_cascade.sh +104 -0
- package/skills/clean-data/SKILL.md +180 -0
- package/skills/clean-data/references/cleaning_patterns.md +299 -0
- package/skills/clean-data/references/profiling_template.py +304 -0
- package/skills/clean-data/scripts/check_structural_zero.py +174 -0
- package/skills/clean-data/skill.yml +35 -0
- package/skills/clean-data/tests/fixtures/smoking.csv +8 -0
- package/skills/clean-data/tests/test_structural_zero.sh +49 -0
- package/skills/cross-national/SKILL.md +264 -0
- package/skills/cross-national/skill.yml +37 -0
- package/skills/define-variables/SKILL.md +146 -0
- package/skills/define-variables/references/common_definitions.md +190 -0
- package/skills/define-variables/skill.yml +34 -0
- package/skills/define-variables/templates/variable_operationalization.md +64 -0
- package/skills/deidentify/SKILL.md +203 -0
- package/skills/deidentify/deidentify.py +1224 -0
- package/skills/deidentify/locales/_template.json +45 -0
- package/skills/deidentify/locales/au.json +43 -0
- package/skills/deidentify/locales/ca.json +44 -0
- package/skills/deidentify/locales/cn.json +47 -0
- package/skills/deidentify/locales/de.json +48 -0
- package/skills/deidentify/locales/fr.json +48 -0
- package/skills/deidentify/locales/in.json +48 -0
- package/skills/deidentify/locales/jp.json +48 -0
- package/skills/deidentify/locales/kr.json +48 -0
- package/skills/deidentify/locales/uk.json +45 -0
- package/skills/deidentify/locales/us.json +43 -0
- package/skills/deidentify/references/date_shift_guide.md +82 -0
- package/skills/deidentify/references/hipaa_18_identifiers.md +48 -0
- package/skills/deidentify/references/korean_phi_patterns.md +135 -0
- package/skills/deidentify/skill.yml +43 -0
- package/skills/deidentify/tests/README.md +26 -0
- package/skills/deidentify/tests/test_clean.csv +16 -0
- package/skills/deidentify/tests/test_edge_cases.csv +11 -0
- package/skills/deidentify/tests/test_phi_korean.csv +11 -0
- package/skills/design-ai-benchmarking/SKILL.md +214 -0
- package/skills/design-ai-benchmarking/references/benchmark_export_schema.json +69 -0
- package/skills/design-ai-benchmarking/references/elicitation_rubric_template.md +37 -0
- package/skills/design-ai-benchmarking/skill.yml +38 -0
- package/skills/design-study/SKILL.md +298 -0
- package/skills/design-study/skill.yml +33 -0
- package/skills/fill-icmje-coi/SKILL.md +216 -0
- package/skills/fill-icmje-coi/scripts/fill_icmje_coi.py +140 -0
- package/skills/fill-icmje-coi/skill.yml +35 -0
- package/skills/fill-icmje-coi/templates/icmje_coi_seed_synthetic.docx +0 -0
- package/skills/fill-protocol/SKILL.md +248 -0
- package/skills/fill-protocol/examples/example_irb_template.yaml +53 -0
- package/skills/fill-protocol/references/best_practices.md +121 -0
- package/skills/fill-protocol/scripts/doc_to_docx.py +111 -0
- package/skills/fill-protocol/scripts/fill_form.py +611 -0
- package/skills/fill-protocol/scripts/inspect_template.py +61 -0
- package/skills/fill-protocol/setup.sh +162 -0
- package/skills/fill-protocol/skill.yml +37 -0
- package/skills/find-cohort-gap/SKILL.md +309 -0
- package/skills/find-cohort-gap/references/cohort_profile_template.md +93 -0
- package/skills/find-cohort-gap/references/onepager_template.md +84 -0
- package/skills/find-cohort-gap/references/pattern_scoring_rubric.md +169 -0
- package/skills/find-cohort-gap/references/saturation_query_templates.md +143 -0
- package/skills/find-cohort-gap/skill.yml +35 -0
- package/skills/find-journal/POLICY.md +87 -0
- package/skills/find-journal/SKILL.md +340 -0
- package/skills/find-journal/references/journal_profiles/AJNR.md +29 -0
- package/skills/find-journal/references/journal_profiles/AJR.md +30 -0
- package/skills/find-journal/references/journal_profiles/Abdominal_Radiology.md +30 -0
- package/skills/find-journal/references/journal_profiles/Academic_Radiology.md +30 -0
- package/skills/find-journal/references/journal_profiles/Annals_of_Internal_Medicine.md +33 -0
- package/skills/find-journal/references/journal_profiles/Artificial_Intelligence_in_Medicine.md +28 -0
- package/skills/find-journal/references/journal_profiles/BMC_Medicine.md +31 -0
- package/skills/find-journal/references/journal_profiles/British_Journal_of_Radiology.md +39 -0
- package/skills/find-journal/references/journal_profiles/CVIR.md +30 -0
- package/skills/find-journal/references/journal_profiles/Chest.md +39 -0
- package/skills/find-journal/references/journal_profiles/Clinical_Radiology.md +30 -0
- package/skills/find-journal/references/journal_profiles/Clinical_and_Molecular_Hepatology.md +32 -0
- package/skills/find-journal/references/journal_profiles/Diabetes_Metabolism_Journal.md +36 -0
- package/skills/find-journal/references/journal_profiles/Diagnostic_and_Interventional_Radiology.md +32 -0
- package/skills/find-journal/references/journal_profiles/Endocrinology_and_Metabolism.md +37 -0
- package/skills/find-journal/references/journal_profiles/European_Journal_of_Preventive_Cardiology.md +39 -0
- package/skills/find-journal/references/journal_profiles/European_Radiology.md +29 -0
- package/skills/find-journal/references/journal_profiles/Hepatology_Communications.md +40 -0
- package/skills/find-journal/references/journal_profiles/Hepatology_International.md +37 -0
- package/skills/find-journal/references/journal_profiles/IEEE_JBHI.md +28 -0
- package/skills/find-journal/references/journal_profiles/IEEE_TMI.md +28 -0
- package/skills/find-journal/references/journal_profiles/INSI.md +29 -0
- package/skills/find-journal/references/journal_profiles/Investigative_Radiology.md +25 -0
- package/skills/find-journal/references/journal_profiles/JACC_Advances.md +41 -0
- package/skills/find-journal/references/journal_profiles/JACC_Asia.md +30 -0
- package/skills/find-journal/references/journal_profiles/JACR.md +28 -0
- package/skills/find-journal/references/journal_profiles/JAMA.md +40 -0
- package/skills/find-journal/references/journal_profiles/JAMA_Network_Open.md +30 -0
- package/skills/find-journal/references/journal_profiles/JCSM.md +39 -0
- package/skills/find-journal/references/journal_profiles/JKMS.md +32 -0
- package/skills/find-journal/references/journal_profiles/JMIR.md +29 -0
- package/skills/find-journal/references/journal_profiles/JMIR_Medical_Education.md +29 -0
- package/skills/find-journal/references/journal_profiles/JNIS.md +35 -0
- package/skills/find-journal/references/journal_profiles/JVIR.md +31 -0
- package/skills/find-journal/references/journal_profiles/Journal_of_Biomedical_Informatics.md +29 -0
- package/skills/find-journal/references/journal_profiles/Journal_of_Clinical_Endocrinology_and_Metabolism.md +40 -0
- package/skills/find-journal/references/journal_profiles/Journal_of_Magnetic_Resonance_Imaging.md +30 -0
- package/skills/find-journal/references/journal_profiles/Journal_of_Nuclear_Medicine.md +31 -0
- package/skills/find-journal/references/journal_profiles/Journal_of_Stroke.md +32 -0
- package/skills/find-journal/references/journal_profiles/KJR.md +38 -0
- package/skills/find-journal/references/journal_profiles/Korean_Circulation_Journal.md +38 -0
- package/skills/find-journal/references/journal_profiles/Korean_Journal_of_Internal_Medicine.md +36 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Diabetes_and_Endocrinology.md +40 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Gastroenterology_and_Hepatology.md +49 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Infectious_Diseases.md +38 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Neurology.md +39 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Oncology.md +40 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Psychiatry.md +38 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Public_Health.md +30 -0
- package/skills/find-journal/references/journal_profiles/Lancet_Respiratory_Medicine.md +39 -0
- package/skills/find-journal/references/journal_profiles/Liver_International.md +33 -0
- package/skills/find-journal/references/journal_profiles/Medical_Image_Analysis.md +28 -0
- package/skills/find-journal/references/journal_profiles/NEJM.md +33 -0
- package/skills/find-journal/references/journal_profiles/Nature_Machine_Intelligence.md +31 -0
- package/skills/find-journal/references/journal_profiles/Nature_Medicine.md +39 -0
- package/skills/find-journal/references/journal_profiles/Neuroradiology.md +31 -0
- package/skills/find-journal/references/journal_profiles/Nutrition_Metabolism_and_Cardiovascular_Diseases.md +39 -0
- package/skills/find-journal/references/journal_profiles/PLOS_Medicine.md +32 -0
- package/skills/find-journal/references/journal_profiles/RYAI.md +28 -0
- package/skills/find-journal/references/journal_profiles/Radiology.md +29 -0
- package/skills/find-journal/references/journal_profiles/Skeletal_Radiology.md +31 -0
- package/skills/find-journal/references/journal_profiles/Stroke.md +37 -0
- package/skills/find-journal/references/journal_profiles/The_BMJ.md +31 -0
- package/skills/find-journal/references/journal_profiles/The_Lancet.md +31 -0
- package/skills/find-journal/references/journal_profiles/The_Lancet_Digital_Health.md +29 -0
- package/skills/find-journal/references/journal_profiles/World_Journal_of_Hepatology.md +53 -0
- package/skills/find-journal/references/journal_profiles/npj_Digital_Medicine.md +29 -0
- package/skills/find-journal/skill.yml +34 -0
- package/skills/fulltext-retrieval/SKILL.md +174 -0
- package/skills/fulltext-retrieval/fetch_oa.py +433 -0
- package/skills/fulltext-retrieval/pdf_to_md.py +160 -0
- package/skills/fulltext-retrieval/skill.yml +41 -0
- package/skills/generate-codebook/SKILL.md +155 -0
- package/skills/generate-codebook/references/codebook_schema.md +76 -0
- package/skills/generate-codebook/scripts/generate_codebook.py +278 -0
- package/skills/generate-codebook/skill.yml +35 -0
- package/skills/generate-codebook/tests/test_generate_codebook.sh +76 -0
- package/skills/grant-builder/SKILL.md +251 -0
- package/skills/grant-builder/skill.yml +34 -0
- package/skills/humanize/SKILL.md +251 -0
- package/skills/humanize/references/ai_patterns.md +571 -0
- package/skills/humanize/skill.yml +33 -0
- package/skills/intake-project/SKILL.md +264 -0
- package/skills/intake-project/skill.yml +34 -0
- package/skills/lit-sync/SKILL.md +448 -0
- package/skills/lit-sync/references/locale/ko/note_templates.md +110 -0
- package/skills/lit-sync/skill.yml +52 -0
- package/skills/lit-sync/tests/test_poll_logic.sh +92 -0
- package/skills/ma-scout/SKILL.md +640 -0
- package/skills/ma-scout/references/project_readme_template.md +95 -0
- package/skills/ma-scout/references/project_readme_template_ko.md +82 -0
- package/skills/ma-scout/skill.yml +33 -0
- package/skills/make-figures/SKILL.md +957 -0
- package/skills/make-figures/references/critic_rubrics/data_plot.md +166 -0
- package/skills/make-figures/references/critic_rubrics/flow_diagram.md +169 -0
- package/skills/make-figures/references/design_principles.md +181 -0
- package/skills/make-figures/references/exemplar_diagrams/README.md +65 -0
- package/skills/make-figures/references/exemplar_diagrams/consort/README.md +15 -0
- package/skills/make-figures/references/exemplar_diagrams/consort/template_input.yaml +37 -0
- package/skills/make-figures/references/exemplar_diagrams/consort/template_output.pdf +0 -0
- package/skills/make-figures/references/exemplar_diagrams/consort/template_output.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/consort/template_output_600.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/other/other_02.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/other/other_02.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/other/other_02_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/README.md +15 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_01.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_01.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_01_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_03.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_03.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_03_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_04.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_04.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_04_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_05.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_05.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_05_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_06.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_06.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_06_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_07.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_07.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_07_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_08.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_08.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_08_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_09.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_09.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_09_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_10.meta.yaml +4 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_10.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/pipeline/pipeline_10_why.md +13 -0
- package/skills/make-figures/references/exemplar_diagrams/prisma/README.md +15 -0
- package/skills/make-figures/references/exemplar_diagrams/prisma/template_input.yaml +47 -0
- package/skills/make-figures/references/exemplar_diagrams/prisma/template_output.pdf +0 -0
- package/skills/make-figures/references/exemplar_diagrams/prisma/template_output.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/prisma/template_output_600.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/stard/README.md +15 -0
- package/skills/make-figures/references/exemplar_diagrams/stard/template_input.yaml +40 -0
- package/skills/make-figures/references/exemplar_diagrams/stard/template_output.pdf +0 -0
- package/skills/make-figures/references/exemplar_diagrams/stard/template_output.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/stard/template_output_600.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_input.yaml +43 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_input_pptx.yaml +43 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_output.pdf +0 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_output.png +0 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_output.pptx +0 -0
- package/skills/make-figures/references/exemplar_diagrams/strobe/template_output_600.png +0 -0
- package/skills/make-figures/references/figure_specs.md +291 -0
- package/skills/make-figures/references/flow_diagram_lessons.md +164 -0
- package/skills/make-figures/references/jacc_central_illustration_principles.md +91 -0
- package/skills/make-figures/references/medical_illustration_sources.md +98 -0
- package/skills/make-figures/references/pipeline_concepts_medical_ai.md +240 -0
- package/skills/make-figures/references/reporting_guideline_figure_map.md +104 -0
- package/skills/make-figures/references/visual_abstract_templates/european_radiology.pptx +0 -0
- package/skills/make-figures/references/visual_abstract_templates/jacc_central_illustration.pptx +0 -0
- package/skills/make-figures/references/visual_abstract_templates/medsci_default.pptx +0 -0
- package/skills/make-figures/references/visual_abstract_templates/template_guide.md +114 -0
- package/skills/make-figures/scripts/build_jacc_template.py +77 -0
- package/skills/make-figures/scripts/build_prisma2020_template.py +371 -0
- package/skills/make-figures/scripts/build_strobe_template.py +351 -0
- package/skills/make-figures/scripts/critic_figure.py +264 -0
- package/skills/make-figures/scripts/derive_figure_legend_counts.py +138 -0
- package/skills/make-figures/scripts/extract_exemplar_from_pdf.py +186 -0
- package/skills/make-figures/scripts/fetch_official_templates.sh +88 -0
- package/skills/make-figures/scripts/fill_prisma_template.py +142 -0
- package/skills/make-figures/scripts/generate_flow_diagram.R +133 -0
- package/skills/make-figures/scripts/generate_image.py +99 -0
- package/skills/make-figures/scripts/generate_visual_abstract.py +438 -0
- package/skills/make-figures/scripts/validate_pptx_mac_compat.py +233 -0
- package/skills/make-figures/skill.yml +52 -0
- package/skills/make-figures/templates/official/NOTES.md +62 -0
- package/skills/make-figures/templates/official/consort2010/CONSORT_2025_editable_checklist.docx +0 -0
- package/skills/make-figures/templates/official/consort2010/CONSORT_2025_flow_diagram.docx +0 -0
- package/skills/make-figures/templates/official/prisma2020/PRISMA_2020_flow_new_v1.pptx +0 -0
- package/skills/make-figures/templates/official/prisma2020/PRISMA_2020_flow_new_v2.pptx +0 -0
- package/skills/make-figures/templates/official/prisma2020/PRISMA_2020_flow_updated_v2.pptx +0 -0
- package/skills/make-figures/templates/official/spirit2013/SPIRIT_2025_editable_checklist.docx +0 -0
- package/skills/make-figures/templates/official/spirit2013/SPIRIT_2025_participant_timeline.docx +0 -0
- package/skills/make-figures/templates/official/stard2015/STARD_2015_checklist.docx +0 -0
- package/skills/make-figures/templates/official/stard2015/STARD_2015_flow_diagram.pdf +0 -0
- package/skills/make-figures/tests/fixtures/figure1_flow.yaml +8 -0
- package/skills/make-figures/tests/fixtures/manuscript_ok.md +9 -0
- package/skills/make-figures/tests/fixtures/manuscript_stale.md +4 -0
- package/skills/make-figures/tests/test_legend_reconcile.sh +36 -0
- package/skills/manage-project/SKILL.md +358 -0
- package/skills/manage-project/references/pre_submission_checklist.md +53 -0
- package/skills/manage-project/references/project_state_template.json +37 -0
- package/skills/manage-project/references/scaffold_templates.md +118 -0
- package/skills/manage-project/references/status_output_format.md +44 -0
- package/skills/manage-project/references/timeline_example.md +20 -0
- package/skills/manage-project/skill.yml +36 -0
- package/skills/manage-project/templates/SSOT.yaml.template +41 -0
- package/skills/manage-refs/LICENSE.zotero-mcp +21 -0
- package/skills/manage-refs/NOTICE.md +29 -0
- package/skills/manage-refs/SKILL.md +289 -0
- package/skills/manage-refs/citation_styles/README.md +40 -0
- package/skills/manage-refs/citation_styles/american-journal-of-roentgenology.csl +211 -0
- package/skills/manage-refs/citation_styles/cardiovascular-and-interventional-radiology.csl +19 -0
- package/skills/manage-refs/citation_styles/european-radiology.csl +19 -0
- package/skills/manage-refs/citation_styles/journal-of-cachexia-sarcopenia-and-muscle.csl +150 -0
- package/skills/manage-refs/citation_styles/journal-of-korean-medical-science-strict.csl +533 -0
- package/skills/manage-refs/citation_styles/journal-of-korean-medical-science.csl +16 -0
- package/skills/manage-refs/citation_styles/korean-journal-of-radiology.csl +155 -0
- package/skills/manage-refs/citation_styles/nature.csl +189 -0
- package/skills/manage-refs/citation_styles/nlm-citation-sequence.csl +535 -0
- package/skills/manage-refs/citation_styles/radiology.csl +228 -0
- package/skills/manage-refs/citation_styles/springer-basic-brackets.csl +187 -0
- package/skills/manage-refs/citation_styles/springer-vancouver-brackets.csl +276 -0
- package/skills/manage-refs/citation_styles/vancouver-superscript.csl +536 -0
- package/skills/manage-refs/citation_styles/vancouver.csl +535 -0
- package/skills/manage-refs/references/REFERENCE_STYLE_SPECS.md +59 -0
- package/skills/manage-refs/references/check_xref_symptoms.md +35 -0
- package/skills/manage-refs/scripts/_vendor_citation_writer.py +600 -0
- package/skills/manage-refs/scripts/check_citation_keys.py +112 -0
- package/skills/manage-refs/scripts/check_csl_render.py +102 -0
- package/skills/manage-refs/scripts/check_xref.py +633 -0
- package/skills/manage-refs/scripts/fill_journal_abbrev.py +104 -0
- package/skills/manage-refs/scripts/inject_zotero_cwyw.py +133 -0
- package/skills/manage-refs/scripts/md_marker_convert.py +193 -0
- package/skills/manage-refs/scripts/pre_submission_gate.sh +238 -0
- package/skills/manage-refs/scripts/render_pandoc.sh +88 -0
- package/skills/manage-refs/skill.yml +70 -0
- package/skills/manage-refs/tests/fixtures/pre_submission_gate/README.md +32 -0
- package/skills/manage-refs/tests/fixtures/pre_submission_gate/manuscript.md +10 -0
- package/skills/manage-refs/tests/fixtures/pre_submission_gate/refs.bib +34 -0
- package/skills/manage-refs/tests/fixtures/pre_submission_gate/run.sh +117 -0
- package/skills/manage-refs/tests/test_vN_docx_check.sh +145 -0
- package/skills/meta-analysis/SKILL.md +739 -0
- package/skills/meta-analysis/references/LICENSES.md +21 -0
- package/skills/meta-analysis/references/PROSPERO_template.md +221 -0
- package/skills/meta-analysis/references/ai_pre_screening_template.py +245 -0
- package/skills/meta-analysis/references/checklists/JBI_Case_Series.md +45 -0
- package/skills/meta-analysis/references/checklists/NOS.md +88 -0
- package/skills/meta-analysis/references/checklists/PRISMA_DTA.md +36 -0
- package/skills/meta-analysis/references/checklists/PROBAST.md +75 -0
- package/skills/meta-analysis/references/checklists/QUADAS2.md +77 -0
- package/skills/meta-analysis/references/checklists/ROBINS_I.md +87 -0
- package/skills/meta-analysis/references/checklists/RoB2.md +79 -0
- package/skills/meta-analysis/references/data_integrity_checklist.md +57 -0
- package/skills/meta-analysis/references/icmje_coi_guide.md +181 -0
- package/skills/meta-analysis/references/phase10_recovery.md +136 -0
- package/skills/meta-analysis/references/phase4_km_composite.md +58 -0
- package/skills/meta-analysis/references/phase6_statistical_synthesis.md +148 -0
- package/skills/meta-analysis/references/phase9_circulation.md +84 -0
- package/skills/meta-analysis/references/post_submission_release_ops.md +41 -0
- package/skills/meta-analysis/references/r_templates.md +132 -0
- package/skills/meta-analysis/references/review_orchestration.md +40 -0
- package/skills/meta-analysis/references/submission_package_drift.md +71 -0
- package/skills/meta-analysis/scripts/check_pool_consistency.py +201 -0
- package/skills/meta-analysis/scripts/cohort_overlap_check.py +242 -0
- package/skills/meta-analysis/scripts/dta_extraction_qc.py +137 -0
- package/skills/meta-analysis/scripts/screening_reconcile.py +160 -0
- package/skills/meta-analysis/skill.yml +47 -0
- package/skills/meta-analysis/templates/FINAL_POOL_LOCK.yaml.template +70 -0
- package/skills/meta-analysis/templates/extraction_form_v2.md +129 -0
- package/skills/meta-analysis/templates/supplementary_8file_checklist.md +94 -0
- package/skills/meta-analysis/tests/test_pool_consistency.sh +123 -0
- package/skills/orchestrate/SKILL.md +501 -0
- package/skills/orchestrate/references/dialogue_nodes.md +196 -0
- package/skills/orchestrate/references/report_template.md +109 -0
- package/skills/orchestrate/references/report_template_ko.md +88 -0
- package/skills/orchestrate/skill.yml +44 -0
- package/skills/peer-review/SKILL.md +381 -0
- package/skills/peer-review/references/aczel_2021_reviewer2_patterns.md +88 -0
- package/skills/peer-review/references/domain-probes/ai_overclaiming.md +47 -0
- package/skills/peer-review/references/domain-probes/narrative_review.md +44 -0
- package/skills/peer-review/references/domain-probes/observational_confounding.md +48 -0
- package/skills/peer-review/references/domain-probes/radiomics.md +38 -0
- package/skills/peer-review/references/domain-probes/sr_ma.md +87 -0
- package/skills/peer-review/references/domain-probes/survival_prognostic.md +68 -0
- package/skills/peer-review/references/exemplar_reviews/README.md +43 -0
- package/skills/peer-review/references/exemplar_reviews/ai_overclaiming.md +47 -0
- package/skills/peer-review/references/exemplar_reviews/calibration_missing.md +44 -0
- package/skills/peer-review/references/exemplar_reviews/data_leakage.md +48 -0
- package/skills/peer-review/references/exemplar_reviews/reference_standard_validity.md +45 -0
- package/skills/peer-review/references/narrative_review_audit.md +67 -0
- package/skills/peer-review/references/reviewer_calibration/README.md +34 -0
- package/skills/peer-review/references/reviewer_calibration/compliance_floor.md +52 -0
- package/skills/peer-review/references/reviewer_profiles/AJR.md +82 -0
- package/skills/peer-review/references/reviewer_profiles/EURE.md +64 -0
- package/skills/peer-review/references/reviewer_profiles/INSI.md +57 -0
- package/skills/peer-review/references/reviewer_profiles/KJR.md +100 -0
- package/skills/peer-review/references/reviewer_profiles/README.md +32 -0
- package/skills/peer-review/references/reviewer_profiles/RYAI.md +86 -0
- package/skills/peer-review/skill.yml +39 -0
- package/skills/present-paper/SKILL.md +675 -0
- package/skills/present-paper/references/critic_rubrics/slide.md +155 -0
- package/skills/present-paper/references/generate_pptx_templates.py +604 -0
- package/skills/present-paper/references/medical_presentation_templates.md +277 -0
- package/skills/present-paper/references/slide_design_principles.md +202 -0
- package/skills/present-paper/references/slide_visual_styles/nature_lancet.md +168 -0
- package/skills/present-paper/references/workflow-checklist.md +109 -0
- package/skills/present-paper/scripts/extract_pdf_figures.py +243 -0
- package/skills/present-paper/scripts/inject_pronunciation_notes.py +178 -0
- package/skills/present-paper/scripts/inject_speaker_notes.py +133 -0
- package/skills/present-paper/scripts/strip_notes_for_sharing.py +140 -0
- package/skills/present-paper/scripts/trim_caption.py +271 -0
- package/skills/present-paper/skill.yml +41 -0
- package/skills/present-paper/templates/build_pptx_nature_lancet.py +688 -0
- package/skills/publish-skill/SKILL.md +370 -0
- package/skills/publish-skill/references/license-compatibility-matrix.md +132 -0
- package/skills/publish-skill/references/pii-patterns.md +130 -0
- package/skills/publish-skill/scripts/audit_skill.sh +278 -0
- package/skills/publish-skill/skill.yml +35 -0
- package/skills/render-pdf-doc/SKILL.md +146 -0
- package/skills/render-pdf-doc/references/known_pitfalls.md +53 -0
- package/skills/render-pdf-doc/references/pandoc_korean_cheatsheet.md +77 -0
- package/skills/render-pdf-doc/scripts/check_deps.sh +42 -0
- package/skills/render-pdf-doc/scripts/infer_colwidths.py +164 -0
- package/skills/render-pdf-doc/scripts/render_pdf.sh +98 -0
- package/skills/render-pdf-doc/skill.yml +57 -0
- package/skills/render-pdf-doc/templates/anchor-doc.md +27 -0
- package/skills/render-pdf-doc/templates/anchor-doc_ko.md +25 -0
- package/skills/render-pdf-doc/templates/briefing-handout.md +33 -0
- package/skills/render-pdf-doc/templates/briefing-handout_ko.md +31 -0
- package/skills/render-pdf-doc/templates/proposal-cover.md +33 -0
- package/skills/render-pdf-doc/templates/proposal-cover_ko.md +31 -0
- package/skills/render-pdf-doc/templates/reference-table.md +22 -0
- package/skills/render-pdf-doc/templates/reference-table_ko.md +20 -0
- package/skills/replicate-study/SKILL.md +150 -0
- package/skills/replicate-study/references/harmonization_3country.csv +47 -0
- package/skills/replicate-study/references/harmonization_knhanes_nhanes.csv +68 -0
- package/skills/replicate-study/references/methodology_extraction_template.md +134 -0
- package/skills/replicate-study/skill.yml +37 -0
- package/skills/review-paper/SKILL.md +104 -0
- package/skills/review-paper/references/macro_skeleton.md +6 -0
- package/skills/review-paper/skill.yml +25 -0
- package/skills/revise/SKILL.md +515 -0
- package/skills/revise/references/r2r_voice.md +346 -0
- package/skills/revise/skill.yml +43 -0
- package/skills/search-lit/SKILL.md +443 -0
- package/skills/search-lit/references/parse_pubmed.py +326 -0
- package/skills/search-lit/references/pubmed_eutils.sh +111 -0
- package/skills/search-lit/skill.yml +46 -0
- package/skills/self-review/SKILL.md +1045 -0
- package/skills/self-review/references/domain-probes/ai_overclaiming.md +47 -0
- package/skills/self-review/references/domain-probes/narrative_review.md +44 -0
- package/skills/self-review/references/domain-probes/observational_confounding.md +48 -0
- package/skills/self-review/references/domain-probes/radiomics.md +38 -0
- package/skills/self-review/references/domain-probes/sr_ma.md +87 -0
- package/skills/self-review/references/domain-probes/survival_prognostic.md +68 -0
- package/skills/self-review/references/exemplar_findings/README.md +43 -0
- package/skills/self-review/references/exemplar_findings/cohort_arithmetic_mismatch.md +35 -0
- package/skills/self-review/references/exemplar_findings/estimand_drift_posthoc_primary.md +39 -0
- package/skills/self-review/references/exemplar_findings/scope_overreach_cross_sectional.md +35 -0
- package/skills/self-review/references/exemplar_findings/unadjusted_confounder.md +36 -0
- package/skills/self-review/references/panel_review_template.md +177 -0
- package/skills/self-review/scripts/check_artifact_coverage.py +301 -0
- package/skills/self-review/scripts/check_claim_artifact.py +248 -0
- package/skills/self-review/scripts/check_classical_style.py +185 -0
- package/skills/self-review/scripts/check_cohort_arithmetic.py +481 -0
- package/skills/self-review/scripts/check_confounding_completeness.py +287 -0
- package/skills/self-review/scripts/check_panel_diversity.py +336 -0
- package/skills/self-review/scripts/check_reference_adequacy.py +392 -0
- package/skills/self-review/scripts/check_reviewer_team_consistency.py +412 -0
- package/skills/self-review/scripts/check_scope_coherence.py +177 -0
- package/skills/self-review/skill.yml +47 -0
- package/skills/self-review/tests/fixtures/claim_manuscript.md +17 -0
- package/skills/self-review/tests/fixtures/claim_prereg.md +6 -0
- package/skills/self-review/tests/fixtures/cohort_bad.md +21 -0
- package/skills/self-review/tests/fixtures/cohort_clean.md +21 -0
- package/skills/self-review/tests/fixtures/cohort_partition.csv +5 -0
- package/skills/self-review/tests/fixtures/coverage_analysis/31_delong_nested_added_value.csv +3 -0
- package/skills/self-review/tests/fixtures/coverage_analysis/table1_demographics.csv +3 -0
- package/skills/self-review/tests/fixtures/coverage_clean.md +13 -0
- package/skills/self-review/tests/fixtures/coverage_manuscript.md +11 -0
- package/skills/self-review/tests/fixtures/panel_collapse.json +27 -0
- package/skills/self-review/tests/fixtures/panel_good.json +32 -0
- package/skills/self-review/tests/fixtures/panel_monoculture.json +32 -0
- package/skills/self-review/tests/fixtures/refadeq_letter.md +13 -0
- package/skills/self-review/tests/fixtures/refadeq_original_fixed.md +42 -0
- package/skills/self-review/tests/fixtures/refadeq_original_uncited.md +40 -0
- package/skills/self-review/tests/fixtures/scope_bad.md +9 -0
- package/skills/self-review/tests/fixtures/scope_clean.md +8 -0
- package/skills/self-review/tests/fixtures/scope_surrogate.md +8 -0
- package/skills/self-review/tests/fixtures/style_bad.md +13 -0
- package/skills/self-review/tests/fixtures/style_clean.md +11 -0
- package/skills/self-review/tests/fixtures/table1_by_exposure.csv +11 -0
- package/skills/self-review/tests/test_artifact_coverage.sh +44 -0
- package/skills/self-review/tests/test_claim_artifact.sh +50 -0
- package/skills/self-review/tests/test_classical_style.sh +44 -0
- package/skills/self-review/tests/test_cohort_arithmetic.sh +49 -0
- package/skills/self-review/tests/test_confounding_completeness.sh +66 -0
- package/skills/self-review/tests/test_panel_diversity.sh +55 -0
- package/skills/self-review/tests/test_panel_mode.sh +69 -0
- package/skills/self-review/tests/test_reference_adequacy.sh +68 -0
- package/skills/self-review/tests/test_reviewer_team_consistency.sh +138 -0
- package/skills/self-review/tests/test_scope_coherence.sh +46 -0
- package/skills/setup-medsci/SKILL.md +110 -0
- package/skills/setup-medsci/references/setup-checklist.md +51 -0
- package/skills/setup-medsci/skill.yml +30 -0
- package/skills/sync-submission/SKILL.md +382 -0
- package/skills/sync-submission/scripts/author_registry_example.yaml +36 -0
- package/skills/sync-submission/scripts/blind_sweep.py +203 -0
- package/skills/sync-submission/scripts/check_asset_anonymization.py +300 -0
- package/skills/sync-submission/scripts/check_cross_artifact_stale.py +211 -0
- package/skills/sync-submission/scripts/cover_letter_drift_check.py +451 -0
- package/skills/sync-submission/scripts/cross_document_n_check.py +486 -0
- package/skills/sync-submission/scripts/detect_copy_divergence.py +136 -0
- package/skills/sync-submission/scripts/preflight_gate.py +458 -0
- package/skills/sync-submission/scripts/scope_drift_check.py +362 -0
- package/skills/sync-submission/scripts/sync_submission.py +169 -0
- package/skills/sync-submission/skill.yml +43 -0
- package/skills/sync-submission/tests/fixtures/copy_ok.md +5 -0
- package/skills/sync-submission/tests/fixtures/copy_stale.md +5 -0
- package/skills/sync-submission/tests/fixtures/ssot.md +5 -0
- package/skills/sync-submission/tests/test_asset_anonymization.sh +99 -0
- package/skills/sync-submission/tests/test_copy_divergence.sh +44 -0
- package/skills/sync-submission/tests/test_cross_artifact_stale.sh +80 -0
- package/skills/sync-submission/tests/test_cross_document_n.sh +132 -0
- package/skills/sync-submission/tests/test_preflight_gate.sh +112 -0
- package/skills/sync-submission/tests/test_scope_drift.sh +122 -0
- package/skills/sync-submission/tests/test_vN_docx_assertion.sh +51 -0
- package/skills/verify-refs/SKILL.md +177 -0
- package/skills/verify-refs/references/manual_checkpoint_guide.md +100 -0
- package/skills/verify-refs/scripts/verify_cli.sh +62 -0
- package/skills/verify-refs/scripts/verify_refs.py +782 -0
- package/skills/verify-refs/skill.yml +44 -0
- package/skills/verify-refs/tests/fixtures/pagination_placeholder.bib +17 -0
- package/skills/verify-refs/tests/test_pagination_placeholder.sh +42 -0
- package/skills/version-dataset/SKILL.md +143 -0
- package/skills/version-dataset/references/manifest_schema.md +72 -0
- package/skills/version-dataset/scripts/version_dataset.py +242 -0
- package/skills/version-dataset/skill.yml +35 -0
- package/skills/version-dataset/tests/test_version_dataset.sh +52 -0
- package/skills/write-paper/SKILL.md +1148 -0
- package/skills/write-paper/references/exemplar_methods/README.md +38 -0
- package/skills/write-paper/references/exemplar_methods/ai_validation_tripod_claim.md +47 -0
- package/skills/write-paper/references/exemplar_methods/diagnostic_accuracy_stard.md +50 -0
- package/skills/write-paper/references/exemplar_methods/observational_cohort_strobe.md +43 -0
- package/skills/write-paper/references/journal_profiles/AJNR.md +185 -0
- package/skills/write-paper/references/journal_profiles/AJR.md +149 -0
- package/skills/write-paper/references/journal_profiles/Abdominal_Radiology.md +139 -0
- package/skills/write-paper/references/journal_profiles/Academic_Radiology.md +90 -0
- package/skills/write-paper/references/journal_profiles/Annals_of_Internal_Medicine.md +150 -0
- package/skills/write-paper/references/journal_profiles/Artificial_Intelligence_in_Medicine.md +82 -0
- package/skills/write-paper/references/journal_profiles/British_Journal_of_Radiology.md +161 -0
- package/skills/write-paper/references/journal_profiles/CVIR.md +157 -0
- package/skills/write-paper/references/journal_profiles/Chest.md +270 -0
- package/skills/write-paper/references/journal_profiles/Clinical_Radiology.md +160 -0
- package/skills/write-paper/references/journal_profiles/Clinical_and_Molecular_Hepatology.md +147 -0
- package/skills/write-paper/references/journal_profiles/Diabetes_Metabolism_Journal.md +163 -0
- package/skills/write-paper/references/journal_profiles/Diagnostic_and_Interventional_Radiology.md +216 -0
- package/skills/write-paper/references/journal_profiles/Endocrinology_and_Metabolism.md +167 -0
- package/skills/write-paper/references/journal_profiles/European_Journal_of_Preventive_Cardiology.md +192 -0
- package/skills/write-paper/references/journal_profiles/European_Radiology.md +159 -0
- package/skills/write-paper/references/journal_profiles/Hepatology_Communications.md +110 -0
- package/skills/write-paper/references/journal_profiles/Hepatology_International.md +106 -0
- package/skills/write-paper/references/journal_profiles/IEEE_TMI.md +180 -0
- package/skills/write-paper/references/journal_profiles/INSI.md +163 -0
- package/skills/write-paper/references/journal_profiles/Investigative_Radiology.md +86 -0
- package/skills/write-paper/references/journal_profiles/JACC_Advances.md +197 -0
- package/skills/write-paper/references/journal_profiles/JACC_Asia.md +168 -0
- package/skills/write-paper/references/journal_profiles/JACR.md +87 -0
- package/skills/write-paper/references/journal_profiles/JAMA.md +188 -0
- package/skills/write-paper/references/journal_profiles/JAMA_Network_Open.md +170 -0
- package/skills/write-paper/references/journal_profiles/JCSM.md +266 -0
- package/skills/write-paper/references/journal_profiles/JKMS.md +201 -0
- package/skills/write-paper/references/journal_profiles/JMIR.md +88 -0
- package/skills/write-paper/references/journal_profiles/JMIR_Medical_Education.md +86 -0
- package/skills/write-paper/references/journal_profiles/JNIS.md +227 -0
- package/skills/write-paper/references/journal_profiles/JVIR.md +158 -0
- package/skills/write-paper/references/journal_profiles/Journal_of_Clinical_Endocrinology_and_Metabolism.md +191 -0
- package/skills/write-paper/references/journal_profiles/Journal_of_Stroke.md +176 -0
- package/skills/write-paper/references/journal_profiles/KJR.md +185 -0
- package/skills/write-paper/references/journal_profiles/Korean_Circulation_Journal.md +184 -0
- package/skills/write-paper/references/journal_profiles/Korean_Journal_of_Internal_Medicine.md +178 -0
- package/skills/write-paper/references/journal_profiles/Lancet_Gastroenterology_and_Hepatology.md +127 -0
- package/skills/write-paper/references/journal_profiles/Liver_International.md +165 -0
- package/skills/write-paper/references/journal_profiles/Medical_Image_Analysis.md +147 -0
- package/skills/write-paper/references/journal_profiles/NEJM.md +147 -0
- package/skills/write-paper/references/journal_profiles/Nature_Medicine.md +181 -0
- package/skills/write-paper/references/journal_profiles/Neuroradiology.md +151 -0
- package/skills/write-paper/references/journal_profiles/Nutrition_Metabolism_and_Cardiovascular_Diseases.md +184 -0
- package/skills/write-paper/references/journal_profiles/PLOS_Medicine.md +166 -0
- package/skills/write-paper/references/journal_profiles/RYAI.md +124 -0
- package/skills/write-paper/references/journal_profiles/Radiology.md +173 -0
- package/skills/write-paper/references/journal_profiles/Skeletal_Radiology.md +135 -0
- package/skills/write-paper/references/journal_profiles/Stroke.md +210 -0
- package/skills/write-paper/references/journal_profiles/The_BMJ.md +121 -0
- package/skills/write-paper/references/journal_profiles/The_Lancet.md +112 -0
- package/skills/write-paper/references/journal_profiles/The_Lancet_Digital_Health.md +104 -0
- package/skills/write-paper/references/journal_profiles/World_Journal_of_Hepatology.md +106 -0
- package/skills/write-paper/references/journal_profiles/npj_Digital_Medicine.md +93 -0
- package/skills/write-paper/references/paper_types/ai_validation.md +270 -0
- package/skills/write-paper/references/paper_types/animal_study.md +194 -0
- package/skills/write-paper/references/paper_types/case_report.md +237 -0
- package/skills/write-paper/references/paper_types/cross_national.md +328 -0
- package/skills/write-paper/references/paper_types/letter.md +127 -0
- package/skills/write-paper/references/paper_types/meta_analysis.md +181 -0
- package/skills/write-paper/references/paper_types/nhis_cohort.md +297 -0
- package/skills/write-paper/references/paper_types/original_article.md +221 -0
- package/skills/write-paper/references/paper_types/technical_note.md +131 -0
- package/skills/write-paper/references/section_guides/discussion.md +155 -0
- package/skills/write-paper/references/section_guides/introduction.md +108 -0
- package/skills/write-paper/references/section_guides/methods.md +144 -0
- package/skills/write-paper/references/section_guides/results.md +113 -0
- package/skills/write-paper/references/section_guides/step7_1_classical_qc.md +67 -0
- package/skills/write-paper/references/section_guides/step7_4a_audit_recovery.md +74 -0
- package/skills/write-paper/references/section_guides/title_abstract.md +123 -0
- package/skills/write-paper/references/section_templates/methods_statistical.md +147 -0
- package/skills/write-paper/scripts/check_placeholders.py +182 -0
- package/skills/write-paper/skill.yml +48 -0
- package/skills/write-paper/tests/test_placeholders.sh +107 -0
- package/skills/write-protocol/SKILL.md +243 -0
- package/skills/write-protocol/references/ethics_checklist.md +150 -0
- package/skills/write-protocol/references/protocol_template.md +304 -0
- package/skills/write-protocol/skill.yml +34 -0
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
# Medical Presentation Templates
|
|
2
|
+
|
|
3
|
+
Section structure, slide counts, and design tone for the four medical presentation
|
|
4
|
+
contexts handled by this skill. Each template is a starting outline — not a rigid
|
|
5
|
+
template. Adapt to specific paper, audience, and time slot.
|
|
6
|
+
|
|
7
|
+
> **Sources**: RadioGraphics 2025 ("Winning at the Radiology Podium," DOI 10.1148/rg.250003);
|
|
8
|
+
> RSNA Refresher Course Committee guidelines; UAB Physician Scientist Development Office
|
|
9
|
+
> journal club framework; ASHP journal club template; medsci-skills internal patterns from
|
|
10
|
+
> 2026-04 grand rounds and journal club decks.
|
|
11
|
+
>
|
|
12
|
+
> **Triggered from**: SKILL.md Phase 0 (Outline) — pick the template matching the
|
|
13
|
+
> presentation context, then customize. Cross-reference `slide_design_principles.md` (§2
|
|
14
|
+
> reading-time budget table) and `critic_rubrics/slide.md` Section G.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 1. Journal club (paper-driven, peer trainees)
|
|
19
|
+
|
|
20
|
+
**Audience**: residents / fellows + 1–2 faculty. Same-specialty cohort.
|
|
21
|
+
**Time**: 20–30 min total (10–15 min present + remainder discussion).
|
|
22
|
+
**Tone**: Methodologically rigorous, critical, peer-collegial.
|
|
23
|
+
**Slide count**: ~20–25 (1 slide / 30–60 s).
|
|
24
|
+
|
|
25
|
+
### Section structure
|
|
26
|
+
|
|
27
|
+
| # | Section | Slides | Purpose |
|
|
28
|
+
|---|---|---|---|
|
|
29
|
+
| 1 | Title + COI | 1 | Paper citation, presenter, date, disclosure |
|
|
30
|
+
| 2 | Why this paper | 1 | Clinical question that led to selection |
|
|
31
|
+
| 3 | Background | 1–2 | Existing evidence, what's known vs unknown |
|
|
32
|
+
| 4 | Research question (PICO) | 1 | Population / Intervention / Comparison / Outcome |
|
|
33
|
+
| 5 | Study design | 1–2 | Schema diagram of arms, randomization, follow-up |
|
|
34
|
+
| 6 | Methods | 1–2 | Cohort, eligibility, primary outcome, statistical plan |
|
|
35
|
+
| 7 | Results | 3–5 | Primary outcome figure, key tables, subgroup if relevant |
|
|
36
|
+
| 8 | Strengths / Weaknesses | 1 | 2-column slide (per `critic_rubrics/slide.md` G.30) |
|
|
37
|
+
| 9 | Limitations | 1 | Author-acknowledged + presenter-identified |
|
|
38
|
+
| 10 | Statistical vs clinical significance | 1 | Effect size + NNT / absolute risk reduction |
|
|
39
|
+
| 11 | Clinical implications | 1 | How this changes (or doesn't change) practice |
|
|
40
|
+
| 12 | Take-home messages | 1 | 3 bullet points, no more |
|
|
41
|
+
| 13 | References / Q&A | 1 | Inline citations + key supporting refs |
|
|
42
|
+
|
|
43
|
+
### Design seed
|
|
44
|
+
- **Color**: Institutional accent (1) + neutral grays (2). No 3-D, no decorative animation.
|
|
45
|
+
- **Typography**: Sans-serif (Helvetica / Calibri / Pretendard for KR). 28 pt title /
|
|
46
|
+
18–20 pt body.
|
|
47
|
+
- **Figures**: Use figures from the paper directly (cite slide-corner). Do not re-render
|
|
48
|
+
unless adding emphasis annotations.
|
|
49
|
+
- **Speaker note density**: 5–10 s of spoken content per slide.
|
|
50
|
+
|
|
51
|
+
### Pre-presentation checklist
|
|
52
|
+
- [ ] Faculty review of paper selection (per UAB framework — verify educational
|
|
53
|
+
significance, relevance for practice, validity).
|
|
54
|
+
- [ ] Read paper independently before reading the abstract (avoid author-framing bias).
|
|
55
|
+
- [ ] Allocate ~50% of total time to discussion, not lecture.
|
|
56
|
+
- [ ] Verify `submission_safe: true` is not needed (journal club ≠ submission).
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 2. Grand rounds (mixed specialty / mixed seniority)
|
|
61
|
+
|
|
62
|
+
**Audience**: Multi-specialty, mixed trainee + attending. May include non-radiologists for
|
|
63
|
+
imaging-themed rounds.
|
|
64
|
+
**Time**: 45–60 min total (35–45 min present + remainder Q&A).
|
|
65
|
+
**Tone**: Educational, broadly accessible, single-take-home framing.
|
|
66
|
+
**Slide count**: ~30–45 (1 slide / 60–90 s, with worked examples).
|
|
67
|
+
|
|
68
|
+
### Section structure
|
|
69
|
+
|
|
70
|
+
| # | Section | Slides | Purpose |
|
|
71
|
+
|---|---|---|---|
|
|
72
|
+
| 1 | Title + COI + Acknowledgments | 1–2 | Title, presenter affiliation, disclosure, mentor credit |
|
|
73
|
+
| 2 | Learning objectives | 1 | 3–4 specific objectives (verb + noun pattern) |
|
|
74
|
+
| 3 | Hook / clinical case | 1–2 | A real (de-identified) case that motivates the topic |
|
|
75
|
+
| 4 | Why this matters now | 1 | Burden / incidence / unmet clinical need |
|
|
76
|
+
| 5 | Background (concept review) | 2–3 | Pathophysiology / imaging principles, accessible level |
|
|
77
|
+
| 6 | Current standard of care | 1–2 | Where the field is today, what the gap is |
|
|
78
|
+
| 7 | Recent evidence | 5–8 | 2–3 key papers; one slide per take-home |
|
|
79
|
+
| 8 | Worked imaging examples | 4–8 | Side-by-side cases illustrating each teaching point |
|
|
80
|
+
| 9 | Practice algorithm / decision tree | 1–2 | Synthesis: how to apply in daily practice |
|
|
81
|
+
| 10 | Limitations of current evidence | 1 | Honest framing of what we still don't know |
|
|
82
|
+
| 11 | Future directions | 1 | Trials in progress, AI/computational angles if relevant |
|
|
83
|
+
| 12 | Take-home messages | 1 | Map back to learning objectives |
|
|
84
|
+
| 13 | Return to opening case | 1 | Show how the talk's content alters the case management |
|
|
85
|
+
| 14 | Q&A / References | 1 | Inline cites throughout; reference handout if requested |
|
|
86
|
+
|
|
87
|
+
### Design seed
|
|
88
|
+
- **Color**: Institutional palette + 1 accent for highlights. Avoid >3 colors per slide.
|
|
89
|
+
- **Typography**: Title 32 pt / body 20–22 pt (room may seat ≥ 100).
|
|
90
|
+
- **Figures**: Mix of paper figures, original imaging, and SMART Servier anatomical icons.
|
|
91
|
+
AI-image disclosure if anything is AI-generated.
|
|
92
|
+
- **Worked examples**: Build-up animations acceptable (sequential reveal of imaging
|
|
93
|
+
findings) — but only when the build encodes a teaching step.
|
|
94
|
+
|
|
95
|
+
### Pre-presentation checklist
|
|
96
|
+
- [ ] Learning objectives written with measurable verbs (avoid "understand"; prefer
|
|
97
|
+
"identify," "differentiate," "recommend").
|
|
98
|
+
- [ ] Imaging consent / de-identification verified for all cases.
|
|
99
|
+
- [ ] Disclosure slide includes industry relationships, advisory roles, prior publications
|
|
100
|
+
cited.
|
|
101
|
+
- [ ] Mentor pre-review completed (typical 1–2 weeks before).
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 3. Conference talk (RSNA / ECR / KCR / society meeting)
|
|
106
|
+
|
|
107
|
+
**Audience**: Specialist peers; high domain expertise.
|
|
108
|
+
**Time**: 7–12 min present + 2–3 min Q&A (oral session standard).
|
|
109
|
+
**Tone**: Tight, data-dense, focused on contribution.
|
|
110
|
+
**Slide count**: ~10–14 for 10-min talk; ~14–18 for 12-min (1 slide / 45–60 s).
|
|
111
|
+
|
|
112
|
+
### Section structure
|
|
113
|
+
|
|
114
|
+
| # | Section | Slides | Purpose |
|
|
115
|
+
|---|---|---|---|
|
|
116
|
+
| 1 | Title + Disclosure | 1 | Title, authors, affiliation, COI in 1 slide |
|
|
117
|
+
| 2 | Background + Gap | 1–2 | Tight: 1 sentence on context, 1 on gap |
|
|
118
|
+
| 3 | Hypothesis / Aim | 1 | Stated as a sentence-headline |
|
|
119
|
+
| 4 | Methods | 1–2 | Cohort flow diagram + key methodological choice |
|
|
120
|
+
| 5 | Primary results | 2–3 | One figure per result; sentence-headline title |
|
|
121
|
+
| 6 | Subgroup / sensitivity | 1 | Only if it's the most defensible secondary finding |
|
|
122
|
+
| 7 | Limitations | 1 | Brief — acknowledge top 2–3 |
|
|
123
|
+
| 8 | Conclusions | 1 | 1 sentence; mirrors abstract conclusion |
|
|
124
|
+
| 9 | Acknowledgments | 1 | Funding, collaborators, departmental support |
|
|
125
|
+
|
|
126
|
+
### Design seed
|
|
127
|
+
- **Color**: One accent for primary result; everything else neutral.
|
|
128
|
+
- **Typography**: ≥ 24 pt body throughout (auditorium projection).
|
|
129
|
+
- **Figures**: Re-render journal figures for slide context (drop methodological detail,
|
|
130
|
+
enlarge axis labels, direct-label series). RSNA / ECR projection rooms project at 1080p
|
|
131
|
+
— vector PDFs preferred.
|
|
132
|
+
- **Speaker pace**: 130–150 words/min for academic delivery; rehearse to ensure last
|
|
133
|
+
slide arrives at 9:30 of a 10-min slot.
|
|
134
|
+
|
|
135
|
+
### Pre-presentation checklist
|
|
136
|
+
- [ ] Abstract was accepted for oral (not poster) — confirm slot type and time.
|
|
137
|
+
- [ ] Audience response system not used (oral sessions don't typically include ARS).
|
|
138
|
+
- [ ] Submitted disclosure to society (society disclosures often separate from manuscript
|
|
139
|
+
COI).
|
|
140
|
+
- [ ] Backup slide stack for top-3 anticipated questions ready.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 4. Lecture / didactic (residents, course material)
|
|
145
|
+
|
|
146
|
+
**Audience**: Trainees in structured curriculum (radiology residents, fellows, medical
|
|
147
|
+
students).
|
|
148
|
+
**Time**: 50–60 min (full lecture slot).
|
|
149
|
+
**Tone**: Pedagogical, build-up, recap-friendly.
|
|
150
|
+
**Slide count**: ~30–40 (1 slide / 90–120 s, with worked examples and recap slides).
|
|
151
|
+
|
|
152
|
+
### Section structure
|
|
153
|
+
|
|
154
|
+
| # | Section | Slides | Purpose |
|
|
155
|
+
|---|---|---|---|
|
|
156
|
+
| 1 | Title + Lecture position in curriculum | 1 | "Lecture 4 of 12: Body MRI series" |
|
|
157
|
+
| 2 | Learning objectives | 1 | Mapped to curriculum competencies |
|
|
158
|
+
| 3 | Recap of prior lecture | 1–2 | Where we were last time |
|
|
159
|
+
| 4 | Today's roadmap | 1 | 3–5 sections previewed |
|
|
160
|
+
| 5 | Section 1: Concept | 3–5 | Build-up + worked example + check-for-understanding |
|
|
161
|
+
| 6 | Section 2: Concept | 3–5 | Same pattern |
|
|
162
|
+
| 7 | ... | | |
|
|
163
|
+
| 8 | Synthesis / decision algorithm | 2–3 | How sections connect into clinical workflow |
|
|
164
|
+
| 9 | Self-assessment questions | 2–3 | 3–5 multiple-choice with answer reveal |
|
|
165
|
+
| 10 | Take-home messages | 1 | Map back to learning objectives |
|
|
166
|
+
| 11 | Pre-reading for next lecture | 1 | Specific paper / textbook chapter |
|
|
167
|
+
| 12 | References + further reading | 1 | Curated list, not exhaustive |
|
|
168
|
+
|
|
169
|
+
### Design seed
|
|
170
|
+
- **Color**: Course palette consistent across all lectures in series.
|
|
171
|
+
- **Typography**: Title 28 pt / body 20 pt. Build-up animations acceptable for stepwise
|
|
172
|
+
concept introduction.
|
|
173
|
+
- **Figures**: Mix of textbook diagrams, original imaging, SMART Servier icons. Reusable
|
|
174
|
+
asset library across lecture series (per `pptx-mac-compatibility` rule — single asset
|
|
175
|
+
source).
|
|
176
|
+
- **Recap pattern**: At each section end, a 1-slide recap before moving on. Helps
|
|
177
|
+
trainees with weaker prior knowledge.
|
|
178
|
+
- **Self-assessment**: Use audience-response polling if classroom supports it; otherwise
|
|
179
|
+
show MCQ → pause → reveal answer + explanation slide.
|
|
180
|
+
|
|
181
|
+
### Pre-presentation checklist
|
|
182
|
+
- [ ] Lecture position in curriculum confirmed (not duplicating prior lecture content).
|
|
183
|
+
- [ ] Self-assessment questions mapped to learning objectives.
|
|
184
|
+
- [ ] Pre-reading assignment matches the lecture's prerequisites.
|
|
185
|
+
- [ ] Course-level branding consistent (logo, color, font).
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 5. Academic lecture — multi-paper survey (graduate course)
|
|
190
|
+
|
|
191
|
+
**Audience**: Graduate students from mixed disciplines (basic science, clinical,
|
|
192
|
+
imaging, AI). Cross-disciplinary background; a single specialty's jargon will not
|
|
193
|
+
land for everyone.
|
|
194
|
+
**Time**: 30–45 min present + 5–10 min Q&A.
|
|
195
|
+
**Tone**: Narrative arc across multiple papers; one *lighthouse* paper per section
|
|
196
|
+
anchors the discussion, surrounding papers add nuance.
|
|
197
|
+
**Slide count**: ~35–50 (1 slide / 45–75 s, with section dividers + transitions).
|
|
198
|
+
|
|
199
|
+
### Section structure — 4-act narrative
|
|
200
|
+
|
|
201
|
+
| # | Section | Slides | Purpose |
|
|
202
|
+
|---|---|---|---|
|
|
203
|
+
| 1 | Title slide | 1 | Course position, instructor, date, presenter, affiliation |
|
|
204
|
+
| 2 | Outline (TOC) | 1 | 4 sections with time budgets visible |
|
|
205
|
+
| 3 | Glossary (optional) | 1 | Tier 1: disease/concept · Tier 2: method/stats abbreviations |
|
|
206
|
+
| 4 | Section 1 divider | 1 | "History" / "Background" — full-bleed deep navy |
|
|
207
|
+
| 5 | Section 1 content | 4–6 | Founding papers, original observations, classical concepts |
|
|
208
|
+
| 6 | Transition slide | 1 | Large coral quotes + one-sentence question motivating next act |
|
|
209
|
+
| 7 | Section 2 divider | 1 | "Concept" / "Classification" |
|
|
210
|
+
| 8 | Section 2 content | 5–8 | Modern framework, definitions, what we now know |
|
|
211
|
+
| 9 | Transition slide | 1 | Bridge to mechanism |
|
|
212
|
+
| 10 | Section 3 divider | 1 | "Mechanism" — typically the longest, anchored by 1–2 lighthouse papers |
|
|
213
|
+
| 11 | Section 3 content | 10–14 | Lighthouse paper figures, mechanistic details, 2024–2026 updates |
|
|
214
|
+
| 12 | Transition slide | 1 | Bridge to clinical translation |
|
|
215
|
+
| 13 | Section 4 divider | 1 | "Clinical translation" |
|
|
216
|
+
| 14 | Section 4 content | 6–10 | Diagnostic application, therapy, ongoing trials |
|
|
217
|
+
| 15 | Wrap-up / Take-home | 1–2 | 3 bullets max, mirrored to outline |
|
|
218
|
+
| 16 | Acknowledgments / Q&A | 1 | Funding, mentor thanks, contact |
|
|
219
|
+
|
|
220
|
+
### Design seed
|
|
221
|
+
|
|
222
|
+
- **Visual style**: Nature/Lancet — see `slide_visual_styles/nature_lancet.md`
|
|
223
|
+
- **Body language**: English only (per `~/.claude/rules/academic-lecture-style.md` §1)
|
|
224
|
+
- **Speaker notes**: narrative, in the user's preferred language (English by default; a Korean narrative register is supported for Korean presenters), 150–300 chars / slide
|
|
225
|
+
- **Section dividers**: full-bleed `#121D36` background + coral accent strip + `{N} MIN`
|
|
226
|
+
badge bottom-right
|
|
227
|
+
- **Transition slides**: large coral curly quotes (72pt) flanking a 36pt white question
|
|
228
|
+
- **Lighthouse paper anchor**: each section names one anchor paper in the divider
|
|
229
|
+
subtitle; section content slides reference it in eyebrow text
|
|
230
|
+
|
|
231
|
+
### Pre-presentation checklist
|
|
232
|
+
|
|
233
|
+
- [ ] All `--` em-dashes verified rendering correctly on Mac PowerPoint
|
|
234
|
+
- [ ] TIFF images converted to PNG (per `pptx-mac-compatibility.md` §1)
|
|
235
|
+
- [ ] `<a:sp3d>` 3D bevel = 0 (per `pptx-mac-compatibility.md`)
|
|
236
|
+
- [ ] `app.xml` Slides/Notes counts patched (per `pptx-mac-compatibility.md` §5)
|
|
237
|
+
- [ ] Speaker notes parsed for `**bold**` / `*italic*` markdown (per §4)
|
|
238
|
+
- [ ] 40-min timing rehearsal completed (longest section flagged)
|
|
239
|
+
- [ ] Glossary slide present if audience is multidisciplinary
|
|
240
|
+
- [ ] Each section has ≥1 lighthouse paper figure (not text-only)
|
|
241
|
+
- [ ] PDF export visually verified (figure positions, font fallback)
|
|
242
|
+
- [ ] Mac PowerPoint actual-rendering check (PDF alone misses some defects)
|
|
243
|
+
|
|
244
|
+
### Reference implementation
|
|
245
|
+
|
|
246
|
+
- Build script: `templates/build_pptx_nature_lancet.py` (this skill) — `add_title_slide`,
|
|
247
|
+
`add_toc_slide`, `add_glossary_slide`, `add_section_divider`, `add_transition_slide`,
|
|
248
|
+
`add_content_slide`, `add_closing_slide` + `fix_app_xml` helper
|
|
249
|
+
- Style spec: `slide_visual_styles/nature_lancet.md`
|
|
250
|
+
- Example deck: 47-slide academic lecture (4-section narrative across 17 lighthouse papers
|
|
251
|
+
+ supporting references), Mac PowerPoint verified
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Mapping to SKILL.md phases
|
|
256
|
+
|
|
257
|
+
| Template element | SKILL.md phase | Notes |
|
|
258
|
+
|---|---|---|
|
|
259
|
+
| Audience definition | Phase 0 | Required input — controls template choice |
|
|
260
|
+
| Time slot | Phase 0 | Determines slide count target |
|
|
261
|
+
| Section structure | Phase 0 → outline | Use template as starting outline; customize |
|
|
262
|
+
| Speaker script density | Phase 2 | 130–150 wpm for academic talks |
|
|
263
|
+
| Slide design tokens | Phase 3 | See `slide_design_principles.md` §4 |
|
|
264
|
+
| Q&A backup slides | Phase 4 | Per template's anticipated-question profile |
|
|
265
|
+
| Pre-presentation checklist | Phase 4 | Run before final delivery |
|
|
266
|
+
|
|
267
|
+
## Cross-references
|
|
268
|
+
- `slide_design_principles.md` — design foundations (Reynolds, Duarte, Knaflic, Tufte)
|
|
269
|
+
- `slide_visual_styles/nature_lancet.md` — Nature/Lancet color/typography/layout spec
|
|
270
|
+
- `templates/build_pptx_nature_lancet.py` — generic builder for Template #5
|
|
271
|
+
- `critic_rubrics/slide.md` — per-slide quality scoring
|
|
272
|
+
- `workflow-checklist.md` — end-to-end Phase 0 → 4 production checklist
|
|
273
|
+
- `~/.claude/rules/academic-lecture-style.md` — English body + Korean notes + Nature/Lancet (global default)
|
|
274
|
+
- `~/.claude/rules/pptx-mac-compatibility.md` — TIFF / sp3d / app.xml / srcRect / Inches EMU / markdown notes
|
|
275
|
+
- `~/.claude/rules/multidisciplinary-presentation.md` — glossary slide + intuition box pattern
|
|
276
|
+
- `~/.claude/rules/journal-ai-image-policies.md` — AI-image policy (visual abstract /
|
|
277
|
+
Central Illustration cases)
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# Effective Slide Design for Medical Presentations
|
|
2
|
+
|
|
3
|
+
> **Primary sources** (cite when invoking specific principles):
|
|
4
|
+
> - Reynolds G., *Presentation Zen: Simple Ideas on Presentation Design and Delivery*, 3rd ed.
|
|
5
|
+
> New Riders, 2019. — Simplicity / Clarity / Restraint / Harmony.
|
|
6
|
+
> - Duarte N., *Slide:ology: The Art and Science of Creating Great Presentations*. O'Reilly, 2008.
|
|
7
|
+
> — Glance Test™ (3-second rule); slides as "glance media."
|
|
8
|
+
> - Knaflic CN., *Storytelling with Data: A Data Visualization Guide for Business Professionals*.
|
|
9
|
+
> Wiley, 2015. — Preattentive attributes (size, color, position).
|
|
10
|
+
> - Tufte ER., *The Cognitive Style of PowerPoint: Pitching Out Corrupts Within*, 2nd ed.
|
|
11
|
+
> Graphics Press, 2006. — Chartjunk; data-ink ratio; bullet-point critique.
|
|
12
|
+
>
|
|
13
|
+
> **Medical-presentation specific**:
|
|
14
|
+
> - Bhargava R, et al. "Winning at the Radiology Podium: First-timer's Guide to Crafting and
|
|
15
|
+
> Delivering a Memorable Conference Presentation." *RadioGraphics* 2025; DOI 10.1148/rg.250003.
|
|
16
|
+
> - RSNA Refresher Course Committee guidelines (case-based, audience-response interactive format).
|
|
17
|
+
>
|
|
18
|
+
> **Triggered from**: SKILL.md Phase 0 (Outline) and Phase 3 (Slides). Read this file **before**
|
|
19
|
+
> sketching the slide outline — it shifts focus from "what content fits" to "what should the
|
|
20
|
+
> audience remember 10 seconds after each slide."
|
|
21
|
+
|
|
22
|
+
Most slide-design guidance focuses on aesthetic templates (color, font, layout). This file
|
|
23
|
+
adds a communication-first layer: how the audience parses a slide under time pressure, what
|
|
24
|
+
they retain, and how the slide supports the speaker rather than replacing them.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## The 5 design principles (read in order)
|
|
29
|
+
|
|
30
|
+
### 1. Identify the key message *(most important)*
|
|
31
|
+
|
|
32
|
+
Before opening PowerPoint or python-pptx, write **one sentence** describing what the slide
|
|
33
|
+
must convey. If you cannot, the slide is premature. Examples:
|
|
34
|
+
|
|
35
|
+
- "Adjuvant RFA reduces local recurrence vs. surgery alone (HR 0.62)."
|
|
36
|
+
- "FLAIR sequence highlights the lesion that T2 missed."
|
|
37
|
+
- "The proposed CAD model maintains AUC across three external sites."
|
|
38
|
+
|
|
39
|
+
Pin that sentence at the top of the slide outline (Phase 0 of SKILL.md). Every bullet,
|
|
40
|
+
figure, color, and animation exists to support that one sentence; anything that does not
|
|
41
|
+
should be removed or moved to a separate slide.
|
|
42
|
+
|
|
43
|
+
A slide with **two key messages is two slides**.
|
|
44
|
+
|
|
45
|
+
### 2. Audience-aware reading-time budget
|
|
46
|
+
|
|
47
|
+
Different presentation contexts allow different inspection time per slide. Set the
|
|
48
|
+
**reading-time budget** in Phase 0, then design backwards.
|
|
49
|
+
|
|
50
|
+
| Context | Reading time | Implication |
|
|
51
|
+
|---|---|---|
|
|
52
|
+
| Journal club (peer trainees) | 30–60 s/slide narrated | Methodology detail acceptable; figures from paper allowed |
|
|
53
|
+
| Grand rounds (mixed audience) | 20–40 s/slide narrated | Plain-language framing; one teaching point per slide |
|
|
54
|
+
| Conference talk (RSNA / ECR) | 15–30 s/slide narrated | Direct labels mandatory; data visuals over text |
|
|
55
|
+
| Lecture / didactic (residents) | 60–120 s/slide narrated | Worked examples; build-ups acceptable; recap slides |
|
|
56
|
+
| Visual abstract (no narration) | 5–10 s total | One panel; minimal text; readable thumbnail |
|
|
57
|
+
|
|
58
|
+
The same paper presented at journal club and at RSNA needs **two different decks** — the
|
|
59
|
+
RSNA version usually drops half of what the journal-club version contains.
|
|
60
|
+
|
|
61
|
+
### 3. The Glance Test (Duarte) — 3-second rule
|
|
62
|
+
|
|
63
|
+
After each slide is drafted, perform the Glance Test™:
|
|
64
|
+
|
|
65
|
+
> *Can the audience grasp the slide's meaning within 3 seconds, then return their attention
|
|
66
|
+
> to the speaker?*
|
|
67
|
+
|
|
68
|
+
If a slide fails the test, the audience is **reading the slide** instead of **listening to
|
|
69
|
+
the speaker**. People cannot read and listen simultaneously; one channel wins, and on slides
|
|
70
|
+
the reading channel wins. Slides are *glance media*, not reading documents.
|
|
71
|
+
|
|
72
|
+
Failure modes that break the Glance Test:
|
|
73
|
+
- ≥ 6 lines of body text (audience starts reading paragraph-style).
|
|
74
|
+
- Two competing visuals (eye does not know where to land).
|
|
75
|
+
- A title that does not state the conclusion (forces reading the body to find the point).
|
|
76
|
+
|
|
77
|
+
**Fix patterns**:
|
|
78
|
+
- Convert the slide title from a topic ("Methods") to a sentence-summary ("Inclusion required
|
|
79
|
+
≥ 1 cm tumor on MRI").
|
|
80
|
+
- Split into 2 slides if the message is genuinely two-part.
|
|
81
|
+
- Replace bullets with one annotated figure.
|
|
82
|
+
|
|
83
|
+
### 4. Reduce cognitive load (Reynolds + Tufte)
|
|
84
|
+
|
|
85
|
+
Working memory holds ~7 items, and a slide must compete with the speaker's voice. Design
|
|
86
|
+
under that ceiling.
|
|
87
|
+
|
|
88
|
+
| Element | Slide ceiling | Reason |
|
|
89
|
+
|---|---|---|
|
|
90
|
+
| Body text lines | ≤ 6 | Beyond 6, audience reads instead of listening |
|
|
91
|
+
| Distinct colors | ≤ 3 + 1 accent | More colors fragment attention |
|
|
92
|
+
| Fonts | ≤ 2 (title + body) | Mixed fonts break institutional brand and look unfinished |
|
|
93
|
+
| Bullet levels | ≤ 2 | Deep nesting (3 indents) signals reading-document |
|
|
94
|
+
| Chart types per slide | 1 | Two charts compete for attention |
|
|
95
|
+
| Animations | only purposeful | Decorative motion = noise |
|
|
96
|
+
|
|
97
|
+
Tufte's data-ink ratio applies: every pixel should encode either content or essential
|
|
98
|
+
context. 3-D bars, drop shadows, gradient fills, and rotated axis labels add ink without
|
|
99
|
+
data — remove them. The Columbia Space Shuttle disaster slide is the canonical
|
|
100
|
+
counterexample: the O-ring failure data was buried in small type on a crowded slide.
|
|
101
|
+
|
|
102
|
+
### 5. Native objects, not images
|
|
103
|
+
|
|
104
|
+
Charts, tables, and diagrams must be **editable native PowerPoint objects**, not exported
|
|
105
|
+
images. This is non-negotiable in academic medicine because:
|
|
106
|
+
|
|
107
|
+
- Co-authors edit numbers in revision rounds.
|
|
108
|
+
- Mac PowerPoint renders TIFF/SVG inconsistently (see `pptx-mac-compatibility` rule).
|
|
109
|
+
- Reviewers / session chairs may project the deck on lower-resolution displays where
|
|
110
|
+
rasterized charts pixelate.
|
|
111
|
+
|
|
112
|
+
Specifically:
|
|
113
|
+
- Excel-linked charts → double-click opens the data table.
|
|
114
|
+
- Tables → native PowerPoint tables, not screenshots.
|
|
115
|
+
- Flow diagrams → grouped shapes, not a `make-figures` PNG export embedded as image.
|
|
116
|
+
- Single fonts (Pretendard / Apple SD Gothic Neo for Korean decks; Helvetica/Calibri for
|
|
117
|
+
English-only) — declared once at the deck level, not per-slide.
|
|
118
|
+
|
|
119
|
+
Allowed exceptions: photographs, anatomical illustrations (SMART Servier, NIAID BioArt),
|
|
120
|
+
medical imaging frames (CT/MRI slices) — all rasterized by nature.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Preattentive attributes (Knaflic) — directing audience attention
|
|
125
|
+
|
|
126
|
+
Preattentive attributes are visual properties the brain processes automatically (in <250 ms,
|
|
127
|
+
before conscious attention). Use them to guide the audience to the part of the slide that
|
|
128
|
+
matters.
|
|
129
|
+
|
|
130
|
+
| Attribute | Use for | Example |
|
|
131
|
+
|---|---|---|
|
|
132
|
+
| **Size** | Hierarchy: title > subtitle > body | Take-home line at 32 pt; body at 18 pt |
|
|
133
|
+
| **Color saturation** | Highlight 1 element vs. background | Key result row in orange; comparators in gray |
|
|
134
|
+
| **Position** | Left-to-right reading order; top = priority | Conclusion at top of slide, not bottom |
|
|
135
|
+
| **Bold weight** | Emphasize the key number in a sentence | "AUC = **0.91** (95% CI 0.87–0.94)" |
|
|
136
|
+
| **Enclosure** | Group related elements | Box around the "key finding" panel |
|
|
137
|
+
| **Spatial separation** | Group vs. distinguish | Whitespace between Methods and Results panels |
|
|
138
|
+
|
|
139
|
+
**Two purposes**: (1) draw immediate attention to a key element; (2) build a visual
|
|
140
|
+
hierarchy that walks the eye through the content.
|
|
141
|
+
|
|
142
|
+
**Anti-pattern**: applying preattentive emphasis to *everything* — when 5 things are bold,
|
|
143
|
+
red, and boxed, none of them stand out.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Slide-anti-patterns (cumulative — drawn from this skill's critic rubric)
|
|
148
|
+
|
|
149
|
+
These compose with the more granular checks in `critic_rubrics/slide.md`:
|
|
150
|
+
|
|
151
|
+
- **Topic-titled slide** — title says "Results" instead of stating the result. Fix: convert
|
|
152
|
+
to a sentence-headline ("RFA reduced local recurrence by 38%").
|
|
153
|
+
- **Wall-of-text** — > 6 body lines, full sentences. Fix: replace with one annotated figure
|
|
154
|
+
+ the take-home sentence at top.
|
|
155
|
+
- **Bullet-cascade** — 3-level nested bullets. Fix: split into 2 slides or use a 2-column
|
|
156
|
+
layout.
|
|
157
|
+
- **Chart junk** — 3-D bar, gradient fill, rotated axis label, secondary y-axis with no
|
|
158
|
+
shared scale. Fix: 2-D, single y-axis, direct labels.
|
|
159
|
+
- **Image-of-table** — pasted screenshot of a table from the paper. Fix: rebuild as native
|
|
160
|
+
PowerPoint table; keep the paper-table image for backup slides only.
|
|
161
|
+
- **Reference-flood** — citation list slide listing 15 references at 8 pt. Fix: cite
|
|
162
|
+
inline at point-of-use (`[Smith 2024]`); full bibliography in handout/supplementary.
|
|
163
|
+
- **Logo-tax** — institutional logos on every slide masking content. Fix: title slide and
|
|
164
|
+
closing slide only; corner-only on intermediate slides if mandated.
|
|
165
|
+
- **AI-image without disclosure** — AI-generated illustration on a slide destined for a
|
|
166
|
+
journal that prohibits AI imagery. Fix: see `journal-ai-image-policies` rule before
|
|
167
|
+
building visual abstract / Central Illustration.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Cognitive load checklist (Phase 3 quick scan)
|
|
172
|
+
|
|
173
|
+
Before exporting to PPTX, walk every slide:
|
|
174
|
+
|
|
175
|
+
- [ ] One-sentence key message stated at slide top (sentence-headline).
|
|
176
|
+
- [ ] Body text ≤ 6 lines.
|
|
177
|
+
- [ ] Glance test ≤ 3 seconds.
|
|
178
|
+
- [ ] Colors ≤ 3 + 1 accent; carry meaning, not decoration.
|
|
179
|
+
- [ ] Fonts ≤ 2 throughout deck; ≥ 18 pt body for slides; ≥ 24 pt for posters.
|
|
180
|
+
- [ ] Charts/tables are native objects (not images).
|
|
181
|
+
- [ ] No 3-D / drop-shadow / gradient unless data-driven.
|
|
182
|
+
- [ ] Direct labels on chart series; legends only when ≥ 4 series.
|
|
183
|
+
- [ ] Same slide works in grayscale (run a `convert -colorspace Gray` test).
|
|
184
|
+
- [ ] AI-image policy verified for target audience/journal context.
|
|
185
|
+
|
|
186
|
+
If two or more boxes are unchecked, return to Phase 0 outline before continuing.
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Cross-references
|
|
191
|
+
|
|
192
|
+
- `critic_rubrics/slide.md` — quantitative critic checks per slide
|
|
193
|
+
- `medical_presentation_templates.md` — section structure for journal club, grand rounds,
|
|
194
|
+
conference, lecture
|
|
195
|
+
- `workflow-checklist.md` — end-to-end Phase 0 → 4 production checklist
|
|
196
|
+
- `make-figures/references/design_principles.md` — figure-level design (this skill is the
|
|
197
|
+
slide-level companion; both share Reynolds/Knaflic/Tufte foundations)
|
|
198
|
+
- `~/.claude/rules/pptx-mac-compatibility.md` — TIFF, sp3d, app.xml, srcRect defects
|
|
199
|
+
- `~/.claude/rules/journal-ai-image-policies.md` — AI-image policy (JACC prohibits, Radiology
|
|
200
|
+
allows with disclosure)
|
|
201
|
+
- `~/.claude/rules/manuscript-style-classical.md` — heading style for slides paired with
|
|
202
|
+
manuscript submission
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# Slide Visual Style — Nature / Lancet
|
|
2
|
+
|
|
3
|
+
Design spec for academic lecture, journal club, and conference-talk slides modeled
|
|
4
|
+
on the Nature / Lancet journal aesthetic. White background, navy primary, restrained
|
|
5
|
+
coral accent, hairline dividers, two-font sans-serif system.
|
|
6
|
+
|
|
7
|
+
> **Triggered from**: SKILL.md Phase 3 (Slides & Notes). Pair with
|
|
8
|
+
> `references/medical_presentation_templates.md` Template #5 "Academic lecture
|
|
9
|
+
> (multi-paper)". Reference build script: `templates/build_pptx_nature_lancet.py`.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Color palette
|
|
14
|
+
|
|
15
|
+
| Token | Hex | Usage |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| `NAVY` | `#1B2A4E` | Primary text on white, section title, headline |
|
|
18
|
+
| `NAVY_LIGHT` | `#3F5A8C` | Secondary navy (sub-headings, accents on dark bg) |
|
|
19
|
+
| `TEXT` | `#21252B` | Body text |
|
|
20
|
+
| `TEXT_SUB` | `#4A525C` | Sub-text, captions, subtitles |
|
|
21
|
+
| `MUTED` | `#8A929E` | Footer, page brand, low-emphasis labels |
|
|
22
|
+
| `HAIRLINE` | `#CCD0D6` | Thin dividers, image borders |
|
|
23
|
+
| `HIGHLIGHT` | `#B83E3A` | Coral accent — reserved for 1–2 emphasis points per slide |
|
|
24
|
+
| `WHITE` | `#FFFFFF` | Backgrounds, dark-bg text |
|
|
25
|
+
| `BG_SOFT` | `#F8F9FB` | Subtle panel background (optional) |
|
|
26
|
+
| `DIVIDER_BG` | `#121D36` | Section-divider slide background (deep navy) |
|
|
27
|
+
|
|
28
|
+
**Rule of restraint**: a content slide uses **white + navy + 1 coral accent**. Three
|
|
29
|
+
colors maximum. Avoid full-bleed bright bars, gradients, drop shadows beyond the
|
|
30
|
+
single 6pt offset on figure tiles.
|
|
31
|
+
|
|
32
|
+
## 2. Typography
|
|
33
|
+
|
|
34
|
+
| Role | Font (Latin) | Font (EastAsia / Korean) | Size | Weight |
|
|
35
|
+
|---|---|---|---|---|
|
|
36
|
+
| Slide title | Inter | Pretendard | 28–32 pt | Bold |
|
|
37
|
+
| Subtitle / sentence-headline | Inter | Pretendard | 15–18 pt | Italic |
|
|
38
|
+
| Body bullet (main) | Inter | Pretendard | 18–20 pt | Regular |
|
|
39
|
+
| Body bullet (sub) | Inter | Pretendard | 15–16 pt | Regular |
|
|
40
|
+
| Eyebrow text | Inter | Pretendard | 10–14 pt | Bold, letter-spaced 300–400 |
|
|
41
|
+
| Section title (divider) | Inter | Pretendard | 48–52 pt | Bold |
|
|
42
|
+
| Transition quote | Inter | Pretendard | 36 pt | Bold |
|
|
43
|
+
| Page-brand footer | Inter | Pretendard | 9 pt | Regular, letter-spaced 300 |
|
|
44
|
+
| Speaker notes | Inter | Pretendard | 13 pt | Regular |
|
|
45
|
+
|
|
46
|
+
**Font install** (macOS):
|
|
47
|
+
```bash
|
|
48
|
+
brew install --cask font-pretendard font-inter
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
EastAsia attribute **must** be set on every run that may contain Korean text — Mac
|
|
52
|
+
PowerPoint falls back to Times New Roman otherwise. See
|
|
53
|
+
`~/.claude/rules/pptx-mac-compatibility.md` §6.
|
|
54
|
+
|
|
55
|
+
## 3. Layout grid (16:9, 13.333" × 7.5")
|
|
56
|
+
|
|
57
|
+
| Region | Position | Content |
|
|
58
|
+
|---|---|---|
|
|
59
|
+
| Eyebrow | x=0.7", y=0.32", w=8", h=0.4" | All-caps topic label (10–14pt, coral or muted) |
|
|
60
|
+
| Title | x=0.7", y=0.75", w=12.0", h=1.1" | Slide title + optional subtitle |
|
|
61
|
+
| Hairline | x=0.7", y=2.05", w=0.6", h≈0.02" | Coral hairline (separator) |
|
|
62
|
+
| Body (no figure) | x=0.7", y=2.4", w=12.0", h=4.6" | Bullets full width |
|
|
63
|
+
| Body (with figure) | x=0.7", y=2.4", w=6.8", h=4.6" | Bullets left half |
|
|
64
|
+
| Figure (right half) | x=7.9", y=2.4", w=5.0", h=4.0" | Centered within tile |
|
|
65
|
+
| Figure caption | x=7.9", y=fig+0.10", w=5.0", h=0.6" | "Figure · {caption}" centered |
|
|
66
|
+
| Footer (page brand) | x=0.7", y=7.05", w=4.0", h=0.35" | "2026 · NEUROGENETICS" pattern |
|
|
67
|
+
| Footnote | x=0.7", y=7.05", w=12.0", h=0.35" | Right-aligned source ref |
|
|
68
|
+
|
|
69
|
+
**Margins**: 0.7" left/right, 0.32" top eyebrow, 0.35" bottom footer. Title-body
|
|
70
|
+
separation enforced by the **0.6" coral hairline** (never a 0.05"-tall bar).
|
|
71
|
+
|
|
72
|
+
## 4. Slide type templates
|
|
73
|
+
|
|
74
|
+
### 4a. Title slide
|
|
75
|
+
- Left navy bar (40k EMU wide × 3.5" tall) at x=0.7"
|
|
76
|
+
- "REVIEW LECTURE" eyebrow (14pt, coral, letter-spaced 300)
|
|
77
|
+
- 48pt navy bold title
|
|
78
|
+
- 18pt italic subtitle (TEXT_SUB)
|
|
79
|
+
- Bottom block: 16pt bold navy line ("Course · Professor · Date"), 13pt sub line
|
|
80
|
+
("Presenter Name · Affiliation"), separated by 2" navy hairline above
|
|
81
|
+
|
|
82
|
+
### 4b. Section divider
|
|
83
|
+
- Full-bleed deep navy background (`DIVIDER_BG`)
|
|
84
|
+
- 1.8"-tall coral accent strip at x=1.2", y=3.0", 15k EMU wide
|
|
85
|
+
- "SECTION {N}" 18pt coral eyebrow letter-spaced 400
|
|
86
|
+
- 52pt white bold section title
|
|
87
|
+
- 20pt italic light-navy (`#C0CBDC`) subtitle
|
|
88
|
+
- Bottom-right "{N} MIN" badge (13pt muted)
|
|
89
|
+
|
|
90
|
+
### 4c. Transition slide
|
|
91
|
+
- Full-bleed deep navy background
|
|
92
|
+
- Large coral curly quotes (72pt) flanking a 36pt white bold single-sentence question
|
|
93
|
+
- Center-anchored vertically
|
|
94
|
+
|
|
95
|
+
### 4d. Content slide
|
|
96
|
+
- Eyebrow (small caps topic label) → title + subtitle → coral hairline → bullets
|
|
97
|
+
(left if figure, full-width if no figure) → figure tile (shadow offset 0.06",
|
|
98
|
+
hairline border) → optional figure caption → footnote (right) + page brand (left)
|
|
99
|
+
- Bullet markers:
|
|
100
|
+
- Main: `▪` (14pt coral bold) + 20pt body text
|
|
101
|
+
- Sub (lines prefixed with 2 spaces): `—` (15pt muted) + 16pt sub text
|
|
102
|
+
- Inline `**bold**` and `*italic*` markdown is parsed into per-run styling (see
|
|
103
|
+
`pptx-mac-compatibility.md` §4 for the parser pattern)
|
|
104
|
+
|
|
105
|
+
### 4e. TOC / outline slide
|
|
106
|
+
- Eyebrow "OUTLINE"
|
|
107
|
+
- Title "Outline" + sentence subtitle
|
|
108
|
+
- Coral hairline
|
|
109
|
+
- N rows, each: 22pt coral section number (or `·` for wrap-up), 22pt navy bold section
|
|
110
|
+
title, 13pt sub-text English summary, 12pt muted time badge (right-aligned). Hairline
|
|
111
|
+
divider between rows.
|
|
112
|
+
|
|
113
|
+
### 4f. Glossary slide (optional, for multidisciplinary audiences)
|
|
114
|
+
- Tier 1 (top, 4–7 items): disease/concept abbreviations with one-line context
|
|
115
|
+
- Tier 2 (bottom, 2-column, 8–12): method/statistics abbreviations with short defs
|
|
116
|
+
- See `~/.claude/rules/multidisciplinary-presentation.md` §1
|
|
117
|
+
|
|
118
|
+
### 4g. Closing slide
|
|
119
|
+
- Title "Take-home messages" or "Conclusions"
|
|
120
|
+
- 3 bullet maximum
|
|
121
|
+
- Optional contact / acknowledgments block at bottom
|
|
122
|
+
|
|
123
|
+
## 5. Figure handling
|
|
124
|
+
|
|
125
|
+
- Aspect-ratio preserving fit inside the figure tile (5.0" × 4.0" max)
|
|
126
|
+
- Shadow rectangle (hairline gray) offset +0.06" / +0.06" before image
|
|
127
|
+
- Image border: hairline gray (~6000 EMU)
|
|
128
|
+
- Caption format: `Figure · {caption}` (coral "Figure" eyebrow, italic muted caption)
|
|
129
|
+
|
|
130
|
+
**EMU pitfall**: compute width/height in **inches** before wrapping in
|
|
131
|
+
`Inches()`. Never `Inches(fig_w / aspect_ratio)` when `fig_w` is already a pixel
|
|
132
|
+
value — see `pptx-mac-compatibility.md` §7.
|
|
133
|
+
|
|
134
|
+
## 6. Speaker notes density
|
|
135
|
+
|
|
136
|
+
- Narrative speaker notes in the user's preferred language (a Korean narrative register is supported for Korean presenters, per `~/.claude/rules/academic-lecture-style.md` §1)
|
|
137
|
+
- About 150–300 characters per slide (30–60 seconds spoken)
|
|
138
|
+
- Run-level markdown parser for `**bold**` / `*italic*` (see
|
|
139
|
+
`pptx-mac-compatibility.md` §4)
|
|
140
|
+
- 13pt Pretendard
|
|
141
|
+
|
|
142
|
+
## 7. Mac compatibility checklist (run before delivery)
|
|
143
|
+
|
|
144
|
+
| Check | Command |
|
|
145
|
+
|---|---|
|
|
146
|
+
| TIFF images | `find ppt/media -iname '*.tif*'` → must be empty |
|
|
147
|
+
| 3D bevel | `grep -l '<a:sp3d>' ppt/slides/*.xml` → must be empty |
|
|
148
|
+
| app.xml count sync | `unzip -p out.pptx docProps/app.xml \| grep -oE '<Slides>[0-9]+</Slides>'` → ≠ 0 |
|
|
149
|
+
| Raw markdown in notes | `unzip -p out.pptx ppt/notesSlides/notesSlide3.xml \| grep -oE '\*\*[^<*]+\*\*' \| wc -l` → 0 |
|
|
150
|
+
| Korean glyph in notes | `unzip -p out.pptx ppt/notesSlides/notesSlide3.xml \| grep -oE '[가-힣]+' \| head -5` → renders |
|
|
151
|
+
|
|
152
|
+
Always validate on **Mac PowerPoint** + PDF export. PDF alone misses some defects
|
|
153
|
+
(see `pptx-mac-compatibility.md` §1–§3).
|
|
154
|
+
|
|
155
|
+
## 8. Reference implementation
|
|
156
|
+
|
|
157
|
+
Canonical build script: `templates/build_pptx_nature_lancet.py` (in this skill).
|
|
158
|
+
|
|
159
|
+
Example output: 47-slide academic lecture deck (4-section narrative across multiple
|
|
160
|
+
lighthouse papers + supporting references), Mac PowerPoint verified.
|
|
161
|
+
|
|
162
|
+
## Cross-references
|
|
163
|
+
|
|
164
|
+
- `~/.claude/rules/academic-lecture-style.md` — global style rule (English body + Korean notes + this design)
|
|
165
|
+
- `~/.claude/rules/pptx-mac-compatibility.md` — Mac compatibility (TIFF / sp3d / app.xml / Inches EMU / markdown notes)
|
|
166
|
+
- `~/.claude/rules/multidisciplinary-presentation.md` — glossary slide + intuition box pattern
|
|
167
|
+
- `references/medical_presentation_templates.md` Template #5 — Academic lecture (multi-paper)
|
|
168
|
+
- `references/slide_design_principles.md` — Reynolds / Duarte / Knaflic / Tufte foundations
|