From medsci-project
Batch-generates per-author ICMJE Conflict of Interest Disclosure Forms (coi_disclosure.docx) for manuscript submission, pre-filling all 13 items as 'None' and replacing Date/Name/Title per author from a synthetic seed.
How this skill is triggered — by the user, by Claude, or both
Slash command
/medsci-project:fill-icmje-coiinheritThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are helping a researcher prepare ICMJE Conflict of Interest Disclosure Forms
You are helping a researcher prepare ICMJE Conflict of Interest Disclosure Forms
for every co-author on a manuscript about to be submitted to an ICMJE member
journal (CHEST, NEJM, JAMA, Lancet, Radiology, etc.). This skill batch-generates
one personalized .docx per author from a synthetic all-None seed shipped with
the skill, avoiding 10–20 minutes of repetitive Word clicking per author.
The official ICMJE coi_disclosure.docx puts every field inside Word Content
Controls (Structured Document Tags, a.k.a. SDTs). Naive python-docx
manipulation of cell.text silently ignores SDT content, so the straightforward
programmatic approach does not work. The historical workaround was to open the
template in Word and manually fill each author's form (21 authors × 13
checkboxes × 2 clicks = ~500 clicks). This skill replaces that by operating
directly on word/document.xml inside the docx zip and doing literal-string
replacement — but that requires the target strings to already exist in the
seed, so the skill ships a pre-filled synthetic seed.
Precedent: a multi-author cohort manuscript submission — 6 authors auto-filled in ~5 seconds from the synthetic seed with zero Word clicks.
icmje_coi_seed_synthetic.docx with all PII scrubbed
(synthetic name, title, date; metadata reset to ICMJE / Anonymous).
Real-person seeds leak PII through both document.xml and docProps.Skip this skill when:
Ask the user (or extract from conversation):
[(1, "Author One"), (2, "Author Two"), ...]submission/{journal}/icmje_forms/Present the intake back to the user for confirmation (Gate 1 — user approval) before generating anything. Explicitly name which authors will get all-None forms and remind that anyone with a real disclosure must instead fill their own form in Word.
Invoke the script with the synthetic seed that ships with this skill:
python3 ${SKILL_DIR}/scripts/fill_icmje_coi.py \
--seed ${SKILL_DIR}/templates/icmje_coi_seed_synthetic.docx \
--seed-name "Placeholder Author" \
--seed-title "Placeholder Manuscript Title" \
--seed-date "January 1, 2000" \
--new-title "{exact manuscript title}" \
--new-date "{submission date}" \
--out-dir {out_dir} \
--authors '[[1,"Author One"],[2,"Author Two"],...]'
The script exits nonzero if any seed string is not found, preventing silent failures.
For each generated docx, confirm:
Placeholder Author, Placeholder Manuscript Title, January 1, 2000)Verification one-liner:
for f in {out_dir}/*.docx; do
python3 -c "
import zipfile, sys
xml = zipfile.ZipFile('$f').read('word/document.xml').decode()
assert xml.count('☒') == 14, 'bad ☒ count'
assert xml.count('None') == 13, 'bad None count'
assert 'Placeholder' not in xml, 'seed leak'
print('✓ $f')
"
done
Present verification results to user (Gate 2 — user review) before handing off files.
Provide the user with circulation copy to send with each personalized form (write it in the co-authors' preferred language — Korean is common for Korean co-authors):
Please review the attached ICMJE COI form.
- If the contents are correct, sign and reply with a PDF.
- If a change is needed, edit/check the relevant item, sign, and reply.
- If there are no changes at all, reply "no changes" and return the signed PDF separately.
All 6–21 authors can be emailed in one gws gmail draft batch (Gate 3 — user
approves batch send before actually dispatching).
If the user wants a custom seed (e.g., different default wording, pre-filled items 2/3 with a common grant), generate it once as follows:
templates/icmje_coi_seed_synthetic.docx in Word{project}/submission/{journal}/ or a
local private seeds directory (outside this repo)--seed /path/to/custom.docx to the script along with the new seed
values for --seed-name, --seed-title, --seed-dateDo NOT commit custom seeds that contain real author names to the public medsci-skills repo. Keep them in private per-project directories or a local private seeds directory (outside this repo).
The shipped templates/icmje_coi_seed_synthetic.docx was derived from the
official ICMJE coi_disclosure.docx through the following steps:
https://www.icmje.org/downloads/coi_disclosure.docx)January 1, 2000Placeholder AuthorPlaceholder Manuscript TitledocProps/core.xml metadata: creator=ICMJE, lastModifiedBy=Anonymous, dates=2000-01-01docProps/app.xml Company/Manager fieldsNo real author's disclosure data is embedded. The file is safe to redistribute.
unzip -p seed.docx docProps/core.xml that
no real names remain in metadata before committing.| Skill | Relationship |
|---|---|
write-paper | Completes the manuscript whose title is used as input |
find-journal | Identifies whether the target journal requires ICMJE form |
add-journal | Journal profile records whether ICMJE form is required |
revise | After revision, updated title may require re-generating forms |
npx claudepluginhub aperivue/medsci-skills --plugin medsci-projectFills institutional Word form templates (.doc/.docx) for IRB protocols, ethics applications, and grant proposals while preserving original formatting. Korean-aware CJK support.
Generates submission-ready cover letters for academic papers using journal templates. Includes contribution statement aligned to journal scope, data availability, conflict of interest, and contact block.
Provides LaTeX templates, formatting requirements, and submission guidelines for scientific journals (Nature, Science, PLOS, IEEE, ACM), conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA).