{"slug":"manage-refs","title":"manage-refs","summary":"Cross-cutting reference manager for medical manuscripts. Single entry point for citation-key validation, journal-CSL pandoc rendering, manuscript ↔ DOCX cross-reference QC, marker conversion (``[N]`` ↔ ``[@key]``), and native Zotero CWYW field-code injection. Replaces the inline ","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-14T20:48:09.125959Z","repo":{"url":"https://github.com/Aperivue/medsci-skills","stars":306,"forks":73,"license":"MIT","updatedAt":"2026-09-15T11:28:17Z"},"bodyHtml":"<h1>Citation Styles (CSL)</h1>\n<p>Journal-specific Citation Style Language files for pandoc citeproc rendering.\nSource: <a href=\"https://github.com/citation-style-language/styles\">https://github.com/citation-style-language/styles</a> (zotero/styles).</p>\n<h2>Bundled CSLs</h2>\n<table>\n<thead>\n<tr>\n<th>File</th>\n<th>Use for</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>european-radiology.csl</code></td>\n<td>European Radiology, EURE</td>\n<td>Dependent on <code>springer-basic-brackets.csl</code> (must be in same dir)</td>\n</tr>\n<tr>\n<td><code>cardiovascular-and-interventional-radiology.csl</code></td>\n<td>CVIR</td>\n<td>Dependent on <code>springer-vancouver-brackets.csl</code></td>\n</tr>\n<tr>\n<td><code>radiology.csl</code></td>\n<td>Radiology (RSNA)</td>\n<td>Independent. Also acceptable fallback for Radiology: AI when no dedicated CSL exists</td>\n</tr>\n<tr>\n<td><code>american-journal-of-roentgenology.csl</code></td>\n<td>AJR</td>\n<td>Independent</td>\n</tr>\n<tr>\n<td><code>korean-journal-of-radiology.csl</code></td>\n<td>KJR</td>\n<td>Independent. Parenthesised numbers <code>(1, 2)</code>, et-al after 6 (first 6 + et al) — <strong>not</strong> superscript</td>\n</tr>\n<tr>\n<td><code>american-medical-association.csl</code></td>\n<td>AMA Manual of Style 11th ed. — JAMA family, and any journal citing \"AMA style\"</td>\n<td>Independent. Superscript, et-al after 6 (first 3 + et al), DOI kept</td>\n</tr>\n<tr>\n<td><code>liver-international.csl</code></td>\n<td>Liver International (Wiley)</td>\n<td>AMA-style superscript: et-al after 6 (first 3 + et al), no PMID, DOI kept. Also a fallback for Wiley/AMA \"first-3-et-al\" superscript journals</td>\n</tr>\n<tr>\n<td><code>journal-of-cachexia-sarcopenia-and-muscle.csl</code></td>\n<td>JCSM</td>\n<td>Independent. Superscript, et-al after 6 (first 6 + et al)</td>\n</tr>\n<tr>\n<td><code>nature.csl</code></td>\n<td>Nature portfolio</td>\n<td>Independent. Superscript, et-al after 5 (first 1 + et al)</td>\n</tr>\n<tr>\n<td><code>journal-of-korean-medical-science.csl</code></td>\n<td>JKMS</td>\n<td>Dependent on <code>nlm-citation-sequence.csl</code> (must be in same dir)</td>\n</tr>\n<tr>\n<td><code>journal-of-korean-medical-science-strict.csl</code></td>\n<td>JKMS, strict variant</td>\n<td>Independent. Superscript NLM citation-sequence, et-al after 6 (first 6 + et al)</td>\n</tr>\n<tr>\n<td><code>vancouver.csl</code></td>\n<td>Generic Vancouver (brackets)</td>\n<td>Fallback when journal CSL unavailable (e.g., JVIR, Radiology: AI)</td>\n</tr>\n<tr>\n<td><code>vancouver-superscript.csl</code></td>\n<td>Generic Vancouver (superscript)</td>\n<td>Alternative fallback</td>\n</tr>\n<tr>\n<td><code>springer-basic-brackets.csl</code></td>\n<td>Parent of European Radiology</td>\n<td>Do not use directly — keep co-located</td>\n</tr>\n<tr>\n<td><code>springer-vancouver-brackets.csl</code></td>\n<td>Parent of CVIR</td>\n<td>Do not use directly — keep co-located</td>\n</tr>\n<tr>\n<td><code>nlm-citation-sequence.csl</code></td>\n<td>Parent of JKMS</td>\n<td>Do not use directly — keep co-located</td>\n</tr>\n</tbody>\n</table>\n<h2>Missing — use fallback</h2>\n<ul>\n<li><strong>Radiology: Artificial Intelligence (RYAI)</strong>: no dedicated CSL on zotero/styles as of 2026-04. Use <code>radiology.csl</code> (parent journal, identical RSNA house style).</li>\n<li><strong>Journal of Vascular and Interventional Radiology (JVIR)</strong>: no dedicated CSL. Use <code>vancouver.csl</code> and verify against latest author guidelines before submission.</li>\n</ul>\n<h2>Updating</h2>\n<p>Only the files below are verbatim upstream styles, so only these may be refreshed by slug:</p>\n<pre><code>cd \"$(dirname \"$0\")\"\nfor s in european-radiology radiology american-journal-of-roentgenology \\\n         cardiovascular-and-interventional-radiology korean-journal-of-radiology \\\n         american-medical-association journal-of-cachexia-sarcopenia-and-muscle nature \\\n         journal-of-korean-medical-science nlm-citation-sequence \\\n         springer-basic-brackets springer-vancouver-brackets; do\n  curl -fsSL -o \"${s}.csl\" \"https://www.zotero.org/styles/${s}\"\ndone\n</code></pre>\n<p><strong>Do not refresh these by filename</strong> — they are locally renamed or locally modified copies whose\n<code>&lt;id&gt;</code> does not match their filename, so fetching <code>zotero.org/styles/&lt;filename&gt;</code> would replace them\nwith a different style:</p>\n<table>\n<thead>\n<tr>\n<th>File</th>\n<th>Actual <code>&lt;id&gt;</code> slug</th>\n<th>Caught by the check below?</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>vancouver.csl</code></td>\n<td><code>nlm-citation-sequence</code></td>\n<td>yes</td>\n</tr>\n<tr>\n<td><code>vancouver-superscript.csl</code></td>\n<td><code>nlm-citation-sequence-superscript</code></td>\n<td>yes</td>\n</tr>\n<tr>\n<td><code>liver-international.csl</code></td>\n<td><code>nlm-citation-sequence-superscript</code> (locally retitled)</td>\n<td>yes</td>\n</tr>\n<tr>\n<td><code>journal-of-korean-medical-science-strict.csl</code></td>\n<td><code>journal-of-korean-medical-science-strict</code></td>\n<td><strong>no</strong> — the slug matches the filename, but the style is locally authored (its <code>&lt;title&gt;</code> is a description, not a journal name). Confirm the slug resolves upstream before refreshing it</td>\n</tr>\n</tbody>\n</table>\n<p>Check which files are safe to refresh (filename must equal the <code>&lt;id&gt;</code> slug):</p>\n<pre><code>for f in *.csl; do\n  slug=$(sed -n 's:.*&lt;id&gt;.*/\\([^/&lt;]*\\)&lt;/id&gt;.*:\\1:p' \"$f\" | head -1)\n  [ \"$slug\" = \"${f%.csl}\" ] || echo \"LOCAL VARIANT: $f -&gt; $slug\"\ndone\n</code></pre>\n<p>Verify dependent-parent links if an upstream publisher reorganizes:</p>\n<pre><code>grep -H independent-parent *.csl\n</code></pre>\n","files":[{"path":"citation_styles/american-journal-of-roentgenology.csl","sizeBytes":6944,"isText":false},{"path":"citation_styles/american-medical-association.csl","sizeBytes":11575,"isText":false},{"path":"citation_styles/cardiovascular-and-interventional-radiology.csl","sizeBytes":1299,"isText":false},{"path":"citation_styles/european-radiology.csl","sizeBytes":1203,"isText":false},{"path":"citation_styles/journal-of-cachexia-sarcopenia-and-muscle.csl","sizeBytes":5377,"isText":false},{"path":"citation_styles/journal-of-korean-medical-science.csl","sizeBytes":891,"isText":false},{"path":"citation_styles/journal-of-korean-medical-science-strict.csl","sizeBytes":18145,"isText":false},{"path":"citation_styles/korean-journal-of-radiology.csl","sizeBytes":5849,"isText":false},{"path":"citation_styles/liver-international.csl","sizeBytes":18264,"isText":false},{"path":"citation_styles/nature.csl","sizeBytes":6444,"isText":false},{"path":"citation_styles/nlm-citation-sequence.csl","sizeBytes":18126,"isText":false},{"path":"citation_styles/radiology.csl","sizeBytes":7266,"isText":false},{"path":"citation_styles/README.md","sizeBytes":4358,"isText":true},{"path":"citation_styles/springer-basic-brackets.csl","sizeBytes":8296,"isText":false},{"path":"citation_styles/springer-vancouver-brackets.csl","sizeBytes":9191,"isText":false},{"path":"citation_styles/vancouver.csl","sizeBytes":18126,"isText":false},{"path":"citation_styles/vancouver-superscript.csl","sizeBytes":18299,"isText":false},{"path":"LICENSE.zotero-mcp","sizeBytes":1068,"isText":false},{"path":"NOTICE.md","sizeBytes":1617,"isText":true},{"path":"references/check_xref_symptoms.md","sizeBytes":4520,"isText":true},{"path":"references/REFERENCE_STYLE_SPECS.md","sizeBytes":3646,"isText":true},{"path":"scripts/check_bib_title_markup.py","sizeBytes":6749,"isText":true},{"path":"scripts/check_citation_keys_challenge/fixture/manuscript.md","sizeBytes":127,"isText":true},{"path":"scripts/check_citation_keys_challenge/fixture/refs_clean.bib","sizeBytes":210,"isText":false},{"path":"scripts/check_citation_keys_challenge/fixture/refs_undefined.bib","sizeBytes":103,"isText":false},{"path":"scripts/check_citation_keys_challenge/verify.sh","sizeBytes":1862,"isText":true},{"path":"scripts/check_citation_keys.py","sizeBytes":6593,"isText":true},{"path":"scripts/check_csl_render.py","sizeBytes":7750,"isText":true},{"path":"scripts/check_reference_duplication.py","sizeBytes":10257,"isText":true},{"path":"scripts/check_xref.py","sizeBytes":31128,"isText":true},{"path":"scripts/fill_journal_abbrev.py","sizeBytes":5370,"isText":true},{"path":"scripts/inject_zotero_cwyw.py","sizeBytes":5359,"isText":true},{"path":"scripts/md_marker_convert.py","sizeBytes":6776,"isText":true},{"path":"scripts/pre_submission_gate.sh","sizeBytes":9309,"isText":true},{"path":"scripts/render_pandoc.sh","sizeBytes":4767,"isText":true},{"path":"scripts/strip_source_metadata.lua","sizeBytes":237,"isText":false},{"path":"scripts/_vendor_citation_writer.py","sizeBytes":19353,"isText":true},{"path":"SKILL.md","sizeBytes":20729,"isText":true},{"path":"skill.yml","sizeBytes":3021,"isText":true},{"path":"tests/fixtures/csl_render_sample.bib","sizeBytes":496,"isText":false},{"path":"tests/fixtures/pre_submission_gate/manuscript.md","sizeBytes":553,"isText":true},{"path":"tests/fixtures/pre_submission_gate/README.md","sizeBytes":1743,"isText":true},{"path":"tests/fixtures/pre_submission_gate/refs.bib","sizeBytes":1464,"isText":false},{"path":"tests/fixtures/pre_submission_gate/run.sh","sizeBytes":5127,"isText":true},{"path":"tests/fixtures/refclean_text.md","sizeBytes":423,"isText":true},{"path":"tests/fixtures/refdup_text.md","sizeBytes":890,"isText":true},{"path":"tests/test_bib_title_markup.sh","sizeBytes":4592,"isText":true},{"path":"tests/test_citation_key_boundaries.sh","sizeBytes":4762,"isText":true},{"path":"tests/test_csl_render.sh","sizeBytes":3906,"isText":true},{"path":"tests/test_journal_abbrev_parsing.sh","sizeBytes":3952,"isText":true},{"path":"tests/test_reference_duplication.sh","sizeBytes":1955,"isText":true},{"path":"tests/test_vN_docx_check.sh","sizeBytes":5514,"isText":true},{"path":"tests/test_xref_plural_citations.sh","sizeBytes":5852,"isText":true},{"path":"tests/test_xref_separate_supplement.sh","sizeBytes":6163,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-14T20:48:27.046595Z","sha256":"36AF2BCB2914E4CE33D6C313541375D968A8EB3A46B30EB1F6272DB0D4DCEE76","sizeBytes":121090},"review":null,"source":{"repositoryUrl":"https://github.com/Aperivue/medsci-skills","path":"skills/manage-refs","license":"MIT","commit":"55a3f75e321c90ef5a4bac9f53a2425aac8ba132","subtreeSha":"2C5FA88D5BB8BDE2854BACF116F28A03496F8CA88BF1C3CCCD61C71504A066F0","lastSyncedAt":"2026-09-18T13:50:59.522494Z"},"reviewedAt":"2026-09-14T20:52:54.977932Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/Aperivue/medsci-skills/tree/main/skills/manage-refs"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install aperivue-medsci-skills@llmmart"},{"target":"git","command":"git clone https://github.com/Aperivue/medsci-skills.git"}]}