{"id":"2109304e-e9c5-4385-971a-72ff7e380354","shortId":"TLNCAx","kind":"skill","title":"search-paper","tagline":"Find papers, download PDFs, traverse citation graphs, and resolve publication venues across arXiv, IACR ePrint, Semantic Scholar, DBLP, and OpenAlex. Use when you need to find papers, trace citations, or determine where a paper was published.","description":"# Search Paper\n\nA single skill that wraps five platform drivers — two preprint archives (arXiv, IACR ePrint) and three metadata services (Semantic Scholar, DBLP, OpenAlex). The SKILL.md itself acts as the orchestrator: each script does one thing per platform, and the agent chains them.\n\n## Usage\n\nInvoke this skill by name. On slash-command hosts: `/search-paper \"<query>\"`.\n\n```\nsearch-paper \"post-quantum threshold signatures\" --source iacr --max-results 15\n```\n\n\n## Scripts\n\nRun via Bash. All scripts emit JSON on stdout.\n\n### `arxiv.py` — arXiv preprint server\n\n```bash\npython3 arxiv.py search \"BFT consensus communication complexity\" --max-results 10 --categories cs.CR,cs.DC\npython3 arxiv.py recent \"threshold signatures\" --max-results 10 --categories cs.CR\npython3 arxiv.py download 2305.12345 --output-dir reaper-workspace/papers/\npython3 arxiv.py journal-ref 2305.12345\n```\n\n- `search` — array of `{arxiv_id, title, authors, year, abstract, categories, pdf_url, published, journal_ref}` sorted by relevance.\n- `recent` — same fields, sorted by submission date (newest first). Requires a query and/or `--categories`.\n- `download` — saves PDF, returns `{path, title}`.\n- `journal-ref` — author-supplied venue (sparse but authoritative when present).\n\n### `iacr.py` — IACR ePrint archive\n\n```bash\npython3 iacr.py search \"threshold signatures\" --max-results 10\npython3 iacr.py recent --max-results 10\npython3 iacr.py download 2024/1234 --output-dir reaper-workspace/papers/\npython3 iacr.py url 2024/1234\npython3 iacr.py pubinfo 2024/1234\n```\n\n- `search` — array of `{eprint_id, title, authors, year, abstract, publication_info, venue, pdf_url, url}`. Top 5 results are enriched with metadata from the paper page (including `publication_info`).\n- `recent` — most-recently-posted ePrint papers.\n- `download` / `url` — PDF download and URL resolution.\n- `pubinfo` — scrapes the \"Publication info\" line from the paper page (e.g. *\"A major revision of CRYPTO 2023\"*) and best-effort parses out the venue acronym + year.\n\n### `semantic_scholar.py` — Semantic Scholar metadata\n\n```bash\npython3 semantic_scholar.py venue --arxiv 2305.12345\npython3 semantic_scholar.py venue --title \"HotStuff: BFT Consensus in the Lens of Blockchain\"\npython3 semantic_scholar.py citations 2305.12345 --max-results 20\n```\n\n- `venue` — looks up the publication venue by arXiv ID (preferred when available — exact match) or by title (fuzzy match via `/paper/search/match`). Returns `{found, venue, venue_full, venue_type, year, title, authors}`.\n- `citations` — forward (who cites this) + backward (what this builds on) citations. Each entry includes `venue` when known.\n\n### `dblp.py` — DBLP (CS-focused)\n\n```bash\npython3 dblp.py venue \"HotStuff: BFT Consensus\" --author \"Yin\"\n```\n\n- `venue` — title (+ optional author surname) lookup. DBLP is authoritative for CS conference and journal venues.\n\n### `openalex.py` — OpenAlex (broad coverage)\n\n```bash\npython3 openalex.py venue \"HotStuff: BFT Consensus in the Lens of Blockchain\"\n```\n\n- `venue` — title-based lookup. Use when DBLP doesn't cover the venue (non-CS, niche workshops, books).\n\n## Role\n\n- **Standalone**: Invoked directly by the user to search for papers, trace citations, or resolve a venue.\n- **Building block**: Called by `/review-literature` and `/investigate` for structured paper search and venue resolution.\n\n## Instructions\n\nWhen invoked directly:\n\n1. Parse the user's query and any flags from the argument.\n2. Pick the right script(s):\n   - Crypto/security topic → run `iacr.py search` AND `arxiv.py search --categories cs.CR`.\n   - General CS topic → run `arxiv.py search` with appropriate categories.\n   - Citation context → `semantic_scholar.py citations <arxiv_id>`.\n   - Venue resolution → follow the **Venue Resolution Protocol** below.\n3. Format paper results as a readable table:\n\n```markdown\n| # | Title | Authors | Year | Venue | ID | Link |\n|---|-------|---------|------|-------|----|------|\n| 1 | ... | ... | ... | ... | arXiv:XXXX.XXXXX | [arXiv](https://arxiv.org/abs/XXXX.XXXXX) |\n```\n\n4. For each highly relevant result, show the abstract excerpt.\n\n## Venue Resolution Protocol\n\nA paper's archive ID (arXiv, ePrint) is *not* its publication venue. Resolve the actual venue (CRYPTO, S&P, PODC, …) for every paper that goes into a literature review or report references section. Run the layers in order and **stop at the first success**:\n\n### Layer 1 — Semantic Scholar (cheapest, highest hit-rate)\n\n```bash\n# arXiv-known papers\npython3 semantic_scholar.py venue --arxiv <arxiv_id>\n\n# ePrint-only papers\npython3 semantic_scholar.py venue --title \"<exact title>\"\n```\n\nIf `found: true` and `venue` is non-empty → done. Record `source = \"semantic_scholar\"`.\n\n### Layer 2 — Author-supplied field on the source archive\n\nAuthors sometimes mark the venue on their own preprint:\n\n```bash\n# arXiv: the journal_ref field\npython3 arxiv.py journal-ref <arxiv_id>\n\n# ePrint: the \"Publication info\" line\npython3 iacr.py pubinfo <eprint_id>\n```\n\nIf a non-empty `journal_ref` / `publication_info` is returned → done. Record `source = \"arxiv_journal_ref\"` or `\"iacr_pubinfo\"`.\n\n### Layer 3 — DBLP (CS-authoritative title+author search)\n\n```bash\npython3 dblp.py venue \"<title>\" --author \"<first author surname>\"\n```\n\nIf `found: true` → done. Record `source = \"dblp\"`.\n\n### Layer 4 — OpenAlex (broad coverage)\n\n```bash\npython3 openalex.py venue \"<title>\"\n```\n\nIf `found: true` → done. Record `source = \"openalex\"`.\n\n### Layer 5 — Preprint-only label\n\nIf all four layers fail, label the entry `(preprint)` rather than silently omitting. Do **not** guess a venue from the topic or author affiliation — an unverified guess is worse than an honest \"preprint only\".\n\n### Notes\n\n- Layers 1 + 2 cover ~80% of papers at near-zero cost. Add layers 3 + 4 only when needed.\n- Cache results in your workspace notes — don't re-resolve the same paper across cycles.\n- When two sources disagree, prefer the higher-tier source name (Semantic Scholar's `publicationVenue.name` over DBLP's terse acronym, etc.). Record both if confidence is low.\n\n## Quality Criteria\n\n- Search returns results (graceful error message if API is down or script fails)\n- Results are formatted as a readable table with abstract excerpts for top hits\n- For literature reviews and synthesized reports, every cited paper has a resolved venue or an explicit `(preprint)` label — no entry shows only an arXiv/ePrint ID where a venue is expected\n- If a script fails (missing deps, network error), report the error to the caller and continue with other layers\n\n## Dependencies\n\n```bash\npip install arxiv requests beautifulsoup4\n```","tags":["search","paper","reaper","sebastianelvis","agent-skills","ai-research","arxiv","claude-code","cline","codex-cli","cryptography","cursor"],"capabilities":["skill","source-sebastianelvis","skill-search-paper","topic-agent-skills","topic-ai-research","topic-arxiv","topic-claude-code","topic-cline","topic-codex-cli","topic-cryptography","topic-cursor","topic-dblp","topic-distributed-systems","topic-gemini-cli","topic-iacr"],"categories":["reaper"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/SebastianElvis/reaper/search-paper","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add SebastianElvis/reaper","source_repo":"https://github.com/SebastianElvis/reaper","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (6,630 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:57.455Z","embedding":null,"createdAt":"2026-05-18T13:14:41.987Z","updatedAt":"2026-05-18T19:08:57.455Z","lastSeenAt":"2026-05-18T19:08:57.455Z","tsv":"'/abs/xxxx.xxxxx)':573 '/investigate':491 '/paper/search/match':376 '/papers':159,247 '/review-literature':489 '/search-paper':94 '1':503,567,632,808 '10':134,146,229,236 '15':108 '2':515,672,809 '20':355 '2023':315 '2024/1234':240,251,255 '2305.12345':152,165,335,351 '3':552,730,821 '4':574,751,822 '5':272,767 '80':811 'abstract':174,264,582,892 'acronym':324,861 'across':15,840 'act':67 'actual':601 'add':819 'affili':795 'agent':80 'and/or':196 'api':878 'appropri':538 'archiv':52,219,590,680 'argument':514 'array':167,257 'arxiv':16,53,120,169,334,363,568,570,592,642,648,691,723,950 'arxiv-known':641 'arxiv.org':572 'arxiv.org/abs/xxxx.xxxxx)':571 'arxiv.py':119,125,139,150,161,527,535,697 'arxiv/eprint':920 'author':172,208,262,386,416,421,562,674,681,736,742,794 'author-suppli':207,673 'authorit':213,426,734 'avail':367 'backward':392 'base':452 'bash':112,123,220,330,409,437,640,690,738,755,947 'beautifulsoup4':952 'best':318 'best-effort':317 'bft':127,341,414,442 'block':486 'blockchain':347,448 'book':467 'broad':435,753 'build':395,485 'cach':826 'call':487 'caller':940 'categori':135,147,175,197,529,539 'chain':81 'cheapest':635 'citat':9,32,350,387,397,480,540,543 'cite':390,904 'command':92 'communic':129 'complex':130 'confer':429 'confid':866 'consensus':128,342,415,443 'context':541 'continu':942 'cost':818 'cover':459,810 'coverag':436,754 'criteria':870 'crypto':314,603 'crypto/security':521 'cs':407,428,464,532,733 'cs-authorit':732 'cs-focus':406 'cs.cr':136,148,530 'cs.dc':137 'cycl':841 'date':190 'dblp':21,62,405,424,456,731,749,858 'dblp.py':404,411,740 'dep':932 'depend':946 'determin':34 'dir':155,243 'direct':471,502 'disagre':845 'doesn':457 'done':666,720,746,762 'download':6,151,198,239,292,295 'driver':49 'e.g':309 'effort':319 'emit':115 'empti':665,713 'enrich':275 'entri':399,779,916 'eprint':18,55,218,259,290,593,650,701 'eprint-on':649 'error':875,934,937 'etc':862 'everi':608,903 'exact':368 'excerpt':583,893 'expect':926 'explicit':912 'fail':776,883,930 'field':186,676,695 'find':4,29 'first':192,629 'five':47 'flag':511 'focus':408 'follow':546 'format':553,886 'forward':388 'found':378,658,744,760 'four':774 'full':381 'fuzzi':373 'general':531 'goe':611 'grace':874 'graph':10 'guess':787,798 'high':577 'higher':849 'higher-ti':848 'highest':636 'hit':638,896 'hit-rat':637 'honest':803 'host':93 'hotstuff':340,413,441 'iacr':17,54,104,217,727 'iacr.py':216,222,231,238,249,253,524,707 'id':170,260,364,565,591,921 'includ':282,400 'info':266,284,303,704,717 'instal':949 'instruct':499 'invok':84,470,501 'journal':163,179,205,431,693,699,714,724 'journal-ref':162,204,698 'json':116 'known':403,643 'label':771,777,914 'layer':622,631,671,729,750,766,775,807,820,945 'len':345,446 'line':304,705 'link':566 'literatur':614,898 'look':357 'lookup':423,453 'low':868 'major':311 'mark':683 'markdown':560 'match':369,374 'max':106,132,144,227,234,353 'max-result':105,131,143,226,233,352 'messag':876 'metadata':58,277,329 'miss':931 'most-recently-post':286 'name':88,852 'near':816 'near-zero':815 'need':27,825 'network':933 'newest':191 'nich':465 'non':463,664,712 'non-c':462 'non-empti':663,711 'note':806,831 'omit':784 'one':74 'openalex':23,63,434,752,765 'openalex.py':433,439,757 'option':420 'orchestr':70 'order':624 'output':154,242 'output-dir':153,241 'p':605 'page':281,308 'paper':3,5,30,37,41,97,280,291,307,478,494,554,588,609,644,652,813,839,905 'pars':320,504 'path':202 'pdf':176,200,268,294 'pdfs':7 'per':76 'pick':516 'pip':948 'platform':48,77 'podc':606 'post':99,289 'post-quantum':98 'prefer':365,846 'preprint':51,121,689,769,780,804,913 'preprint-on':768 'present':215 'protocol':550,586 'pubinfo':254,299,708,728 'public':13,265,283,302,360,597,703,716 'publicationvenue.name':856 'publish':39,178 'python3':124,138,149,160,221,230,237,248,252,331,336,348,410,438,645,653,696,706,739,756 'qualiti':869 'quantum':100 'queri':195,508 'rate':639 'rather':781 're':835 're-resolv':834 'readabl':558,889 'reaper':157,245 'reaper-workspac':156,244 'recent':140,184,232,285,288 'record':667,721,747,763,863 'ref':164,180,206,694,700,715,725 'refer':618 'relev':183,578 'report':617,902,935 'request':951 'requir':193 'resolut':298,498,545,549,585 'resolv':12,482,599,836,908 'result':107,133,145,228,235,273,354,555,579,827,873,884 'return':201,377,719,872 'review':615,899 'revis':312 'right':518 'role':468 'run':110,523,534,620 'save':199 'scholar':20,61,328,634,670,854 'scrape':300 'script':72,109,114,519,882,929 'search':2,40,96,126,166,223,256,476,495,525,528,536,737,871 'search-pap':1,95 'section':619 'semant':19,60,327,633,669,853 'semantic_scholar.py':326,332,337,349,542,646,654 'server':122 'servic':59 'show':580,917 'signatur':102,142,225 'silent':783 'singl':43 'skill':44,86 'skill-search-paper' 'skill.md':65 'slash':91 'slash-command':90 'sometim':682 'sort':181,187 'sourc':103,668,679,722,748,764,844,851 'source-sebastianelvis' 'spars':211 'standalon':469 'stdout':118 'stop':626 'structur':493 'submiss':189 'success':630 'suppli':209,675 'surnam':422 'synthes':901 'tabl':559,890 'ters':860 'thing':75 'three':57 'threshold':101,141,224 'tier':850 'titl':171,203,261,339,372,385,419,451,561,656,735 'title-bas':450 'top':271,895 'topic':522,533,792 'topic-agent-skills' 'topic-ai-research' 'topic-arxiv' 'topic-claude-code' 'topic-cline' 'topic-codex-cli' 'topic-cryptography' 'topic-cursor' 'topic-dblp' 'topic-distributed-systems' 'topic-gemini-cli' 'topic-iacr' 'trace':31,479 'travers':8 'true':659,745,761 'two':50,843 'type':383 'unverifi':797 'url':177,250,269,270,293,297 'usag':83 'use':24,454 'user':474,506 'venu':14,210,267,323,333,338,356,361,379,380,382,401,412,418,432,440,449,461,484,497,544,548,564,584,598,602,647,655,661,685,741,758,789,909,924 'via':111,375 'workshop':466 'workspac':158,246,830 'wors':800 'wrap':46 'xxxx.xxxxx':569 'year':173,263,325,384,563 'yin':417 'zero':817","prices":[{"id":"3f7e79a9-3ff8-4e0c-90f8-f67e60bb0a45","listingId":"2109304e-e9c5-4385-971a-72ff7e380354","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"SebastianElvis","category":"reaper","install_from":"skills.sh"},"createdAt":"2026-05-18T13:14:41.987Z"}],"sources":[{"listingId":"2109304e-e9c5-4385-971a-72ff7e380354","source":"github","sourceId":"SebastianElvis/reaper/search-paper","sourceUrl":"https://github.com/SebastianElvis/reaper/tree/main/skills/search-paper","isPrimary":false,"firstSeenAt":"2026-05-18T13:14:41.987Z","lastSeenAt":"2026-05-18T19:08:57.455Z"}],"details":{"listingId":"2109304e-e9c5-4385-971a-72ff7e380354","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"SebastianElvis","slug":"search-paper","github":{"repo":"SebastianElvis/reaper","stars":8,"topics":["agent-skills","ai-research","arxiv","claude-code","cline","codex-cli","cryptography","cursor","dblp","distributed-systems","gemini-cli","iacr","openalex","research","scientific-research","semantic-scholar","skills"],"license":"apache-2.0","html_url":"https://github.com/SebastianElvis/reaper","pushed_at":"2026-05-02T06:06:07Z","description":"AI-native scientific research pipeline. Takes a research goal and autonomously runs multi-step academic research on Cursor, Codex CLI, Cline, Continue, Gemini CLI, Copilot, Windsurf, Claude Code, and 40+ more.","skill_md_sha":"5ff40a20ab4e7f55a0642d60a23862f9713cdfec","skill_md_path":"skills/search-paper/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/SebastianElvis/reaper/tree/main/skills/search-paper"},"layout":"multi","source":"github","category":"reaper","frontmatter":{"name":"search-paper","license":"Apache-2.0","description":"Find papers, download PDFs, traverse citation graphs, and resolve publication venues across arXiv, IACR ePrint, Semantic Scholar, DBLP, and OpenAlex. Use when you need to find papers, trace citations, or determine where a paper was published.","compatibility":"Requires python3 with arxiv, requests, beautifulsoup4 packages and internet access for arXiv, IACR ePrint, Semantic Scholar, DBLP, OpenAlex."},"skills_sh_url":"https://skills.sh/SebastianElvis/reaper/search-paper"},"updatedAt":"2026-05-18T19:08:57.455Z"}}