academic-aio
Use when a medical AI paper should be found and cited by AI search engines and RAG tools. Optimizes the title, abstract, summary…
Use when building, auditing or freezing a journal submission package from the canonical manuscript. Detects drift between the source and the per-journal submission copy, builds byte-preserving packages with manifests, and records current, stale or frozen status.
$ npx -y skills add Aperivue/medsci-skills --skill sync-submission --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sync-submissionContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when building, auditing or freezing a journal submission package from the canonical manuscript. Detects drift between the source and the per-journal submission copy, builds byte-preserving packages with manifests, and records current, stale or frozen status.
name: sync-submission description: Use when building, auditing or freezing a journal submission package from the canonical manuscript. Detects drift between the source and the per-journal submission copy, builds byte-preserving packages with manifests, and records current, stale or frozen status. metadata: triggers: "sync submission, build submission, submission drift, SSOT sync, journal package, retarget journal, freeze submission"
Keep the canonical manuscript and journal-specific submission packages from drifting apart. Treat `submission/{journal}/` as derived output and record whether it is current, stale, or frozen.
1. Project root containing `project.yaml`, or a direct canonical manuscript path. 2. Journal short name, e.g. `chest`, `ryai`, `academic_radiology`. 3. Optional mode:
python "${CLAUDE_SKILL_DIR}/scripts/sync_submission.py" audit --project-root . --journal chest
python "${CLAUDE_SKILL_DIR}/scripts/sync_submission.py" build --project-root . --journal chest
python "${CLAUDE_SKILL_DIR}/scripts/sync_submission.py" freeze --project-root . --journal chest --status submittedFor double-blind journals, sweep author identifiers across all upload artifacts:
python "${CLAUDE_SKILL_DIR}/scripts/blind_sweep.py" \
--registry _shared/authors/author_registry.yaml \
--files submission/{journal}/supplementary/*.md submission/{journal}/cover_letter.md \
--backup-dir .cache/blind_sweep_backupThe registry is a project-local YAML mapping author identifiers (full names, native scripts, initials with/without periods, email, ORCID) to role labels (e.g., "Reviewer 1"); schema in `scripts/author_registry_example.yaml`. Never commit a populated registry to a public repository, because it lists the authors' identities — keep it next to the manuscript.
| Artifact | Path | Purpose | |---|---|---| | Submission metadata | `submission/{journal}/.journal_meta.json` | Source hash, status, canonical path | | Sync audit | `qc/submission_sync_{journal}.json` | Drift result consumed by orchestrator | | Manifest update | `artifact_manifest.json` | Submission package registry | | Pre-flight gate | `qc/preflight_gate_report.json` | Aggregated halt-on-failure manifest (see "Pre-flight gate" below) | | Supplement structure | `qc/supplement_structure.json` | Gate 14: index↔file 1:1, sub-section gaps, callout coverage |
For a complete bundle, run the existing renderers first, then `build --bundle-spec bundle.json`. The declaration adds final Word/PDF, supplement, cover-letter, table/figure and notice files with pinned render-input hashes and reuse-rights records. Copies preserve file bytes; content and visual fidelity stay `not_assessed` until separately reviewed. Build refuses edited or frozen outputs and destructive path collisions. Read [bundle workflow](references/bundle_workflow.md) for the schema, a runnable synthetic example and the limits of each recorded check.
Run this once, right before `freeze`/submission:
python "${CLAUDE_SKILL_DIR}/scripts/preflight_gate.py" --project-root . --journal chest
# add --strict to also halt on the heuristic/conditional (P1) checks
# add --online to make fabricated / author-mismatched references halt (PubMed/CrossRef)
# add --double-blind to make the asset-anonymization scan haltIt shells out to the per-check scripts (reimplementing none), writes `qc/preflight_gate_report.json`, and exits `0` clean, `1` halt (≥1 blocker), `2` gate config error (e.g. a `--require`'d check could not run). A non-zero exit blocks the freeze.
(`check_placeholders.py`), undefined `[@key]` citations (`check_citation_keys.py`), duplicate references (`verify_refs.py`, offline-deterministic), a canonical-vs-submission hash mismatch (`sync_submission.py audit`), and an internal-audit dump in a reviewer-facing file (`check_checklist_dump_leak.py`).
`detect_copy_divergence`, `scope_drift_check`, `cover_letter_drift_check`, `cross_document_n_check`, `check_cross_artifact_stale`; `check_asset_anonymization` is P1 unless `--double-blind`.
recorded `skipped`, never a blocker. A check that **ran and failed** — a traceback, an unexpected exit code, or a "missing input" exit while its inputs are present (malformed `.journal_meta.json`, an undecodable cover letter, a named `--copy` that does not exist, an unreadable file in the N scan) — is recorded `error`: `submission_safe` is false and the gate exits `2`, with or without `--strict`.
Do not read the report as approval. Its legacy `submission_safe` field means only "no configured blocker/error"; `readiness` stays `not_assessed`; the optional bundle hash binding identifies the package present during the run, not per-file visual inspection or every external check input. Run `audit` again after preflight to expose current, stale or unbound evidence. Freeze records a byte snapshot and its available check context; it does not run preflight or approve source fidelity or reuse permissions.
**Audit-dump leak check (P0).** A `/check-reporting` or `/self-review` report is an internal working audit — auto-fix annotations, a raw JSON block (`compliance_pct`, `fixable_by_ai`, `check_reporting_version`), pipeline-log paths, "Action Items". It is not the official reporting checklist a
Created & maintained by Yoojin Nam, MD Department of Radiology and Research Institute of Radiology, University of Ulsan College of Medicine, Asan Medical Center, Seoul, Republic of Korea MedSci Skills is a set of Agent Skills for clinical research: literature
Use when a medical AI paper should be found and cited by AI search engines and RAG tools. Optimizes the title, abstract, summary…
Use when a target journal has no profile yet. Reads the journal's author guidelines and writes a detailed /write-paper profile…
Use when data needs statistical analysis. Runs reproducible Python/R code for Table 1, diagnostic accuracy, agreement,…
Use when analyzing a researcher's publication record from PubMed. Fetches an author's papers, classifies study types and author…
Use when one validated cohort analysis must be repeated across many exposure/outcome pairs. Generates one R/Python script per…