medsci-skills 5.24.0 → 5.25.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/README.md +54 -11
- package/README.zh-CN.md +1048 -0
- package/metadata/distribution_files.json +449 -244
- package/metadata/distribution_manifest.json +2 -1
- package/metadata/skills_catalog.json +11 -1
- package/package.json +1 -1
- package/skills/academic-aio/SKILL.md +1 -1
- package/skills/check-reporting/SKILL.md +46 -15
- package/skills/check-reporting/references/LICENSES.md +76 -52
- package/skills/check-reporting/references/checklists/AMSTAR2.md +17 -1
- package/skills/check-reporting/references/checklists/ARRIVE_2.md +95 -118
- package/skills/check-reporting/references/checklists/CARE.md +9 -1
- package/skills/check-reporting/references/checklists/CHEERS_2022.md +4 -0
- package/skills/check-reporting/references/checklists/CLAIM_2024.md +7 -0
- package/skills/check-reporting/references/checklists/CLEAR.md +3 -0
- package/skills/check-reporting/references/checklists/CONSORT.md +7 -1
- package/skills/check-reporting/references/checklists/CONSORT_AI.md +14 -3
- package/skills/check-reporting/references/checklists/COREQ.md +2 -1
- package/skills/check-reporting/references/checklists/COSMIN_RoB.md +65 -61
- package/skills/check-reporting/references/checklists/CROSS.md +78 -58
- package/skills/check-reporting/references/checklists/DECIDE_AI.md +13 -4
- package/skills/check-reporting/references/checklists/GATHER.md +42 -23
- package/skills/check-reporting/references/checklists/GRRAS.md +42 -21
- package/skills/check-reporting/references/checklists/MI_CLEAR_LLM.md +6 -1
- package/skills/check-reporting/references/checklists/MOOSE.md +10 -3
- package/skills/check-reporting/references/checklists/NOS.md +28 -8
- package/skills/check-reporting/references/checklists/PGS_RS.md +8 -1
- package/skills/check-reporting/references/checklists/PRISMA_2020.md +18 -7
- package/skills/check-reporting/references/checklists/PRISMA_2020_Abstracts.md +96 -0
- package/skills/check-reporting/references/checklists/PRISMA_DTA.md +123 -36
- package/skills/check-reporting/references/checklists/PRISMA_P.md +6 -0
- package/skills/check-reporting/references/checklists/PRISMA_ScR.md +65 -20
- package/skills/check-reporting/references/checklists/PROBAST.md +60 -35
- package/skills/check-reporting/references/checklists/PROBAST_AI.md +4 -0
- package/skills/check-reporting/references/checklists/QUADAS2.md +107 -45
- package/skills/check-reporting/references/checklists/QUADAS3.md +242 -0
- package/skills/check-reporting/references/checklists/QUADAS_C.md +29 -6
- package/skills/check-reporting/references/checklists/RECORD.md +6 -1
- package/skills/check-reporting/references/checklists/REMARK.md +21 -13
- package/skills/check-reporting/references/checklists/ROBINS_E.md +14 -3
- package/skills/check-reporting/references/checklists/ROBINS_I.md +34 -8
- package/skills/check-reporting/references/checklists/ROBIS.md +26 -4
- package/skills/check-reporting/references/checklists/ROB_ME.md +15 -1
- package/skills/check-reporting/references/checklists/RoB2.md +106 -52
- package/skills/check-reporting/references/checklists/RoB_NMA.md +91 -68
- package/skills/check-reporting/references/checklists/SPIRIT.md +8 -2
- package/skills/check-reporting/references/checklists/SPIRIT_AI.md +14 -3
- package/skills/check-reporting/references/checklists/SQUIRE_2.md +6 -1
- package/skills/check-reporting/references/checklists/SRQR.md +2 -1
- package/skills/check-reporting/references/checklists/STARD.md +115 -124
- package/skills/check-reporting/references/checklists/STROBE.md +8 -0
- package/skills/check-reporting/references/checklists/STROBE_MR.md +128 -62
- package/skills/check-reporting/references/checklists/SWiM.md +20 -9
- package/skills/check-reporting/references/checklists/TARGET.md +10 -3
- package/skills/check-reporting/references/checklists/TRIPOD.md +10 -2
- package/skills/check-reporting/references/checklists/TRIPOD_AI.md +14 -7
- package/skills/check-reporting/references/checklists/TRIPOD_LLM.md +12 -1
- package/skills/clean-data/SKILL.md +1 -1
- package/skills/contribute/scripts/check_contribution_safety.py +30 -4
- package/skills/contribute/tests/test_contribution_safety.sh +38 -1
- package/skills/fill-protocol/scripts/fill_form.py +48 -23
- package/skills/fill-protocol/tests/test_fill_form_newlines.sh +141 -0
- package/skills/find-journal/SKILL.md +1 -1
- package/skills/find-journal/references/journal_profiles/European_Journal_of_Preventive_Cardiology.md +1 -1
- package/skills/find-journal/references/journal_profiles/JACC_Advances.md +2 -2
- package/skills/find-journal/references/journal_profiles/Journal_of_Clinical_Endocrinology_and_Metabolism.md +1 -1
- package/skills/find-journal/references/journal_profiles/Korean_Circulation_Journal.md +1 -1
- package/skills/find-journal/references/journal_profiles/Nutrition_Metabolism_and_Cardiovascular_Diseases.md +1 -1
- package/skills/lit-sync/SKILL.md +46 -8
- package/skills/lit-sync/references/bbt_lookup.md +57 -0
- package/skills/lit-sync/scripts/check_citekey_provenance.py +210 -0
- package/skills/lit-sync/skill.yml +2 -0
- package/skills/lit-sync/tests/citekey_provenance_challenge.sh +117 -0
- package/skills/lit-sync/tests/citekey_provenance_challenge_selftest.sh +85 -0
- package/skills/lit-sync/tests/test_poll_logic.sh +14 -4
- package/skills/make-figures/references/reporting_guideline_figure_map.md +2 -2
- package/skills/meta-analysis/SKILL.md +93 -16
- package/skills/meta-analysis/references/checklists/NOS.md +28 -8
- package/skills/meta-analysis/references/checklists/PRISMA_DTA.md +123 -36
- package/skills/meta-analysis/references/checklists/PROBAST.md +60 -35
- package/skills/meta-analysis/references/checklists/QUADAS2.md +107 -45
- package/skills/meta-analysis/references/checklists/QUADAS3.md +242 -0
- package/skills/meta-analysis/references/checklists/ROBINS_I.md +34 -8
- package/skills/meta-analysis/references/checklists/RoB2.md +106 -52
- package/skills/meta-analysis/references/empirical_lessons.md +2 -1
- package/skills/meta-analysis/references/phase6_statistical_synthesis.md +131 -7
- package/skills/model-validation/SKILL.md +3 -3
- package/skills/model-validation/references/validation_design.md +1 -1
- package/skills/obsidian-paper-vault/SKILL.md +144 -0
- package/skills/obsidian-paper-vault/assets/example_concept_note.md +50 -0
- package/skills/obsidian-paper-vault/assets/example_paper_note.md +51 -0
- package/skills/obsidian-paper-vault/assets/example_queue.md +52 -0
- package/skills/obsidian-paper-vault/references/concept-extraction.md +91 -0
- package/skills/obsidian-paper-vault/references/locale/ko/note_templates.md +127 -0
- package/skills/obsidian-paper-vault/references/subagent-prompt.md +100 -0
- package/skills/obsidian-paper-vault/references/tag-vocabulary.md +60 -0
- package/skills/obsidian-paper-vault/references/templates.md +145 -0
- package/skills/obsidian-paper-vault/references/workflow.md +85 -0
- package/skills/obsidian-paper-vault/scripts/extract_pdfs.py +85 -0
- package/skills/obsidian-paper-vault/skill.yml +54 -0
- package/skills/orchestrate/SKILL.md +3 -1
- package/skills/peer-review/SKILL.md +57 -170
- package/skills/peer-review/references/domain-probes/ai_overclaiming.md +2 -2
- package/skills/peer-review/references/domain-probes/clinical_prediction_model.md +2 -2
- package/skills/peer-review/references/domain-probes/diagnostic_accuracy.md +8 -2
- package/skills/peer-review/references/domain-probes/model_development.md +18 -2
- package/skills/peer-review/references/domain-probes/narrative_review.md +10 -0
- package/skills/peer-review/references/domain-probes/observational_confounding.md +12 -2
- package/skills/peer-review/references/domain-probes/radiomics.md +10 -0
- package/skills/peer-review/references/domain-probes/sr_ma.md +2 -2
- package/skills/peer-review/references/domain-probes/survival_prognostic.md +10 -0
- package/skills/peer-review/references/reviewer_calibration/recommendation_calibration.md +92 -0
- package/skills/peer-review/references/reviewer_profiles/EURE.md +12 -5
- package/skills/peer-review/references/reviewer_profiles/INSI.md +1 -1
- package/skills/peer-review/references/reviewer_profiles/README.md +41 -3
- package/skills/peer-review/references/reviewer_profiles/RYAI.md +28 -4
- package/skills/preprocess-imaging/SKILL.md +15 -0
- package/skills/preprocess-imaging/scripts/check_normalizer_domain.py +196 -0
- package/skills/preprocess-imaging/scripts/check_normalizer_domain_challenge/expected/arbitrary_mismatch.txt +10 -0
- package/skills/preprocess-imaging/scripts/check_normalizer_domain_challenge/expected/hu_clean.txt +9 -0
- package/skills/preprocess-imaging/scripts/check_normalizer_domain_challenge/fixture/plan_ct.json +25 -0
- package/skills/preprocess-imaging/scripts/check_normalizer_domain_challenge/fixture/profile_arbitrary.json +236 -0
- package/skills/preprocess-imaging/scripts/check_normalizer_domain_challenge/fixture/profile_hu.json +144 -0
- package/skills/preprocess-imaging/scripts/check_normalizer_domain_challenge/problem.md +42 -0
- package/skills/preprocess-imaging/scripts/check_normalizer_domain_challenge/verify.sh +46 -0
- package/skills/present-paper/SKILL.md +193 -4
- package/skills/present-paper/references/ai_slide_tells.md +49 -0
- package/skills/present-paper/references/generate_pptx_templates.py +6 -1
- package/skills/present-paper/scripts/check_deck_budget.py +23 -2
- package/skills/present-paper/scripts/check_deck_budget_challenge/make_fixtures.py +59 -2
- package/skills/present-paper/scripts/check_deck_budget_challenge/verify.sh +40 -0
- package/skills/present-paper/scripts/check_diagram_edges.py +160 -0
- package/skills/present-paper/scripts/check_diagram_edges_challenge/make_fixtures.py +65 -0
- package/skills/present-paper/scripts/check_diagram_edges_challenge/verify.sh +84 -0
- package/skills/present-paper/scripts/check_font_portability.py +353 -0
- package/skills/present-paper/scripts/check_font_portability_challenge/make_fixtures.py +111 -0
- package/skills/present-paper/scripts/check_font_portability_challenge/verify.sh +99 -0
- package/skills/present-paper/scripts/check_slide_tells.py +64 -0
- package/skills/present-paper/scripts/check_text_overflow.py +266 -0
- package/skills/present-paper/scripts/check_text_overflow_challenge/make_fixtures.py +103 -0
- package/skills/present-paper/scripts/check_text_overflow_challenge/verify.sh +100 -0
- package/skills/present-paper/skill.yml +11 -0
- package/skills/publish-skill/scripts/audit_skill.sh +5 -2
- package/skills/search-lit/SKILL.md +67 -0
- package/skills/search-lit/scripts/check_doi_record_match.py +276 -0
- package/skills/search-lit/scripts/check_doi_record_match_challenge/fixture/cache/10.1000%2Fmarkup.005.json +9 -0
- package/skills/search-lit/scripts/check_doi_record_match_challenge/fixture/cache/10.1000%2Fmatch.001.json +9 -0
- package/skills/search-lit/scripts/check_doi_record_match_challenge/fixture/cache/10.1000%2Fother.002.json +9 -0
- package/skills/search-lit/scripts/check_doi_record_match_challenge/fixture/cache/10.1000%2Fsuppl.003.json +9 -0
- package/skills/search-lit/scripts/check_doi_record_match_challenge/fixture/screening.tsv +7 -0
- package/skills/search-lit/scripts/check_doi_record_match_challenge/verify.sh +110 -0
- package/skills/search-lit/skill.yml +4 -0
- package/skills/self-review/SKILL.md +3 -3
- package/skills/self-review/references/domain-probes/ai_overclaiming.md +2 -2
- package/skills/self-review/references/domain-probes/clinical_prediction_model.md +2 -2
- package/skills/self-review/references/domain-probes/diagnostic_accuracy.md +8 -2
- package/skills/self-review/references/domain-probes/model_development.md +18 -2
- package/skills/self-review/references/domain-probes/narrative_review.md +10 -0
- package/skills/self-review/references/domain-probes/observational_confounding.md +12 -2
- package/skills/self-review/references/domain-probes/radiomics.md +10 -0
- package/skills/self-review/references/domain-probes/sr_ma.md +2 -2
- package/skills/self-review/references/domain-probes/survival_prognostic.md +10 -0
- package/skills/self-review/references/panel_review_template.md +30 -0
- package/skills/self-review/references/phases/phase2_5b_screening_counts.md +4 -2
- package/skills/self-review/scripts/check_binning_consistency.py +5 -2
- package/skills/self-review/scripts/check_panel_diversity.py +30 -2
- package/skills/self-review/tests/fixtures/cv_leakage_bad.md +2 -1
- package/skills/self-review/tests/test_panel_diversity.sh +34 -0
- package/skills/sync-submission/scripts/build_marked_manuscript.py +36 -4
- package/skills/sync-submission/tests/test_cross_artifact_stale.sh +3 -3
- package/skills/sync-submission/tests/test_marked_build_failure.sh +126 -0
- package/skills/verify-refs/scripts/verify_refs.py +25 -1
- package/skills/verify-refs/tests/test_audit_source_path.sh +100 -0
- package/skills/write-paper/references/journal_profiles/European_Journal_of_Preventive_Cardiology.md +1 -1
- package/skills/write-paper/references/journal_profiles/JACC_Advances.md +1 -1
- package/skills/write-paper/references/journal_profiles/JKMS.md +4 -4
- package/skills/write-paper/references/journal_profiles/Journal_of_Clinical_Endocrinology_and_Metabolism.md +1 -1
- package/skills/write-paper/references/journal_profiles/Korean_Circulation_Journal.md +1 -1
- package/skills/write-paper/references/journal_profiles/Liver_International.md +2 -2
- package/skills/write-paper/references/journal_profiles/Nutrition_Metabolism_and_Cardiovascular_Diseases.md +1 -1
package/README.md
CHANGED
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
# MedSci Skills
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[English](README.md) | [简体中文](README.zh-CN.md)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**59 skills that actually work.** Built by a physician-researcher, tested on real publications.
|
|
8
|
+
|
|
9
|
+
*MedSci Skills is an end-to-end research tool for physician and medical-engineering researchers — design → scaffold → validate → publish — for the clinical manuscript and the medical-AI model behind it. Its moat is the compliance layer — 49 reporting guidelines and risk-of-bias tools, reference/citation verification, and deterministic integrity gates before peer review — now extended by a model-engineering lane that scaffolds reproducible, leakage-safe training repos and audits model validation. Clinical AI model research engineering is in scope; a general AI-scientist platform is not. It competes on clinical submission reliability, not skill count.*
|
|
8
10
|
|
|
9
11
|
[](LICENSE)
|
|
10
12
|
[](https://github.com/Aperivue/medsci-skills/releases/latest)
|
|
11
13
|
[](https://github.com/Aperivue/medsci-skills/actions/workflows/validate.yml)
|
|
12
|
-

|
|
13
15
|
[](https://www.npmjs.com/package/medsci-skills)
|
|
14
16
|
[](https://www.npmjs.com/package/medsci-skills)
|
|
15
17
|
[](https://youtu.be/MclQ_RIofpE)
|
|
@@ -170,9 +172,9 @@ protocol scaffolding, screening/extraction structure, PRISMA-consistent counts a
|
|
|
170
172
|
diagram, pooled-estimate figures, and a manuscript draft. *Safety:* screening and
|
|
171
173
|
extraction decisions stay with the human review team.
|
|
172
174
|
|
|
173
|
-
## Live Demos:
|
|
175
|
+
## Live Demos: Five Study Types, Five Full Pipelines
|
|
174
176
|
|
|
175
|
-
|
|
177
|
+
Five public datasets. Five study types. Demos 1–3 each produce a complete manuscript, publication-ready figures, and a reporting-compliance audit; Demo 4 runs the medical-AI **model-engineering lane** end to end (scaffold → gates → training → evaluation → interpretability); Demo 5 takes that lane onto a GPU cluster and out to a **genuinely external cohort**, then reports where it broke.
|
|
176
178
|
|
|
177
179
|
| Demo | Dataset | Study Type | Compliance |
|
|
178
180
|
|------|---------|------------|------------|
|
|
@@ -180,6 +182,7 @@ Four public datasets. Four study types. Demos 1–3 each produce a complete manu
|
|
|
180
182
|
| [Demo 2: BCG Vaccine](demo/02_metafor_bcg/) | `metafor::dat.bcg` (13 RCTs) | Meta-analysis | PRISMA 2020 |
|
|
181
183
|
| [Demo 3: NHANES Obesity](demo/03_nhanes_obesity/) | CDC NHANES 2017-18 | Epidemiology (survey) | STROBE |
|
|
182
184
|
| [Demo 4: PneumoniaMNIST CNN](demo/04_pneumoniamnist_cnn/) | `medmnist` (CC BY 4.0) | Medical-AI model engineering (CNN) | CLAIM / TRIPOD+AI |
|
|
185
|
+
| [Demo 5: MSD → AMOS spleen](demo/05_msd_amos_spleen/) | MSD Task09 + AMOS22 (CC BY 4.0) | 3-D segmentation, external validation + modality shift | CLAIM / Metrics Reloaded |
|
|
183
186
|
|
|
184
187
|
### Demo 1: Diagnostic Accuracy — Wisconsin Breast Cancer
|
|
185
188
|
|
|
@@ -264,6 +267,45 @@ data(dat.bcg) # 13 RCTs, 357,347 participants (Colditz et al. 1994)
|
|
|
264
267
|
|
|
265
268
|
**Pipeline:** `analyze-stats` → `make-figures` → `write-paper` → AI pattern scan → `check-reporting` (STROBE) → `self-review` → DOCX build → `present-paper`
|
|
266
269
|
|
|
270
|
+
### Demo 5: External Validation — MSD → AMOS spleen segmentation
|
|
271
|
+
|
|
272
|
+
The only demo that leaves the laptop, and the only one that reports a **failure**. It asks whether a
|
|
273
|
+
clinician can carry a deep-learning study to a defensible result without an engineer, then answers by
|
|
274
|
+
running a three-rung external-validation ladder on a GPU cluster and logging every point where the
|
|
275
|
+
answer was no.
|
|
276
|
+
|
|
277
|
+
| Rung | Cohort | n scored | Dice median [95% CI] |
|
|
278
|
+
|---|---|---:|---|
|
|
279
|
+
| 1 internal | MSD held-out | 9 | **0.9595** [0.9367–0.9734] |
|
|
280
|
+
| 2 genuine external | AMOS **CT** | 298 / 300 | **0.8932** [0.8633–0.9108] |
|
|
281
|
+
| 3 modality shift | AMOS **MRI** | 59 / 60 | **0.0152** [0.0000–0.0626] |
|
|
282
|
+
| 3b counterfactual | AMOS MRI, **rescaled** | 59 / 60 | **0.3016** [0.1744–0.4048] |
|
|
283
|
+
|
|
284
|
+
Rung 3 is a **constructed** test, and the demo says so: the evaluation plan named the normalisation
|
|
285
|
+
contract and predicted the collapse *before* inference ran. The trained plan carries `CTNormalization`
|
|
286
|
+
into inference and there is no flag that says "this is MRI", so a Hounsfield-unit clip is applied to
|
|
287
|
+
arbitrary-unit images: **0 of 60 MRI cases contain a negative voxel** (against 300 of 300 on CT), and a
|
|
288
|
+
median **23.2 %** of voxels are flattened at the clip ceiling (against 2.7 %). The run exits 0 and
|
|
289
|
+
returns a file for all 60 cases, 20 of them empty. Only ground truth made it loud.
|
|
290
|
+
|
|
291
|
+
A fourth arm changes **only the input intensity scale** — same checkpoint, no retraining — and
|
|
292
|
+
recovers median Dice to **0.3016** (+0.2864 [+0.1204, +0.4048]) while staying **−0.5916** below the
|
|
293
|
+
CT arm. So both mechanisms are real and differently sized: roughly **0.29 Dice is the preprocessing
|
|
294
|
+
contract, 0.59 a representation that does not transfer**. The arm and its prediction were written
|
|
295
|
+
down before it ran.
|
|
296
|
+
|
|
297
|
+
And `/profile-imaging` **had already flagged the mixed intensity scale before training — as a
|
|
298
|
+
Minor**, where it sat in `qc/` for nine days. So the gap this demo found is not detection; it is
|
|
299
|
+
**routing and severity**. A gate that fires correctly into a directory no later step reads is,
|
|
300
|
+
operationally, a gate that did not fire. See [the full demo](demo/05_msd_amos_spleen/) — including
|
|
301
|
+
[`FRICTION.md`](demo/05_msd_amos_spleen/FRICTION.md), which lists every point that needed engineering
|
|
302
|
+
knowledge, because the headline question is not answerable honestly without it.
|
|
303
|
+
|
|
304
|
+
**Pipeline:** `profile-imaging` → `model-sourcing` → `preprocess-imaging` (leakage gate, plus the
|
|
305
|
+
counterfactual that must fail) → `model-validation` (split gate) → nnU-Net training →
|
|
306
|
+
`model-evaluation` → `make-figures` → write-up. `bash reproduce.sh` re-runs the gates and the whole
|
|
307
|
+
across-cohort analysis on a laptop; training needs ~50 GPU-hours and says so.
|
|
308
|
+
|
|
267
309
|
### Project Folder Structure
|
|
268
310
|
|
|
269
311
|
Each demo (and real project) follows this role-based folder layout:
|
|
@@ -418,7 +460,7 @@ Earlier in this series: analysis-integrity guards (confounding completeness, cla
|
|
|
418
460
|
| **Battle-tested** | Used on real manuscript submissions by a practicing physician-researcher | Unknown provenance and validation |
|
|
419
461
|
| **Depth per skill** | 150-600 lines of documentation + bundled reference files (curated journal profile library, checklists, formula sheets, code templates) | Typically thin SKILL.md templates |
|
|
420
462
|
|
|
421
|
-
**MedSci-Audit** — the verification edge in the first rows above is a named suite of **
|
|
463
|
+
**MedSci-Audit** — the verification edge in the first rows above is a named suite of **90 deterministic detectors** (citation & reference integrity, cohort & pool arithmetic, scope/estimand contracts, reporting compliance, and more) that catch fabricated or drifted content before a manuscript reaches a reviewer. See **[`MEDSCI_AUDIT.md`](MEDSCI_AUDIT.md)** for the suite, its six families, and its evaluation evidence.
|
|
422
464
|
|
|
423
465
|
---
|
|
424
466
|
|
|
@@ -485,11 +527,11 @@ ma-scout -> search-lit -> fulltext-retrieval -> design-study ──> write-proto
|
|
|
485
527
|
|
|
486
528
|
### By research stage
|
|
487
529
|
|
|
488
|
-
All
|
|
530
|
+
All 59 skills, grouped by where they fit in the clinical-manuscript and medical-AI lifecycle. Full descriptions are in the table below; one page per skill lives in the [per-skill reference](docs/skills/).
|
|
489
531
|
|
|
490
532
|
| Stage | Skills |
|
|
491
533
|
|-------|--------|
|
|
492
|
-
| 🔭 **Discover & scope** | `ma-scout` · `find-cohort-gap` · `search-lit` · `fulltext-retrieval` · `lit-sync` · `author-strategy` |
|
|
534
|
+
| 🔭 **Discover & scope** | `ma-scout` · `find-cohort-gap` · `search-lit` · `fulltext-retrieval` · `lit-sync` · `obsidian-paper-vault` · `author-strategy` |
|
|
493
535
|
| 📐 **Design & plan** | `design-study` · `calc-sample-size` · `define-variables` · `write-protocol` · `fill-protocol` · `design-ai-benchmarking` |
|
|
494
536
|
| 🧹 **Data & analysis** | `deidentify` · `clean-data` · `generate-codebook` · `version-dataset` · `analyze-stats` · `batch-cohort` · `cross-national` · `replicate-study` |
|
|
495
537
|
| 🤖 **Medical-AI model engineering** | `profile-imaging` · `preprocess-imaging` · `architecture-zoo` · `model-scaffold` · `model-validation` · `model-evaluation` · `uncertainty-imaging` · `explainability` · `radiomics-ml` · `model-card` · `mllm-eval` |
|
|
@@ -507,7 +549,7 @@ All 58 skills, grouped by where they fit in the clinical-manuscript and medical-
|
|
|
507
549
|
| **search-lit** | PubMed + Semantic Scholar + bioRxiv search with anti-hallucination citation verification. Token-efficient error handling -- CrossRef failures are silently batched, not repeated. BibTeX output tags each entry with `verified`/`verified_by`/`verified_on` fields so downstream skills can trust the citation provenance. |
|
|
508
550
|
| **verify-refs** | Pre-submission reference audit for `.md`, `.docx`, `.bib`, or `.tsv` inputs. Extracts references, verifies DOI/PMID via CrossRef/PubMed when available, and writes `qc/reference_audit.json` as the sole output — row-level status (OK / MISMATCH / UNVERIFIED / FABRICATED) lives inside the JSON `records[]` block. `/search-lit` produces candidate BibTeX; `/lit-sync` owns `manuscript/_src/refs.bib`. |
|
|
509
551
|
| **fulltext-retrieval** | Batch open-access PDF downloader. Unpaywall → PMC → OpenAlex → CrossRef pipeline. OA-only -- no paywall bypass. Input: DOI list or TSV. Optional PDF→Markdown conversion via [pymupdf4llm](https://pymupdf.readthedocs.io/en/latest/pymupdf4llm/) for token-efficient LLM analysis of academic papers. |
|
|
510
|
-
| **check-reporting** | Manuscript compliance audit against
|
|
552
|
+
| **check-reporting** | Manuscript compliance audit against 49 reporting guidelines and risk of bias tools (STROBE, STROBE-MR, RECORD, GATHER, STARD, STARD-AI, TRIPOD, TRIPOD+AI, TRIPOD-LLM, PGS-RS, CHEERS 2022, CROSS, SRQR, COREQ, PRISMA, PRISMA 2020 for Abstracts, PRISMA-DTA, PRISMA-P, PRISMA-ScR, MOOSE, ARRIVE, CONSORT, CONSORT-AI, CARE, SPIRIT, SPIRIT-AI, CLAIM, DECIDE-AI, SQUIRE 2.0, CLEAR, GRRAS, MI-CLEAR-LLM, SWiM, AMSTAR 2, QUADAS-3, QUADAS-2, QUADAS-C, RoB 2, ROBINS-I, ROBINS-E, ROBIS, ROB-ME, PROBAST, PROBAST+AI, NOS, COSMIN, RoB NMA). Machine-readable JSON summary with `compliance_pct` and `fixable_by_ai` flags for automated pipeline integration. |
|
|
511
553
|
| **analyze-stats** | Statistical analysis code generation (Python/R) for diagnostic accuracy, DTA meta-analysis (bivariate/HSROC), inter-rater agreement, survival analysis, demographics tables, regression (logistic/linear), propensity score (matching/IPTW/overlap weighting), and repeated measures (RM ANOVA/GEE/mixed models). Calibration mandatory for prediction models. |
|
|
512
554
|
| **meta-analysis** | Full systematic review and meta-analysis pipeline (8 phases). DTA (bivariate/HSROC) and intervention meta-analysis. Protocol to submission-ready manuscript with PRISMA-DTA compliance. |
|
|
513
555
|
| **make-figures** | Publication-ready figures and visual abstracts: ROC curves, forest plots, PRISMA/CONSORT/STARD flow diagrams, Kaplan-Meier curves, Bland-Altman plots, confusion matrices, and journal-specific visual/graphical abstracts (python-pptx template-based). Communication-first design principles (Nat Hum Behav 2026 — key message, audience, cognitive load, figure-vs-table decision) and five flow-diagram production lessons (official-template fidelity, VML fallback PDF export, docx XML escape, sequential placeholder mapping, version freeze); critic rubric Section G adds 5 communication-first checks. `--study-type` auto-generates the full required figure set; structured `_figure_manifest.md` output for downstream pipeline consumption; D2 enforced as default for flow diagrams. |
|
|
@@ -548,6 +590,7 @@ All 58 skills, grouped by where they fit in the clinical-manuscript and medical-
|
|
|
548
590
|
| **peer-review** | Structured peer review drafting for medical journals. Systematic manuscript analysis, journal-specific formatting (RYAI, INSI, EURE, AJR, KJR), conciseness targets (500-800 words), and pre-submission QC checklist. Constructive developmental tone. |
|
|
549
591
|
| **ma-scout** | Meta-analysis topic discovery and feasibility assessment. Two modes: (A) Professor-first — profile → pillar analysis → MA gaps, (B) Topic-first — question → landscape scan → co-author matching. Multi-source validation (PubMed, PROSPERO, bioRxiv) with realistic k estimation (15-30% discount). |
|
|
550
592
|
| **lit-sync** | Sync research references from .bib files to Zotero library + Obsidian literature notes. Concept extraction from 10+ literature notes with cross-cutting theme discovery. Works after `/search-lit` or standalone. |
|
|
593
|
+
| **obsidian-paper-vault** | Turn a folder of research PDFs into an Obsidian vault: templated literature notes with frontmatter, PDF embed links, and atomic concept notes synthesized across papers. Batch notes are written from pre-extracted text, never from PDF paths handed to subagents. Shares vault folders with `/lit-sync` and never overwrites an existing note. |
|
|
551
594
|
| **academic-aio** | AI search engine (Perplexity / ChatGPT web / Elicit / Consensus / SciSpace) and RAG visibility checklist for medical AI papers. Integrates TRIPOD+AI, CLAIM, STARD-AI, TRIPOD-LLM, DECIDE-AI reporting anchors with generative-engine-optimization (GEO) principles. Covers title, abstract, structured summary boxes (Key Points / Research in Context / Plain-Language Summary), preprints, GitHub README, `CITATION.cff`, Zenodo, and Hugging Face model/dataset cards. Explicit defense against LLM citation fabrication (Agarwal 2025, Nat Commun). Produces a visible PASS/PARTIAL/FAIL checklist; never applies edits silently. Pairs with `write-paper` Phase 4/6/7, runs after `self-review` + `humanize`. |
|
|
552
595
|
| **polish-language** | Academic English consistency linting and non-native (ESL) clarity polish. A deterministic linter (`lint_consistency.py`) flags abbreviation define-once violations, US/UK spelling drift, hyphen-vs-en-dash numeric ranges, `P`/`p` case and impossible `P = 0.000`, hyphenation variants, small-number style, and value/unit spacing — then a gated, style-only clarity pass fixes wording without ever changing numbers, citations, or scientific meaning. Distinct from `humanize` (AI-tell removal) and `check-reporting` (guideline items); bundles a reproducible challenge card. |
|
|
553
596
|
| **manage-refs** | Reference lifecycle as a single skill: citekey ↔ `.bib` validation, journal-CSL pandoc rendering (`render_pandoc.sh`), manuscript ↔ rendered DOCX cross-reference QC (`check_xref.py --strict` is the submission gate), `[N]` ↔ `[@key]` marker conversion, and native Zotero CWYW field-code injection for co-author Word workflows. Hybrid 3-phase strategy (pandoc draft → CWYW transition → Zotero CWYW for circulation/revision/submission). Sole writer of `manuscript_final.docx` and `qc/xref_audit.json`. Split out of `write-paper` Phase 7.6 so `revise`, `peer-review`, `sync-submission`, and `find-journal` can render directly without depending on a sibling skill. |
|
|
@@ -696,8 +739,8 @@ Projects declare their source-of-truth layout in `SSOT.yaml`, and a `qc/migratio
|
|
|
696
739
|
### Meta-Analysis Failure Modes
|
|
697
740
|
`/meta-analysis` ships empirical failure-mode references (data integrity, review orchestration, submission package drift, post-submission release ops) with four automation hooks: `scripts/prisma_5way_consistency.py` (DI-6 PRISMA number consistency), `scripts/extraction_consensus_log_init.py` (DI-1 dual-extraction scaffold), `scripts/tag_cleanup_gate.sh` (DI-8 placeholder tag gate), and `scripts/verify_package_integrity.py` (SPD SHA-256 manifest for submission bundles).
|
|
698
741
|
|
|
699
|
-
###
|
|
700
|
-
`check-reporting` includes bundled checklists for
|
|
742
|
+
### 49 Reporting Guidelines & RoB Tools Built-in
|
|
743
|
+
`check-reporting` includes bundled checklists for 49 guidelines and risk-of-bias tools: STROBE, STROBE-MR, RECORD, GATHER, STARD, STARD-AI, TRIPOD, TRIPOD+AI, TRIPOD-LLM, PGS-RS, CHEERS 2022, CROSS, SRQR, COREQ, PRISMA 2020, PRISMA 2020 for Abstracts, PRISMA-DTA, PRISMA-P, PRISMA-ScR, MOOSE, ARRIVE, CONSORT, CONSORT-AI, CARE, SPIRIT, SPIRIT-AI, CLAIM, DECIDE-AI, SQUIRE 2.0, CLEAR, GRRAS, MI-CLEAR-LLM, SWiM, AMSTAR 2, QUADAS-3, QUADAS-2, QUADAS-C, RoB 2, ROBINS-I, ROBINS-E, ROBIS, ROB-ME, PROBAST, PROBAST+AI, NOS, COSMIN, RoB NMA. Includes Results/Discussion section boundary checks and machine-readable JSON summary for pipeline integration.
|
|
701
744
|
|
|
702
745
|
### Publication-Ready Output
|
|
703
746
|
`analyze-stats` generates reproducible Python/R code for 13 analysis types -- including regression, propensity score, and repeated measures -- with mandatory calibration for prediction models. `make-figures` produces journal-specification figures (300 DPI, colorblind-safe palettes, proper dimensions), visual/graphical abstracts, and a tool selection guide (D2 for flow diagrams, matplotlib for data plots). `--study-type` auto-generates the complete figure set for each study design.
|