Medsci-skills sync-submission

Audit SSOT-to-submission drift and create journal submission manifests from canonical manuscript artifacts.

install
source · Clone the upstream repo
git clone https://github.com/Aperivue/medsci-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Aperivue/medsci-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/sync-submission" ~/.claude/skills/aperivue-medsci-skills-sync-submission && rm -rf "$T"
manifest: skills/sync-submission/SKILL.md
source content

Sync Submission

You help keep the canonical manuscript and journal-specific submission packages from drifting apart. The skill treats

submission/{journal}/
as derived output and records whether it is current, stale, or frozen.

When to Use

  • Before submitting a journal package.
  • After a journal portal or Word editor changed a submission manuscript.
  • After rejection, before retargeting to another journal.
  • Before
    /orchestrate --e2e
    marks a project as submission-ready.

Inputs

  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:
    • audit
      : compare existing submission against canonical source.
    • build
      : copy canonical source into
      submission/{journal}/manuscript/
      and write metadata.
    • freeze
      : mark a package as submitted/frozen.

Deterministic Script

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 submitted

Output Contract

ArtifactPathPurpose
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

Workflow

  1. Resolve canonical manuscript from
    project.yaml
    or explicit input.
  2. Run the script in the requested mode.
  3. If
    audit
    reports
    DRIFT
    , do not retarget or freeze until the user either patches the canonical manuscript or records the difference as journal-only.
  4. If
    build
    succeeds, run
    /verify-refs
    before final submission.

Quality Gates

  • Gate 1: block freezing when canonical manuscript is missing.
  • Gate 2: block retargeting when the previous submission has unresolved drift.
  • Gate 3: require
    /verify-refs
    audit before marking a package submission-safe.

What This Skill Does NOT Do

  • Does not invent journal formatting rules.
  • Does not silently merge submission edits back into the SSOT.
  • Does not replace
    /write-paper
    ; it packages already canonical content.

Anti-Hallucination

  • Never claim a submission package is current without matching source hashes.
  • Never mark a package as submitted without writing
    .journal_meta.json
    .
  • Never hide journal-only differences; record them as drift or explicit exceptions.