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,358 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: manage-project
|
|
3
|
+
description: Research project management for medical manuscripts. Scaffold project structure, track writing progress across phases, maintain project memory files, generate submission checklists and backwards timelines. Commands: init, status, sync-memory, checklist, timeline.
|
|
4
|
+
triggers: manage project, project init, project status, submission checklist, project scaffold, create project, new paper project
|
|
5
|
+
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
model: inherit
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Manage-Project Skill -- Research Project Management
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Scaffold new research projects, track manuscript writing progress, maintain lightweight project memory, generate pre-submission checklists, and create backwards submission timelines. Integrates with all other writing skills and the project-manager agent.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Commands
|
|
18
|
+
|
|
19
|
+
### `/manage-project init {name} --type {type} --journal {journal} [--ssot] [--zotero-collection NAME]`
|
|
20
|
+
|
|
21
|
+
Create a complete project scaffold for a new research paper.
|
|
22
|
+
|
|
23
|
+
**Parameters:**
|
|
24
|
+
- `{name}` -- Project identifier (e.g., `nnunet-skull-fracture`, `rfa-meta-analysis`)
|
|
25
|
+
- `--type` -- Paper type: `original | meta | case | animal | technical | ai_validation | letter`
|
|
26
|
+
- `--journal` -- Target journal: `RYAI | AJR | Radiology | European_Radiology | KJR | INSI | AJNR | generic`
|
|
27
|
+
- `--ssot` -- Emit `SSOT.yaml` (schema v1) from `templates/SSOT.yaml.template` instead of legacy `project.yaml`. Required for Phase 1C auto-enforce (PostToolUse verify-refs hook blocks instead of warns). New projects on or after 2026-04-24 should pass `--ssot`. Legacy in-flight projects stay on `project.yaml` until `/manage-project migrate-ssot` is run.
|
|
28
|
+
- `--zotero-collection NAME` -- Optional. Create a new Zotero collection with `NAME` via pyzotero and populate `library_id` + `collection_key` in the contract. Requires env vars `ZOTERO_API_KEY` + `ZOTERO_LIBRARY_ID` (and optionally `ZOTERO_LIBRARY_TYPE`, default `user`). Graceful degrade: if pyzotero is not installed or credentials are missing, the contract is scaffolded with `library_id: null` / `collection_key: null` and a WARN is printed.
|
|
29
|
+
|
|
30
|
+
**SSOT template substitutions:** `{{PROJECT_ID}}` → `{name}`, `{{PROJECT_TYPE}}` → SSOT `project_type` enum mapped from `--type` (`original → original_research`, `meta → meta_analysis`, `case → case_report`, `ai_validation → ai_validation`, else `other`). Without `--zotero-collection`, `library_id` / `collection_key` stay `null` — populated manually when the owner links an existing Zotero collection.
|
|
31
|
+
|
|
32
|
+
**Implementation:** `/manage-project init` is backed by `scripts/init_project.py`. Invoke directly when running outside the skill harness:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
python3 scripts/init_project.py \
|
|
36
|
+
--name {name} --type {type} --journal {journal} [--ssot] \
|
|
37
|
+
--project-root {target_dir}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
(Run from the `medsci-skills` repo root.)
|
|
41
|
+
|
|
42
|
+
The helper writes the contract file (`SSOT.yaml` with `--ssot`, otherwise legacy `project.yaml`), the directory scaffold, minimal stubs required by `scripts/validate_project_contract.py` (`manuscript/index.qmd`, `artifact_manifest.json`, `qc/status.json`), the memory-file templates, and `project_state.json`. `qc/migration_complete` is **not** written by init — the migrate pipeline is responsible for that marker.
|
|
43
|
+
|
|
44
|
+
**What it creates:**
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
{name}/
|
|
48
|
+
├── paper/
|
|
49
|
+
│ ├── main.qmd <- Main manuscript (Quarto)
|
|
50
|
+
│ ├── sections/
|
|
51
|
+
│ │ ├── abstract.qmd
|
|
52
|
+
│ │ ├── introduction.qmd
|
|
53
|
+
│ │ ├── methods.qmd
|
|
54
|
+
│ │ ├── results.qmd
|
|
55
|
+
│ │ ├── discussion.qmd
|
|
56
|
+
│ │ └── conclusion.qmd
|
|
57
|
+
│ ├── figures/
|
|
58
|
+
│ │ └── .gitkeep
|
|
59
|
+
│ ├── tables/
|
|
60
|
+
│ │ └── table_shells.md <- Table structure designed before prose
|
|
61
|
+
│ └── supplementary/
|
|
62
|
+
│ └── .gitkeep
|
|
63
|
+
├── analysis/
|
|
64
|
+
│ ├── scripts/
|
|
65
|
+
│ │ └── .gitkeep
|
|
66
|
+
│ └── outputs/
|
|
67
|
+
│ └── .gitkeep
|
|
68
|
+
├── references/
|
|
69
|
+
│ ├── library.bib
|
|
70
|
+
│ └── checklist_{GUIDELINE}.md <- Loaded from /check-reporting
|
|
71
|
+
├── revision/
|
|
72
|
+
│ └── .gitkeep
|
|
73
|
+
├── submission/
|
|
74
|
+
│ └── .gitkeep
|
|
75
|
+
├── PROJECT.md <- Project identity and scope
|
|
76
|
+
├── STATUS.md <- Current phase, blockers, next actions
|
|
77
|
+
├── CLAIMS.md <- Claim-to-result map
|
|
78
|
+
├── DATA_DICTIONARY.md <- Variable and outcome definitions
|
|
79
|
+
├── ANALYSIS_PLAN.md <- Primary/secondary analyses
|
|
80
|
+
├── REVIEW_LOG.md <- Reviewer comments and responses
|
|
81
|
+
├── project_state.json <- Progress tracking
|
|
82
|
+
└── README.md <- Project overview
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Also creates** `project_state.json`:
|
|
86
|
+
|
|
87
|
+
```json
|
|
88
|
+
{
|
|
89
|
+
"name": "{name}",
|
|
90
|
+
"type": "{type}",
|
|
91
|
+
"journal": "{journal}",
|
|
92
|
+
"created": "YYYY-MM-DD",
|
|
93
|
+
"target_submission": null,
|
|
94
|
+
"current_phase": 0,
|
|
95
|
+
"phases": {
|
|
96
|
+
"0_init": "complete",
|
|
97
|
+
"1_outline": "pending",
|
|
98
|
+
"2_tables_figures": "pending",
|
|
99
|
+
"3_methods": "pending",
|
|
100
|
+
"4_results": "pending",
|
|
101
|
+
"5_discussion": "pending",
|
|
102
|
+
"6_intro_abstract": "pending",
|
|
103
|
+
"7_polish": "pending"
|
|
104
|
+
},
|
|
105
|
+
"word_counts": {
|
|
106
|
+
"abstract": 0,
|
|
107
|
+
"introduction": 0,
|
|
108
|
+
"methods": 0,
|
|
109
|
+
"results": 0,
|
|
110
|
+
"discussion": 0,
|
|
111
|
+
"total": 0
|
|
112
|
+
},
|
|
113
|
+
"checklist_status": "pending",
|
|
114
|
+
"citation_status": "unverified",
|
|
115
|
+
"revision_round": null,
|
|
116
|
+
"memory_files": {
|
|
117
|
+
"PROJECT.md": true,
|
|
118
|
+
"STATUS.md": true,
|
|
119
|
+
"CLAIMS.md": true,
|
|
120
|
+
"DATA_DICTIONARY.md": true,
|
|
121
|
+
"ANALYSIS_PLAN.md": true,
|
|
122
|
+
"REVIEW_LOG.md": true
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### `/manage-project migrate-ssot [--no-mark-complete]`
|
|
130
|
+
|
|
131
|
+
Thin wrapper over `scripts/migrate_project_to_ssot.py` that converts a legacy `project.yaml` project into SSOT.yaml form and, by default, touches `qc/migration_complete` so Phase 1C `auto` mode switches from `warn` to `enforce`.
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
python3 scripts/migrate_project_to_ssot.py \
|
|
135
|
+
--project-root . --write --mark-complete
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
- Default: `--write --mark-complete` (enforce-ready).
|
|
139
|
+
- `--no-mark-complete` flag form: run with `--write` only. Use when the project still has open QC failures — enforcement is deferred until the migration is validated.
|
|
140
|
+
- The migrate script refuses to touch `qc/migration_complete` unless the generated SSOT.yaml passes `validate_project_contract.py` AND `contract_mode=ssot`. Do not `touch qc/migration_complete` manually.
|
|
141
|
+
|
|
142
|
+
Re-run after resolving failures; the script is idempotent.
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### `/manage-project status`
|
|
147
|
+
|
|
148
|
+
Report current progress. Reads `project_state.json`, scans existing files, and checks whether key project memory files are present and aligned.
|
|
149
|
+
|
|
150
|
+
**Output format:**
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
## Project Status: {name}
|
|
154
|
+
Journal: {journal} | Type: {type} | Created: {date}
|
|
155
|
+
Target submission: {date or "not set"}
|
|
156
|
+
|
|
157
|
+
### Phase Progress
|
|
158
|
+
[check] Phase 0: Project Init (complete)
|
|
159
|
+
[check] Phase 1: Outline (complete)
|
|
160
|
+
[check] Phase 2: Tables & Figures (complete)
|
|
161
|
+
[work] Phase 3: Methods (IN PROGRESS)
|
|
162
|
+
[wait] Phase 4: Results (pending)
|
|
163
|
+
[wait] Phase 5: Discussion (pending)
|
|
164
|
+
[wait] Phase 6: Introduction & Abstract (pending)
|
|
165
|
+
[wait] Phase 7: Polish (pending)
|
|
166
|
+
|
|
167
|
+
### Word Counts
|
|
168
|
+
Abstract: 0 / 250 words
|
|
169
|
+
Introduction: 0 / 600 words
|
|
170
|
+
Methods: 847 / 1000 words 85%
|
|
171
|
+
Results: 0 / 900 words
|
|
172
|
+
Discussion: 0 / 800 words
|
|
173
|
+
Total: 847 / 3500 words (journal limit)
|
|
174
|
+
|
|
175
|
+
### Quality Gates
|
|
176
|
+
Critic score (Methods): 87/100 PASS
|
|
177
|
+
Citations verified: 12/12
|
|
178
|
+
Reporting guideline: pending
|
|
179
|
+
|
|
180
|
+
### Project Memory
|
|
181
|
+
PROJECT.md: present
|
|
182
|
+
STATUS.md: stale (last updated 12 days ago)
|
|
183
|
+
CLAIMS.md: missing
|
|
184
|
+
DATA_DICTIONARY.md: present
|
|
185
|
+
ANALYSIS_PLAN.md: missing
|
|
186
|
+
REVIEW_LOG.md: n/a (not in revision)
|
|
187
|
+
|
|
188
|
+
### Next Steps
|
|
189
|
+
1. Complete Methods draft (150 words remaining)
|
|
190
|
+
2. Run /analyze-stats for Table 1 and diagnostic accuracy
|
|
191
|
+
3. Begin Results (Phase 4)
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### `/manage-project sync-memory`
|
|
195
|
+
|
|
196
|
+
Audit and refresh project memory files so other agents can work with less ambiguity.
|
|
197
|
+
|
|
198
|
+
**What it does:**
|
|
199
|
+
- checks for presence of `PROJECT.md`, `STATUS.md`, `CLAIMS.md`, `DATA_DICTIONARY.md`, `ANALYSIS_PLAN.md`, `REVIEW_LOG.md`
|
|
200
|
+
- identifies stale or contradictory project metadata
|
|
201
|
+
- proposes the minimum files to create or update
|
|
202
|
+
- aligns `project_state.json` with the current manuscript phase
|
|
203
|
+
|
|
204
|
+
**Suggested use cases:**
|
|
205
|
+
- before handing the project to `project-manager`
|
|
206
|
+
- before a large revision cycle
|
|
207
|
+
- when returning to an old folder after weeks or months
|
|
208
|
+
- when multiple collaborators are editing in parallel
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
### `/manage-project checklist`
|
|
213
|
+
|
|
214
|
+
Generate a pre-submission checklist covering all quality dimensions.
|
|
215
|
+
|
|
216
|
+
**Output:** `submission/pre_submission_checklist.md`
|
|
217
|
+
|
|
218
|
+
Read and output the pre-submission checklist from
|
|
219
|
+
`${CLAUDE_SKILL_DIR}/references/pre_submission_checklist.md`.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
### `/manage-project timeline {submission_date}`
|
|
224
|
+
|
|
225
|
+
Generate a backwards timeline from submission date.
|
|
226
|
+
|
|
227
|
+
**Example:** `/manage-project timeline 2026-05-01`
|
|
228
|
+
|
|
229
|
+
**Output:**
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
## Backwards Timeline to Submission: 2026-05-01
|
|
233
|
+
|
|
234
|
+
Week -8 (2026-03-06): Phase 0-2 complete (scaffold, outline, tables)
|
|
235
|
+
Week -7 (2026-03-13): Methods draft -> critic pass
|
|
236
|
+
Week -6 (2026-03-20): Results draft -> critic pass + /analyze-stats complete
|
|
237
|
+
Week -5 (2026-03-27): Discussion draft -> critic pass
|
|
238
|
+
Week -4 (2026-04-03): Introduction + Abstract -> critic pass
|
|
239
|
+
Week -3 (2026-04-10): AI pattern removal + /check-reporting (reporting guideline)
|
|
240
|
+
Week -2 (2026-04-17): /self-review + co-author review
|
|
241
|
+
Week -1 (2026-04-24): Final revisions + figures at 300 DPI + /lit verification
|
|
242
|
+
SUBMISSION (2026-05-01): Upload to journal portal
|
|
243
|
+
|
|
244
|
+
Critical path: Statistics must be complete by Week -6.
|
|
245
|
+
Run /analyze-stats as soon as data is available.
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Project Scaffold Templates
|
|
251
|
+
|
|
252
|
+
### PROJECT.md Template
|
|
253
|
+
|
|
254
|
+
```markdown
|
|
255
|
+
# PROJECT
|
|
256
|
+
|
|
257
|
+
- Title:
|
|
258
|
+
- Type:
|
|
259
|
+
- Primary question:
|
|
260
|
+
- Target journal/venue:
|
|
261
|
+
- Lead folder:
|
|
262
|
+
- Collaborators:
|
|
263
|
+
- Last updated:
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### STATUS.md Template
|
|
267
|
+
|
|
268
|
+
```markdown
|
|
269
|
+
# STATUS
|
|
270
|
+
|
|
271
|
+
- Current stage:
|
|
272
|
+
- Current blocker:
|
|
273
|
+
- Next actions:
|
|
274
|
+
1.
|
|
275
|
+
2.
|
|
276
|
+
3.
|
|
277
|
+
- Last updated:
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### CLAIMS.md Template
|
|
281
|
+
|
|
282
|
+
```markdown
|
|
283
|
+
# CLAIMS
|
|
284
|
+
|
|
285
|
+
| Claim | Supporting result | Source table/figure | Citation status |
|
|
286
|
+
|------|-------------------|---------------------|-----------------|
|
|
287
|
+
| ... | ... | ... | ... |
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### DATA_DICTIONARY.md Template
|
|
291
|
+
|
|
292
|
+
```markdown
|
|
293
|
+
# DATA DICTIONARY
|
|
294
|
+
|
|
295
|
+
| Variable | Definition | Timing | Notes |
|
|
296
|
+
|----------|------------|--------|------|
|
|
297
|
+
| ... | ... | ... | ... |
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### ANALYSIS_PLAN.md Template
|
|
301
|
+
|
|
302
|
+
```markdown
|
|
303
|
+
# ANALYSIS PLAN
|
|
304
|
+
|
|
305
|
+
- Primary endpoint:
|
|
306
|
+
- Secondary endpoints:
|
|
307
|
+
- Main comparator:
|
|
308
|
+
- Statistical methods:
|
|
309
|
+
- Validation strategy:
|
|
310
|
+
- Sensitivity analyses:
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### REVIEW_LOG.md Template
|
|
314
|
+
|
|
315
|
+
```markdown
|
|
316
|
+
# REVIEW LOG
|
|
317
|
+
|
|
318
|
+
| Reviewer comment | Planned action | Status | Location updated |
|
|
319
|
+
|------------------|----------------|--------|------------------|
|
|
320
|
+
| ... | ... | ... | ... |
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## Integration with Other Skills
|
|
326
|
+
|
|
327
|
+
When called from `/manage-project init`, automatically:
|
|
328
|
+
1. Load the correct journal profile from `write-paper/references/journal_profiles/{JOURNAL}.md`
|
|
329
|
+
2. Load the correct paper type template from `write-paper/references/paper_types/{TYPE}.md`
|
|
330
|
+
3. Copy the appropriate reporting guideline checklist from `check-reporting/references/checklists/`
|
|
331
|
+
4. Set word count targets based on the journal profile
|
|
332
|
+
|
|
333
|
+
After `/manage-project checklist`, recommend calling:
|
|
334
|
+
- `/self-review` for manuscript quality gate
|
|
335
|
+
- `/search-lit` to verify all citations
|
|
336
|
+
- AI pattern removal (built into `/write-paper` Phase 7)
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## Project State Conventions
|
|
341
|
+
|
|
342
|
+
**Phase numbers:**
|
|
343
|
+
- 0 = Init (scaffold created)
|
|
344
|
+
- 1 = Outline approved
|
|
345
|
+
- 2 = Table/Figure shells approved
|
|
346
|
+
- 3 = Methods (critic >= 85)
|
|
347
|
+
- 4 = Results (critic >= 85)
|
|
348
|
+
- 5 = Discussion (critic >= 85)
|
|
349
|
+
- 6 = Introduction + Abstract (critic >= 85)
|
|
350
|
+
- 7 = Polish complete (AI pattern removal + checklist + self-review >= 80)
|
|
351
|
+
|
|
352
|
+
**Phase status values:** `pending | in_progress | complete | blocked`
|
|
353
|
+
|
|
354
|
+
## Anti-Hallucination
|
|
355
|
+
|
|
356
|
+
- **Never fabricate file paths, URLs, DOIs, or package names.** Verify existence before recommending.
|
|
357
|
+
- **Never invent journal metadata, impact factors, or submission policies** without verification at the journal's website.
|
|
358
|
+
- If a tool, package, or resource does not exist or you are unsure, say so explicitly rather than guessing.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Pre-Submission Checklist Template
|
|
2
|
+
|
|
3
|
+
**Manuscript Content**
|
|
4
|
+
- [ ] Word count within journal limits (check journal profile)
|
|
5
|
+
- [ ] Abstract within word limit (typically 250 words)
|
|
6
|
+
- [ ] Structured abstract with required headings (journal-specific)
|
|
7
|
+
- [ ] All journal-required boxes present (Key Points, Advances in Knowledge, etc.)
|
|
8
|
+
- [ ] Contribution statement in introduction (first 2 pages)
|
|
9
|
+
- [ ] All statistics reported with 95% CI and exact p-values
|
|
10
|
+
- [ ] Effect sizes reported with units throughout Results
|
|
11
|
+
- [ ] All claims in Discussion are supported by Results or cited literature
|
|
12
|
+
|
|
13
|
+
**Figures and Tables**
|
|
14
|
+
- [ ] All figures at 300 DPI minimum (600 DPI for line art)
|
|
15
|
+
- [ ] Figure dimensions within journal limits (single: 3.5", double: 7.0")
|
|
16
|
+
- [ ] Colorblind-safe palette used (Wong 2011 or CARTO)
|
|
17
|
+
- [ ] All figures and tables cited in the text
|
|
18
|
+
- [ ] Figure legends are self-contained (reader needs no text to understand)
|
|
19
|
+
- [ ] Table footnotes explain all abbreviations
|
|
20
|
+
|
|
21
|
+
**References**
|
|
22
|
+
- [ ] All citations verified via PubMed or CrossRef API (no hallucinated references)
|
|
23
|
+
- [ ] BibTeX entries complete (no missing fields)
|
|
24
|
+
- [ ] Reference list formatted per journal style
|
|
25
|
+
- [ ] Number of references within journal limit
|
|
26
|
+
|
|
27
|
+
**Reporting Guidelines**
|
|
28
|
+
- [ ] Reporting guideline checklist completed (STROBE/STARD/TRIPOD+AI/CONSORT/etc.)
|
|
29
|
+
- [ ] All required items PRESENT (not MISSING or PARTIAL)
|
|
30
|
+
- [ ] EQUATOR checklist attached to submission (if required)
|
|
31
|
+
|
|
32
|
+
**Administrative**
|
|
33
|
+
- [ ] Ethics statement present (IRB/IACUC number)
|
|
34
|
+
- [ ] Data availability statement present
|
|
35
|
+
- [ ] Code availability statement (if applicable)
|
|
36
|
+
- [ ] Conflict of interest statement present
|
|
37
|
+
- [ ] Author contributions (CRediT taxonomy if required)
|
|
38
|
+
- [ ] Funding statement present
|
|
39
|
+
- [ ] Acknowledgments complete
|
|
40
|
+
- [ ] Supplementary materials labeled correctly
|
|
41
|
+
|
|
42
|
+
**AI Writing**
|
|
43
|
+
- [ ] AI pattern removal pass completed
|
|
44
|
+
- [ ] No prohibited AI patterns in manuscript
|
|
45
|
+
- [ ] No prohibited hedging phrases (interestingly, arguably, needless to say)
|
|
46
|
+
|
|
47
|
+
**Final Checks**
|
|
48
|
+
- [ ] /self-review completed (score >= 80)
|
|
49
|
+
- [ ] Title <= 15 words (or per journal limit)
|
|
50
|
+
- [ ] Running title within limit (typically 50 characters)
|
|
51
|
+
- [ ] Keywords provided (5-8, MeSH terms if required)
|
|
52
|
+
- [ ] Cover letter drafted
|
|
53
|
+
- [ ] Submission portal account active and files uploaded in correct format
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{name}",
|
|
3
|
+
"type": "{type}",
|
|
4
|
+
"journal": "{journal}",
|
|
5
|
+
"created": "YYYY-MM-DD",
|
|
6
|
+
"target_submission": null,
|
|
7
|
+
"current_phase": 0,
|
|
8
|
+
"phases": {
|
|
9
|
+
"0_init": "complete",
|
|
10
|
+
"1_outline": "pending",
|
|
11
|
+
"2_tables_figures": "pending",
|
|
12
|
+
"3_methods": "pending",
|
|
13
|
+
"4_results": "pending",
|
|
14
|
+
"5_discussion": "pending",
|
|
15
|
+
"6_intro_abstract": "pending",
|
|
16
|
+
"7_polish": "pending"
|
|
17
|
+
},
|
|
18
|
+
"word_counts": {
|
|
19
|
+
"abstract": 0,
|
|
20
|
+
"introduction": 0,
|
|
21
|
+
"methods": 0,
|
|
22
|
+
"results": 0,
|
|
23
|
+
"discussion": 0,
|
|
24
|
+
"total": 0
|
|
25
|
+
},
|
|
26
|
+
"checklist_status": "pending",
|
|
27
|
+
"citation_status": "unverified",
|
|
28
|
+
"revision_round": null,
|
|
29
|
+
"memory_files": {
|
|
30
|
+
"PROJECT.md": true,
|
|
31
|
+
"STATUS.md": true,
|
|
32
|
+
"CLAIMS.md": true,
|
|
33
|
+
"DATA_DICTIONARY.md": true,
|
|
34
|
+
"ANALYSIS_PLAN.md": true,
|
|
35
|
+
"REVIEW_LOG.md": true
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Project Scaffold Templates
|
|
2
|
+
|
|
3
|
+
## PROJECT.md Template
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
# PROJECT
|
|
7
|
+
|
|
8
|
+
- Title:
|
|
9
|
+
- Type:
|
|
10
|
+
- Primary question:
|
|
11
|
+
- Target journal/venue:
|
|
12
|
+
- Lead folder:
|
|
13
|
+
- Collaborators:
|
|
14
|
+
- Last updated:
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## STATUS.md Template
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
# STATUS
|
|
21
|
+
|
|
22
|
+
- Current stage:
|
|
23
|
+
- Current blocker:
|
|
24
|
+
- Next actions:
|
|
25
|
+
1.
|
|
26
|
+
2.
|
|
27
|
+
3.
|
|
28
|
+
- Last updated:
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## CLAIMS.md Template
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
# CLAIMS
|
|
35
|
+
|
|
36
|
+
| Claim | Supporting result | Source table/figure | Citation status |
|
|
37
|
+
|------|-------------------|---------------------|-----------------|
|
|
38
|
+
| ... | ... | ... | ... |
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## DATA_DICTIONARY.md Template
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
# DATA DICTIONARY
|
|
45
|
+
|
|
46
|
+
| Variable | Definition | Timing | Notes |
|
|
47
|
+
|----------|------------|--------|------|
|
|
48
|
+
| ... | ... | ... | ... |
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## ANALYSIS_PLAN.md Template
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
# ANALYSIS PLAN
|
|
55
|
+
|
|
56
|
+
- Primary endpoint:
|
|
57
|
+
- Secondary endpoints:
|
|
58
|
+
- Main comparator:
|
|
59
|
+
- Statistical methods:
|
|
60
|
+
- Validation strategy:
|
|
61
|
+
- Sensitivity analyses:
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## REVIEW_LOG.md Template
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
# REVIEW LOG
|
|
68
|
+
|
|
69
|
+
| Reviewer comment | Planned action | Status | Location updated |
|
|
70
|
+
|------------------|----------------|--------|------------------|
|
|
71
|
+
| ... | ... | ... | ... |
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## main.qmd Header (RYAI example)
|
|
75
|
+
|
|
76
|
+
```yaml
|
|
77
|
+
---
|
|
78
|
+
title: "[Manuscript Title]"
|
|
79
|
+
author:
|
|
80
|
+
- name: "[First Author]"
|
|
81
|
+
affiliation: "[Institution]"
|
|
82
|
+
corresponding: true
|
|
83
|
+
email: "[email]"
|
|
84
|
+
date: "`r Sys.Date()`"
|
|
85
|
+
format:
|
|
86
|
+
docx:
|
|
87
|
+
reference-doc: submission/template_RYAI.docx
|
|
88
|
+
pdf:
|
|
89
|
+
documentclass: article
|
|
90
|
+
bibliography: references/library.bib
|
|
91
|
+
csl: references/radiology-ai.csl
|
|
92
|
+
---
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## README.md Template
|
|
96
|
+
|
|
97
|
+
```markdown
|
|
98
|
+
# {name}
|
|
99
|
+
|
|
100
|
+
**Type:** {type}
|
|
101
|
+
**Target journal:** {journal}
|
|
102
|
+
**Status:** In progress
|
|
103
|
+
|
|
104
|
+
## Key Files
|
|
105
|
+
- `paper/main.qmd` — Main manuscript
|
|
106
|
+
- `analysis/scripts/` — Analysis scripts
|
|
107
|
+
- `references/library.bib` — Verified citations
|
|
108
|
+
- `project_state.json` — Progress tracker
|
|
109
|
+
|
|
110
|
+
## Data
|
|
111
|
+
[Describe data location and access]
|
|
112
|
+
|
|
113
|
+
## Analysis Plan
|
|
114
|
+
[One-paragraph summary of statistical approach]
|
|
115
|
+
|
|
116
|
+
## Timeline
|
|
117
|
+
[Key milestones]
|
|
118
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Status Output Format
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
## Project Status: {name}
|
|
5
|
+
Journal: {journal} | Type: {type} | Created: {date}
|
|
6
|
+
Target submission: {date or "not set"}
|
|
7
|
+
|
|
8
|
+
### Phase Progress
|
|
9
|
+
✅ Phase 0: Project Init (complete)
|
|
10
|
+
✅ Phase 1: Outline (complete)
|
|
11
|
+
✅ Phase 2: Tables & Figures (complete)
|
|
12
|
+
🔄 Phase 3: Methods (IN PROGRESS)
|
|
13
|
+
⏳ Phase 4: Results (pending)
|
|
14
|
+
⏳ Phase 5: Discussion (pending)
|
|
15
|
+
⏳ Phase 6: Introduction & Abstract (pending)
|
|
16
|
+
⏳ Phase 7: Polish (pending)
|
|
17
|
+
|
|
18
|
+
### Word Counts
|
|
19
|
+
Abstract: 0 / 250 words
|
|
20
|
+
Introduction: 0 / 600 words
|
|
21
|
+
Methods: 847 / 1000 words ████████░░ 85%
|
|
22
|
+
Results: 0 / 900 words
|
|
23
|
+
Discussion: 0 / 800 words
|
|
24
|
+
──────────────────────────────────
|
|
25
|
+
Total: 847 / 3500 words (RYAI limit)
|
|
26
|
+
|
|
27
|
+
### Quality Gates
|
|
28
|
+
Critic score (Methods): 87/100 ✅ PASS
|
|
29
|
+
Citations verified: 12/12 ✅
|
|
30
|
+
Reporting guideline (CLAIM): pending
|
|
31
|
+
|
|
32
|
+
### Project Memory
|
|
33
|
+
PROJECT.md: present
|
|
34
|
+
STATUS.md: stale (last updated 12 days ago)
|
|
35
|
+
CLAIMS.md: missing
|
|
36
|
+
DATA_DICTIONARY.md: present
|
|
37
|
+
ANALYSIS_PLAN.md: missing
|
|
38
|
+
REVIEW_LOG.md: n/a (not in revision)
|
|
39
|
+
|
|
40
|
+
### Next Steps
|
|
41
|
+
1. Complete Methods draft (150 words remaining)
|
|
42
|
+
2. Run /stats for Table 1 and diagnostic accuracy
|
|
43
|
+
3. Begin Results (Phase 4)
|
|
44
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Backwards Timeline Example
|
|
2
|
+
|
|
3
|
+
Example: `/manage-project timeline 2026-05-01`
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
## Backwards Timeline to Submission: 2026-05-01
|
|
7
|
+
|
|
8
|
+
Week -8 (2026-03-06): ✅ Phase 0-2 complete (scaffold, outline, tables)
|
|
9
|
+
Week -7 (2026-03-13): Methods draft → critic pass
|
|
10
|
+
Week -6 (2026-03-20): Results draft → critic pass + /stats complete
|
|
11
|
+
Week -5 (2026-03-27): Discussion draft → critic pass
|
|
12
|
+
Week -4 (2026-04-03): Introduction + Abstract → critic pass
|
|
13
|
+
Week -3 (2026-04-10): AI pattern removal + /checklist (reporting guideline)
|
|
14
|
+
Week -2 (2026-04-17): /self-review + co-author review
|
|
15
|
+
Week -1 (2026-04-24): Final revisions + figures at 300 DPI + /lit verification
|
|
16
|
+
SUBMISSION (2026-05-01): Upload to journal portal
|
|
17
|
+
|
|
18
|
+
Critical path: Statistics must be complete by Week -6.
|
|
19
|
+
Run /stats as soon as data is available.
|
|
20
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
schema_version: 2
|
|
2
|
+
name: manage-project
|
|
3
|
+
layer: D
|
|
4
|
+
owner_domain: project_management
|
|
5
|
+
|
|
6
|
+
when_to_use: "Manage a manuscript project: scaffold structure, track writing progress across phases, maintain memory, and generate checklists and backwards timelines."
|
|
7
|
+
when_NOT_to_use: "First-time intake of a messy project (use intake-project)."
|
|
8
|
+
|
|
9
|
+
inputs:
|
|
10
|
+
- "project.yaml / SSOT"
|
|
11
|
+
- "current phase state"
|
|
12
|
+
outputs:
|
|
13
|
+
- "progress status"
|
|
14
|
+
- "submission checklist"
|
|
15
|
+
- "backwards timeline"
|
|
16
|
+
side_effects:
|
|
17
|
+
- writes_project_state
|
|
18
|
+
- scaffolds_project_files
|
|
19
|
+
downstream_consumers:
|
|
20
|
+
- sync-submission
|
|
21
|
+
- self-review
|
|
22
|
+
forbidden_actions:
|
|
23
|
+
- fabricate_progress_or_deadlines
|
|
24
|
+
- overwrite_canonical_manuscript_artifacts
|
|
25
|
+
|
|
26
|
+
# v2.1 quality card
|
|
27
|
+
purpose: "Track and scaffold a manuscript project across phases with checklists and timelines from real project state."
|
|
28
|
+
safety_boundaries:
|
|
29
|
+
- "Reads/writes project state and scaffolding; never edits canonical manuscript artifacts."
|
|
30
|
+
- "Status and timelines reflect actual project files, not invented progress."
|
|
31
|
+
known_limitations:
|
|
32
|
+
- "Timelines are planning aids, not commitments; depend on user-maintained state."
|
|
33
|
+
- "No standalone demo; an orchestration/tracking utility."
|
|
34
|
+
validation_commands:
|
|
35
|
+
- "reconcile reported phase against the project's SSOT/artifacts"
|
|
36
|
+
evidence_surface: manual_workflow
|