reference-manager-interop
Move and sync reference libraries between Zotero, Mendeley, EndNote, JabRef, Paperpile and writing tools (LaTeX/BibTeX, Word, Google Docs, Pandoc, Quarto, Overleaf). Use when converting RIS, BibTeX, BibLaTeX or CSL-JSON files, migrating a library, setting up auto-exported .bib files, choosing a citation style (CSL), or fixing citations lost between tools. Includes a zero-dependency BibTeX/RIS/CSL-JSON converter.
- License 许可
- MIT
- 最近更新
- 2026-11-08
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- reference-manager-interop
- license
- MIT
- metadata
- { "tags": "Zotero, Mendeley, EndNote, JabRef, BibTeX, RIS, CSL-JSON, Pandoc, Quarto, Overleaf, reference manager", "author": "Kalaris Labs (Sayan Chowdhury)", "version": "1.0", "category": "literature-review", "maintainer": "Kalaris Labs" }
- description
- Move and sync reference libraries between Zotero, Mendeley, EndNote, JabRef, Paperpile and writing tools (LaTeX/BibTeX, Word, Google Docs, Pandoc, Quarto, Overleaf). Use when converting RIS, BibTeX, BibLaTeX or CSL-JSON files, migrating a library, setting up auto-exported .bib files, choosing a citation style (CSL), or fixing citations lost between tools. Includes a zero-dependency BibTeX/RIS/CSL-JSON converter.
- compatibility
- Python 3.9+ standard library for scripts/convert_refs.py; Pandoc optional for rendering with CSL styles.
02 资源文件 1
- 脚本scripts/convert_refs.py10.8 KB
03 SKILL.md 正文
Reference Manager Interoperability
Every reference manager speaks at least one of three interchange formats:
| Format | Best for | Notes |
|---|---|---|
BibTeX / BibLaTeX (.bib) |
LaTeX, Overleaf, JabRef | BibLaTeX adds @online, @dataset, @software, UTF-8 via biber |
RIS (.ris) |
EndNote, Mendeley, Scopus/WoS/PubMed exports | Tag-per-line, loses some structure (e.g. corporate authors) |
CSL-JSON (.json) |
Pandoc, Quarto, Zotero, citeproc-js, Word/Docs plugins | The richest interchange format, native to citation styles |
Convert between formats
python scripts/convert_refs.py library.ris references.bib # EndNote/Mendeley -> LaTeX
python scripts/convert_refs.py references.bib references.json # LaTeX -> Pandoc/Quarto
python scripts/convert_refs.py export.json out.ris --from csljson --to ris
Conversion is lossy for exotic fields. Always diff counts (grep -c "^@" refs.bib,
grep -c "^TY -" lib.ris) and spot-check authors with particles (van, de, von)
and corporate authors. Then run the bibtex-hygiene linter on any produced .bib.
Tool-specific recipes
Zotero (recommended hub)
- Install the Better BibTeX plugin, then right-click a collection → Export → Keep updated
to write an auto-refreshing
.bibnext to the manuscript with stable citation keys. - Programmatic access: the
pyzoteroskill (Zotero Web API; needs a user API key). - Word/Google Docs: the Zotero connector plugins insert live citations and bibliography.
Mendeley Reference Manager
- Export: select references → Export → BibTeX (
.bib), RIS or EndNote XML. - To migrate to Zotero: import the
.ris/.bibexport, or use Zotero's built-in Mendeley importer. - Don't build new automation against Mendeley's web API. Work from exported files instead.
EndNote
- Export: File → Export with output style "RefMan (RIS) Export" (
.ris) or XML. - Import
.risback with the "Reference Manager (RIS)" filter. Check the encoding is UTF-8.
JabRef: native BibTeX/BibLaTeX. Use Quality → Cleanup entries and Check integrity before submission.
Overleaf: link a Zotero/Mendeley account or upload the .bib. With an auto-exported
Better BibTeX file, re-upload it or sync via Git.
Rendering citations with CSL styles (Pandoc / Quarto)
pandoc paper.md --citeproc --bibliography references.json --csl nature.csl -o paper.docx
Quarto front matter:
bibliography: references.json
csl: apa.csl # fetch from https://github.com/citation-style-language/styles
Pick the exact style file for the target journal from the CSL repository (over 10,000 styles). Never approximate a journal's style by editing a similar one unless none exists.
Migration checklist
- Export from the source tool in its richest format (CSL-JSON or native XML > RIS > BibTeX).
- Record the reference count before and after.
- Convert with
scripts/convert_refs.pyif the target cannot import the source format. - Import, then check 10 random entries for authors, title case, container, year, DOI.
- Re-attach PDFs separately. Attachments never travel inside RIS/BibTeX/CSL-JSON.
- Rebuild citation keys only if the manuscript does not already cite the old keys.
Related skills
bibtex-hygiene, citation-verification, citation-management, pyzotero.
04 同仓库更多 Skills
youtube-full
Use when the user needs YouTube transcripts, video search, channel browsing, playlist extraction, or content monitoring. Trigger phrases: 'get the transcript for', 'search YouTube for', 'what are the latest videos on', 'list this playlist', 'monitor this channel', or any request involving a YouTube URL, video ID, or @handle. Do NOT use for downloading video or audio files, YouTube engagement data (likes, comments), or private/age-restricted videos.
x-twitter-growth
X/Twitter growth engine for building audience, crafting viral content, and analyzing engagement. Use when the user wants to grow on X/Twitter, write tweets or threads, analyze their X profile, research competitors on X, plan a posting strategy, or optimize engagement. Complements social-content (generic multi-platform) with X-specific depth: algorithm mechanics, thread engineering, reply strategy, profile optimization, and competitive intelligence via web search.
write-a-skill
Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, build, or author a new skill.
wrap-up
Close out a launched Claude Managed Agent — recap every primitive the founder now owns, regenerate the single-file overview page, and suggest the next 1-2 upgrades. Use when the user says "wrap up", "close this out", "what do I own now", "give me the summary", "recap the agent", or when the orchestrator routes phase=wrap-up. primitives_inventory.py tables everything owned (agent, environment, session, memory, outcome, deployment); overview_page.py regenerates a self-contained ./my-agent/agent-overview.html; upgrade_suggester.py ranks the next moves from recorded deferrals plus standing hardening steps. Companion to run-without-you; the last stop before phase=done.
workflow-builder
Design and write deterministic multi-agent workflow scripts (.js files in .claude/workflows/) for Claude Code's Workflow tool. Use when a user wants to build, create, author, scaffold, or run a custom Claude Code workflow, orchestrate sub-agents (fan-out, pipeline, loop, judge-panel), or automate a repeatable multi-step task across fresh-context agents.
weekly-review
Use when someone wants to run a weekly review, close open loops, audit stalled projects and commitments, get their system back to trusted, restart a lapsed review habit, or says "/cs:weekly-review". Walks David Allen's three-phase loop — GET CLEAR, GET CURRENT, GET CREATIVE — with deterministic scripts that inventory open loops, gate the checklist with named gaps, and score commitment health 0-100.