method-citations skill
scriptsBuilds evidence-traceable citations from PubMed and Paperclip into a DOCX with editable Zotero fields for manuscript auditing and repair.
- GitHub stars
- 6
- Files
- 3
- Last commit
- Oct 31, 2026
- License
- MIT
- Allowed tools
- —
What does the method-citations skill do?
method-citations builds evidence-traceable citations from PubMed and Paperclip into a DOCX with editable Zotero fields for manuscript auditing and repair.
Summary generated from the skill's SKILL.md.
About the method-citations skill
Researchers and medical writers can use this skill to build evidence-traceable citations for Word manuscripts. It automates the process of verifying claims against scientific literature and converting those findings into an editable DOCX file. Instead of producing static text, the tool creates a document containing live Zotero fields, ensuring that in-text citations and bibliographies remain manageable and updateable through the Zotero integration.
The workflow relies on PubMed MCP for resolving biomedical metadata like PMIDs and DOIs, and Paperclip for verifying whether a specific paper actually supports a manuscript claim through full-text, figure, or abstract analysis. It also includes a specialized audit script to detect fabricated or mismatched references in existing bibliographies. By generating a detailed citation ledger alongside the manuscript, the skill provides a transparent record of which claims are supported by full text versus those only verified via abstracts.
What an agent can do with it
- 1Verify claim supportCheck if a specific research paper actually supports a claim using full-text or figure analysis via Paperclip.
- 2Create editable Word documentsGenerate a DOCX file where all citations are live Zotero fields rather than static text.
- 3Resolve biomedical metadataUse PubMed to find canonical titles, authors, and DOIs for specific research identifiers.
Written from the skill's SKILL.md. Every use case is checked against a quote from it.
How to install the method-citations skill
Each command copies the skill folder into the client's skills directory. Restart the client or start a new session to load it.Install the method-citations skill in Plugin
/plugin marketplace add sajor2000/methodsmith /plugin install methodsmith@methodsmith
Install the method-citations skill in Claude Code
~/.claude/skills/method-citations/SKILL.md
$ npx degit sajor2000/methodsmith/plugins/methodsmith/skills/method-citations ~/.claude/skills/method-citationsInstall the method-citations skill in Claude Code (project)
.claude/skills/method-citations/SKILL.md
$ npx degit sajor2000/methodsmith/plugins/methodsmith/skills/method-citations .claude/skills/method-citationsInstall the method-citations skill in Codex
~/.agents/skills/method-citations/SKILL.md
$ npx degit sajor2000/methodsmith/plugins/methodsmith/skills/method-citations ~/.agents/skills/method-citationsInstall the method-citations skill in Gemini CLI
~/.gemini/skills/method-citations/SKILL.md
$ npx degit sajor2000/methodsmith/plugins/methodsmith/skills/method-citations ~/.gemini/skills/method-citationsInstall the method-citations skill in Claude.ai
npx degit sajor2000/methodsmith/plugins/methodsmith/skills/method-citations method-citations && zip -r method-citations.zip method-citations # claude.ai → Customize → Skills → + → Create skill → Upload a skill → method-citations.zip
SKILL.md
View on GitHubManuscript Citations
Skill Value
- Problem it solves: Manuscript citations can be bibliographically plausible but unsupported, or visually correct while being static text that cannot be updated in Word.
- Use when: Adding, auditing, repairing, or packaging citations for a Word manuscript or other editable DOCX deliverable.
- Output: A source-traceable citation ledger and a DOCX whose in-text citations and bibliography remain editable through Zotero fields.
- Ask only if: The manuscript, target citation style, Zotero library, or field-bearing Word master is unavailable and the missing choice changes the deliverable.
- Do not do: Do not invent references, treat static superscripts as editable fields, write unsupported claims from abstracts as full-text findings, or silently mutate a Zotero library.
This skill separates evidence verification from Word field authoring. PubMed is the canonical resolver for PMID, DOI, and bibliographic metadata. Paperclip is the full-text and claim-support layer when available. Zotero owns citation numbering, bibliography records, citation style, and live Word fields. The agent writes the document only after the evidence ledger and field strategy are explicit.
Required inputs and authority
- Preserve the supplied original DOCX. Work on a new field-bearing master; never overwrite the source.
- Identify the manuscript claims or citation markers that need support. Keep claim text separate from source metadata.
- Confirm the target style and whether the document uses numeric, author-date, footnote, or journal-specific citations.
- Confirm access to a Zotero library and the Word/Zotero integration. If Zotero fields cannot be created or verified, stop before claiming an editable citation deliverable.
Authority order:
- The manuscript and author-approved claim list define what needs citation.
- PubMed MCP resolves and verifies structured biomedical metadata.
- Paperclip full text verifies whether the source actually supports the claim.
- Zotero fields own the editable Word citation and bibliography representation.
- A formatted citation string is a display/check artifact, never a substitute for a live field.
Evidence access
Before any literature lookup, read references/evidence-access.md (PubMed and Paperclip MCP tools, fallbacks, and evidence rules); never invent a citation, effect size, or guideline item.
- Look up here: the canonical PMID/DOI metadata for every reference and the passage in each source that supports (or fails to support) the manuscript claim it is attached to.
Evidence workflow
1. Resolve candidate sources with PubMed MCP
MCP egress (every mode): send PubMed, Paperclip, and other MCP or web tools only search terms, MeSH terms, PMIDs, DOIs, and titles, never data values, identifiers, row text, or data files; an endpoint approval does not cover third-party services.
When a connected PubMed MCP server is available, use it rather than guessing or relying on a static web citation. Two servers are common; call by purpose with whichever spelling is connected:
- Search (
pubmed_search_articlesorsearch_articles) for a research question or claim cluster (query built from the claim's PICO terms; no manuscript data values). - Partial reference to PMID (
pubmed_lookup_citationorlookup_article_by_citation) for an author/journal/year/volume/page fragment. - Metadata by PMID (
pubmed_fetch_articlesorget_article_metadata) after selecting PMIDs, to obtain the canonical title, authors, journal, year, and DOI;pubmed_convert_idsorconvert_article_idsto fill a missing PMCID or DOI. - Full text (
pubmed_fetch_fulltext, orget_copyright_statusthenget_full_text_articlefor open PMC) to read the claim-relevant passage; cite PubMed and include the DOI. pubmed_format_citations(default server only) renders a citation string to check the requested style for display. It never creates the Word field, and other connectors have no formatter.
Citation style (Vancouver, APA, journal-specific) in the deliverable is applied by Zotero when the field is inserted, never by an MCP formatter or a hand-typed string.
Record PMID, PMCID when present, DOI, title, authors, journal, year, query or lookup input, and a ledger status of verified (metadata confirmed by the metadata, citation-lookup, or ID-conversion tool above) or unverified. If PubMed MCP is unavailable, use the repository's method-pubmed workflow or an approved NCBI fallback and label the provenance accordingly.
2. Verify claim support with Paperclip
When Paperclip MCP or the authenticated Paperclip CLI is available, use it for full-text verification:
- Load the Paperclip instructions before issuing commands.
searchthe explicitpmcsource with paper-level claim terms (population, exposure, outcome, design; never manuscript numbers or patient text), orlookupthe resolved DOI/PMID/PMCID directly.cat,grep, orscanthe relevant paper text and capture line-pinned evidence URLs; useask-imagewhen the claim rests on a figure.- Label each claim's evidence at the level read:
abstract,full_text,figure,trial,regulatory, ordocumentation. A claim whose source was only resolved (identifiers and metadata, nothing read) carries no evidence label and staysunverifiedin the ledger status.
Paperclip evidence strengthens source support; it does not replace PubMed identity resolution. If Paperclip is unavailable, read the PubMed abstract (or PMC full text through pubmed_fetch_fulltext or get_full_text_article), label the claim at that level, and do not write full-text-supported language for an abstract-level claim.
3. Create the citation ledger
Create a local ledger beside the manuscript package, for example manuscript/citations/citation-ledger.json or analysis/citations/citation-ledger.json. Each record must include:
- stable key and manuscript location;
- claim text or claim summary;
- PMID and DOI when available;
- Zotero item key once resolved in the user's library;
- ledger status (
verifiedorunverifiedmetadata) and PubMed/Paperclip provenance (tool, query or identifier, date); - evidence label (
abstract,full_text,figure,trial,regulatory, ordocumentation), separate from the ledger status, present only when the source was read; - requested citation style;
- support status:
supported,partially_supported,unsupported, orunverified; - author-review note for every unresolved or conflicting item.
Do not promote partially_supported, unsupported, or unverified records into a finished citation without author review.
4. Gate an existing bibliography for fabricated or mismatched references
When the manuscript already has a reference list, export it (or accept it) as BibTeX, RIS, a delimited file, or a plain numbered list, then run the bundled audit before trusting or reusing any entry:
SKILL_DIR="<absolute path of the directory containing this SKILL.md>";
python3 "$SKILL_DIR/scripts/verify_references.py" audit path/to/bibliography.bib --out qc/reference_audit.json
If python3 is unavailable, probe python then py; if none is available, resolve a sample of identifiers through the PubMed MCP metadata tools in step 1 and report the sweep as unverified, never as passed.
The script resolves every DOI through CrossRef then OpenAlex and every PMID through PubMed, then classifies each entry:
OK— the identifier resolves and the claimed title, year, and first author match;MISMATCH— the identifier resolves but a claimed field differs; the record's true values travel in the report for the author to compare;UNVERIFIED— no identifier, or no record could be fetched; carry that status into the ledger, never a silent OK;FABRICATED— the DOI or PMID is registered nowhere. A fabricated reference blocks delivery: the script exits 2.
Entries parsed from free prose carry a guessed title and year, so the script compares their identifier only and attaches the resolved record for a human to compare; do not mark such an entry MISMATCH on the parser's guess.
Use --lookup-cache <file> to reuse or record lookups across runs, and --offline to classify from a populated cache when the network is unavailable. Add --strict to also fail on MISMATCH.
Merge the audit's FABRICATED and MISMATCH findings into the ledger before any Zotero insertion, and stop for author review on every finding.
Editable Word workflow
Use the document-editing workflow available in the host environment for DOCX manipulation and render QA. The citation-specific rules are:
- Copy the original DOCX to a new field-bearing master before edits.
- Resolve each supported PMID/DOI to the corresponding Zotero item; deduplicate by DOI, PMID, and normalized title/year before insertion.
- Insert citations through Zotero's Word integration so the in-text citation and bibliography are live Zotero fields. Let Zotero own numbering, bibliography ordering, and style.
- Never type numeric superscripts, author-date strings, or a bibliography as the final citation representation. Those may appear only in a temporary review artifact or a flattened derivative explicitly labeled static.
- Refresh Zotero fields and verify that every inserted citation has a field code, a Zotero item association, and a bibliography entry.
- When the manuscript reports results, load the
method-numbersskill,renderthe field-bearing master so each{{num:<id>}}becomes anADDIN CE_NUMfield beside the Zotero fields, and run itscheckon the result; aFAILblocks delivery like a field audit failure. - Preserve the original document, field-bearing master, and ledger as separate artifacts. A PDF or flattened DOCX is a derivative, not the editable master.
- Render the final DOCX and inspect every page. Run a structural field audit in addition to visual QA because rendering alone cannot prove that fields remain live.
Audit output
Report:
- citation records resolved and unresolved;
- reference-integrity counts from the audit (
ok,mismatch,unverified,fabricated) when a bibliography was gated; - claims by evidence label (
abstractversusfull_text/figure) and ledger status; - Zotero items inserted, deduplicated, or requiring author selection;
- field-bearing citations and bibliography count;
- static citation or field-loss findings;
- render and structural-audit status;
- remaining author decisions.
Use this handoff when another Methodsmith skill needs the ledger:
__CE_CITATION_LEDGER__ path=<ledger-path> docx=<field-bearing-master> style=<style> supported=<n> unresolved=<n> fields_verified=<n>
Failure handling
| Condition | Response |
|---|---|
| PubMed MCP unavailable | Use method-pubmed or an approved NCBI fallback and label provenance; do not fabricate a PMID. |
| Audit script cannot run | Probe python3, python, py; if none is available, spot-check identifiers through PubMed MCP and report unverified, never passed. |
| Paperclip unavailable | Continue with PubMed abstract or open PMC full-text evidence only and label each claim at the level read. |
| Zotero item missing | Add an unresolved ledger record and ask the author to select or import the item; do not create a fake field. |
| Word integration unavailable | Stop the editable-master claim and deliver only a clearly labeled ledger or static review copy if requested. |
| Citation style mismatch | Preserve the field-bearing master, record the mismatch, and resolve the style in Zotero before final refresh. |
| Render or field audit fails | Keep the source and master separate, fix the DOCX, and rerun both audits before delivery. |
What this skill does not do
- It does not install or authenticate PubMed MCP, Paperclip, Zotero, Word, or a document connector automatically.
- It does not write to a Zotero library without an explicit user request and a reversible procedure.
- It does not treat Paperclip citation URLs,
pubmed_format_citationsoutput, or PubMed metadata strings as editable Word fields. - It does not claim that a citation supports a manuscript statement when only metadata or an abstract was reviewed.
Files in this skill
3method-citations skill questions
How do I install the method-citations skill in Claude Code?
Run npx degit sajor2000/methodsmith/plugins/methodsmith/skills/method-citations ~/.claude/skills/method-citations. Claude Code loads skills from ~/.claude/skills (all projects) or .claude/skills (one project) and uses a skill when its description matches the task.
Which clients can use the method-citations skill?
Any client that reads the Agent Skills format: Claude Code, Codex, Gemini CLI and claude.ai (upload as a ZIP). Scripts in the skill run only where the client allows code execution.
What is the output of this skill?
The skill produces a source-traceable citation ledger and a DOCX file where in-text citations and the bibliography are live, editable Zotero fields.
Can I use this skill if I don't have the Zotero Word integration?
No, if Zotero integration is unavailable, you must stop claiming an editable-master deliverable and instead deliver a labeled ledger or static review copy.
How does the skill handle fabricated references?
The skill uses an audit script to resolve identifiers; if a DOI or PMID is registered nowhere, it is classified as FABRICATED, which blocks delivery.