From Scholar
Ingest a paper into the active scholar corpus from a DOI, arXiv ID, BibTeX file, or RIS file.
How this skill is triggered — by the user, by Claude, or both
Slash command
/scholar:ingestflag valueThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Argument | Type | Description |
| Argument | Type | Description |
|---|---|---|
--doi | string | CrossRef DOI (e.g. 10.1038/s41586-021-03819-2) |
--arxiv | string | arXiv ID or URL (e.g. 2401.00001 or arxiv:cs.AI/2401.00001) |
--bibtex | path | .bib file path |
--ris | path | .ris file path |
--corpus | string | Target corpus slug (active corpus used if omitted) |
Resolve the flag ($flag) provided by the user to the table,
then apply the value ($value) appropriately as described below.
Routes to one of
scholar.ingest.doi, scholar.ingest.arxiv, scholar.ingest.bibtex, or scholar.ingest.ris
based on the supplied flag.
| Source | Tool | CLI | Slash |
|---|---|---|---|
| BibTeX file | scholar.ingest.bibtex | scholar ingest --bibtex <path> | /scholar:ingest --bibtex <path> |
| RIS file | scholar.ingest.ris | scholar ingest --ris <path> | /scholar:ingest --ris <path> |
| CrossRef DOI | scholar.ingest.doi | scholar ingest --doi <doi> | /scholar:ingest --doi <doi> |
| arXiv ID/URL | scholar.ingest.arxiv | scholar ingest --arxiv <id> | /scholar:ingest --arxiv <id> |
sanitizeText + wrapUntrusted + encodeDoi + validateArxivId (§12.0 primitives — invariant in CLAUDE.md). Untrusted strings are NEVER concatenated into prompts/paths/URLs.references-doi links to build the citation graph; arXiv's metadata fills in where CrossRef doesn't.scholar.pdf.refresh-extraction to chunk + embed (semantic-search readiness; still_indexing pill on the dashboard until done).docs/superpowers/specs/2026-05-22-scholar-plugin-design.md §6.4 (ingest contracts), §12.0 (primitives), §12.1 (allow-list legs).src/server/tools/ingest.ts + src/server/ingest/{bibtex,ris,doi,arxiv,primitives}.ts.npx claudepluginhub zaynram/cowork-marketplace --plugin scholarSearches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.