Agent skill · agents365-ai
journal-meta
Use when the user wants full metadata for a paper — from a DOI, PMID, arXiv id, OpenAlex id, or title. Returns title, author list, first author, corresponding author(s), publication date, journal name + ISO-4 abbreviation, impact factor, volume/issue/pages, DOI/PMID, citation count, and abstract in one record. Triggers on "paper metadata", "who is the corresponding author", "first author of", "what journal / impact factor for this DOI/PMID", "cite this paper", "文献元数据", "通讯作者", "第一作者", "影响因子". PROACTIVELY USE when the user pastes a DOI/PMID/arXiv id or paper title and asks about its authors, venue, or impact.
What it needs
About 4k tokens when loaded.
What this skill does
Paper Metadata Lookup Resolve one paper identifier into a full metadata record. Primary source is OpenAlex (free, no API key); Crossref is a fallback for DOIs OpenAlex hasn't indexed. The journal name is enriched by delegating to two sibling skills when installed: journal-abbrev → ISO-4 / MEDLINE journal abbreviation (JabRef cache, ~25K journals) journal-if → curated JCR impact factor If those skills aren't found, it falls back to AbbrevISO (abbreviation) and OpenAlex 2yrmeancitedness (approximate IF) automatically. Critical rule: Always use journalmeta.py. Never fabricate authors, corresponding authors, dates, or impact factors — resolve them. Quick Reference User wants... Command --------------- --------- Metadata from a DOI python3 journalmeta.py "10.1038/s41586-020-2649-2" Metadata from a PMID python3 journalmeta.py 32939066 Metadata from an arXiv id python3 journalmeta.py 1706.03762 Metadata from a title python3 journalmeta.py "Attention is all you need" Process a list python3 journalmeta.py batch papers.txt Skip impact-factor lookup python3 journalmeta.py <id> --no-if Skip abbreviation lookup python3 journalmeta.py <id> --no-abbrev Machine-readable contract python3 journalmeta.py schema The subcommand lookup is optional — a bare identifier works. Identifier type (DOI / PMID / arXiv / OpenAlex id / title) is auto-detected. Output format Stdout is a stable JSON envelope when piped/captured, and a human key-value view on a TTY. Force it with --format json human auto (--json = --format json). Envelope: { "ok": true, "data": {...}, "meta": { "schemaversion", "cliversion", "sources", "latencyms" } }. meta.sources records where each field came from (e.g. journal-abbrev (JabRef), journal-if (local cache), or a fallback), so you can tell curated data from approximations. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills agents365-ai/journal-meta