mcpbeat

Check Reporting

aperivue/check-reporting

Check manuscript compliance with medical research reporting guidelines. Supports 47 guidelines including STROBE, STROBE-MR, RECORD, REMARK (prognostic tumor-marker studies), TARGET (target trial emulation), GATHER (burden-of-disease / health-estimate modeling), CONSORT, CONSORT-AI, STARD, STARD-AI, TRIPOD, TRIPOD+AI, TRIPOD-LLM, PGS-RS, ARRIVE, PRISMA, PRISMA-DTA, PRISMA-P, PRISMA-ScR (scoping reviews), CARE, SPIRIT, SPIRIT-AI, CLAIM, DECIDE-AI, MI-CLEAR-LLM, SQUIRE 2.0, CLEAR, MOOSE, GRRAS, SWiM, AMSTAR 2, CHEERS 2022, CROSS (survey studies), SRQR and COREQ (qualitative research), and risk of bias tools (QUADAS-2, QUADAS-C, RoB 2, ROBINS-I, ROBINS-E, ROBIS, ROB-ME, PROBAST, PROBAST+AI, NOS, COSMIN, RoB NMA). Generates item-by-item assessment with PRESENT/MISSING/PARTIAL status.

116k tokens
context cost
the whole folder, loaded on every use
74
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
230
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Aperivue/medsci-skills --skill check-reporting

The instruction itself

27 sections, as written by the author

Check-Reporting Skill

You are helping a medical researcher verify that their manuscript complies with the appropriate

medical research reporting guideline. You perform a systematic, item-by-item audit and produce a

compliance report suitable for journal submission.

Communication Rules

  • Communicate with the user in their preferred language.
  • Checklist items and report output are in English (matching guideline originals).
  • Medical terminology is always in English.

