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,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: replicate-study
|
|
3
|
+
description: Replicate an existing cohort study's methodology on a different database. Extracts study design from a source paper, maps variables to the target DB via harmonization table, generates analysis code, and produces a replication difference report.
|
|
4
|
+
triggers: replicate study, replicate paper, 논문 복제, 방법론 복제, reproduce study, replication, 다른 DB로, swap database, 데이터 교체
|
|
5
|
+
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
model: opus
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Replicate Study Skill
|
|
10
|
+
|
|
11
|
+
You are assisting a medical researcher in replicating an existing published study's methodology
|
|
12
|
+
on a different database. This is a common research strategy: take a validated methodology from
|
|
13
|
+
Paper A (e.g., NHIS cohort study) and apply it to Database B (e.g., KNHANES, NHANES, or another
|
|
14
|
+
cohort) to produce a new paper with the same analytical rigor.
|
|
15
|
+
|
|
16
|
+
## When to Use
|
|
17
|
+
|
|
18
|
+
- Researcher has a published paper they want to replicate on their own data
|
|
19
|
+
- Swapping exposure/outcome variables within the same DB
|
|
20
|
+
- Cross-national replication (e.g., Korean study → US data, or vice versa)
|
|
21
|
+
- Extending a single-institution study to a national cohort
|
|
22
|
+
|
|
23
|
+
## Inputs
|
|
24
|
+
|
|
25
|
+
1. **Source paper**: PDF, DOI, or markdown of the paper to replicate
|
|
26
|
+
2. **Target database path**: CSV/SAS data file(s) to use
|
|
27
|
+
3. **Harmonization table** (optional): CSV mapping source → target variables
|
|
28
|
+
- Default: `${SKILL_DIR}/references/harmonization_knhanes_nhanes.csv` (if KNHANES↔NHANES)
|
|
29
|
+
|
|
30
|
+
## Reference Files
|
|
31
|
+
|
|
32
|
+
- `${SKILL_DIR}/references/methodology_extraction_template.md` — checklist for extracting study design
|
|
33
|
+
- `${SKILL_DIR}/references/harmonization_knhanes_nhanes.csv` — KNHANES↔NHANES variable mapping (67 rows)
|
|
34
|
+
- `${SKILL_DIR}/references/harmonization_3country.csv` — KNHANES+NHANES+CHNS 3-country mapping (45 rows, if available)
|
|
35
|
+
- Upstream templates (read on demand):
|
|
36
|
+
- `medsci-skills/skills/write-paper/references/paper_types/nhis_cohort.md`
|
|
37
|
+
- `medsci-skills/skills/write-paper/references/paper_types/cross_national.md`
|
|
38
|
+
- `medsci-skills/skills/analyze-stats/references/analysis_guides/survey_weighted.md`
|
|
39
|
+
- `medsci-skills/skills/analyze-stats/references/analysis_guides/propensity_score.md`
|
|
40
|
+
|
|
41
|
+
## Workflow
|
|
42
|
+
|
|
43
|
+
### Phase 1: Source Paper Analysis
|
|
44
|
+
|
|
45
|
+
1. Read the source paper (PDF → text, or markdown).
|
|
46
|
+
2. Extract methodology using the extraction template:
|
|
47
|
+
- **Study design**: cohort / cross-sectional / case-control
|
|
48
|
+
- **Database**: name, country, years, N
|
|
49
|
+
- **Population**: inclusion/exclusion criteria, age range
|
|
50
|
+
- **Exposure**: variable name, definition, coding
|
|
51
|
+
- **Outcome**: variable name, definition, coding
|
|
52
|
+
- **Covariates**: full list with definitions
|
|
53
|
+
- **Statistical methods**: regression type, adjustment model, subgroup analyses
|
|
54
|
+
- **Survey design**: weights, strata, PSU (if applicable)
|
|
55
|
+
- **Sensitivity analyses**: list all
|
|
56
|
+
3. Output: structured extraction summary for user review.
|
|
57
|
+
|
|
58
|
+
### Phase 2: Variable Mapping
|
|
59
|
+
|
|
60
|
+
1. Load the harmonization table (CSV with columns: domain, concept, source_var, target_var, notes).
|
|
61
|
+
2. For each extracted variable (exposure, outcome, covariates):
|
|
62
|
+
- Find the matching row in the harmonization table
|
|
63
|
+
- Flag: DIRECT_MATCH / RECODE_NEEDED / NOT_AVAILABLE / PROXY_AVAILABLE
|
|
64
|
+
3. Generate a **mapping report**:
|
|
65
|
+
- Green: directly available (no recoding)
|
|
66
|
+
- Yellow: available but needs recoding (document transformation)
|
|
67
|
+
- Red: not available in target DB (propose proxy or exclusion)
|
|
68
|
+
4. Output: variable mapping table for user approval.
|
|
69
|
+
|
|
70
|
+
### Phase 3: Code Generation
|
|
71
|
+
|
|
72
|
+
1. Generate analysis code (Python with `pandas` + R via `subprocess` for survey-weighted):
|
|
73
|
+
a. **Data loading & cleaning**: read target DB, apply inclusion/exclusion
|
|
74
|
+
b. **Variable derivation**: recode variables per mapping table
|
|
75
|
+
c. **Survey design setup**: define svydesign object (strata, PSU, weights)
|
|
76
|
+
d. **Table 1**: demographics by exposure group (weighted)
|
|
77
|
+
e. **Main analysis**: replicate the primary model (logistic/Cox/linear regression)
|
|
78
|
+
f. **Subgroup analyses**: if specified in source paper
|
|
79
|
+
g. **Sensitivity analyses**: replicate all listed in source paper
|
|
80
|
+
2. Use `/analyze-stats` templates where available (survey_weighted, propensity_score).
|
|
81
|
+
3. All code must be self-contained and reproducible.
|
|
82
|
+
|
|
83
|
+
### Phase 4: Difference Report
|
|
84
|
+
|
|
85
|
+
Generate a structured difference report documenting:
|
|
86
|
+
|
|
87
|
+
| Section | Content |
|
|
88
|
+
|---------|---------|
|
|
89
|
+
| Study Design | Same / Modified (explain) |
|
|
90
|
+
| Database | Source DB → Target DB (N, years, country) |
|
|
91
|
+
| Population | Inclusion/exclusion differences |
|
|
92
|
+
| Variable Mapping | Full mapping table with match status |
|
|
93
|
+
| Unavailable Variables | What's missing and how handled |
|
|
94
|
+
| Methodological Differences | Any forced changes (e.g., BMI cutoffs, LDL calculation) |
|
|
95
|
+
| Expected Differences | Why results may differ (population, measurement, cultural) |
|
|
96
|
+
|
|
97
|
+
Save as `replication_report.md` in the working directory.
|
|
98
|
+
|
|
99
|
+
### Phase 5: Validation Checklist
|
|
100
|
+
|
|
101
|
+
Before reporting completion, verify:
|
|
102
|
+
|
|
103
|
+
- [ ] All source paper covariates accounted for (mapped, proxied, or documented as missing)
|
|
104
|
+
- [ ] Survey weights correctly applied (NEVER analyze unweighted if source used weights)
|
|
105
|
+
- [ ] Obesity/BMI cutoffs match target population standards (Asian vs WHO)
|
|
106
|
+
- [ ] Fasting requirements matched (fasting glucose, lipids)
|
|
107
|
+
- [ ] Age restrictions applied correctly
|
|
108
|
+
- [ ] Code runs without errors on target data
|
|
109
|
+
- [ ] Output tables match source paper structure
|
|
110
|
+
|
|
111
|
+
## Critical Rules
|
|
112
|
+
|
|
113
|
+
1. **Never pool data across surveys**. Analyze each country's data with its own survey design.
|
|
114
|
+
2. **Document every deviation** from the source methodology in the difference report.
|
|
115
|
+
3. **Asian BMI cutoffs** (≥25 for obesity) when analyzing Korean data, even if source used WHO (≥30).
|
|
116
|
+
4. **LDL calculation**: note if source used direct measurement vs Friedewald.
|
|
117
|
+
5. **Weighted analysis is mandatory** for KNHANES/NHANES — never run unweighted models.
|
|
118
|
+
6. **IRB**: note that KNHANES/NHANES are de-identified public data (IRB exempt or waived).
|
|
119
|
+
7. **Outdated source definitions**: if the source paper used a pre-2023 definition that has since been superseded (e.g., NAFLD → MASLD 2023, CKD-EPI 2009 → 2021 race-free), call `/define-variables` to cross-check whether to mirror the legacy definition (pure replication) or upgrade to current (extension). Document the choice explicitly in the difference report.
|
|
120
|
+
|
|
121
|
+
## Output Files
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
{working_dir}/
|
|
125
|
+
├── replication_report.md — Structured difference report
|
|
126
|
+
├── variable_mapping.csv — Variable mapping table with match status
|
|
127
|
+
├── analysis_code.py — Main analysis script (Python + R calls)
|
|
128
|
+
├── analysis_code.R — R script for survey-weighted analysis
|
|
129
|
+
└── results/
|
|
130
|
+
├── table1.csv — Demographics table
|
|
131
|
+
├── main_results.csv — Primary analysis results
|
|
132
|
+
└── subgroup_results.csv — Subgroup analysis results (if applicable)
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Example Invocation
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
/replicate-study
|
|
139
|
+
|
|
140
|
+
Source paper: Joo 2026 (Psychiatry Research) — depression/diabetes cross-national
|
|
141
|
+
Target DB: /path/to/knhanes/HN18.csv
|
|
142
|
+
Harmonization: /path/to/harmonization_knhanes_nhanes.csv
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Anti-Hallucination
|
|
146
|
+
|
|
147
|
+
- **Never fabricate variable names, dataset column names, or variable codings.** If a variable mapping is uncertain, output `[VERIFY: variable_name]` and ask the user to confirm against the data dictionary.
|
|
148
|
+
- **Never fabricate statistical results** — no invented p-values, effect sizes, confidence intervals, or sample sizes. All numbers must come from executed code output.
|
|
149
|
+
- **Never generate references from memory.** Use `/search-lit` for all citations.
|
|
150
|
+
- If a function, package, or API does not exist or you are unsure, say so explicitly rather than guessing.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
domain,concept,concept_en,knhanes_var,knhanes_label,knhanes_years,nhanes_table_J,nhanes_table_P,nhanes_var,nhanes_label,chns_file,chns_var,chns_label,chns_waves,harmonization_notes
|
|
2
|
+
demographics,ID,ID,ID,개인아이디,2007-2024,DEMO_J,P_DEMO,SEQN,Respondent sequence number,mast_pub_12,IDind,Individual ID,1989-2015,"Primary key — not linkable across surveys. KNHANES 2007-2009 uses lowercase 'id'"
|
|
3
|
+
demographics,조사연도,Survey year,year,조사연도,2007-2024,DEMO_J,P_DEMO,SDDSRVYR,Data release cycle number,all,wave,Survey wave,1989-2015,"KNHANES=calendar year; NHANES=cycle number; CHNS=wave year"
|
|
4
|
+
demographics,성별,Sex,sex,성별 (1=남 2=여),2007-2024,DEMO_J,P_DEMO,RIAGENDR,Gender (1=Male 2=Female),mast_pub_12,GENDER,Gender (1=male 2=female),1989-2015,"Direct match: 1=Male 2=Female (all three)"
|
|
5
|
+
demographics,나이,Age,age,만나이,2007-2024,DEMO_J,P_DEMO,RIDAGEYR,Age in years at screening,mast_pub_12,WEST_DOB_Y,Western Date of Birth YYYY,1989-2015,"CHNS: derive age = wave_year - WEST_DOB_Y. Truncation to integer."
|
|
6
|
+
demographics,인종/민족,Race/ethnicity,—,없음 (단일민족),—,DEMO_J,P_DEMO,RIDRETH3,Race/Hispanic origin w/ NH Asian,mast_pub_12,NATIONALITY,Nationality (Han=1),1989-2015,"KNHANES/CHNS lack race; set country indicator instead. CHNS: 95% Han, can stratify"
|
|
7
|
+
demographics,가구소득,Household income,incm,소득4분위수(개인),2007-2024,DEMO_J,P_DEMO,INDFMPIR,Ratio of family income to poverty,indinc_10,indwage,Individual wage income (yuan),1989-2015,"Recode all to quartiles within each country. CHNS: continuous yuan→quartiles within wave"
|
|
8
|
+
demographics,교육수준,Education,edu,교육수준 재분류 코드,2007-2024,DEMO_J,P_DEMO,DMDEDUC2,Education level - Adults 20+,educ_12,A12,Highest education level (0-6),1989-2015,"Harmonize to 3-level: ≤HS / Some college / ≥College. CHNS A12: 0=none 1=primary 2=lower-mid 3=upper-mid 4=tech/vocational 5=university 6=master+. Recode: 0-2→low 3-4→mid 5-6→high"
|
|
9
|
+
demographics,결혼상태,Marital status,marri_2,결혼상태,2007-2024,DEMO_J,P_DEMO,DMDMARTZ,Marital status,—,—,Not in standard download,—,"CHNS: available in surveys_pub_12 but coding needs verification"
|
|
10
|
+
demographics,가중치(설문+검진),Sample weight (interview+exam),wt_itvex,설문검진조사 가중치,2007-2024,DEMO_J,P_DEMO,WTMEC2YR / WTMECPRP,Full sample MEC exam weight,—,—,No formal survey weight,—,"KNHANES: wt_itvex (÷N_years for pooled). NHANES: WTMEC2YR (single) / WTMECPRP (pre-pandemic). CHNS: no formal survey weights — use unweighted with robust SE clustered by communityID"
|
|
11
|
+
demographics,층화변수,Stratification,kstrata,분산추정 층,2007-2024,DEMO_J,P_DEMO,SDMVSTRA,Masked variance pseudo-stratum,—,—,No stratification variable,—,"CHNS: no formal stratification. Use province (T1) as stratification if needed"
|
|
12
|
+
demographics,집락변수,Cluster (PSU),psu,조사구번호,2007-2024,DEMO_J,P_DEMO,SDMVPSU,Masked variance pseudo-PSU,pexam_00/hlth_12,COMMID,Community ID (T1-T4),1989-2015,"CHNS: COMMID is the primary sampling unit"
|
|
13
|
+
exam,신장,Height (cm),HE_ht,신장,2007-2024,BMX_J,P_BMX,BMXHT,Standing height (cm),pexam_00,HEIGHT,Height (cm),1989-2011,"Direct match"
|
|
14
|
+
exam,체중,Weight (kg),HE_wt,체중,2007-2024,BMX_J,P_BMX,BMXWT,Weight (kg),pexam_00,WEIGHT,Weight (kg),1989-2011,"Direct match"
|
|
15
|
+
exam,BMI,BMI (kg/m²),HE_BMI,체질량지수,2007-2024,BMX_J,P_BMX,BMXBMI,Body mass index (kg/m²),pexam_00,—,Derive BMI=WEIGHT/(HEIGHT/100)^2,1989-2011,"Direct match KR/US. CHNS: derive. Obesity cutoffs: KR≥25 / US≥30 / CN≥28 (WGOC)"
|
|
16
|
+
exam,허리둘레,Waist circumference (cm),HE_wc,허리둘레,2007-2024,BMX_J,P_BMX,BMXWAIST,Waist circumference (cm),pexam_00,U10,Waist circumference (cm),1993-2011,"Direct match. Central obesity: KR≥90M/85F / US≥102M/88F / CN≥90M/80F (IDF-Asian)"
|
|
17
|
+
exam,수축기혈압,Systolic BP (mmHg),HE_sbp,최종 수축기 혈압,2007-2024,BPXO_J,P_BPXO,BPXOSY3,Systolic: Average oscillometric,pexam_00,SYSTOL1-3,Systolic BP 3 readings,1991-2011,"All use average of readings. CHNS: mean(SYSTOL1 SYSTOL2 SYSTOL3)"
|
|
18
|
+
exam,이완기혈압,Diastolic BP (mmHg),HE_dbp,최종 이완기 혈압,2007-2024,BPXO_J,P_BPXO,BPXODI3,Diastolic: Average oscillometric,pexam_00,DIASTOL1-3,Diastolic BP 3 readings,1991-2011,"Same protocol. CHNS: mean(DIASTOL1 DIASTOL2 DIASTOL3)"
|
|
19
|
+
exam,고혈압,Hypertension status,HE_HP,고혈압 유병여부,2007-2024,BPX_J+BPQ_J,P_BPXO+P_BPQ,BPXOSY3+BPQ020,SBP/DBP + told HBP,pexam_00,U22+U24+BP,Dx + meds + measured BP,1991-2011,"Define uniformly: SBP≥140 or DBP≥90 or U22==1 (diagnosed) or U24==1 (on meds)"
|
|
20
|
+
lab,공복혈당,Fasting glucose (mg/dL),HE_glu,공복혈당,2007-2024,BIOPRO_J,P_BIOPRO,LBXSGL,Glucose: refrigerated serum (mg/dL),biomarker_09,GLUCOSE_MG,Blood Glucose (mg/dL),2009,"Direct match. CHNS also has mmol/L version (GLUCOSE). Available 2009 wave only"
|
|
21
|
+
lab,당화혈색소,HbA1c (%),HE_HbA1c,당화혈색소,2007-2024,GHB_J,P_GHB,LBXGH,Glycohemoglobin (%),biomarker_09,HbA1c,HbA1c (%),2009,"Direct match. Available 2009 wave only"
|
|
22
|
+
lab,당뇨병,Diabetes status,HE_DM,당뇨병 유병여부,2007-2024,GHB_J+BIOPRO_J+DIQ_J,P_GHB+P_BIOPRO+P_DIQ,LBXGH+LBXSGL+DIQ010,HbA1c+FPG+told DM,biomarker_09+pexam_00,GLUCOSE_MG+HbA1c+U24A,Lab+dx,2009,"Define uniformly: FPG≥126 or HbA1c≥6.5 or U24A==1 (diagnosed). CHNS: biomarker only 2009"
|
|
23
|
+
lab,총콜레스테롤,Total cholesterol (mg/dL),HE_chol,총콜레스테롤,2007-2024,TCHOL_J,P_TCHOL,LBXTC,Total cholesterol (mg/dL),biomarker_09,TC_MG,Total cholesterol (mg/dL),2009,"Direct match"
|
|
24
|
+
lab,HDL콜레스테롤,HDL cholesterol (mg/dL),HE_HDL_st2,HDL-콜레스테롤,2007-2024,HDL_J,P_HDL,LBDHDD,Direct HDL-Cholesterol (mg/dL),biomarker_09,HDL_C_MG,HDL-C (mg/dL),2009,"Direct match"
|
|
25
|
+
lab,중성지방,Triglycerides (mg/dL),HE_TG,중성지방,2007-2024,BIOPRO_J,P_BIOPRO,LBXSTR,Triglycerides (mg/dL),biomarker_09,TG_MG,Triglycerides (mg/dL),2009,"Direct match (fasting)"
|
|
26
|
+
lab,LDL콜레스테롤,LDL cholesterol (mg/dL),—,없음 (계산값),—,TRIGLY_J,P_TRIGLY,LBDLDL,LDL-cholesterol (mg/dL),biomarker_09,LDL_C_MG,LDL-C (mg/dL),2009,"KR: derive from Friedewald. US: direct or calculated. CN: direct measurement"
|
|
27
|
+
lab,AST,AST (IU/L),HE_ast,AST(SGOT),2007-2024,BIOPRO_J,P_BIOPRO,LBXSASSI,AST (IU/L),—,—,Not available,—,"CHNS biomarker panel does not include AST"
|
|
28
|
+
lab,ALT,ALT (IU/L),HE_alt,ALT(SGPT),2007-2024,BIOPRO_J,P_BIOPRO,LBXSATSI,ALT (IU/L),biomarker_09,ALT,ALT (U/L),2009,"Direct match"
|
|
29
|
+
lab,크레아티닌,Creatinine (mg/dL),HE_crea,혈중크레아티닌,2007-2024,BIOPRO_J,P_BIOPRO,LBXSCR,Creatinine (mg/dL),biomarker_09,CRE_MG,Creatinine (mg/dL),2009,"Direct match (CHNS has both umol/L and mg/dL)"
|
|
30
|
+
lab,헤모글로빈,Hemoglobin (g/dL),HE_HB,헤모글로빈,2007-2024,CBC_J,P_CBC,LBXHGB,Hemoglobin (g/dL),biomarker_09,HGB,Hemoglobin (g/L),2009,"CHNS unit is g/L — divide by 10 to convert to g/dL"
|
|
31
|
+
lab,백혈구,WBC (10³/µL),HE_WBC,백혈구,2007-2024,CBC_J,P_CBC,LBXWBCSI,WBC (1000 cells/µL),biomarker_09,WBC,WBC (x10^9 cells/L),2009,"Direct match (same unit: 10^3/µL = 10^9/L)"
|
|
32
|
+
lab,hsCRP,hsCRP (mg/L),HE_hsCRP,고감도CRP,2007-2024,HSCRP_J,P_HSCRP,LBXHSCRP,HS CRP (mg/L),biomarker_09,HS_CRP,High-sensitivity CRP (mg/L),2009,"Direct match"
|
|
33
|
+
questionnaire,우울증(PHQ-9),Depression (PHQ-9),BP_PHQ_1~9 / mh_PHQ_S,PHQ-9 문항1-9 / 총점,2014/16/18/20/22/24 (even years),DPQ_J,P_DPQ,DPQ010~DPQ090,PHQ-9 items,—,—,CES-D (NOT in this download),—,"CRITICAL: KR/US use identical PHQ-9. CHNS uses CES-D — NOT in current download. Need separate CHNS CES-D dataset from cpc.unc.edu. For 3-country: use binary depression cutoff as sensitivity analysis"
|
|
34
|
+
questionnaire,흡연상태,Smoking status,BS3_1,현재흡연여부,2007-2024,SMQ_J,P_SMQ,SMQ020+SMQ040,Smoked 100 cigs + now smoke,pexam_00,U25+U27,Ever smoked + Still smokes,1989-2011,"Derive: never(U25==0)/former(U25==1 & U27==0)/current(U25==1 & U27==1). KNHANES BS3_1 (not BS1_1)"
|
|
35
|
+
questionnaire,음주빈도,Alcohol frequency,BD1_11,1년간 음주빈도,2007-2024,ALQ_J,P_ALQ,ALQ121,Past 12 mo how often drink,pexam_00,U40+U41,Drank last year + frequency,1989-2011,"CHNS U40: 0=no 1=yes. U41: 1=almost daily 2=3-4x/wk 3=1-2x/wk 4=1-2x/mo 5=<1x/mo. Recode to: never(U40==0) / occasional(U41≥4) / frequent(U41≤3)"
|
|
36
|
+
questionnaire,신체활동,Physical activity,pa_aerobic,유산소 신체활동,2007-2024,PAQ_J,P_PAQ,PAQ605+PAQ620,Vigorous/moderate activity,—,—,Not in biomarker wave,—,"CHNS has PA in some waves but not aligned with biomarker 2009. Omit for 3-country biomarker analysis"
|
|
37
|
+
questionnaire,당뇨진단,Diabetes diagnosis,DE1_dg,당뇨병 의사진단,2007-2024,DIQ_J,P_DIQ,DIQ010,Doctor told diabetes,pexam_00,U24A,Diagnosed with diabetes (0/1),1997-2011,"Direct match (yes/no). CHNS: 0=no 1=yes 9=don't know"
|
|
38
|
+
questionnaire,고혈압진단,Hypertension diagnosis,DI1_dg,고혈압 의사진단,2007-2024,BPQ_J,P_BPQ,BPQ020,Ever told high BP,pexam_00,U22,Diagnosed with HBP (0/1),1991-2011,"Direct match. CHNS: 0=no 1=yes 9=don't know"
|
|
39
|
+
questionnaire,주관적건강,Self-rated health,D_1_1,주관적 건강상태,2007-2024,HUQ_J,P_HUQ,HUQ010,General health condition,pexam_00,U48A,Current health status (self-report),2004-2011,"All use Likert scale. Cultural response bias — report as supplementary"
|
|
40
|
+
questionnaire,체중조절,Weight control attempt,BO2_1,체중조절여부,2007-2024,WHQ_J,P_WHQ,WHQ150,Tried to lose weight,—,—,Not available,—,"CHNS: not in standard questionnaire"
|
|
41
|
+
questionnaire,수면시간,Sleep duration,Total_slp_wk,주중 수면시간,2007-2024,SLQ_J,P_SLQ,SLD012,Sleep hours weekdays,—,—,Not in standard download,—,"CHNS: sleep data in time-use file but not aligned with biomarker wave"
|
|
42
|
+
survey_design,가중치안내,Weight guidance,—,—,—,—,—,—,—,—,—,—,—,"CRITICAL: Never pool raw data across countries. Analyze each country separately with own survey design then compare estimates."
|
|
43
|
+
survey_design,복합표본(한국),Complex survey (Korea),kstrata+psu+wt_itvex,층+집락+가중치,—,—,—,—,—,—,—,—,—,"svydesign(id=~psu, strata=~kstrata, weights=~wt_pooled, nest=TRUE). wt_pooled=wt_itvex/N_years"
|
|
44
|
+
survey_design,복합표본(미국),Complex survey (US),—,—,—,DEMO_J,P_DEMO,SDMVSTRA+SDMVPSU+WTMEC2YR/WTMECPRP,Strata+PSU+Weight,—,—,—,—,"Single cycle: WTMEC2YR. Pre-pandemic: WTMECPRP. svydesign(id=~SDMVPSU, strata=~SDMVSTRA, weights=~weight, nest=TRUE)"
|
|
45
|
+
survey_design,복합표본(중국),Complex survey (China),—,—,—,—,—,—,—,pexam_00/hlth_12,COMMID,Community cluster,1989-2015,"CHNS: no formal survey weights. Use communityID as cluster. svydesign(id=~COMMID, weights=~1) or glm with cluster-robust SE"
|
|
46
|
+
survey_design,비만기준차이,Obesity cutoffs by country,—,—,—,—,—,—,—,—,—,—,—,"KR: BMI≥25 (KSSO). US: BMI≥30 (CDC/WHO). CN: BMI≥28 (WGOC). Central obesity: KR≥90M/85F. US≥102M/88F. CN≥90M/80F (IDF-Asian)"
|
|
47
|
+
survey_design,우울증도구차이,Depression instrument difference,—,—,—,—,—,—,—,—,—,—,—,"KR/US: PHQ-9 (identical, directly comparable). CN: CES-D (not directly comparable, not in current download). For 3-country comparison: use binary depression (cutoff-based) as sensitivity analysis or omit CN depression"
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
domain,concept,concept_en,knhanes_var,knhanes_label,nhanes_table,nhanes_var,nhanes_label,harmonization_notes
|
|
2
|
+
demographics,ID,ID,ID,개인아이디,DEMO_J,SEQN,Respondent sequence number,"Primary key — not linkable across surveys. CRITICAL: nhanesA R package exports TEXT LABELS not numeric codes. PHQ-9='Not at all'/0, Sex='Male'/'Female', Smoking='Yes'/'No'. WTMEC2YR for single-cycle, WTMECPRP for pre-pandemic pooled. Glucose=LBXSGL (not LBXSGLU)."
|
|
3
|
+
demographics,조사연도,Survey year,year,조사연도,DEMO_J,SDDSRVYR,Data release cycle number,KNHANES=calendar year; NHANES=cycle number
|
|
4
|
+
demographics,성별,Sex,sex,성별 (1=남 2=여),DEMO_J,RIAGENDR,Gender (1=Male 2=Female),Direct match: 1=Male 2=Female
|
|
5
|
+
demographics,나이,Age,age,만나이,DEMO_J,RIDAGEYR,Age in years at screening,Direct match (continuous)
|
|
6
|
+
demographics,인종/민족,Race/ethnicity,—,없음 (단일민족),DEMO_J,RIDRETH3,Race/Hispanic origin w/ NH Asian,KNHANES lacks race; set country indicator instead
|
|
7
|
+
demographics,가구소득,Household income,incm,소득4분위수(개인),DEMO_J,INDFMPIR,Ratio of family income to poverty,Recode: KNHANES quartile vs NHANES PIR ratio — harmonize to quartiles
|
|
8
|
+
demographics,교육수준,Education,edu,교육수준 재분류 코드,DEMO_J,DMDEDUC2,Education level - Adults 20+,Recode: KNHANES 4-level → NHANES 5-level → harmonize to 3-level (≤HS/Some college/≥College)
|
|
9
|
+
demographics,결혼상태,Marital status,marri_2,결혼상태,DEMO_J,DMDMARTZ,Marital status,Recode both to: married-cohabiting / single-divorced-widowed
|
|
10
|
+
demographics,가중치(설문+검진),Sample weight (interview+exam),wt_itvex,설문검진조사 가중치,DEMO_J,WTMECPRP,Full sample MEC exam weight,Use survey-appropriate weight; never pool raw weights
|
|
11
|
+
demographics,층화변수,Stratification,kstrata,분산추정 층,DEMO_J,SDMVSTRA,Masked variance pseudo-stratum,Required for complex survey analysis
|
|
12
|
+
demographics,집락변수,Cluster (PSU),psu,조사구번호,DEMO_J,SDMVPSU,Masked variance pseudo-PSU,Required for complex survey analysis
|
|
13
|
+
exam,신장,Height (cm),HE_ht,신장,BMX_J,BMXHT,Standing height (cm),Direct match
|
|
14
|
+
exam,체중,Weight (kg),HE_wt,체중,BMX_J,BMXWT,Weight (kg),Direct match
|
|
15
|
+
exam,BMI,BMI (kg/m²),HE_BMI,체질량지수,BMX_J,BMXBMI,Body mass index (kg/m²),Direct match
|
|
16
|
+
exam,비만,Obesity status,HE_obe,비만 유병여부,BMX_J,BMXBMI,BMI,KNHANES uses Asian criteria (≥25); NHANES uses WHO (≥30). Report both.
|
|
17
|
+
exam,허리둘레,Waist circumference (cm),HE_wc,허리둘레,BMX_J,BMXWAIST,Waist circumference (cm),Direct match (measurement protocol may differ slightly)
|
|
18
|
+
exam,수축기혈압,Systolic BP (mmHg),HE_sbp,최종 수축기 혈압(2+3차 평균),BPX_J,BPXOSY3,Systolic: Average oscillometric,Both use average of 2nd+3rd readings
|
|
19
|
+
exam,이완기혈압,Diastolic BP (mmHg),HE_dbp,최종 이완기 혈압(2+3차 평균),BPX_J,BPXODI3,Diastolic: Average oscillometric,Both use average of 2nd+3rd readings
|
|
20
|
+
exam,고혈압,Hypertension status,HE_HP,고혈압 유병여부,BPX_J+BPQ_J,BPXOSY3+BPQ020,SBP/DBP + told HBP,Define uniformly: SBP≥140 or DBP≥90 or medication
|
|
21
|
+
exam,맥박,Pulse rate (bpm),HE_mPLS,60초 맥박수,BPX_J,BPXOPULS3,Pulse: Average oscillometric,Direct match
|
|
22
|
+
lab,공복혈당,Fasting glucose (mg/dL),HE_glu,공복혈당,BIOPRO_J,LBXSGL,Glucose: refrigerated serum (mg/dL),"Direct match (both fasting). CRITICAL: variable is LBXSGL not LBXSGLU in BIOPRO_J"
|
|
23
|
+
lab,당화혈색소,HbA1c (%),HE_HbA1c,당화혈색소,GHB_J,LBXGH,Glycohemoglobin (%),Direct match
|
|
24
|
+
lab,당뇨병,Diabetes status,HE_DM,당뇨병 유병여부,GHB_J+BIOPRO_J+DIQ_J,LBXGH+LBXSGL+DIQ010,HbA1c+FPG+told DM,Define uniformly: FPG≥126 or HbA1c≥6.5 or medication or diagnosed
|
|
25
|
+
lab,총콜레스테롤,Total cholesterol (mg/dL),HE_chol,총콜레스테롤,TCHOL_J,LBXTC,Total cholesterol (mg/dL),Direct match
|
|
26
|
+
lab,HDL콜레스테롤,HDL cholesterol (mg/dL),HE_HDL_st2,HDL-콜레스테롤,HDL_J,LBDHDD,Direct HDL-Cholesterol (mg/dL),Direct match
|
|
27
|
+
lab,중성지방,Triglycerides (mg/dL),HE_TG,중성지방,BIOPRO_J,LBXSTR,Triglycerides: refrigerated serum (mg/dL),Direct match (fasting)
|
|
28
|
+
lab,LDL콜레스테롤,LDL cholesterol (mg/dL),HE_LDL_drct,LDL-콜레스테롤(직접검사),BIOPRO_J,LBDLDL,LDL-Cholesterol (mg/dL),KNHANES=direct; NHANES=Friedewald calculation. Note in Methods.
|
|
29
|
+
lab,이상지질혈증,Dyslipidemia,HE_HCHOL,고콜레스테롤혈증 유병여부,TCHOL_J+BPQ_J,LBXTC+BPQ080,TC + told high chol,Define uniformly: TC≥240 or medication
|
|
30
|
+
lab,AST,AST (IU/L),HE_ast,AST(SGOT),BIOPRO_J,LBXSASSI,AST (IU/L),Direct match
|
|
31
|
+
lab,ALT,ALT (IU/L),HE_alt,ALT(SGPT),BIOPRO_J,LBXSATSI,ALT (IU/L),Direct match
|
|
32
|
+
lab,BUN,BUN (mg/dL),HE_BUN,혈중요소질소,BIOPRO_J,LBXSBU,Blood urea nitrogen (mg/dL),Direct match
|
|
33
|
+
lab,크레아티닌,Creatinine (mg/dL),HE_crea,혈중크레아티닌,BIOPRO_J,LBXSCR,Creatinine: refrigerated serum (mg/dL),Direct match; derive eGFR with CKD-EPI
|
|
34
|
+
lab,요산,Uric acid (mg/dL),HE_Uacid,요산,BIOPRO_J,LBXSUA,Uric acid (mg/dL),Direct match
|
|
35
|
+
lab,hsCRP,hsCRP (mg/L),HE_hsCRP,고감도 C반응단백검사,HSCRP_J,LBXHSCRP,HS C-Reactive Protein (mg/L),Direct match
|
|
36
|
+
lab,헤모글로빈,Hemoglobin (g/dL),HE_HB,헤모글로빈,CBC_J,LBXHGB,Hemoglobin (g/dL),Direct match
|
|
37
|
+
lab,헤마토크리트,Hematocrit (%),HE_HCT,헤마토크리트,CBC_J,LBXHCT,Hematocrit (%),Direct match
|
|
38
|
+
lab,백혈구,WBC (10³/µL),HE_WBC,백혈구,CBC_J,LBXWBCSI,White blood cell count (1000 cells/µL),Direct match
|
|
39
|
+
lab,적혈구,RBC (10⁶/µL),HE_RBC,적혈구,CBC_J,LBXRBCSI,Red blood cell count (million cells/µL),Direct match
|
|
40
|
+
lab,혈소판,Platelet (10³/µL),HE_Bplt,혈소판,CBC_J,LBXPLTSI,Platelet count (1000 cells/µL),Direct match
|
|
41
|
+
lab,빈혈,Anemia status,HE_anem,빈혈 유병여부,CBC_J,LBXHGB,Hemoglobin,Define uniformly: male Hb<13 / female Hb<12 (WHO criteria)
|
|
42
|
+
lab,요단백,Urine protein,HE_Upro,요단백,ALB_CR_J,URXUMA,Albumin urine (µg/mL),KNHANES=dipstick qualitative; NHANES=quantitative albumin. Use ACR for both.
|
|
43
|
+
lab,요크레아티닌,Urine creatinine,HE_UCREA,요크레아티닌,ALB_CR_J,URXUCR,Creatinine urine (mg/dL),Direct match; use for ACR calculation
|
|
44
|
+
lab,B형간염표면항원,HBsAg,HE_HBsAg,B형간염표면항원(수치),—,—,Not in 2017-2018 NHANES,NHANES Hepatitis B (HEPB_S_J) tests surface antibody not antigen
|
|
45
|
+
lab,C형간염항체,Anti-HCV,HE_hcv,C형간염항체(수치),HEPC_J,LBXHCR,Hepatitis C antibody,Qualitative match (positive/negative)
|
|
46
|
+
questionnaire,우울증(PHQ-9),Depression (PHQ-9),BP_PHQ_1~9 / mh_PHQ_S,PHQ-9 문항1-9 / PHQ-9점수,DPQ_J,DPQ010~DPQ090,PHQ-9 items,Identical instrument (PHQ-9). Sum scores directly comparable.
|
|
47
|
+
questionnaire,자살생각,Suicidal ideation,BP6_10,1년간 자살 생각 여부,DPQ_J,DPQ090,PHQ-9 Q9 (thoughts of death),KNHANES=dedicated question; NHANES=PHQ-9 Q9 only. Not perfectly matched.
|
|
48
|
+
questionnaire,스트레스,Perceived stress,BP1,평소 스트레스 인지 정도,—,—,—,No direct NHANES equivalent. Consider excluding or using PHQ-4.
|
|
49
|
+
questionnaire,흡연상태,Smoking status,BS3_1(현재흡연상태),현재흡연상태(1=매일/2=가끔/3=과거/8=비해당),SMQ_J,SMQ020+SMQ040,Smoked 100 cigs + now smoke,"Derive: BS3_1 in (1,2)=current, 3=former, 8=never. NOT BS1_1."
|
|
50
|
+
questionnaire,음주빈도,Alcohol frequency,BD1_11,1년간 음주빈도(1=전혀/2=월1미만/3=월1/4=월2-4/5=주2-3/6=주4+/8=비해당),ALQ_J,ALQ121,Past 12 mo how often drink,"Joo2026 coding: 2-6=Frequent(current drinker), 1=Occasional(past-year abstainer), 8=Never(lifetime non-drinker)"
|
|
51
|
+
questionnaire,음주량,Alcohol amount per occasion,BD2_1,한번에 마시는 음주량,ALQ_J,ALQ130,Avg # drinks/day past 12 mo,KNHANES=drinks/occasion; NHANES=drinks/day. Harmonize to standard drinks.
|
|
52
|
+
questionnaire,신체활동(유산소),Aerobic physical activity,BE3_71~BE3_91 / pa_aerobic,유산소신체활동실천율,PAQ_J,PAQ605+PAQ620+PAD645+PAD660,Vigorous/moderate work/recreation min,Both use GPAQ/IPAQ framework. Derive WHO ≥150 min moderate criterion.
|
|
53
|
+
questionnaire,수면시간(주중),Sleep duration (weekday),Total_slp_wk,주중 하루 평균 수면시간,SLQ_J,SLD012,Sleep hours - weekdays,Direct match (hours)
|
|
54
|
+
questionnaire,수면시간(주말),Sleep duration (weekend),Total_slp_wd,주말 하루 평균 수면시간,SLQ_J,SLD013,Sleep hours - weekends,Direct match (hours)
|
|
55
|
+
questionnaire,당뇨진단,Diabetes diagnosis,DE1_dg,당뇨병 의사진단여부,DIQ_J,DIQ010,Doctor told you have diabetes,Direct match (yes/no)
|
|
56
|
+
questionnaire,고혈압진단,Hypertension diagnosis,DI1_dg,고혈압 의사진단여부,BPQ_J,BPQ020,Ever told you had high blood pressure,Direct match (yes/no)
|
|
57
|
+
questionnaire,이상지질혈증진단,Dyslipidemia diagnosis,DI2_dg,이상지질혈증 의사진단여부,BPQ_J,BPQ080,Doctor told you have high cholesterol,Direct match (yes/no)
|
|
58
|
+
questionnaire,천식진단,Asthma diagnosis,DJ4_dg,천식 의사진단여부,MCQ_J,MCQ010,Ever been told you have asthma,Direct match (yes/no)
|
|
59
|
+
questionnaire,뇌졸중진단,Stroke diagnosis,DI3_dg,뇌졸중 의사진단여부,MCQ_J,MCQ160F,Ever told you had a stroke,Direct match (yes/no)
|
|
60
|
+
questionnaire,심근경색진단,MI diagnosis,DI5_dg,심근경색증 의사진단여부,MCQ_J,MCQ160E,Ever told you had heart attack,Direct match (yes/no)
|
|
61
|
+
questionnaire,암진단,Cancer diagnosis,DC1_dg~DC7_dg,위암~갑상선암 의사진단,MCQ_J,MCQ220,Ever told you had cancer/malignancy,KNHANES=site-specific; NHANES=any cancer. Recode to ever-cancer for comparison.
|
|
62
|
+
questionnaire,체중조절,Weight control attempt,BO2_1,1년간 체중 조절 여부,WHQ_J,WHQ150,Tried to lose weight past 12 mo,Direct match (yes/no)
|
|
63
|
+
questionnaire,주관적건강,Self-rated health,D_1_1,주관적 건강상태,HUQ_J,HUQ010,General health condition,Both use 5-level Likert. Direct match.
|
|
64
|
+
questionnaire,건강보험,Health insurance,tins,건강보험종류,HIQ_J,HIQ011,Covered by health insurance,KNHANES: NHI universal; NHANES: varies. Set as country-level variable.
|
|
65
|
+
questionnaire,EQ-5D,Quality of life (EQ-5D),EQ5D,EQ-5D index,—,—,—,NHANES does not include EQ-5D. KNHANES-only variable.
|
|
66
|
+
survey_design,가중치안내,Weight guidance,—,—,—,—,—,"CRITICAL: Never pool raw data. Analyze each country separately with its own survey design, then compare estimates."
|
|
67
|
+
survey_design,복합표본설계(한국),Complex survey (Korea),kstrata + psu + wt_itvex,층 + 집락 + 가중치,—,—,—,"svydesign(id=~psu, strata=~kstrata, weights=~wt_itvex, nest=TRUE)"
|
|
68
|
+
survey_design,복합표본설계(미국),Complex survey (US),—,—,DEMO_J,SDMVSTRA + SDMVPSU + WTMECPRP,Strata + PSU + Weight,"svydesign(id=~SDMVPSU, strata=~SDMVSTRA, weights=~WTMECPRP, nest=TRUE)"
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Methodology Extraction Template
|
|
2
|
+
|
|
3
|
+
Use this checklist to systematically extract a source paper's methodology for replication.
|
|
4
|
+
|
|
5
|
+
## 1. Study Overview
|
|
6
|
+
|
|
7
|
+
| Field | Value |
|
|
8
|
+
|-------|-------|
|
|
9
|
+
| Title | |
|
|
10
|
+
| Authors | |
|
|
11
|
+
| Journal / Year | |
|
|
12
|
+
| DOI | |
|
|
13
|
+
| Study type | cohort / cross-sectional / case-control / other |
|
|
14
|
+
| Design variant | emulated target trial / standard / trend / composite |
|
|
15
|
+
|
|
16
|
+
## 2. Database
|
|
17
|
+
|
|
18
|
+
| Field | Value |
|
|
19
|
+
|-------|-------|
|
|
20
|
+
| Database name | |
|
|
21
|
+
| Country | |
|
|
22
|
+
| Data years | |
|
|
23
|
+
| Total N (before exclusions) | |
|
|
24
|
+
| Final analytic N | |
|
|
25
|
+
| Population-based? | yes / no |
|
|
26
|
+
| Survey design? | yes (complex) / no |
|
|
27
|
+
| Weights variable | |
|
|
28
|
+
| Strata variable | |
|
|
29
|
+
| PSU/cluster variable | |
|
|
30
|
+
|
|
31
|
+
## 3. Study Population
|
|
32
|
+
|
|
33
|
+
### Inclusion Criteria
|
|
34
|
+
- [ ] Age range:
|
|
35
|
+
- [ ] Sex: both / male / female
|
|
36
|
+
- [ ] Fasting: required (≥N hours) / not required
|
|
37
|
+
- [ ] Exam participation: required / not required
|
|
38
|
+
- [ ] Other:
|
|
39
|
+
|
|
40
|
+
### Exclusion Criteria
|
|
41
|
+
- [ ] Missing key variables:
|
|
42
|
+
- [ ] Pregnant women: excluded / included
|
|
43
|
+
- [ ] Prior disease:
|
|
44
|
+
- [ ] Age outliers:
|
|
45
|
+
- [ ] Other:
|
|
46
|
+
|
|
47
|
+
## 4. Exposure Variable
|
|
48
|
+
|
|
49
|
+
| Field | Value |
|
|
50
|
+
|-------|-------|
|
|
51
|
+
| Concept | |
|
|
52
|
+
| Variable name(s) | |
|
|
53
|
+
| Definition | |
|
|
54
|
+
| Coding | binary / categorical / continuous |
|
|
55
|
+
| Categories | |
|
|
56
|
+
| Source (questionnaire/lab/exam) | |
|
|
57
|
+
|
|
58
|
+
## 5. Outcome Variable
|
|
59
|
+
|
|
60
|
+
| Field | Value |
|
|
61
|
+
|-------|-------|
|
|
62
|
+
| Concept | |
|
|
63
|
+
| Variable name(s) | |
|
|
64
|
+
| Definition | |
|
|
65
|
+
| Coding | binary / categorical / continuous |
|
|
66
|
+
| Source (questionnaire/lab/exam) | |
|
|
67
|
+
| For composite outcomes, list components: | |
|
|
68
|
+
|
|
69
|
+
## 6. Covariates
|
|
70
|
+
|
|
71
|
+
List ALL covariates used in any model:
|
|
72
|
+
|
|
73
|
+
| # | Covariate | Definition | Variable(s) | Coding | Model(s) |
|
|
74
|
+
|---|-----------|------------|-------------|--------|----------|
|
|
75
|
+
| 1 | Age | | | continuous / categorical | all |
|
|
76
|
+
| 2 | Sex | | | binary | all |
|
|
77
|
+
| 3 | | | | | |
|
|
78
|
+
|
|
79
|
+
## 7. Statistical Methods
|
|
80
|
+
|
|
81
|
+
### Primary Analysis
|
|
82
|
+
| Field | Value |
|
|
83
|
+
|-------|-------|
|
|
84
|
+
| Model type | logistic / Cox / linear / Poisson / other |
|
|
85
|
+
| Dependent variable | |
|
|
86
|
+
| Key independent variable | |
|
|
87
|
+
| Adjustment strategy | sequential (Model 1/2/3) / full / stepwise |
|
|
88
|
+
|
|
89
|
+
### Model Building (if sequential)
|
|
90
|
+
| Model | Covariates |
|
|
91
|
+
|-------|-----------|
|
|
92
|
+
| Model 1 (unadjusted or age/sex) | |
|
|
93
|
+
| Model 2 (+ sociodemographic) | |
|
|
94
|
+
| Model 3 (+ clinical/behavioral) | |
|
|
95
|
+
|
|
96
|
+
### Effect Measure
|
|
97
|
+
- OR / aOR / HR / aHR / PR / β / wOR
|
|
98
|
+
- 95% CI reported: yes / no
|
|
99
|
+
- P-value threshold:
|
|
100
|
+
|
|
101
|
+
### Subgroup Analyses
|
|
102
|
+
| Subgroup variable | Categories |
|
|
103
|
+
|-------------------|-----------|
|
|
104
|
+
| | |
|
|
105
|
+
|
|
106
|
+
### Sensitivity Analyses
|
|
107
|
+
| # | Description |
|
|
108
|
+
|---|-------------|
|
|
109
|
+
| 1 | |
|
|
110
|
+
| 2 | |
|
|
111
|
+
|
|
112
|
+
## 8. Key Results to Replicate
|
|
113
|
+
|
|
114
|
+
| Analysis | Effect (95% CI) | P-value | Note |
|
|
115
|
+
|----------|----------------|---------|------|
|
|
116
|
+
| Primary | | | |
|
|
117
|
+
| Subgroup 1 | | | |
|
|
118
|
+
| Sensitivity 1 | | | |
|
|
119
|
+
|
|
120
|
+
## 9. Tables/Figures to Replicate
|
|
121
|
+
|
|
122
|
+
| # | Type | Description |
|
|
123
|
+
|---|------|-------------|
|
|
124
|
+
| Table 1 | Demographics | Baseline characteristics by exposure |
|
|
125
|
+
| Table 2 | Main results | OR/HR with sequential models |
|
|
126
|
+
| | | |
|
|
127
|
+
|
|
128
|
+
## 10. IRB / Ethics
|
|
129
|
+
|
|
130
|
+
| Field | Value |
|
|
131
|
+
|-------|-------|
|
|
132
|
+
| Original IRB | |
|
|
133
|
+
| Target DB IRB status | exempt (de-identified public data) / needs new IRB |
|
|
134
|
+
| Informed consent | waived (secondary data) |
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
schema_version: 2
|
|
2
|
+
name: replicate-study
|
|
3
|
+
layer: B
|
|
4
|
+
owner_domain: study_replication
|
|
5
|
+
|
|
6
|
+
when_to_use: "Replicate an existing cohort study's methodology on a different database via a variable harmonization table and a replication difference report."
|
|
7
|
+
when_NOT_to_use: "Comparing countries in parallel (use cross-national); a fresh single analysis (use analyze-stats)."
|
|
8
|
+
|
|
9
|
+
inputs:
|
|
10
|
+
- "source study paper"
|
|
11
|
+
- "target database"
|
|
12
|
+
- "variable mapping"
|
|
13
|
+
outputs:
|
|
14
|
+
- "replication analysis code"
|
|
15
|
+
- "replication difference report"
|
|
16
|
+
side_effects:
|
|
17
|
+
- writes_project_artifacts
|
|
18
|
+
- executes_analysis_code
|
|
19
|
+
downstream_consumers:
|
|
20
|
+
- analyze-stats
|
|
21
|
+
- self-review
|
|
22
|
+
forbidden_actions:
|
|
23
|
+
- misrepresent_method_deviations_as_identical
|
|
24
|
+
- fabricate_replication_results
|
|
25
|
+
|
|
26
|
+
# v2.1 quality card
|
|
27
|
+
purpose: "Re-run a published study's method on a new DB and report exactly where target-DB constraints forced deviations."
|
|
28
|
+
safety_boundaries:
|
|
29
|
+
- "Method deviations forced by the target DB are documented in a difference report, not hidden."
|
|
30
|
+
- "Results come from executed code on the target data."
|
|
31
|
+
known_limitations:
|
|
32
|
+
- "Perfect replication is rarely possible; residual method differences remain and are disclosed."
|
|
33
|
+
- "No standalone demo; depends on a faithful variable mapping."
|
|
34
|
+
validation_commands:
|
|
35
|
+
- "execute the replication code and review the difference report"
|
|
36
|
+
- "/self-review"
|
|
37
|
+
evidence_surface: manual_workflow
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-paper
|
|
3
|
+
description: >
|
|
4
|
+
Scaffold and draft medical/AI literature reviews (narrative, scoping PRISMA-ScR, or systematic). Asks for
|
|
5
|
+
the spine axis, builds a 7-part skeleton with a required Intro scope/non-overlap block, a summary-table stub,
|
|
6
|
+
an evaluation-metrics critique subsection, and reporting-guideline wiring. Reuses the self-review RV1-RV8
|
|
7
|
+
narrative-review probes for QC. Does not invent citations.
|
|
8
|
+
triggers: review article, scoping review, narrative review, literature review, PRISMA-ScR, write a review
|
|
9
|
+
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
10
|
+
model: inherit
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Review-Paper Skill
|
|
14
|
+
|
|
15
|
+
Scaffold and draft a **literature review** — narrative, scoping (PRISMA-ScR), or systematic
|
|
16
|
+
(PRISMA 2020) — for medical / medical-AI research. This skill builds the structure, the
|
|
17
|
+
required scope/non-overlap framing, the summary-table stubs, and the reporting-guideline
|
|
18
|
+
wiring, then hands off to the existing QC skills. It is the review-article counterpart to
|
|
19
|
+
`write-paper` (which targets original research); for *reviewing* someone else's review
|
|
20
|
+
article, use `/peer-review` or `/self-review` (the RV1-RV8 probes). The structure follows
|
|
21
|
+
established review-writing conventions; it is not derived from, and does not reproduce, any
|
|
22
|
+
specific published review.
|
|
23
|
+
|
|
24
|
+
## Anti-Hallucination
|
|
25
|
+
|
|
26
|
+
- **Never invent citations.** Every citekey must resolve to the project's verified
|
|
27
|
+
`_src/refs.bib` (produced by `/search-lit` → `/lit-sync` → `/verify-refs`). If a claim
|
|
28
|
+
needs a reference that is not yet in the library, leave a `[NEEDS-REF: claim]` marker and
|
|
29
|
+
route it to `/search-lit`; do not fabricate a DOI, author, year, or citekey.
|
|
30
|
+
- **Never invent data.** Summary-table cells (study, year, metric, finding) are filled only
|
|
31
|
+
from sources the user supplies or that are verified; an unknown cell stays a placeholder.
|
|
32
|
+
- **No recommendation-grade language without standing.** For a scoping review especially,
|
|
33
|
+
the output maps the evidence — it does not issue clinical recommendations.
|
|
34
|
+
- **Quality gate before hand-off:** the draft is not "done" until `/self-review` reports 0
|
|
35
|
+
fatal findings and `/verify-refs` reports 0 FABRICATED / MISMATCH and no placeholder
|
|
36
|
+
citations remain.
|
|
37
|
+
|
|
38
|
+
## Step 0 — Format + spine axis (the structure-determining choice)
|
|
39
|
+
|
|
40
|
+
1. Confirm **format** with the user: narrative (SANRA) | scoping (PRISMA-ScR + JBI) |
|
|
41
|
+
systematic (PRISMA 2020). This decides the reporting guideline and the registration path.
|
|
42
|
+
2. Choose the **spine axis** — the single most consequential decision: organize the body by
|
|
43
|
+
**modality** (e.g. 2D → 3D), by **task** (generation / QA / deployment), or by
|
|
44
|
+
**lifecycle stage**. Every body section then follows this one axis; mixing axes is the
|
|
45
|
+
most common structural failure.
|
|
46
|
+
3. Require a **scope statement + non-overlap boundary** against prior/adjacent reviews — this
|
|
47
|
+
pre-empts the reviewer's first question, "why another review on this?" (user-approval
|
|
48
|
+
checkpoint: confirm the boundary with the user before scaffolding).
|
|
49
|
+
|
|
50
|
+
## Step 1 — Scaffold the 7-part macro skeleton
|
|
51
|
+
|
|
52
|
+
Load `${CLAUDE_SKILL_DIR}/references/macro_skeleton.md` and instantiate:
|
|
53
|
+
|
|
54
|
+
1. **Abstract** — structured for scoping/systematic; a 4-5 move version for narrative.
|
|
55
|
+
2. **Introduction** — clinical motivation → technology → **scope + non-overlap block
|
|
56
|
+
(required field)** → "this review…".
|
|
57
|
+
3. **Background / technical principles** — tight; cite once, do not re-survey the field.
|
|
58
|
+
4. **Thematic body by spine axis** — each section ends with a **summary table** (stub
|
|
59
|
+
generated to match the type, Step 2).
|
|
60
|
+
5. **Frontiers / what is advancing.**
|
|
61
|
+
6. **Challenges / discussion** — include an **evaluation-metrics critique subsection** (a
|
|
62
|
+
required quality signal: how the field measures itself, and where those metrics mislead).
|
|
63
|
+
7. **Conclusion** — measured; no recommendation-grade language for a scoping review.
|
|
64
|
+
|
|
65
|
+
## Step 2 — Summary-table stub (matched to type)
|
|
66
|
+
|
|
67
|
+
- Narrative / scoping: `study | year | [spine-axis value] | method | key finding`.
|
|
68
|
+
- Systematic: PRISMA flow + a study-characteristics table + an extraction table.
|
|
69
|
+
|
|
70
|
+
The stub ships with column headers and one placeholder row; rows are filled only from
|
|
71
|
+
verified sources (see Anti-Hallucination).
|
|
72
|
+
|
|
73
|
+
## Step 3 — Reporting + registration wiring
|
|
74
|
+
|
|
75
|
+
- **Scoping** → PRISMA-ScR (+ JBI charting) + OSF registration.
|
|
76
|
+
- **Narrative** → SANRA (a 6-item appraisal aid, not a reporting checklist — do not
|
|
77
|
+
over-enforce it).
|
|
78
|
+
- **Systematic** → PRISMA 2020 (+ PROSPERO registration).
|
|
79
|
+
- If `/check-reporting` does not yet carry the chosen checklist (e.g. PRISMA-ScR), track a
|
|
80
|
+
manual gap table and flag it for the user rather than silently skipping the item.
|
|
81
|
+
|
|
82
|
+
## Step 4 — QC hand-off
|
|
83
|
+
|
|
84
|
+
Run the standard manuscript QC chain, which this skill is designed to feed:
|
|
85
|
+
|
|
86
|
+
1. `/self-review` — the RV1-RV8 narrative-review probes auto-activate for a review article.
|
|
87
|
+
2. `/check-reporting` — the chosen guideline (SANRA / PRISMA-ScR / PRISMA 2020).
|
|
88
|
+
3. `/verify-refs` — every citation resolves; 0 FABRICATED / MISMATCH.
|
|
89
|
+
4. `/humanize` — AI-pattern density below threshold.
|
|
90
|
+
5. `/academic-aio` — discoverability pass (optional).
|
|
91
|
+
|
|
92
|
+
**Convergence gate:** self-review fatal = 0; verify-refs FABRICATED/MISMATCH = 0; no
|
|
93
|
+
`[NEEDS-REF]` / `[@NEW:]`-style placeholder citations remain; humanize density < 2.0.
|
|
94
|
+
|
|
95
|
+
## Guards
|
|
96
|
+
|
|
97
|
+
- Citations resolve to `_src/refs.bib` only; never invent citekeys (see Anti-Hallucination).
|
|
98
|
+
- Proportionate self-citation; declare an intellectual conflict of interest when an author
|
|
99
|
+
has contributed to the area being reviewed (per `intellectual-coi`).
|
|
100
|
+
- Write only inside the manuscript directory.
|
|
101
|
+
|
|
102
|
+
## references/
|
|
103
|
+
|
|
104
|
+
- `macro_skeleton.md` — the 7-part template and the table/figure plan per review type.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Review macro skeleton (7-part) — reference template
|
|
2
|
+
1. Abstract 2. Introduction (scope + non-overlap) 3. Background
|
|
3
|
+
4. Thematic body by spine axis (+ summary table per section)
|
|
4
|
+
5. Frontiers 6. Challenges/Discussion (+ evaluation-metrics critique) 7. Conclusion
|
|
5
|
+
Tables: model-comparison (narrative/scoping) or PRISMA flow + extraction (systematic).
|
|
6
|
+
Figures: conceptual schematic; landscape/timeline; PRISMA(-ScR) flow.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
schema_version: 2
|
|
2
|
+
name: review-paper
|
|
3
|
+
layer: C
|
|
4
|
+
owner_domain: manuscript_authoring
|
|
5
|
+
|
|
6
|
+
when_to_use: "Scaffold and draft a literature review (narrative / scoping / systematic) for medical/AI research, organized around an explicit spine axis with a non-overlap boundary and reporting-guideline wiring."
|
|
7
|
+
when_NOT_to_use: "Original research articles, case reports, meta-analyses with pooled synthesis (use write-paper / meta-analysis). Pre-protocol topic discovery (use ma-scout)."
|
|
8
|
+
|
|
9
|
+
inputs:
|
|
10
|
+
- "topic + chosen format (narrative/scoping/systematic)"
|
|
11
|
+
- "verified refs (_src/refs.bib) from search-lit/lit-sync"
|
|
12
|
+
- "optional: prior/adjacent reviews to differentiate against"
|
|
13
|
+
outputs:
|
|
14
|
+
- "manuscript.md scaffold (7-part) + summary-table stub + figure/table legend plan"
|
|
15
|
+
side_effects:
|
|
16
|
+
- writes_manuscript_scaffold
|
|
17
|
+
downstream_consumers:
|
|
18
|
+
- self-review
|
|
19
|
+
- check-reporting
|
|
20
|
+
- humanize
|
|
21
|
+
- academic-aio
|
|
22
|
+
- manage-refs
|
|
23
|
+
forbidden_actions:
|
|
24
|
+
- invent_citations
|
|
25
|
+
- write_outside_manuscript_dir
|