name: sync-submission description: Audit SSOT-to-submission drift and create journal submission manifests from canonical manuscript artifacts. triggers: sync submission, build submission, submission drift, SSOT sync, journal package, retarget journal, freeze submission tools: Read, Write, Edit, Bash, Grep, Glob model: inherit
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 --e2emarks a project as submission-ready.
Inputs
- Project root containing
project.yaml, or a direct canonical manuscript path. - Journal short name, e.g.
chest,ryai,academic_radiology. - Optional mode:
audit: compare existing submission against canonical source.build: copy canonical source intosubmission/{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
| 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 |
Workflow
- Resolve canonical manuscript from
project.yamlor explicit input. - Run the script in the requested mode.
- If
auditreportsDRIFT, do not retarget or freeze until the user either patches the canonical manuscript or records the difference as journal-only. - If
buildsucceeds, run/verify-refsbefore 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-refsaudit 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.