Install
openclaw skills install @emp-tca/biomedical-reference-verifierVerify or normalize biomedical and life-science reference lists only when the task is about AI-caused reference errors: whether references really exist, whether DOI/PMID/title/authors/journal/year are wrong, whether a bibliography has false or corrupted entries, or whether references should be reformatted into APA/AMA/GB/T 7714/Vancouver without judging topical relevance. Trigger examples: 帮我核验这些参考文献是不是真实存在; 检查这批 references 里有没有 AI 编造的文献; 这些文献可能是 AI 生成的,请查一下哪些是假的; 请验证这些 APA 引用的 DOI、作者、题名是否对应; 帮我审查参考文献真实性; 检查这些 AMA references 的 DOI 和期刊年份是否正确; 请把这些参考文献改成 AMA 格式; 帮我把参考文献统一成 APA. Do not trigger for general article review, manuscript logic, literature relevance, citation support, or whether papers are suitable for the article.
openclaw skills install @emp-tca/biomedical-reference-verifierUse this skill only for reference-list authenticity checking, AI-caused reference cleanup, and citation-format normalization. Do not use it to judge whether papers are relevant, suitable, or correctly used in the manuscript body unless the user explicitly asks for reference authenticity plus body cleanup.
Always reduce the task to this sequence:
biomedical-reference-verifier.records.v1.Load references/verification_policy.md before classifying authenticity errors, changing severe items, or explaining network/query policy.
--pipeline format-only. Do not query Crossref/PubMed/OpenAlex.verify pipeline.verify with the requested --citation-style; the fixed copy is generated after verification.--mode fast): use for quick scans and large routine lists. Stop after primary DOI evidence when available.--mode balanced): default for ordinary authenticity checks. Auxiliary evidence lines receive a short 2.5-second grace period after the first line completes.--mode strict): use for final or pre-submission checks. Wait for every enabled evidence line to complete or fail explicitly.Do not invent a local confidence score. For DOI-bearing references, resolve the DOI and directly compare returned title, authors, journal, year, DOI, and PMID with source fields. Keep the existing classification policy. Severe items are reported and retained; never auto-delete them.
Do not run AI-assisted per-paper web searching by default. Stop after batch verification and title recovery, then ask the user whether to continue.
Prefer biomedical-reference-verifier.records.v1 JSON/JSONL. If the source is free text, convert it to records first using only values present in the user source. Do not fill missing source fields from Crossref, PubMed, OpenAlex, memory, or plausible guesses.
Minimal record:
{
"schema": "biomedical-reference-verifier.records.v1",
"records": [
{
"index": 1,
"source": {
"original_text": "exact source reference",
"title": "title from source, or empty string",
"authors": ["First Author"],
"year": "2024",
"journal": "Journal from source",
"identifiers": {"doi": "10.xxxx/example", "pmid": "", "urls": []},
"source_lines": [12],
"context": ""
}
}
]
}
Use --input-mode records for standardized JSON/JSONL. Use Markdown worksheet and doi-context modes only for compatibility.
Run from this skill directory:
python3 scripts/verify_references.py refs.md --output-dir /tmp/reference-audit --citation-style ama
Common variants:
python3 scripts/verify_references.py refs.md --pipeline format-only --citation-style ama
python3 scripts/verify_references.py records.json --input-mode records --citation-style ama
python3 scripts/verify_references.py records.json --input-mode records --mode fast
python3 scripts/verify_references.py records.json --input-mode records --mode strict
python3 scripts/verify_references.py records.json --input-mode records --reuse-results previous/reference-audit.json
python3 scripts/verify_references.py records.json --input-mode records --write-index
python3 scripts/convert_reference_artifact.py previous/reference-audit.json --to index --output reference-index.json
python3 scripts/convert_reference_artifact.py reference-index.json --to audit --output restored-reference-audit.json
python3 scripts/verify_references.py refs.md --pubmed-mode off --openalex-mode off
python3 scripts/verify_references.py refs.md --doi-output append
python3 scripts/verify_references.py refs.md --keep-process-json
python3 scripts/verify_references.py refs.md --cleanup-process-files all
python3 scripts/verify_references.py refs.md --cleanup-process-files normalized_input,extracted_references
Result files:
reference-audit-summary.md: concise chat-ready summary.reference-audit-detail.md: detailed report with evidence links.references.auto-fixed.md or document.auto-fixed.md: fixed/formatted copy; never overwrites the source.Process files retained by default:
reference-normalized-records.json: machine-readable records.reference-normalized-input.md: human-readable parser inspection table.references.extracted.md: raw references extracted before verification.Process files skipped by default:
reference-audit.json: write only with --keep-process-json.There is no hidden persistent cache. --reuse-results accepts either reference-audit.json or schema biomedical-reference-verifier.index.v1. The converter supports audit-to-index and index-to-audit round trips; the results array must remain identical after a round trip. In a conversation, ask about reuse once when such an artifact is available; do not repeatedly ask after the user decides.
User-edited prior artifacts are handled conservatively: malformed JSON is rejected with one concise error; invalid individual rows are skipped and rechecked; valid rows remain reusable. Do not guess repairs for damaged structured fields.
Prior-result reuse tolerates punctuation changes only when strict bibliographic fields still agree: DOI+title+year, or title+first author+year+journal. Temporary network failures receive one bounded retry; permanent 4xx failures do not. PubMed DOI batches split only when a batch fails. Early DOI recovery uses Crossref first, then OpenAlex and PubMed outside Fast mode.
--write-index optionally writes reference-index.json; it is off by default. Network request events and phase timings are stored in reference-audit.json when --keep-process-json is used.
Never delete user-requested result files. Delete only process files generated by the script in the selected output directory, and only when the user chooses deletion or --cleanup-process-files is explicit.
After running:
reference-audit-summary.md.