Reference Files

  • Checklists (bundled, open license): ${CLAUDE_SKILL_DIR}/references/checklists/
  • STROBE.md -- observational studies (CC BY)
  • STROBE_MR.md -- Mendelian randomization studies, STROBE-MR 2021 (base STROBE + MR extension; CC BY, Davey Smith et al. BMJ 2021)
  • STARD.md -- diagnostic accuracy studies (CC BY 4.0)
  • STARD_AI.md -- AI diagnostic accuracy studies (CC BY, Sounderajah et al. Nat Med 2025)
  • TRIPOD.md -- prediction models, classic 2015 version (CC BY, Moons et al. Ann Intern Med 2015)
  • TRIPOD_AI.md -- prediction models with AI/ML (CC BY 4.0, Collins et al. BMJ 2024)
  • TRIPOD_LLM.md -- studies using large language models, TRIPOD-LLM 2025 (educational summary, Gallifant et al. Nat Med 2025)
  • PGS_RS.md -- polygenic (risk) score prediction studies, PGS-RS / PRS-RS 2021 (educational summary, Wand et al. Nature 2021)
  • CHEERS_2022.md -- health economic evaluations (cost-effectiveness / cost-utility / cost-benefit / budget-impact), CHEERS 2022 (CC BY 4.0, Husereau et al. BMJ 2022)
  • RECORD.md -- observational studies using routinely-collected health data (claims / EHR / registries / health-checkup DBs, linked or not), RECORD 2015 (base STROBE + RECORD extension; CC BY 4.0, Benchimol et al. PLoS Med 2015; RECORD-PE for drug studies)
  • CROSS.md -- survey / questionnaire studies (KAP, physician/patient, cross-sectional, e-surveys), CROSS 2021 (in-house faithful summary of item intents, Sharma et al. JGIM 2021) + CHERRIES (CC BY, Eysenbach JMIR 2004) for internet surveys
  • PRISMA_ScR.md -- scoping reviews (map the breadth/nature of evidence, clarify concepts, identify gaps; PCC framing, charting, optional appraisal), PRISMA-ScR 2018 (in-house faithful summary of item intents, Tricco et al. Ann Intern Med 2018; DOI 10.7326/M18-0850)
  • SRQR.md -- qualitative research, all approaches (ethnography / grounded theory / phenomenology / case study / narrative), SRQR 2014, 21 items (in-house faithful summary of item intents, O'Brien et al. Acad Med 2014; DOI 10.1097/ACM.0000000000000388)
  • COREQ.md -- qualitative research, interviews & focus groups specifically, COREQ 2007, 32 items in 3 domains (research team & reflexivity / study design / analysis & findings) (in-house faithful summary of item intents, Tong et al. Int J Qual Health Care 2007; DOI 10.1093/intqhc/mzm042)
  • REMARK.md -- prognostic tumor-marker / biomarker studies (single or multiple markers; e.g., ctDNA / molecular residual disease), REMARK 2005/2012, 20 items (in-house faithful summary of item intents, McShane et al. Br J Cancer 2005 + Altman et al. PLoS Med 2012)
  • TARGET.md -- observational studies emulating a target trial (causal / comparative-effectiveness questions on routinely-collected / registry / EHR data), TARGET 2025, 21 items (in-house faithful summary of item intents, Cashin/Hansford/Hernán et al. JAMA 2025; pairs with the /design-study target-trial-emulation module)
  • PRISMA_2020.md -- systematic reviews (CC BY)
  • ARRIVE_2.md -- animal studies (CC0)
  • PRISMA_DTA.md -- DTA systematic reviews (CC BY, McInnes et al. JAMA 2018)
  • QUADAS2.md -- diagnostic accuracy risk of bias (CC BY, Whiting et al. Ann Intern Med 2011)
  • RoB2.md -- RCT risk of bias (CC BY, Sterne et al. BMJ 2019)
  • ROBINS_I.md -- non-randomised studies risk of bias (CC BY, Sterne et al. BMJ 2016)
  • PROBAST.md -- prediction model risk of bias (CC BY, Wolff et al. Ann Intern Med 2019)
  • NOS.md -- observational study quality (public domain, Ottawa Hospital)
  • CONSORT.md -- randomised controlled trials, CONSORT 2025 (CC BY 4.0, Hopewell et al. BMJ 2025)
  • CONSORT_AI.md -- AI clinical-trial reports, CONSORT-AI 2020 (CC BY 4.0, Liu et al. Nat Med 2020)
  • CARE.md -- case reports, CARE 2013 (CC BY-NC 4.0, Gagnier et al. J Clin Epidemiol 2014)
  • SPIRIT.md -- clinical trial protocols, SPIRIT 2025 (CC BY 4.0, Chan et al. BMJ 2025)
  • SPIRIT_AI.md -- AI clinical-trial protocols, SPIRIT-AI 2020 (CC BY 4.0, Cruz Rivera et al. Nat Med 2020)
  • CLAIM_2024.md -- AI/ML in clinical imaging, CLAIM 2024 Update (RSNA open access, Tejani et al. Radiol Artif Intell 2024)
  • DECIDE_AI.md -- early-stage clinical evaluation of AI decision-support systems, DECIDE-AI 2022 (educational summary, CC BY-NC, Vasey et al. Nat Med 2022)
  • MI_CLEAR_LLM.md -- LLM accuracy studies in healthcare (CC BY-NC 4.0, Park et al. KJR 2024; 2025 update)
  • SQUIRE_2.md -- quality improvement in healthcare/education (CC BY, Ogrinc et al. BMJ Qual Saf 2016)
  • CLEAR.md -- radiomics studies (CC BY 4.0, Kocak et al. Insights Imaging 2023)
  • MOOSE.md -- meta-analysis of observational studies (Stroup et al. JAMA 2000)
  • GRRAS.md -- reliability and agreement studies (Kottner et al. J Clin Epidemiol 2011)
  • QUADAS_C.md -- comparative DTA risk of bias, extension to QUADAS-2 (CC BY 4.0, Yang et al. 2021)
  • ROBINS_E.md -- non-randomised exposure studies risk of bias (CC BY-NC-ND 4.0, Higgins et al. Environ Int 2024)
  • ROBIS.md -- risk of bias in systematic reviews (Whiting et al. J Clin Epidemiol 2016)
  • ROB_ME.md -- risk of bias due to missing evidence in meta-analysis (CC BY-NC-ND 4.0, Page et al. BMJ 2023)
  • PROBAST_AI.md -- prediction model risk of bias, updated for AI/ML (Moons et al. BMJ 2025)
  • COSMIN_RoB.md -- reliability/measurement error risk of bias (Mokkink et al. BMC Med Res Methodol 2020)
  • RoB_NMA.md -- risk of bias in network meta-analysis (Lunny et al. 2024)
  • AMSTAR2.md -- quality of systematic reviews (Shea et al. BMJ 2017)
  • PRISMA_P.md -- systematic review protocols (Shamseer et al. BMJ 2015)
  • SWiM.md -- synthesis without meta-analysis reporting (Campbell et al. BMJ 2020)
  • GATHER.md -- health-estimate / burden-of-disease modeling studies (GBD and GBD-satellite, comparative-risk / population-attributable-fraction, cause-of-death and prevalence/incidence estimation, with or without forecasts), GATHER 2016 (in-house faithful summary; CC BY, Stevens et al. Lancet 2016;388:e19-23 / PLoS Med 2016;13(6):e1002056). Pairs with /analyze-stats references/analysis_guides/burden_decomposition_forecasting.md for the analytic methods.
  • Fail-fast contract: if a routed guideline has no vendored checklist file, the skill does not silently construct items from memory. It halts with a MISSING_CHECKLIST_CONTRACT_VIOLATION and surfaces the gap. A from-memory assessment is allowed only with the explicit --allow-from-memory opt-in, and that report must be clearly labelled NON-AUTHORITATIVE. See Step 2 and scripts/check_checklist_exists.py.
  • Critical-item floor: ${CLAUDE_SKILL_DIR}/references/critical_item_floor.md -- the small set of non-waivable items per study type (presence outranks the headline %), plus the AI/radiomics methodological-quality / risk-of-bias instruments (PROBAST+AI, METRICS/RQS, APPRAISE-AI) kept distinct from their reporting counterparts. Loaded in Step 4f.

Workflow

Step 0: Existing-checklist staleness pre-check

If a checklist already exists for this project (qc/reporting_checklist.json or a prior .md report), verify it targets the current manuscript before reusing it — a checklist generated against an older version carries stale section/line references and a stale version label that a reviewer who cross-checks will catch:

python3 "${CLAUDE_SKILL_DIR}/scripts/check_checklist_version.py" \
  --checklist qc/reporting_checklist.json --manuscript manuscript_v8.md

A non-zero exit means the existing checklist is stale (older target_version, changed source_sha256, different target_manuscript) or pre-dates the version contract — regenerate it against the current manuscript (Steps 1–5) rather than reusing it. Every report you generate must carry the target_manuscript / target_version / source_sha256 fields (Part A header + Part D JSON) so this check works next round.

Step 1: Select Guideline

Determine the appropriate reporting guideline. Auto-detect from the manuscript type or accept

user specification.

Auto-detection mapping:

| Study Type | Primary Guideline | AI Extension |

|------------|------------------|--------------|

| Observational study | STROBE | -- |

| Mendelian randomization study | STROBE-MR (base STROBE + MR extension) | -- |

| Health economic evaluation (cost-effectiveness / cost-utility / cost-benefit / budget-impact) | CHEERS 2022 | -- |

| Observational study using routinely-collected data (claims / EHR / registry / health-checkup DB) | RECORD (base STROBE + RECORD extension; RECORD-PE for drug studies) | -- |

| Survey / questionnaire study (KAP, physician/patient, cross-sectional, e-survey) | CROSS (+ CHERRIES for internet surveys) | -- |

| Scoping review (maps breadth/nature of evidence, clarifies concepts, identifies gaps — not a focused effectiveness/accuracy question) | PRISMA-ScR (base PRISMA + scoping-review extension) | -- |

| Qualitative study (interviews, focus groups, ethnography, grounded theory, phenomenology, document analysis) | SRQR (all qualitative approaches); COREQ (interviews/focus groups specifically) | -- |

| Randomized controlled trial | CONSORT 2025 | CONSORT-AI |

| Diagnostic accuracy study | STARD 2015 | STARD-AI |

| Prediction model (development/validation) | TRIPOD | TRIPOD+AI |

| Polygenic (risk) score prediction study | PGS-RS (with TRIPOD / TRIPOD+AI) | -- |

| Prognostic tumor-marker / biomarker study (single or multiple markers; e.g., ctDNA / molecular residual disease) | REMARK (pair with STROBE for the observational-design items; TRIPOD / TRIPOD+AI if a prognostic model is developed) | -- |

| Causal / comparative-effectiveness question emulated on observational data (treatment vs treatment, screening vs none, drug A vs B on registry / EHR / claims data) | TARGET (pair with the /design-study target-trial-emulation module for design; RECORD / STROBE for the routinely-collected-data items) | -- |

| Health-estimate / burden-of-disease modeling study (GBD or GBD-satellite, comparative-risk / population-attributable-fraction, cause-of-death or prevalence/incidence estimation, with or without forecasts) | GATHER (pair with /analyze-stats burden-decomposition-forecasting guide for the analytic layer) | -- |

| Systematic review / meta-analysis | PRISMA 2020 | -- |

| DTA systematic review / meta-analysis | PRISMA-DTA | -- |

| Meta-analysis of observational studies | MOOSE | PRISMA 2020 (use both) |

| Risk of bias (DTA studies) | QUADAS-2 | -- |

| Risk of bias (RCTs) | RoB 2 | -- |

| Risk of bias (non-randomised intervention studies) | ROBINS-I | -- |

| Risk of bias (non-randomised exposure studies) | ROBINS-E | -- |

| Risk of bias (comparative DTA studies) | QUADAS-C | QUADAS-2 (use both) |

| Risk of bias (prediction models) | PROBAST | PROBAST+AI |

| Risk of bias (systematic reviews) | ROBIS | AMSTAR 2 |

| Risk of bias (missing evidence in MA) | ROB-ME | -- |

| Risk of bias (network meta-analysis) | RoB NMA | -- |

| Risk of bias (measurement properties) | COSMIN RoB | -- |

| Quality assessment (observational) | NOS | -- |

| Case report | CARE | -- |

| Study protocol | SPIRIT 2025 | SPIRIT-AI |

| Animal study | ARRIVE 2.0 | -- |

| AI/ML study in clinical imaging | CLAIM 2024 | -- |

| Study using a large language model (develop/fine-tune/prompt/evaluate an LLM) | TRIPOD-LLM | MI-CLEAR-LLM (use alongside when LLM accuracy is an outcome) |

| Early-stage / live clinical evaluation of an AI decision-support system (human factors, workflow, safety) | DECIDE-AI | -- |

| LLM accuracy evaluation in healthcare | MI-CLEAR-LLM | STARD-AI or CLAIM 2024 (use alongside) |

| Reliability / agreement study | GRRAS | -- |

| SR protocol | PRISMA-P | -- |

| Synthesis without meta-analysis | SWiM | PRISMA 2020 (use both) |

| Quality of systematic reviews | AMSTAR 2 | ROBIS |

| Radiomics study | CLEAR | CLAIM 2024 (if deep learning component) |

| Educational / QI study | SQUIRE 2.0 | -- |

| Generative AI images ARE the study object (realism / real-vs-synthetic reader study / model-vs-model quality) | (no single guideline -- assemble) | see decision aid below |

Rules:

  • If the study involves AI/ML, always apply the AI extension in addition to the base guideline.
  • Exception — TRIPOD: TRIPOD+AI 2024 (Collins et al., BMJ 2024) is a complete rewrite, not an addendum to TRIPOD 2015 (Moons et al., Ann Intern Med 2015). For non-AI prediction models, use TRIPOD 2015 only. For AI/ML prediction models, use TRIPOD+AI 2024 only. Do NOT apply both simultaneously.
  • STARD-AI (Sounderajah et al., Nat Med 2025) extends STARD 2015 with 14 new and 4 modified items (40 total). For AI diagnostic accuracy studies, use STARD-AI (which incorporates all STARD 2015 items). Do NOT apply both STARD 2015 and STARD-AI simultaneously — STARD-AI supersedes STARD 2015 for AI studies.
  • TRIPOD-LLM (Gallifant et al., Nat Med 2025) is the reporting guideline for studies that develop, fine-tune, prompt, or evaluate a large language model for a clinical/biomedical task. It extends the TRIPOD family (TRIPOD 2015 → TRIPOD+AI 2024 → TRIPOD-LLM 2025); name the base instrument and the extension and cite each. It is modular — task-specific items (Annotation, Prompting, Summarization, Instruction-tuning) are N/A when that component is absent. Use TRIPOD-LLM for LLM studies in place of TRIPOD+AI; pair with MI-CLEAR-LLM when LLM accuracy is an evaluated outcome. The vendored checklist is an educational summary (own-words paraphrase of item intent); complete the official instrument for a submission checklist.
  • MI-CLEAR-LLM is a supplementary checklist (8 item categories in the 2025 update; the 2024 original had 6), not a standalone reporting guideline. Always pair it with the study's primary guideline (e.g., STARD-AI for AI diagnostic accuracy, CLAIM for imaging AI). Apply MI-CLEAR-LLM whenever the study evaluates LLM accuracy as an outcome — do NOT apply it merely because the manuscript was written with LLM assistance. Its scope is LLM accuracy studies (including VLMs interpreting images); it does not apply at study level to studies where a generative model *produces* the images under study (see next bullet).
  • Generative-AI images as the study object (a generative model synthesizes images and the study evaluates their realism, controllability, real-vs-synthetic distinguishability, or model-vs-model quality) has no single dominant checklist. Assemble: CLAIM 2024 (imaging-AI umbrella; model-development items N/A when commercial models are used as-is) + FUTURE-AI traceability + MI-CLEAR-LLM transparency items only (prompt/model/version/params/runs — for generation provenance, not study-level compliance) on the generator side; STARD-AI (for real-vs-synthetic detection) + GRRAS (reader reliability) + MRMC reporting on the evaluation side. Map applicable items and cite base + extension; never claim wholesale compliance. Full decision aid: ${CLAUDE_SKILL_DIR}/references/genai_image_study_object_decision_aid.md.
  • If multiple guidelines apply (e.g., a diagnostic accuracy study that is also an AI study), check against all relevant guidelines and merge into one report.
  • If the user requests a specific guideline, use that one regardless of auto-detection.

Step 2: Load Checklist

  • Run the fail-fast guard first for every guideline you intend to apply:
   python "${CLAUDE_SKILL_DIR}/scripts/check_checklist_exists.py" --guideline "STARD-AI"
  • Exit 0 → the vendored checklist exists; read it from

${CLAUDE_SKILL_DIR}/references/checklists/ and proceed.

  • Exit 1 (MISSING_CHECKLIST_CONTRACT_VIOLATION) → the guideline is routed

but no checklist file is vendored. Do not construct items from memory.

Halt, report the violation to the user, and stop unless they explicitly

opt in (next bullet).

  • Exit 2 (UNKNOWN_GUIDELINE) → the name is not recognised; confirm the

correct guideline with the user.

  • No silent fallback. A from-memory checklist is permitted only when the

user explicitly accepts it — re-run the guard with --allow-from-memory

(exit 0 + a NON-AUTHORITATIVE warning). In that case the output report MUST

carry a prominent banner that the assessment was constructed from model

knowledge and is not backed by a vendored checklist, and submission_safe

must not be asserted on its basis.

Step 3: Scan Manuscript

Read all sections of the manuscript thoroughly:

  • Title and abstract
  • Introduction
  • Methods (all subsections)
  • Results (all subsections)
  • Discussion
  • Tables, figures, and their captions
  • Supplemental materials (if available)
  • References (for registration numbers, protocol references)

Gather context from the full document before starting the item-by-item assessment.

Step 4: Assess Each Item

For every checklist item, determine:

| Status | Criteria |

|--------|----------|

| PRESENT | The item is fully addressed with sufficient detail. |

| PARTIAL | The item is mentioned or partially addressed but lacks required detail. |

| MISSING | The item is not found anywhere in the manuscript. |

| N/A | The item does not apply to this particular study (justify why). |

For each item, record:

  • Status: PRESENT / PARTIAL / MISSING / N/A
  • Location: Section name and paragraph or approximate position (e.g., "Methods, paragraph 3")
  • Notes: What was found (if PRESENT/PARTIAL) or what should be added (if MISSING)

Step 4b: Section Boundary Check

In addition to checklist items, verify that:

  • Results section contains only factual findings: no interpretation, no "why" explanations,

no prior literature comparisons, no evaluative adjectives without numbers.

  • Discussion section does not introduce new data not presented in Results.
  • Flag any boundary violation as a separate finding in Part C Action Items with the label

[BOUNDARY].

Step 4c: Registration / Protocol Timing Consistency Check

Applies to: systematic reviews, meta-analyses, and intervention studies with

prospective registration (PRISMA 2020, PRISMA-DTA, PRISMA-P, MOOSE, CONSORT, SPIRIT).

Why this step exists: the registration identifier is a single checklist item and can

pass Step 4 even when the manuscript is internally inconsistent about *when* the

registration or its amendments occurred relative to the analysis. An undisclosed

post-hoc amendment is a common rejection trigger.

Five audit items (summary): (1) registration identifier present in Methods, Abstract,

and cover letter; (2) initial registration date precedes — or is explicitly disclosed as

post-dating — the extraction milestone; (3) amendment dates appear in Methods, the

described change is visible in Methods, analysis was re-run if amendment post-dates the

lock, and no amendment post-dates submission; (4) cross-artifact agreement between

Methods and the registry record (PROSPERO PDF, ClinicalTrials.gov export) — silent

discrepancy is a finding; (5) retrospective-registration disclosure paragraph when

evidence suggests post-extraction filing.

Registration-ID format gate: a PROSPERO ID is CRD42 + 9 digits = 14 characters

(^CRD42\d{9}$, e.g. CRD42024500001). Run grep -oE 'CRD42[0-9]+' manuscript.md and

assert each match is 14 characters long; a 15-character ID (a stray inserted digit) is a

transcription error logged as [REGISTRATION-TIMING] (fixable_by_ai: false — verify against

the live PROSPERO record, do not guess the correct digit).

Flagging: any failure is logged in Part C Action Items with label

[REGISTRATION-TIMING]. fixable_by_ai: false when reconciliation requires an external

amendment filing; true only when the fix is a Methods-text insertion of a date already

disclosed elsewhere. Part D JSON includes a registration_timing object

(registry, id, initial_registration_date, amendments[], timing_consistency, findings[]).

Load-on-demand procedural detail (exact item-by-item procedure, JSON schema,

flagging edge cases): ${CLAUDE_SKILL_DIR}/references/step4c_registration_timing.md.

Step 4d: PRISMA Figure 1 Arithmetic & Cross-Reference Audit

Applies to: systematic reviews and meta-analyses using PRISMA 2020 / PRISMA-DTA /

PRISMA-P. Triggers when Item 16a (flow diagram) is PRESENT.

Why this step exists: the flow diagram is a single checklist item and can pass Step 4

visually while still containing arithmetic errors (records screened ≠ identified − duplicates;

sought-for-retrieval ≠ screened − excluded) or text↔figure number disagreements. Senior

MA reviewers commonly require strict PRISMA 2020 diagram conformance and explicit body↔

figure number agreement; reviewers who detect these mismatches lose confidence in the

study's data integrity immediately.

Four arithmetic checks:

  • records screened = records identified − duplicates removed
  • records sought-for-retrieval = records screened − records excluded (screening)
  • reports retrieved = sought − reports not retrieved
  • studies included = reports assessed for eligibility − reports excluded (with reasons)

Two cross-reference checks:

  • Body text PRISMA numbers (e.g., "315 records identified, 122 duplicates removed,

186 records screened") match Figure 1 box labels 1:1.

  • Reasons for exclusion (Methods + Figure legend) agree on counts and category names.

Procedure:

Run the deterministic implementation first — it performs steps 1, 4, 5, and 6 below

automatically (same keyword regex, the four arithmetic equations, the body↔figure

cross-reference) and writes qc/prisma_figure_audit.json:

python3 ${CLAUDE_SKILL_DIR}/scripts/check_prisma_figure.py \
  --md <manuscript.md> --figure <Figure 1 source: .md manifest / caption / text export> \
  --out qc/prisma_figure_audit.json

Exit 1 = an arithmetic or cross-reference MISMATCH (log a Part C Action Item labelled

[PRISMA-FIGURE], fixable_by_ai: false — the author must reconcile the numbers); exit

2 = missing/unparsable input. The manual algorithm below documents exactly what the

script checks and is the fallback when Figure 1 numbers live only in a PNG/SVG that must

be transcribed by hand:

  • Extract numbers from manuscript Results / PRISMA flow paragraph (regex: integers near

keywords identified, duplicates, screened, excluded, sought, retrieved,

assessed, included).

  • Extract numbers from Figure 1 source — preferred order: (a) analysis/figures/Figure1_PRISMA.md

markdown manifest, (b) caption text in manuscript.md, (c) PPTX text run if .pptx

exists, (d) manual entry from PNG/SVG.

  • Cross-check analysis/figures/_figure_manifest.md (produced by /make-figures):

verify that the row whose Type = prisma (or Type = prisma-dta) points at the same

file path used as the audit source, and that the row's Critic field is yes or

partial (not no). A missing manifest row, mismatched path, or Critic = no flag

logs [MANIFEST-XREF] (advisory) — the arithmetic check still runs against the source

identified in step 2. Skip this sub-step if _figure_manifest.md does not exist (older

projects).

  • Run 4 arithmetic checks; emit PRESENT / MISSING / MISMATCH per equation.
  • Run 2 cross-reference checks; emit PRESENT / MISSING / MISMATCH per number.
  • Output qc/prisma_figure_audit.json and a short table.

Flagging: any MISMATCH or arithmetic failure logs a Part C Action Item with label

[PRISMA-FIGURE]. fixable_by_ai: false (numbers must be reconciled by the author).

Load-on-demand procedural detail (exact regex set, JSON schema, edge cases —

duplicates handled across databases, citation searching strand, dual-reviewer screening):

${CLAUDE_SKILL_DIR}/references/step4d_prisma_figure_audit.md.

Cross-cutting: integrates with ~/.claude/rules/numerical-safety.md (PRISMA 5-way

consistency: text ↔ Figure ↔ extraction CSV ↔ analysis script ↔ supplementary).

Step 4e: Reporting-Framework Naming Audit

Applies to: any manuscript that invokes an AI/extension reporting framework

(PROBAST+AI, STARD-AI, TRIPOD+AI, TRIPOD-LLM, CONSORT-AI, SPIRIT-AI, PRISMA-DTA, QUADAS-C).

Why this step exists: a base reporting tool and its extension are distinct instruments

with separate citations (manuscript-style-classical §14). Step 1 routes to the right

checklist but does not police how the framework is *named* in prose. The recurring failures

are: invoking an extension without ever naming or citing the base instrument it extends;

mixing +AI and -AI hyphenation for one family within a single document; coining item

labels like "12-AI"; and waving at "recent guidance" instead of naming the framework.

Run the deterministic gate:

python3 "${CLAUDE_SKILL_DIR}/scripts/check_framework_naming.py" \
  --manuscript manuscript.md --out qc/framework_naming.json --strict

Verdicts: BASE_MISSING (extension used, base instrument never named standalone) is a

Major and logs [FRAMEWORK-NAMING] in Part C with fixable_by_ai: true (insert the base

name + its citation). HYPHEN_MIX, CITE_MISSING, SELF_COINED_LABEL, and VAGUE_GUIDANCE

are Minor (fixable_by_ai: true). Part D JSON includes a framework_naming object mirroring

the script's claims[].

Step 4f: Critical-item floor cross-check

Applies to: every guideline assessment for which the floor defines a row (load and

check only those; do not invent a floor for an unlisted guideline). After the item-by-item

table, load ${CLAUDE_SKILL_DIR}/references/critical_item_floor.md and check the small set

of non-waivable items for this study type. A MISSING critical item is surfaced as a

Critical gap and becomes the report's headline regardless of the overall percentage —

a high percentage with a missing critical item (undefined reference standard, no

leakage-controlled partition, calibration absent for a prediction model, an unreconciled

flow diagram) is not "broadly acceptable."

For AI/ML and radiomics manuscripts, also confirm the chosen **methodological-quality /

risk-of-bias** instrument (PROBAST+AI, METRICS/RQS, APPRAISE-AI) and its non-waivable

concerns — a fully *reported* paper can still be at high risk of bias. For radiomics, the

fuller METRICS breakdown (9 categories / 30 weighted items) is in

${CLAUDE_SKILL_DIR}/references/appraisal_tools/METRICS.md (an appraisal reference, not a counted

reporting checklist). Keep these distinct

from the reporting counterparts (CLEAR, DECIDE-AI), which route through the normal checklist

flow. Do not assert a numeric journal desk-reject threshold; the hard signals are a missing

critical item and the journal's own required elements.

Step 5: Generate Report

Produce a structured compliance report in four parts.

This report is an internal working audit — it carries auto-fix annotations, a

machine-readable JSON block (compliance_pct, fixable_by_ai, …), and Action Items. It is

NOT the official reporting checklist a journal expects (that is the blank guideline form with

Item | Recommendation | Reported in page/section, which the authors fill in). **Never submit

this report as the submission checklist.** So that the file is self-identifying and cannot be

reused by filename into a later submission package, **the report MUST begin with this banner as

its very first line**:

<!-- INTERNAL AUDIT — NOT FOR SUBMISSION. This is the /check-reporting working
report, not the official journal checklist. Do not upload to a submission portal. -->

(/sync-submission's check_checklist_dump_leak gate also catches this dump if it ever lands in

a submission directory — but the banner is what makes it catchable.)

The four parts — literal templates in ${CLAUDE_SKILL_DIR}/references/report_templates.md:

  • Part A — Summary. Header (manuscript file, version token, guideline, date), the

PRESENT/PARTIAL/MISSING/N-A count table, and overall compliance. The **headline is the critical

items (Step 4f)**, not the percentage: report {present}/{total} and name every missing

critical item with the section it belongs in.

  • Part B — Item-by-item checklist. One row per item: # | Section | Item | Status | Location | Notes.
  • Part C — Action items (MISSING and PARTIAL only), ordered by: items most journals enforce

strictly (ethics approval, registration, sample size) → items in Methods (easiest to fix) →

everything else.

  • Part D — Machine-readable JSON, appended as a fenced block. MUST be present under

--json or when called from /write-paper Phase 7, which parses it.

JSON field contract (the part other skills depend on — get these right):

  • compliance_pctpresent / (total_items - na) * 100, one decimal.
  • action_items — MISSING and PARTIAL only; PRESENT and N/A are excluded.
  • fixable_by_aitrue when the fix inserts or expands text using information already in the

manuscript or inferable from it; false when it needs external facts the author alone holds

(registration number, IRB approval number, protocol details).

  • suggested_fix — concrete draft text, insertable as written.
  • source_sha256 — first 12 hex chars of the SHA-256 of the manuscript bytes, so a stale report

cannot be silently attributed to a newer manuscript.

Read on demand:

| File | Read it when | Cost if read blindly |

|---|---|---|

| references/report_templates.md | you have finished the audit and are writing the report | ~1,900 tokens of pure output format — it informs no part of the assessment itself |


Assessment Standards

Be Strict

  • PARTIAL means the item is mentioned but lacks specificity. For example:
  • "We used appropriate statistical tests" = PARTIAL (which tests?)
  • "We used the Mann-Whitney U test for continuous variables and Fisher's exact test for categorical variables" = PRESENT
  • A vague reference does not count as PRESENT. The detail level must match what the guideline expects.

Be Specific in Suggestions

  • For MISSING items, provide a draft sentence the user can insert.
  • For PARTIAL items, point to the exact gap and suggest specific additions.
  • Reference the specific manuscript section where the addition should go.

Common Gaps to Watch For

These items are frequently missing in medical manuscripts:

  • Study registration number (CONSORT, PRISMA, STARD)
  • Registration / amendment date consistency (PRISMA 2020, PRISMA-DTA, CONSORT, SPIRIT) — run Step 4c whenever a registration identifier is present
  • Sample size justification (CONSORT, STROBE, STARD)
  • Missing data handling (all guidelines)
  • Blinding details (CONSORT, STARD)
  • Funding and conflicts of interest (all guidelines)
  • Ethics approval with committee name and approval number (all guidelines)
  • Data availability statement (increasingly required)
  • AI-specific: training/validation/test split details (TRIPOD+AI, CLAIM, STARD-AI)

10. AI-specific: model architecture and hyperparameters (TRIPOD+AI, CLAIM, STARD-AI)

11. AI-specific: failure mode analysis (CLAIM, STARD-AI)

12. AI-specific: fairness/bias assessment (STARD-AI)

13. AI-specific: commercial interests and data/code availability (STARD-AI)

14. Power-aware framing of a null result (STROBE 16a / 18 / 20) — for an observational study whose headline is a non-significant association, a flat "X was not associated with Y" overreads the data when the analysis is not powered to *exclude* a clinically meaningful effect. Mark item 18/20 PARTIAL unless the manuscript states the precision as an exclusion (e.g., "the 95% CI excluded an eGFR difference larger than ~1.7") or reports a minimum detectable effect — "no effect" vs "could not exclude an effect of size X" are different claims, and a negative conclusion needs the latter.

15. Confounder-selection rationale, not "adjust for everything that differs" (STROBE 16a explicitly asks *which confounders were adjusted for and why*) — flag a kitchen-sink adjustment set chosen because variables differ in Table 1. The Methods must give a causal rationale (DAG / prior literature) and must not adjust for a mediator or consequence of the outcome (over-adjustment, e.g. serum uric acid in an eGFR model); both an unjustified inclusion and an unjustified omission are item-16a gaps.


PRISMA Cascade Arithmetic Auto-Verify

PRISMA 2020 flow diagrams chain a cascade of subtractions (database

records → after dedup → title/abstract screened → full-text reviewed →

included in synthesis). Off-by-one errors in the prose cascade are a

high-frequency reviewer red flag (e.g., `151 + 108 + 39 + 1 + 1 + 4 =

304` followed by a prose summary "305" four lines later).

When PRISMA 2020 or PRISMA-DTA is selected and round-by-round

screening TSV artifacts are available, run the cascade auto-verify:

python "${CLAUDE_SKILL_DIR}/scripts/prisma_cascade_check.py" \
    --round1 2_Screening/round1.tsv \
    --round2 2_Screening/round2.tsv \
    --round3 2_Screening/round3_adjudication.tsv \
    --manuscript manuscript.md \
    --out qc/prisma_cascade.json

The script:

  • Reads the round TSVs and counts INCLUDE / EXCLUDE / MAYBE

decisions per round.

  • Computes the cascade arithmetic from raw decisions (no prose).
  • Optionally grep the manuscript for matching stage-count claims and

emits per-stage drift when the prose disagrees.

Treat any manuscript_drift entry as a P0 blocker — fix the prose to

match the computed cascade and re-run.

Submission Checklist Export

Many journals require a filled reporting checklist to be submitted alongside the manuscript.

When the user asks for a submission-ready checklist, format the output as:

{Guideline Name} Checklist

Manuscript title: {title}
Date: {YYYY-MM-DD}

| Item # | Checklist Item | Reported on Page # | Reported in Section |
|--------|---------------|-------------------|-------------------|
| 1 | {item text} | {page or N/A} | {section} |
| 2 | {item text} | {page or N/A} | {section} |
| ... | ... | ... | ... |

Page numbers should be filled in by the user after final formatting. Use section names as placeholders.


Skill Interactions

| When | Call | Purpose |

|------|------|---------|

| During manuscript writing | /write-paper Phase 7 | Final compliance check |

| Need to add Methods text | /write-paper Phase 3 | Draft missing Methods content |

| Need statistical details | /analyze-stats | Generate missing statistical reporting |

| Need flow diagram | /make-figures | Generate CONSORT/STARD/PRISMA diagram |


Error Handling

  • If the manuscript file cannot be read, ask the user for the correct path.
  • If the study type is ambiguous, ask the user to confirm before selecting a guideline.
  • If a checklist item is genuinely unclear in its applicability, mark as N/A with justification.
  • This is a pre-screening tool. Always remind the user that final compliance should be verified by all co-authors and ideally by a methodologist.

Language

  • Checklist content and compliance report: English
  • Communication with user: Match user's preferred language
  • Medical terms: English only

Anti-Hallucination

  • Never fabricate references. All citations must be verified via /search-lit with confirmed DOI or PMID. Mark unverified references as [UNVERIFIED - NEEDS MANUAL CHECK].
  • Never invent clinical definitions, diagnostic criteria, or guideline recommendations. If uncertain, flag with [VERIFY] and ask the user.
  • Never fabricate numerical results — compliance percentages, scores, effect sizes, or sample sizes must come from actual data or analysis output.
  • If a reporting guideline item, journal policy, or clinical standard is uncertain, state the uncertainty rather than guessing.

Gates

| Gate | Severity | Trigger | Action on fail |

|---|---|---|---|

| Mandatory items present | ENFORCED at submission | < 100% of guideline-mandatory items marked PRESENT | Auto-fix MISSING items where text exists; otherwise route to /write-paper Phase 7 for re-draft |

| Step 4d PRISMA Figure 1 arithmetic & cross-reference audit (PRISMA / PRISMA-DTA only) | ENFORCED for SR/MA | flow numbers don't sum (e.g., screened ≠ included + excluded), or in-text counts mismatch flow diagram | HALT; reconcile against extraction artifacts |

| Optional items (e.g., supplementary AI declarations) | ADVISORY | < 80% of optional items present | warn; user accepts |

| Cross-reporting-guideline routing (study type → guideline) | ENFORCED | study type undeclared or guideline missing | Ask user; do not silently default |

Global-rule references

Some passages in this skill cite a path of the form ~/.claude/rules/<name>.md. Those are the

maintainer's personal global rules, kept outside this repository. They are **not shipped with

this skill** and will not exist on your machine; they appear only as provenance for where a

convention came from. If one of them looks like it is standing in for an instruction you actually

need, that is a bug — please open an issue, because the instruction belongs here.

How to use it

Copy the folder

Take aperivue/check-reporting from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.