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,144 @@
|
|
|
1
|
+
# Materials and Methods Writing Guide
|
|
2
|
+
|
|
3
|
+
Reference for write-paper Phase 3 (Methods).
|
|
4
|
+
Loaded on-demand when drafting the Materials and Methods section.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Core Principles
|
|
9
|
+
|
|
10
|
+
1. **Reproducible**: Another researcher should be able to replicate your study from the Methods alone
|
|
11
|
+
2. **Sequential**: Describe procedures in the order they occurred
|
|
12
|
+
3. **Concise but thorough**: No unnecessary detail, but no critical omissions
|
|
13
|
+
4. **Checklist-aligned**: Every applicable item in the reporting guideline (STARD, STROBE, CONSORT, PRISMA) must have a corresponding sentence in Methods
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## PICO-Based Structure
|
|
18
|
+
|
|
19
|
+
Write Methods in PICO order. This provides a natural, logical flow that reviewers expect.
|
|
20
|
+
|
|
21
|
+
### 1. Study Design + Ethics
|
|
22
|
+
|
|
23
|
+
- Single-center or multicenter
|
|
24
|
+
- Retrospective or prospective
|
|
25
|
+
- IRB approval statement with approval number
|
|
26
|
+
- Informed consent status ("informed consent was waived for this retrospective study")
|
|
27
|
+
- Reporting guideline declaration: "This study was reported in accordance with [STARD/STROBE/etc.]"
|
|
28
|
+
|
|
29
|
+
### 2. Population (P)
|
|
30
|
+
|
|
31
|
+
- Study period (start and end dates)
|
|
32
|
+
- Inclusion criteria (specific, operationalized)
|
|
33
|
+
- Exclusion criteria (with clinical justification for each)
|
|
34
|
+
- How patients were identified (database query, consecutive enrollment, etc.)
|
|
35
|
+
- **Time zero definition** (critical for retrospective cohorts): State explicitly when follow-up begins. For screening cohorts, time zero is typically the date of the first qualifying examination. For treatment studies, time zero is the date of treatment initiation. Misaligned time zero introduces immortal time bias. If there is a gap between eligibility assessment and time zero (e.g., cohort entry defined by a lab value but follow-up starting at a later visit), describe how this was handled.
|
|
36
|
+
|
|
37
|
+
**Common pitfalls to avoid**:
|
|
38
|
+
- Including inappropriate subjects (e.g., young adults in a pediatric study)
|
|
39
|
+
- Excessive interval between index test and reference standard
|
|
40
|
+
- Including only elective/surgical cases → selection bias
|
|
41
|
+
- Study period too long → equipment/protocol changes
|
|
42
|
+
- Including non-contrast studies when contrast is required
|
|
43
|
+
|
|
44
|
+
### 3. Intervention / Index Test (I)
|
|
45
|
+
|
|
46
|
+
- Imaging protocol: scanner model (manufacturer, city, country), acquisition parameters
|
|
47
|
+
- For CT/MR protocols: ask the technologist for exact parameters
|
|
48
|
+
- **Reader setup**: Number of readers, years of experience, subspecialty
|
|
49
|
+
- Using only senior readers → overestimation risk (acknowledge in limitations)
|
|
50
|
+
- **Blinding**: State explicitly what information readers were blinded to
|
|
51
|
+
- **Quantitative measurements**: How cut-off values were determined
|
|
52
|
+
- **Reader disagreement resolution**: Consensus reading, third reader, or statistical approach
|
|
53
|
+
- Software used (name, version, manufacturer)
|
|
54
|
+
|
|
55
|
+
### 4. Comparator / Reference Standard (C)
|
|
56
|
+
|
|
57
|
+
- Does not need to be the "gold standard" — use the best available method
|
|
58
|
+
- State what reference standard was used and why
|
|
59
|
+
- Verify:
|
|
60
|
+
- Was the same reference standard applied to all patients?
|
|
61
|
+
- Was the reference standard interpreter blinded to index test results?
|
|
62
|
+
- Was the interval between index test and reference standard reasonable?
|
|
63
|
+
|
|
64
|
+
### 5. Outcome / Statistical Analysis (O)
|
|
65
|
+
|
|
66
|
+
- Primary and secondary endpoints defined before describing statistical tests
|
|
67
|
+
- Statistical tests matched to data types and study design
|
|
68
|
+
- Software and version for statistical analysis
|
|
69
|
+
- Significance threshold (typically P < .05, two-sided)
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Backbone Article Strategy
|
|
74
|
+
|
|
75
|
+
**Before writing Methods, identify a backbone article** — a published study with a similar
|
|
76
|
+
design in a similar journal that serves as a structural template.
|
|
77
|
+
|
|
78
|
+
### Selection Criteria
|
|
79
|
+
|
|
80
|
+
1. Same study design (diagnostic accuracy → diagnostic accuracy, cohort → cohort)
|
|
81
|
+
2. Same modality (CT → CT, MRI → MRI)
|
|
82
|
+
3. Published in the target journal or a comparable journal
|
|
83
|
+
4. Recent publication (within 3-5 years)
|
|
84
|
+
5. Well-cited (validated structure)
|
|
85
|
+
|
|
86
|
+
### How to Use
|
|
87
|
+
|
|
88
|
+
- Mirror the M&M section structure and subsection order
|
|
89
|
+
- Reference the same statistical methods where applicable
|
|
90
|
+
- Use similar Table/Figure formatting
|
|
91
|
+
- Adopt the reference standard description approach
|
|
92
|
+
- **Never copy sentences** — structure and logic only
|
|
93
|
+
|
|
94
|
+
### Where to Find
|
|
95
|
+
|
|
96
|
+
1. **Auto-scan `manuscript/_src/refs.bib` first** — Phase 0 Step 5 ranks entries by study design + modality + target journal + PDF attachment. If one strong candidate emerges, the skill proposes it proactively rather than asking.
|
|
97
|
+
2. Search the target journal for recent studies with matching design (fallback when refs.bib has no candidate)
|
|
98
|
+
3. Check the reference lists of papers you are already citing
|
|
99
|
+
4. Ask the corresponding author or mentor for recommendations
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Checklist Cross-Reference
|
|
104
|
+
|
|
105
|
+
When writing Methods, keep the reporting checklist open and verify 1:1 coverage:
|
|
106
|
+
|
|
107
|
+
| Study Design | Checklist | Key M&M Items |
|
|
108
|
+
|-------------|-----------|---------------|
|
|
109
|
+
| Diagnostic accuracy | STARD | Blinding, index test detail, reference standard, sample size justification |
|
|
110
|
+
| RCT | CONSORT | Randomization, allocation concealment, blinding, ITT analysis |
|
|
111
|
+
| Observational | STROBE | Selection criteria, bias direction, confounders, missing data handling |
|
|
112
|
+
| Meta-analysis | PRISMA | Search strategy, selection process, data extraction, risk of bias tool |
|
|
113
|
+
| AI study | CLAIM 2024 | Data partitioning, model architecture, training details, external validation |
|
|
114
|
+
|
|
115
|
+
After drafting, go through the checklist item by item. For each item, confirm there is
|
|
116
|
+
a corresponding sentence in your Methods. Missing items are the most common reason for
|
|
117
|
+
desk rejection.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Terminology Conventions
|
|
122
|
+
|
|
123
|
+
| Avoid | Use Instead |
|
|
124
|
+
|-------|-------------|
|
|
125
|
+
| "Increase" / "Decrease" (comparing two groups) | "Higher" / "Lower" or "Larger" / "Smaller" |
|
|
126
|
+
| "Show" (for patient actions) | "Had" / "Demonstrated" / "Exhibited" |
|
|
127
|
+
| "Prove" | "Suggest" / "Indicate" |
|
|
128
|
+
| "Efficacy" (outside RCTs) | "Effectiveness" |
|
|
129
|
+
| "Significant" (without p-value) | Always pair with exact p-value |
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Self-Check
|
|
134
|
+
|
|
135
|
+
Before finalizing Methods:
|
|
136
|
+
|
|
137
|
+
- [ ] Every checklist item has a corresponding sentence?
|
|
138
|
+
- [ ] Procedures described in chronological order?
|
|
139
|
+
- [ ] Reader blinding explicitly stated?
|
|
140
|
+
- [ ] Scanner/software details include manufacturer and location?
|
|
141
|
+
- [ ] Reference standard clearly defined with justification?
|
|
142
|
+
- [ ] Statistical methods match the data types and endpoints?
|
|
143
|
+
- [ ] IRB and consent statements present?
|
|
144
|
+
- [ ] Backbone article identified and structure referenced?
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Results Writing Guide
|
|
2
|
+
|
|
3
|
+
Reference for write-paper Phase 4 (Results).
|
|
4
|
+
Loaded on-demand when drafting the Results section.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Core Principle: Mirror Symmetry with Methods
|
|
9
|
+
|
|
10
|
+
Results must follow the same order as Materials and Methods. Each M&M subsection
|
|
11
|
+
should have a corresponding Results subsection. If Methods describes the population
|
|
12
|
+
first, then the index test, then statistical analysis — Results presents population
|
|
13
|
+
characteristics first, then index test findings, then statistical comparisons.
|
|
14
|
+
|
|
15
|
+
| M&M Order | Results Counterpart |
|
|
16
|
+
|-----------|-------------------|
|
|
17
|
+
| Study population / Participants | Figure 1 (Flowchart) + Table 1 (Baseline characteristics) |
|
|
18
|
+
| Image analysis / Index test | Main diagnostic/measurement results |
|
|
19
|
+
| Statistical analysis methods | P-values, effect sizes, comparisons |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Required Elements
|
|
24
|
+
|
|
25
|
+
### 1. Flowchart (Figure 1)
|
|
26
|
+
|
|
27
|
+
- Always present a patient flow diagram as Figure 1
|
|
28
|
+
- Numbers must be internally consistent across: Abstract, Methods, Results text, Tables, and the flowchart itself
|
|
29
|
+
- Show: initial cohort → exclusions (with reasons and counts) → final analysis set
|
|
30
|
+
- If applicable, show train/validation/test splits
|
|
31
|
+
|
|
32
|
+
### 2. Baseline Characteristics (Table 1)
|
|
33
|
+
|
|
34
|
+
- Present demographics and clinical characteristics of the study population
|
|
35
|
+
- Decimal places must be consistent throughout (pick one convention and hold it)
|
|
36
|
+
- Use footnotes for abbreviations and explanations
|
|
37
|
+
- Keep it concise — only variables relevant to the study
|
|
38
|
+
|
|
39
|
+
### 3. Main Results
|
|
40
|
+
|
|
41
|
+
- Present primary endpoint results first, then secondary endpoints
|
|
42
|
+
- Every result must include:
|
|
43
|
+
- The metric value
|
|
44
|
+
- 95% confidence interval (for primary endpoints)
|
|
45
|
+
- Exact p-value (not "p < 0.05" unless truly < 0.001)
|
|
46
|
+
- Reference every Table and Figure at least once in the text
|
|
47
|
+
|
|
48
|
+
### 4. Figures
|
|
49
|
+
|
|
50
|
+
- Use the minimum number of figures that convey the key findings
|
|
51
|
+
- Each figure must be clear and high-resolution
|
|
52
|
+
- Representative cases: select typical examples, not cherry-picked best cases
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Strict Rules
|
|
57
|
+
|
|
58
|
+
### No Interpretation
|
|
59
|
+
|
|
60
|
+
Results contains **only factual findings**. Apply this self-check to every sentence:
|
|
61
|
+
|
|
62
|
+
1. Does this sentence explain "why"? → Move to Discussion
|
|
63
|
+
2. Does it reference another study? → Move to Discussion
|
|
64
|
+
3. Does it use "suggests" / "implies" / "indicates importance"? → Rewrite as factual statement
|
|
65
|
+
4. Does it use an evaluative adjective without a number ("high", "notable", "remarkable")? → Add the number or delete the adjective
|
|
66
|
+
5. Does it contain "interestingly" / "notably" / "remarkably" / "surprisingly"? → Delete the word
|
|
67
|
+
|
|
68
|
+
### No Unannounced Data
|
|
69
|
+
|
|
70
|
+
- **Data not described in Methods cannot appear in Results**
|
|
71
|
+
- If you discover an important finding during analysis that was not pre-specified, either:
|
|
72
|
+
- Add the method to M&M (and note it as post-hoc)
|
|
73
|
+
- Place it in Supplementary Materials
|
|
74
|
+
|
|
75
|
+
### Missing Data Handling
|
|
76
|
+
|
|
77
|
+
- Never leave table cells blank
|
|
78
|
+
- Use "NA" (not available) for missing data
|
|
79
|
+
- Add a footnote: "NA = not available" or "Data not available for N patients because [reason]"
|
|
80
|
+
|
|
81
|
+
### Tense
|
|
82
|
+
|
|
83
|
+
- **Text**: Past tense ("The sensitivity was 0.92")
|
|
84
|
+
- **Tables and Figures**: Present tense ("Table 1 shows...")
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Number Consistency Verification
|
|
89
|
+
|
|
90
|
+
Before finalizing Results, verify these cross-references:
|
|
91
|
+
|
|
92
|
+
| Check | Sources that Must Match |
|
|
93
|
+
|-------|----------------------|
|
|
94
|
+
| Total N | Abstract, Methods text, Figure 1, Table 1, Results text |
|
|
95
|
+
| Exclusion counts | Figure 1 boxes, Methods exclusion criteria |
|
|
96
|
+
| Subgroup N | Sum of subgroups = total N (or explain discrepancy) |
|
|
97
|
+
| Percentages | Numerator/denominator math verified |
|
|
98
|
+
| Primary metric | Abstract Results, Results text, relevant Table |
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Self-Check
|
|
103
|
+
|
|
104
|
+
Before finalizing Results:
|
|
105
|
+
|
|
106
|
+
- [ ] Follows the same order as Methods?
|
|
107
|
+
- [ ] Flowchart present with internally consistent numbers?
|
|
108
|
+
- [ ] Table 1 present with consistent decimal places?
|
|
109
|
+
- [ ] All primary endpoints have 95% CI and exact p-values?
|
|
110
|
+
- [ ] Every Table and Figure referenced in the text?
|
|
111
|
+
- [ ] Zero interpretation (no "why", no literature comparisons)?
|
|
112
|
+
- [ ] No blank cells in tables (NA with footnote instead)?
|
|
113
|
+
- [ ] All data in Results was described in Methods?
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Step 7.1 Extension — Classical Manuscript Style QC
|
|
2
|
+
|
|
3
|
+
A grep-based checklist that automatically verifies the global rule `~/.claude/rules/manuscript-style-classical.md` (11 items) for senior-MA-reviewer readiness. Run alongside the Step 7.1 AI Pattern Scan.
|
|
4
|
+
|
|
5
|
+
**Why**: Senior MA mentors routinely flag the § symbol, AI Disclosure boilerplate, prose-form eligibility criteria, em-dash overuse, and AI-style headings as "AI patterns." A manuscript-level automated grep blocks these in advance.
|
|
6
|
+
|
|
7
|
+
## Automated checks (run together at Phase 7.1 entry)
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
MD=manuscript/manuscript.md
|
|
11
|
+
|
|
12
|
+
# 1. Enforce 0 occurrences of the § symbol
|
|
13
|
+
N=$(grep -c "§" "$MD" || true)
|
|
14
|
+
[ "$N" -eq 0 ] || echo "FAIL: § symbol ${N} occurrence(s) — remove all or replace with (Methods)/(Results)"
|
|
15
|
+
|
|
16
|
+
# 2. No AI Disclosure paragraph in the body (only on the journal form / cover letter)
|
|
17
|
+
grep -inE "artificial intelligence disclosure|generative ai was not used|ai acknowledg(e)?ment" "$MD" \
|
|
18
|
+
&& echo "FAIL: AI Disclosure paragraph present in the body — move it to the cover letter / submission form"
|
|
19
|
+
|
|
20
|
+
# 3. Heading style — five main sections in uppercase + bold
|
|
21
|
+
for H in METHODS RESULTS DISCUSSION INTRODUCTION CONCLUSION; do
|
|
22
|
+
grep -qE "^## \*\*${H}\*\*" "$MD" || echo "WARN: '## **${H}**' heading missing (or a variant)"
|
|
23
|
+
done
|
|
24
|
+
|
|
25
|
+
# 4. Eligibility / Inclusion criteria — numbered list recommended
|
|
26
|
+
grep -A 3 -inE "^#{2,4}.*(eligibility|inclusion criteria|exclusion criteria)" "$MD" \
|
|
27
|
+
| grep -qE "\([0-9]+\)|^[0-9]+\." \
|
|
28
|
+
|| echo "WARN: Eligibility/Inclusion criteria may be prose — consider converting to a '(1)... (2)...' numbered list"
|
|
29
|
+
|
|
30
|
+
# 5. No grant-ID placeholder in the Funding section
|
|
31
|
+
grep -inE "grant\s*(id|number)?\s*[:#]\s*(TBD|TODO|XXX|\[insert\]|\[grant)" "$MD" \
|
|
32
|
+
&& echo "FAIL: Funding grant-ID placeholder remains — ask the senior author to enter it directly"
|
|
33
|
+
|
|
34
|
+
# 6. No PROSPERO chronology in the body (only the registration number, one line, is allowed)
|
|
35
|
+
grep -inE "prospero.*(amendment|chronology|lodged|registered on \d{4}-\d{2}-\d{2}.*amended)" "$MD" \
|
|
36
|
+
&& echo "FAIL: PROSPERO chronology / amendment lodging present in the body — move it to the supplementary"
|
|
37
|
+
|
|
38
|
+
# 7. Em-dash overuse (< 25 per manuscript recommended)
|
|
39
|
+
N=$(grep -o "—" "$MD" | wc -l | tr -d ' ')
|
|
40
|
+
[ "$N" -lt 25 ] || echo "WARN: ${N} em-dashes (>=25) — an AI-generation signal; redistribute with commas/colons"
|
|
41
|
+
|
|
42
|
+
# 8. 0 hand-typed reference-list entries
|
|
43
|
+
# Per the manuscript-references.md rule, in-text citations may only be [@bibkey] or [N].
|
|
44
|
+
# If the References section has hand-typed entries, the build artifact (.docx) must be verified — delegate to Step 7.6a.
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Pass criteria
|
|
48
|
+
|
|
49
|
+
- FAIL = 0 (must fix).
|
|
50
|
+
- WARN ≤ 2 (may be acknowledged after user review).
|
|
51
|
+
- Record the result in `qc/_pipeline_log.md` with a timestamp + the raw output.
|
|
52
|
+
|
|
53
|
+
## Responsibility boundary
|
|
54
|
+
|
|
55
|
+
This step performs **automated grep only**. The following are separate steps:
|
|
56
|
+
- Body rewrite for Patterns 19–21 (§, self-reference, AI Disclosure boilerplate) → `/humanize`
|
|
57
|
+
- Hand-typed reference verification → Step 7.6a `check_xref.py` (after the DOCX build)
|
|
58
|
+
- PRISMA arithmetic consistency → `/check-reporting prisma` Step 4d
|
|
59
|
+
- Entering the actual Funding grant-ID value → direct circulation to the senior author
|
|
60
|
+
|
|
61
|
+
## Related
|
|
62
|
+
|
|
63
|
+
- Global rule: `~/.claude/rules/manuscript-style-classical.md` (motivation for the 11 items)
|
|
64
|
+
- Circulation workflow: `~/.claude/rules/senior-mentor-circulation.md`
|
|
65
|
+
- AI-draft handling: `~/.claude/rules/ai-drafted-document-policy.md`
|
|
66
|
+
- No hand-typed references: `~/.claude/rules/manuscript-references.md`
|
|
67
|
+
- Related skills: `/humanize` (Patterns 19–21), `/check-reporting prisma` (Step 4d)
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Step 7.4a Reference — Audit Recovery Branch
|
|
2
|
+
|
|
3
|
+
Load this reference when Step 7.4 returns a fatal structural finding (category
|
|
4
|
+
`accuracy`, `data_fidelity`, `protocol_mismatch`, or `numerical_claim`), an unresolved
|
|
5
|
+
Step 7.3a primary-source disagreement, a persistent `[VERIFY-CSV]` tag, or a registry ↔
|
|
6
|
+
analysis inconsistency. The SKILL.md body carries only trigger table + routing table +
|
|
7
|
+
summary pointer; procedural detail lives here.
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
The linear polish flow (draft → review → revise → submit) assumes remaining issues are
|
|
12
|
+
prose-level. Some self-review findings are structural — they indicate that the
|
|
13
|
+
underlying data, protocol application, or analysis script is wrong, not that the prose
|
|
14
|
+
is wrong. Continuing through Step 7.5 – 7.6 in that case produces a polished manuscript
|
|
15
|
+
built on a broken foundation. This step makes the recovery loop explicit.
|
|
16
|
+
|
|
17
|
+
## Trigger Conditions (any one, from the Step 7.4 JSON report)
|
|
18
|
+
|
|
19
|
+
- A `severity: "fatal"` issue whose category is `accuracy`, `data_fidelity`,
|
|
20
|
+
`protocol_mismatch`, or `numerical_claim`.
|
|
21
|
+
- An unresolved primary-source disagreement from Step 7.3a (P0 blocker).
|
|
22
|
+
- A `[VERIFY-CSV]` tag remains in the manuscript after two fix iterations.
|
|
23
|
+
- The self-review report flags inconsistency between the registered protocol (e.g.,
|
|
24
|
+
PROSPERO record) and the delivered analysis.
|
|
25
|
+
- A reviewer-consensus record and the locked dataset disagree on inclusion of one or
|
|
26
|
+
more studies.
|
|
27
|
+
|
|
28
|
+
**Do not attempt to fix these inline.** The `/self-review --fix` loop is text-level;
|
|
29
|
+
these findings require re-extraction, re-analysis, or re-registration. In-line text
|
|
30
|
+
patching papers over the defect and breaks downstream audit trails.
|
|
31
|
+
|
|
32
|
+
## Routing
|
|
33
|
+
|
|
34
|
+
| Symptom | Route to |
|
|
35
|
+
|---|---|
|
|
36
|
+
| MA pooled estimate / forest / subgroup / funnel numbers disagree with source | `/meta-analysis` Phase 10 (Self-Audit Recovery) |
|
|
37
|
+
| MA protocol vs. analysis mismatch (eligibility, outcome, subgroup) | `/meta-analysis` Phase 10 + registry amendment |
|
|
38
|
+
| Primary-study numerical claim disagrees with source Table/Figure | `/meta-analysis` Phase 6b (Post-Analysis Source Fidelity Audit), then return here |
|
|
39
|
+
| Non-MA manuscript: extraction error affecting Table 1 / primary endpoint | Return to this skill's Phase 2 (Tables & Figures) with corrected CSV, then re-enter Phase 3 – 7 for affected sections only |
|
|
40
|
+
| Non-MA manuscript: protocol amendment needed (e.g., IRB-registered outcome changed) | Halt and ask the user; protocol amendments are human-decision |
|
|
41
|
+
|
|
42
|
+
## Actions
|
|
43
|
+
|
|
44
|
+
1. **Halt the polish pipeline.** Do not run Step 7.5 (Generate Deliverables) or Step 7.6
|
|
45
|
+
(DOCX Build). The current `manuscript/manuscript.md` is still a work-in-progress.
|
|
46
|
+
2. **Log the branch decision** to `qc/_pipeline_log.md`:
|
|
47
|
+
```
|
|
48
|
+
## Audit Recovery Branch (Step 7.4a)
|
|
49
|
+
- Triggered by: {finding IDs from self-review JSON}
|
|
50
|
+
- Routed to: {skill/phase}
|
|
51
|
+
- Manuscript version frozen at: v{N}
|
|
52
|
+
- Recovery workspace: {path}
|
|
53
|
+
```
|
|
54
|
+
3. **Invoke the routed skill** with the specific findings. For MA-type recovery, the
|
|
55
|
+
`/meta-analysis` Phase 10 sprint rebuilds the extraction, analysis, figures, and
|
|
56
|
+
manuscript-body numbers, and emits a `change_summary.md`.
|
|
57
|
+
4. **Re-entry.** When the upstream recovery completes and produces a new
|
|
58
|
+
`manuscript/manuscript.md` (v{N+1}) plus a change summary:
|
|
59
|
+
- Re-enter Phase 7 at Step 7.3 (Citation Verification) — not at Step 7.1, because
|
|
60
|
+
recovery may have introduced new citations.
|
|
61
|
+
- Carry the change summary through to Phase 8+ (cover letter) when applicable.
|
|
62
|
+
- If the recovery required a registry amendment (PROSPERO or equivalent), confirm in
|
|
63
|
+
Step 7.2 (Reporting Guideline Check) that the manuscript's Methods text cites the
|
|
64
|
+
amendment date.
|
|
65
|
+
5. **Loop budget.** A single recovery cycle is expected. A second recovery cycle on the
|
|
66
|
+
same manuscript is permitted but should prompt a root-cause review of Phase 2 / 6 /
|
|
67
|
+
6b — repeated recoveries indicate upstream rigor gaps, not manuscript-level issues.
|
|
68
|
+
|
|
69
|
+
## Autonomous Mode
|
|
70
|
+
|
|
71
|
+
If `--autonomous` is ON and the recovery skill is also available, the orchestrator may
|
|
72
|
+
auto-invoke `/meta-analysis` Phase 10 and continue. If the recovery requires human
|
|
73
|
+
decision (protocol amendment, eligibility re-scope), the autonomous run stops and flags
|
|
74
|
+
`qc/_pipeline_log.md` with `RECOVERY_HALT_HUMAN_DECISION`.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Title & Abstract Writing Guide
|
|
2
|
+
|
|
3
|
+
Reference for write-paper Phase 6 (Introduction + Abstract) and Phase 1 (Outline).
|
|
4
|
+
Loaded on-demand when drafting Title or Abstract.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Title
|
|
9
|
+
|
|
10
|
+
### Three Title Types
|
|
11
|
+
|
|
12
|
+
| Type | Characteristics | When to Use |
|
|
13
|
+
|------|----------------|-------------|
|
|
14
|
+
| **Interrogative** | Poses a question ("Is X better than Y?") | Lower-impact journals; weaker evidence |
|
|
15
|
+
| **Descriptive** | States what was studied, includes design | Default choice for most submissions |
|
|
16
|
+
| **Declarative** | States the conclusion directly | Only with strong evidence (RCT-level) |
|
|
17
|
+
|
|
18
|
+
**Default to Descriptive** unless the study has RCT-level evidence (then Declarative is acceptable).
|
|
19
|
+
|
|
20
|
+
### Required Components (4 elements)
|
|
21
|
+
|
|
22
|
+
Every title should contain:
|
|
23
|
+
|
|
24
|
+
1. **Modality**: CT, MRI, ultrasound, radiograph, etc.
|
|
25
|
+
2. **Disease/Condition**: HCC, Crohn's disease, lung nodule, etc.
|
|
26
|
+
3. **What was evaluated**: Scoring system, revised criteria, AI model, etc.
|
|
27
|
+
4. **Purpose/Outcome**: Prediction, identification, comparison, validation, etc.
|
|
28
|
+
|
|
29
|
+
### Title Rules
|
|
30
|
+
|
|
31
|
+
- Include the study design (retrospective, prospective, multicenter, etc.)
|
|
32
|
+
- Remove filler words ruthlessly — every word must earn its place
|
|
33
|
+
- Word limit varies by journal (e.g., Radiology: 15 words)
|
|
34
|
+
- Do not use abbreviations in the title unless universally understood (CT, MRI, AI)
|
|
35
|
+
|
|
36
|
+
### Self-Check
|
|
37
|
+
|
|
38
|
+
Before finalizing, verify:
|
|
39
|
+
- [ ] All 4 components present (modality, disease, what, purpose)?
|
|
40
|
+
- [ ] Study design stated?
|
|
41
|
+
- [ ] Within journal word limit?
|
|
42
|
+
- [ ] No unnecessary filler words?
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Abstract
|
|
47
|
+
|
|
48
|
+
### Structure
|
|
49
|
+
|
|
50
|
+
Most journals require a structured abstract: Background, Methods, Results, Conclusion.
|
|
51
|
+
Check the journal profile for the exact format (some use Purpose instead of Background,
|
|
52
|
+
or combine Background and Purpose).
|
|
53
|
+
|
|
54
|
+
### Word Limits (common)
|
|
55
|
+
|
|
56
|
+
| Journal | Limit |
|
|
57
|
+
|---------|-------|
|
|
58
|
+
| Radiology / KJR | 300 words |
|
|
59
|
+
| European Radiology | 250 words |
|
|
60
|
+
| European Journal of Radiology | 350 words |
|
|
61
|
+
|
|
62
|
+
Always check the loaded journal profile for the exact limit.
|
|
63
|
+
|
|
64
|
+
### Section-by-Section Rules
|
|
65
|
+
|
|
66
|
+
#### Background / Purpose
|
|
67
|
+
|
|
68
|
+
- Start with the specific gap — not a general disease overview
|
|
69
|
+
- No "Disease X is a major health concern" openers
|
|
70
|
+
- Go directly to what is unknown or insufficient about current methods
|
|
71
|
+
- 2-3 sentences maximum
|
|
72
|
+
|
|
73
|
+
#### Methods
|
|
74
|
+
|
|
75
|
+
- State: retrospective or prospective, single or multicenter
|
|
76
|
+
- Population: who, when (date range)
|
|
77
|
+
- Modality and key technical parameters
|
|
78
|
+
- Primary outcome and representative statistical method
|
|
79
|
+
- 3-5 sentences
|
|
80
|
+
|
|
81
|
+
#### Results
|
|
82
|
+
|
|
83
|
+
- Start with final included patient count (must match flowchart)
|
|
84
|
+
- Mean age and sex distribution
|
|
85
|
+
- Primary outcome with exact value, 95% CI, and p-value
|
|
86
|
+
- Key secondary outcomes (1-2 maximum)
|
|
87
|
+
- 3-5 sentences
|
|
88
|
+
|
|
89
|
+
#### Conclusion
|
|
90
|
+
|
|
91
|
+
- **This is where to invest the most effort** — reviewers and readers read this first
|
|
92
|
+
- 1-2 sentences only: state the core finding and its clinical implication
|
|
93
|
+
- Do not include limitations or "further studies are needed" (add only if reviewer requests)
|
|
94
|
+
- Must be a directly citable statement
|
|
95
|
+
|
|
96
|
+
### Abstract Self-Check
|
|
97
|
+
|
|
98
|
+
- [ ] All numbers match main text and tables?
|
|
99
|
+
- [ ] Conclusion does not overclaim beyond the evidence?
|
|
100
|
+
- [ ] Within word limit?
|
|
101
|
+
- [ ] Format matches journal requirements exactly?
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Visual Abstract
|
|
106
|
+
|
|
107
|
+
Many journals now require or encourage visual abstracts. European Radiology mandates them for
|
|
108
|
+
all Original Articles from first revision (Jan 2025). Submitting one voluntarily signals effort.
|
|
109
|
+
|
|
110
|
+
**Generation workflow:**
|
|
111
|
+
1. Check the target journal profile for visual abstract requirements and template availability.
|
|
112
|
+
2. Extract content: title, Key Point 1 → hypothesis, Key Point 3 → main finding, methodology
|
|
113
|
+
bullets (<6 words each), patient cohort/modality/center badges.
|
|
114
|
+
3. Select a visual element: prefer the study's own figures (ROC, flow diagram) over illustrations.
|
|
115
|
+
4. Call `/make-figures` with visual abstract request, or run `generate_visual_abstract.py` directly.
|
|
116
|
+
5. The script fills a journal-specific PPTX template. If none exists, `medsci_default.pptx` is used.
|
|
117
|
+
|
|
118
|
+
**Design rules:**
|
|
119
|
+
- One page, landscape (16:9), per journal template
|
|
120
|
+
- Study question → Key method → Main result structure
|
|
121
|
+
- Use study's actual figures, not generic clip-art
|
|
122
|
+
- Every visual element must serve a purpose
|
|
123
|
+
- See `make-figures/references/medical_illustration_sources.md` for free illustration resources
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Statistical Methods — Section Templates for Radiology Papers
|
|
2
|
+
|
|
3
|
+
Reusable paragraph templates for the Statistical Analysis subsection of Methods. Adapt to the specific study; do not copy verbatim. All templates use past tense (Methods convention).
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Descriptive Statistics
|
|
8
|
+
|
|
9
|
+
### Template
|
|
10
|
+
Continuous variables were expressed as mean +/- standard deviation or median (interquartile range [IQR]) depending on data distribution, which was assessed using the Shapiro-Wilk test. Categorical variables were reported as frequencies and percentages. Baseline characteristics were compared between groups using {the independent t test or Mann-Whitney U test} for continuous variables and {the chi-square test or Fisher exact test} for categorical variables, as appropriate.
|
|
11
|
+
|
|
12
|
+
### When to use each
|
|
13
|
+
- **Mean +/- SD**: normally distributed continuous data.
|
|
14
|
+
- **Median [IQR]**: skewed distributions, ordinal data, or small samples.
|
|
15
|
+
- **Shapiro-Wilk**: preferred normality test for n < 50; for larger samples, also consider visual inspection (Q-Q plot, histogram).
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 2. Comparison Tests
|
|
20
|
+
|
|
21
|
+
### Two-Group Continuous (Parametric)
|
|
22
|
+
Differences in {outcome} between {group A} and {group B} were compared using the independent-samples t test. For paired data (e.g., pre- vs post-intervention in the same subjects), the paired t test was used.
|
|
23
|
+
|
|
24
|
+
### Two-Group Continuous (Nonparametric)
|
|
25
|
+
Differences in {outcome} between groups were compared using the Mann-Whitney U test for independent samples or the Wilcoxon signed-rank test for paired samples.
|
|
26
|
+
|
|
27
|
+
### Categorical
|
|
28
|
+
The association between {variable 1} and {variable 2} was evaluated using the chi-square test. Fisher exact test was used when the expected cell count was less than 5.
|
|
29
|
+
|
|
30
|
+
### Multi-Group
|
|
31
|
+
Differences in {outcome} among {3+} groups were assessed using one-way analysis of variance (ANOVA) with post hoc pairwise comparisons using the Tukey honestly significant difference test. For non-normally distributed data, the Kruskal-Wallis test was used with post hoc Dunn test.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 3. Diagnostic Accuracy
|
|
36
|
+
|
|
37
|
+
### Template
|
|
38
|
+
Diagnostic performance of {model/reader/test} was evaluated by calculating sensitivity, specificity, positive predictive value (PPV), negative predictive value (NPV), and accuracy with exact binomial 95% confidence intervals (CIs). The area under the receiver operating characteristic curve (AUC) was calculated with 95% CIs using the DeLong method. The operating point was determined by {maximizing the Youden index / using a pre-specified sensitivity threshold of X% / clinical consensus}. AUC values were compared between {model A} and {model B} using the DeLong test for correlated ROC curves.
|
|
39
|
+
|
|
40
|
+
### Sensitivity/Specificity at Fixed Threshold
|
|
41
|
+
At the pre-specified operating point of {threshold}, sensitivity and specificity were calculated with 95% CIs using the exact binomial method.
|
|
42
|
+
|
|
43
|
+
### Multi-Class
|
|
44
|
+
For multiclass classification, per-class sensitivity and specificity were calculated using a one-versus-rest approach. The overall performance was summarized using the macro-averaged AUC.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 4. Inter-Rater Agreement
|
|
49
|
+
|
|
50
|
+
### Two Raters, Categorical
|
|
51
|
+
Inter-rater agreement between {rater 1} and {rater 2} was assessed using Cohen kappa coefficient. Kappa values were interpreted as follows: less than 0, poor; 0-0.20, slight; 0.21-0.40, fair; 0.41-0.60, moderate; 0.61-0.80, substantial; and 0.81-1.00, almost perfect agreement.
|
|
52
|
+
|
|
53
|
+
### Multiple Raters, Categorical
|
|
54
|
+
Inter-rater agreement among {N} raters was assessed using Fleiss kappa with 95% CIs.
|
|
55
|
+
|
|
56
|
+
### Continuous Measurements
|
|
57
|
+
Inter-rater reliability for continuous measurements was assessed using the intraclass correlation coefficient (ICC) with a two-way random-effects model for absolute agreement (ICC[2,1] for single measures, ICC[2,k] for average measures). ICC values were interpreted as: less than 0.50, poor; 0.50-0.75, moderate; 0.75-0.90, good; and greater than 0.90, excellent.
|
|
58
|
+
|
|
59
|
+
### Weighted Kappa (Ordinal)
|
|
60
|
+
For ordinal ratings, inter-rater agreement was assessed using the weighted kappa coefficient with quadratic weights.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 5. Survival Analysis
|
|
65
|
+
|
|
66
|
+
### Template
|
|
67
|
+
Overall survival and progression-free survival were estimated using the Kaplan-Meier method and compared between groups using the log-rank test. Median survival times were reported with 95% CIs. Multivariable analysis was performed using the Cox proportional hazards model, reporting hazard ratios (HRs) with 95% CIs. The proportional hazards assumption was verified using Schoenfeld residuals. Variables with P < .10 on univariable analysis were included in the multivariable model.
|
|
68
|
+
|
|
69
|
+
### Template (Retrospective Cohort — Time Zero + Interval Censoring)
|
|
70
|
+
Time zero was defined as the date of the first {qualifying examination / treatment / enrollment}. {Outcome} status was ascertained at subsequent {screening visits / follow-up examinations}, and the exact date of {outcome} onset was unknown. Therefore, the time to {outcome} was interval-censored between the last {negative / event-free} examination and the first {positive / event-detected} examination. Participants who remained {event-free / negative} at the last available examination were right-censored at that date. Standard Kaplan-Meier estimates were reported for comparability with prior literature, and interval-censored analyses using the Turnbull nonparametric maximum likelihood estimator were performed as {primary analysis / sensitivity analysis}.
|
|
71
|
+
|
|
72
|
+
### Template (Competing Risks)
|
|
73
|
+
Cumulative incidence of {primary outcome} was estimated using the cumulative incidence function (CIF), accounting for {competing event, e.g., non-cardiovascular death} as a competing risk. Group differences in cumulative incidence were compared using Gray test. The association between covariates and {primary outcome} was assessed using the Fine-Gray subdistribution hazard model, reporting subdistribution hazard ratios (sHRs) with 95% CIs. Cause-specific Cox proportional hazards models were also fitted for etiologic interpretation.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 6. Sample Size Justification
|
|
78
|
+
|
|
79
|
+
### Template (Diagnostic Accuracy)
|
|
80
|
+
Based on an expected AUC of {X} for the AI model with a null hypothesis AUC of 0.50, a minimum of {N} cases ({n} positive, {n} negative) were required to achieve 80% power at a two-sided significance level of .05, using the method described by Hanley and McNeil. Accounting for {X%} expected data loss, a target enrollment of {N} was set.
|
|
81
|
+
|
|
82
|
+
### Template (Comparison Study)
|
|
83
|
+
To detect a difference of {X} in {metric} between {group A} and {group B}, assuming a standard deviation of {Y}, a sample of {N} per group was required to achieve {80/90}% power at a two-sided alpha of .05 using a {two-sample t test / chi-square test}. This calculation was performed using {software}.
|
|
84
|
+
|
|
85
|
+
### Template (No Formal Power Analysis)
|
|
86
|
+
No formal sample size calculation was performed for this {retrospective / exploratory} study. All eligible patients during the study period were included.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 7. Multiple Comparison Correction
|
|
91
|
+
|
|
92
|
+
### Bonferroni
|
|
93
|
+
To account for multiple comparisons across {N} primary endpoints, a Bonferroni-corrected significance threshold of P < {0.05/N} was applied.
|
|
94
|
+
|
|
95
|
+
### Holm
|
|
96
|
+
Multiple comparisons were adjusted using the Holm-Bonferroni sequential correction method.
|
|
97
|
+
|
|
98
|
+
### False Discovery Rate
|
|
99
|
+
For exploratory analyses involving {N} comparisons, the Benjamini-Hochberg procedure was used to control the false discovery rate at 5%.
|
|
100
|
+
|
|
101
|
+
### No Correction (with justification)
|
|
102
|
+
Given that the {subgroup / secondary} analyses were pre-specified and hypothesis-driven, no correction for multiple comparisons was applied; these results should be interpreted with appropriate caution.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 8. Software Statement
|
|
107
|
+
|
|
108
|
+
### Template (Python-primary)
|
|
109
|
+
Statistical analyses were performed using Python {version} (Python Software Foundation) with the following packages: scipy {version} for statistical tests, scikit-learn {version} for machine learning metrics, statsmodels {version} for regression analyses, and lifelines {version} for survival analysis. Figures were generated using matplotlib {version} and seaborn {version}.
|
|
110
|
+
|
|
111
|
+
### Template (R-primary)
|
|
112
|
+
Statistical analyses were performed using R {version} (R Foundation for Statistical Computing, Vienna, Austria). Key packages included pROC for ROC analysis, survival and survminer for survival analysis, irr for inter-rater reliability, and ggplot2 for visualization.
|
|
113
|
+
|
|
114
|
+
### Template (Mixed)
|
|
115
|
+
Data preprocessing and model development were performed using Python {version} with PyTorch {version}. Statistical analyses were performed using R {version} with the pROC, irr, and survival packages. All statistical tests were two-sided, and P < .05 was considered to indicate a statistically significant difference.
|
|
116
|
+
|
|
117
|
+
### Significance Statement (append to any software template)
|
|
118
|
+
All statistical tests were two-sided, and P < .05 was considered to indicate a statistically significant difference unless otherwise specified.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 9. Ethics Statement
|
|
123
|
+
|
|
124
|
+
### Template (Retrospective, Consent Waived)
|
|
125
|
+
This retrospective study was approved by the institutional review board of {institution name} (protocol no. {number}), and the requirement for written informed consent was waived owing to the retrospective nature of the study. All procedures were performed in accordance with the Declaration of Helsinki.
|
|
126
|
+
|
|
127
|
+
### Template (Prospective, Consent Obtained)
|
|
128
|
+
This prospective study was approved by the institutional review board of {institution name} (protocol no. {number}). Written informed consent was obtained from all participants prior to enrollment.
|
|
129
|
+
|
|
130
|
+
### Template (Multi-Institutional)
|
|
131
|
+
This study was approved by the institutional review boards of all participating institutions: {institution 1} (protocol no. {X}), {institution 2} (protocol no. {Y}), and {institution 3} (protocol no. {Z}). {Informed consent was obtained from all participants / The requirement for informed consent was waived at all sites}.
|
|
132
|
+
|
|
133
|
+
### Template (Educational Study, No Patient Data)
|
|
134
|
+
This study was reviewed by the institutional review board of {institution name} and was determined to be exempt from full review (protocol no. {number}) as it involved educational evaluation with no patient data.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 10. AI Disclosure Statement
|
|
139
|
+
|
|
140
|
+
### Template (AI Used in Research Pipeline)
|
|
141
|
+
{Model name} ({version}, {company}) was used for {specific task, e.g., generating educational content, classifying images, extracting structured data}. The model was accessed via {API / local deployment} between {start date} and {end date}. Generation parameters included a temperature of {X} and a maximum token length of {Y}. {All outputs were reviewed by a board-certified radiologist (author initials, X years of experience) / All outputs underwent multi-stage quality assurance as described in Section 2.X}.
|
|
142
|
+
|
|
143
|
+
### Template (AI Used in Writing)
|
|
144
|
+
{Tool name} ({version}) was used for {grammar checking / language editing / code generation for statistical analysis}. All AI-assisted content was critically reviewed, edited, and verified by the authors, who take full responsibility for the final manuscript.
|
|
145
|
+
|
|
146
|
+
### Template (Study About AI, No AI in Writing)
|
|
147
|
+
No AI writing tools were used in the preparation of this manuscript. The AI models evaluated in this study are described in Section 2.X.
|