[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71FDMFCJXAQ38HMZASE3DNC":3,"skill-same:01M71FDMFCJXAQ38HMZASE3DNC":96},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":29,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":67,"commitSha":68,"skillDirectory":69,"forksCount":70,"repositoryHtmlUrl":71,"repositoryHomepageUrl":6,"ownerHtmlUrl":72,"ownerBlogUrl":73,"ownerDescription":74,"updatedAt":75,"install":76,"resources":89},"01M71FDMFCJXAQ38HMZASE3DNC","arxiv",null,"Search and retrieve academic papers from arXiv using their free REST API. No API key needed. Search by keyword, author, category, or ID. Combine with web_extract or the ocr-and-documents skill to read full paper content.","franklee16\u002Facademic-research-skills","franklee16","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F235809094?v=4","01M71ANES0C8SMYKF21NAE7YV0","Weikai Li","01M71ANESNNVKD3FDKBG01ZK5Y",234,"MIT","https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Flit-review\u002Farxiv\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[5,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"combine","hermes","rest api","paper","web","research","REST","id","with","author","science","full","read","api","documents","free","search","papers","ocr","2026-11-10 10:12:30",false,"---\nname: arxiv\ndescription: Search and retrieve academic papers from arXiv using their free REST API. No API key needed. Search by keyword, author, category, or ID. Combine with web_extract or the ocr-and-documents skill to read full paper content.\nversion: 1.0.0\nauthor: Hermes Agent\nlicense: MIT\nmetadata:\n  hermes:\n    tags: [Research, Arxiv, Papers, Academic, Science, API]\n    related_skills: [ocr-and-documents]\n---\n\n# arXiv Research\n\nSearch and retrieve academic papers from arXiv via their free REST API. No API key, no dependencies — just curl.\n\n## Quick Reference\n\n| Action | Command |\n|--------|---------|\n| Search papers | `curl \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?search_query=all:QUERY&max_results=5\"` |\n| Get specific paper | `curl \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?id_list=2402.03300\"` |\n| Read abstract (web) | `web_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03300\"])` |\n| Read full paper (PDF) | `web_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2402.03300\"])` |\n\n## Searching Papers\n\nThe API returns Atom XML. Parse with `grep`\u002F`sed` or pipe through `python3` for clean output.\n\n### Basic search\n\n```bash\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?search_query=all:GRPO+reinforcement+learning&max_results=5\"\n```\n\n### Clean output (parse XML to readable format)\n\n```bash\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?search_query=all:GRPO+reinforcement+learning&max_results=5&sortBy=submittedDate&sortOrder=descending\" | python3 -c \"\nimport sys, xml.etree.ElementTree as ET\nns = {'a': 'http:\u002F\u002Fwww.w3.org\u002F2005\u002FAtom'}\nroot = ET.parse(sys.stdin).getroot()\nfor i, entry in enumerate(root.findall('a:entry', ns)):\n    title = entry.find('a:title', ns).text.strip().replace('\\n', ' ')\n    arxiv_id = entry.find('a:id', ns).text.strip().split('\u002Fabs\u002F')[-1]\n    published = entry.find('a:published', ns).text[:10]\n    authors = ', '.join(a.find('a:name', ns).text for a in entry.findall('a:author', ns))\n    summary = entry.find('a:summary', ns).text.strip()[:200]\n    cats = ', '.join(c.get('term') for c in entry.findall('a:category', ns))\n    print(f'{i+1}. [{arxiv_id}] {title}')\n    print(f'   Authors: {authors}')\n    print(f'   Published: {published} | Categories: {cats}')\n    print(f'   Abstract: {summary}...')\n    print(f'   PDF: https:\u002F\u002Farxiv.org\u002Fpdf\u002F{arxiv_id}')\n    print()\n\"\n```\n\n## Search Query Syntax\n\n| Prefix | Searches | Example |\n|--------|----------|---------|\n| `all:` | All fields | `all:transformer+attention` |\n| `ti:` | Title | `ti:large+language+models` |\n| `au:` | Author | `au:vaswani` |\n| `abs:` | Abstract | `abs:reinforcement+learning` |\n| `cat:` | Category | `cat:cs.AI` |\n| `co:` | Comment | `co:accepted+NeurIPS` |\n\n### Boolean operators\n\n```\n# AND (default when using +)\nsearch_query=all:transformer+attention\n\n# OR\nsearch_query=all:GPT+OR+all:BERT\n\n# AND NOT\nsearch_query=all:language+model+ANDNOT+all:vision\n\n# Exact phrase\nsearch_query=ti:\"chain+of+thought\"\n\n# Combined\nsearch_query=au:hinton+AND+cat:cs.LG\n```\n\n## Sort and Pagination\n\n| Parameter | Options |\n|-----------|---------|\n| `sortBy` | `relevance`, `lastUpdatedDate`, `submittedDate` |\n| `sortOrder` | `ascending`, `descending` |\n| `start` | Result offset (0-based) |\n| `max_results` | Number of results (default 10, max 30000) |\n\n```bash\n# Latest 10 papers in cs.AI\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?search_query=cat:cs.AI&sortBy=submittedDate&sortOrder=descending&max_results=10\"\n```\n\n## Fetching Specific Papers\n\n```bash\n# By arXiv ID\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?id_list=2402.03300\"\n\n# Multiple papers\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?id_list=2402.03300,2401.12345,2403.00001\"\n```\n\n## BibTeX Generation\n\nAfter fetching metadata for a paper, generate a BibTeX entry:\n\n{% raw %}\n```bash\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?id_list=1706.03762\" | python3 -c \"\nimport sys, xml.etree.ElementTree as ET\nns = {'a': 'http:\u002F\u002Fwww.w3.org\u002F2005\u002FAtom', 'arxiv': 'http:\u002F\u002Farxiv.org\u002Fschemas\u002Fatom'}\nroot = ET.parse(sys.stdin).getroot()\nentry = root.find('a:entry', ns)\nif entry is None: sys.exit('Paper not found')\ntitle = entry.find('a:title', ns).text.strip().replace('\\n', ' ')\nauthors = ' and '.join(a.find('a:name', ns).text for a in entry.findall('a:author', ns))\nyear = entry.find('a:published', ns).text[:4]\nraw_id = entry.find('a:id', ns).text.strip().split('\u002Fabs\u002F')[-1]\ncat = entry.find('arxiv:primary_category', ns)\nprimary = cat.get('term') if cat is not None else 'cs.LG'\nlast_name = entry.find('a:author', ns).find('a:name', ns).text.split()[-1]\nprint(f'@article{{{last_name}{year}_{raw_id.replace(\\\".\\\", \\\"\\\")},')\nprint(f'  title     = {{{title}}},')\nprint(f'  author    = {{{authors}}},')\nprint(f'  year      = {{{year}}},')\nprint(f'  eprint    = {{{raw_id}}},')\nprint(f'  archivePrefix = {{arXiv}},')\nprint(f'  primaryClass  = {{{primary}}},')\nprint(f'  url       = {{https:\u002F\u002Farxiv.org\u002Fabs\u002F{raw_id}}}')\nprint('}')\n\"\n```\n{% endraw %}\n\n## Reading Paper Content\n\nAfter finding a paper, read it:\n\n```\n# Abstract page (fast, metadata + abstract)\nweb_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03300\"])\n\n# Full paper (PDF → markdown via Firecrawl)\nweb_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2402.03300\"])\n```\n\nFor local PDF processing, see the `ocr-and-documents` skill.\n\n## Common Categories\n\n| Category | Field |\n|----------|-------|\n| `cs.AI` | Artificial Intelligence |\n| `cs.CL` | Computation and Language (NLP) |\n| `cs.CV` | Computer Vision |\n| `cs.LG` | Machine Learning |\n| `cs.CR` | Cryptography and Security |\n| `stat.ML` | Machine Learning (Statistics) |\n| `math.OC` | Optimization and Control |\n| `physics.comp-ph` | Computational Physics |\n\nFull list: https:\u002F\u002Farxiv.org\u002Fcategory_taxonomy\n\n## Helper Script\n\nThe `scripts\u002Fsearch_arxiv.py` script handles XML parsing and provides clean output:\n\n```bash\npython scripts\u002Fsearch_arxiv.py \"GRPO reinforcement learning\"\npython scripts\u002Fsearch_arxiv.py \"transformer attention\" --max 10 --sort date\npython scripts\u002Fsearch_arxiv.py --author \"Yann LeCun\" --max 5\npython scripts\u002Fsearch_arxiv.py --category cs.AI --sort date\npython scripts\u002Fsearch_arxiv.py --id 2402.03300\npython scripts\u002Fsearch_arxiv.py --id 2402.03300,2401.12345\n```\n\nNo dependencies — uses only Python stdlib.\n\n---\n\n## Semantic Scholar (Citations, Related Papers, Author Profiles)\n\narXiv doesn't provide citation data or recommendations. Use the **Semantic Scholar API** for that — free, no key needed for basic use (1 req\u002Fsec), returns JSON.\n\n### Get paper details + citations\n\n```bash\n# By arXiv ID\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FarXiv:2402.03300?fields=title,authors,citationCount,referenceCount,influentialCitationCount,year,abstract\" | python3 -m json.tool\n\n# By Semantic Scholar paper ID or DOI\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FDOI:10.1234\u002Fexample?fields=title,citationCount\"\n```\n\n### Get citations OF a paper (who cited it)\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FarXiv:2402.03300\u002Fcitations?fields=title,authors,year,citationCount&limit=10\" | python3 -m json.tool\n```\n\n### Get references FROM a paper (what it cites)\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FarXiv:2402.03300\u002Freferences?fields=title,authors,year,citationCount&limit=10\" | python3 -m json.tool\n```\n\n### Search papers (alternative to arXiv search, returns JSON)\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002Fsearch?query=GRPO+reinforcement+learning&limit=5&fields=title,authors,year,citationCount,externalIds\" | python3 -m json.tool\n```\n\n### Get paper recommendations\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fapi.semanticscholar.org\u002Frecommendations\u002Fv1\u002Fpapers\u002F\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"positivePaperIds\": [\"arXiv:2402.03300\"], \"negativePaperIds\": []}' | python3 -m json.tool\n```\n\n### Author profile\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fauthor\u002Fsearch?query=Yann+LeCun&fields=name,hIndex,citationCount,paperCount\" | python3 -m json.tool\n```\n\n### Useful Semantic Scholar fields\n\n`title`, `authors`, `year`, `abstract`, `citationCount`, `referenceCount`, `influentialCitationCount`, `isOpenAccess`, `openAccessPdf`, `fieldsOfStudy`, `publicationVenue`, `externalIds` (contains arXiv ID, DOI, etc.)\n\n---\n\n## Complete Research Workflow\n\n1. **Discover**: `python scripts\u002Fsearch_arxiv.py \"your topic\" --sort date --max 10`\n2. **Assess impact**: `curl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FarXiv:ID?fields=citationCount,influentialCitationCount\"`\n3. **Read abstract**: `web_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fabs\u002FID\"])`\n4. **Read full paper**: `web_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fpdf\u002FID\"])`\n5. **Find related work**: `curl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FarXiv:ID\u002Freferences?fields=title,citationCount&limit=20\"`\n6. **Get recommendations**: POST to Semantic Scholar recommendations endpoint\n7. **Track authors**: `curl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fauthor\u002Fsearch?query=NAME\"`\n\n## Rate Limits\n\n| API | Rate | Auth |\n|-----|------|------|\n| arXiv | ~1 req \u002F 3 seconds | None needed |\n| Semantic Scholar | 1 req \u002F second | None (100\u002Fsec with API key) |\n\n## Notes\n\n- arXiv returns Atom XML — use the helper script or parsing snippet for clean output\n- Semantic Scholar returns JSON — pipe through `python3 -m json.tool` for readability\n- arXiv IDs: old format (`hep-th\u002F0601001`) vs new (`2402.03300`)\n- PDF: `https:\u002F\u002Farxiv.org\u002Fpdf\u002F{id}` — Abstract: `https:\u002F\u002Farxiv.org\u002Fabs\u002F{id}`\n- HTML (when available): `https:\u002F\u002Farxiv.org\u002Fhtml\u002F{id}`\n- For local PDF processing, see the `ocr-and-documents` skill\n\n## ID Versioning\n\n- `arxiv.org\u002Fabs\u002F1706.03762` always resolves to the **latest** version\n- `arxiv.org\u002Fabs\u002F1706.03762v1` points to a **specific** immutable version\n- When generating citations, preserve the version suffix you actually read to prevent citation drift (a later version may substantially change content)\n- The API `\u003Cid>` field returns the versioned URL (e.g., `http:\u002F\u002Farxiv.org\u002Fabs\u002F1706.03762v7`)\n\n## Withdrawn Papers\n\nPapers can be withdrawn after submission. When this happens:\n- The `\u003Csummary>` field contains a withdrawal notice (look for \"withdrawn\" or \"retracted\")\n- Metadata fields may be incomplete\n- Always check the summary before treating a result as a valid paper\n","# arXiv Research\n\nSearch and retrieve academic papers from arXiv via their free REST API. No API key, no dependencies — just curl.\n\n## Quick Reference\n\n| Action | Command |\n|--------|---------|\n| Search papers | `curl \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?search_query=all:QUERY&max_results=5\"` |\n| Get specific paper | `curl \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?id_list=2402.03300\"` |\n| Read abstract (web) | `web_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03300\"])` |\n| Read full paper (PDF) | `web_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2402.03300\"])` |\n\n## Searching Papers\n\nThe API returns Atom XML. Parse with `grep`\u002F`sed` or pipe through `python3` for clean output.\n\n### Basic search\n\n```bash\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?search_query=all:GRPO+reinforcement+learning&max_results=5\"\n```\n\n### Clean output (parse XML to readable format)\n\n```bash\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?search_query=all:GRPO+reinforcement+learning&max_results=5&sortBy=submittedDate&sortOrder=descending\" | python3 -c \"\nimport sys, xml.etree.ElementTree as ET\nns = {'a': 'http:\u002F\u002Fwww.w3.org\u002F2005\u002FAtom'}\nroot = ET.parse(sys.stdin).getroot()\nfor i, entry in enumerate(root.findall('a:entry', ns)):\n    title = entry.find('a:title', ns).text.strip().replace('\\n', ' ')\n    arxiv_id = entry.find('a:id', ns).text.strip().split('\u002Fabs\u002F')[-1]\n    published = entry.find('a:published', ns).text[:10]\n    authors = ', '.join(a.find('a:name', ns).text for a in entry.findall('a:author', ns))\n    summary = entry.find('a:summary', ns).text.strip()[:200]\n    cats = ', '.join(c.get('term') for c in entry.findall('a:category', ns))\n    print(f'{i+1}. [{arxiv_id}] {title}')\n    print(f'   Authors: {authors}')\n    print(f'   Published: {published} | Categories: {cats}')\n    print(f'   Abstract: {summary}...')\n    print(f'   PDF: https:\u002F\u002Farxiv.org\u002Fpdf\u002F{arxiv_id}')\n    print()\n\"\n```\n\n## Search Query Syntax\n\n| Prefix | Searches | Example |\n|--------|----------|---------|\n| `all:` | All fields | `all:transformer+attention` |\n| `ti:` | Title | `ti:large+language+models` |\n| `au:` | Author | `au:vaswani` |\n| `abs:` | Abstract | `abs:reinforcement+learning` |\n| `cat:` | Category | `cat:cs.AI` |\n| `co:` | Comment | `co:accepted+NeurIPS` |\n\n### Boolean operators\n\n```\n# AND (default when using +)\nsearch_query=all:transformer+attention\n\n# OR\nsearch_query=all:GPT+OR+all:BERT\n\n# AND NOT\nsearch_query=all:language+model+ANDNOT+all:vision\n\n# Exact phrase\nsearch_query=ti:\"chain+of+thought\"\n\n# Combined\nsearch_query=au:hinton+AND+cat:cs.LG\n```\n\n## Sort and Pagination\n\n| Parameter | Options |\n|-----------|---------|\n| `sortBy` | `relevance`, `lastUpdatedDate`, `submittedDate` |\n| `sortOrder` | `ascending`, `descending` |\n| `start` | Result offset (0-based) |\n| `max_results` | Number of results (default 10, max 30000) |\n\n```bash\n# Latest 10 papers in cs.AI\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?search_query=cat:cs.AI&sortBy=submittedDate&sortOrder=descending&max_results=10\"\n```\n\n## Fetching Specific Papers\n\n```bash\n# By arXiv ID\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?id_list=2402.03300\"\n\n# Multiple papers\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?id_list=2402.03300,2401.12345,2403.00001\"\n```\n\n## BibTeX Generation\n\nAfter fetching metadata for a paper, generate a BibTeX entry:\n\n{% raw %}\n```bash\ncurl -s \"https:\u002F\u002Fexport.arxiv.org\u002Fapi\u002Fquery?id_list=1706.03762\" | python3 -c \"\nimport sys, xml.etree.ElementTree as ET\nns = {'a': 'http:\u002F\u002Fwww.w3.org\u002F2005\u002FAtom', 'arxiv': 'http:\u002F\u002Farxiv.org\u002Fschemas\u002Fatom'}\nroot = ET.parse(sys.stdin).getroot()\nentry = root.find('a:entry', ns)\nif entry is None: sys.exit('Paper not found')\ntitle = entry.find('a:title', ns).text.strip().replace('\\n', ' ')\nauthors = ' and '.join(a.find('a:name', ns).text for a in entry.findall('a:author', ns))\nyear = entry.find('a:published', ns).text[:4]\nraw_id = entry.find('a:id', ns).text.strip().split('\u002Fabs\u002F')[-1]\ncat = entry.find('arxiv:primary_category', ns)\nprimary = cat.get('term') if cat is not None else 'cs.LG'\nlast_name = entry.find('a:author', ns).find('a:name', ns).text.split()[-1]\nprint(f'@article{{{last_name}{year}_{raw_id.replace(\\\".\\\", \\\"\\\")},')\nprint(f'  title     = {{{title}}},')\nprint(f'  author    = {{{authors}}},')\nprint(f'  year      = {{{year}}},')\nprint(f'  eprint    = {{{raw_id}}},')\nprint(f'  archivePrefix = {{arXiv}},')\nprint(f'  primaryClass  = {{{primary}}},')\nprint(f'  url       = {{https:\u002F\u002Farxiv.org\u002Fabs\u002F{raw_id}}}')\nprint('}')\n\"\n```\n{% endraw %}\n\n## Reading Paper Content\n\nAfter finding a paper, read it:\n\n```\n# Abstract page (fast, metadata + abstract)\nweb_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03300\"])\n\n# Full paper (PDF → markdown via Firecrawl)\nweb_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fpdf\u002F2402.03300\"])\n```\n\nFor local PDF processing, see the `ocr-and-documents` skill.\n\n## Common Categories\n\n| Category | Field |\n|----------|-------|\n| `cs.AI` | Artificial Intelligence |\n| `cs.CL` | Computation and Language (NLP) |\n| `cs.CV` | Computer Vision |\n| `cs.LG` | Machine Learning |\n| `cs.CR` | Cryptography and Security |\n| `stat.ML` | Machine Learning (Statistics) |\n| `math.OC` | Optimization and Control |\n| `physics.comp-ph` | Computational Physics |\n\nFull list: https:\u002F\u002Farxiv.org\u002Fcategory_taxonomy\n\n## Helper Script\n\nThe `scripts\u002Fsearch_arxiv.py` script handles XML parsing and provides clean output:\n\n```bash\npython scripts\u002Fsearch_arxiv.py \"GRPO reinforcement learning\"\npython scripts\u002Fsearch_arxiv.py \"transformer attention\" --max 10 --sort date\npython scripts\u002Fsearch_arxiv.py --author \"Yann LeCun\" --max 5\npython scripts\u002Fsearch_arxiv.py --category cs.AI --sort date\npython scripts\u002Fsearch_arxiv.py --id 2402.03300\npython scripts\u002Fsearch_arxiv.py --id 2402.03300,2401.12345\n```\n\nNo dependencies — uses only Python stdlib.\n\n---\n\n## Semantic Scholar (Citations, Related Papers, Author Profiles)\n\narXiv doesn't provide citation data or recommendations. Use the **Semantic Scholar API** for that — free, no key needed for basic use (1 req\u002Fsec), returns JSON.\n\n### Get paper details + citations\n\n```bash\n# By arXiv ID\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FarXiv:2402.03300?fields=title,authors,citationCount,referenceCount,influentialCitationCount,year,abstract\" | python3 -m json.tool\n\n# By Semantic Scholar paper ID or DOI\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FDOI:10.1234\u002Fexample?fields=title,citationCount\"\n```\n\n### Get citations OF a paper (who cited it)\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FarXiv:2402.03300\u002Fcitations?fields=title,authors,year,citationCount&limit=10\" | python3 -m json.tool\n```\n\n### Get references FROM a paper (what it cites)\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FarXiv:2402.03300\u002Freferences?fields=title,authors,year,citationCount&limit=10\" | python3 -m json.tool\n```\n\n### Search papers (alternative to arXiv search, returns JSON)\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002Fsearch?query=GRPO+reinforcement+learning&limit=5&fields=title,authors,year,citationCount,externalIds\" | python3 -m json.tool\n```\n\n### Get paper recommendations\n\n```bash\ncurl -s -X POST \"https:\u002F\u002Fapi.semanticscholar.org\u002Frecommendations\u002Fv1\u002Fpapers\u002F\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"positivePaperIds\": [\"arXiv:2402.03300\"], \"negativePaperIds\": []}' | python3 -m json.tool\n```\n\n### Author profile\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fauthor\u002Fsearch?query=Yann+LeCun&fields=name,hIndex,citationCount,paperCount\" | python3 -m json.tool\n```\n\n### Useful Semantic Scholar fields\n\n`title`, `authors`, `year`, `abstract`, `citationCount`, `referenceCount`, `influentialCitationCount`, `isOpenAccess`, `openAccessPdf`, `fieldsOfStudy`, `publicationVenue`, `externalIds` (contains arXiv ID, DOI, etc.)\n\n---\n\n## Complete Research Workflow\n\n1. **Discover**: `python scripts\u002Fsearch_arxiv.py \"your topic\" --sort date --max 10`\n2. **Assess impact**: `curl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FarXiv:ID?fields=citationCount,influentialCitationCount\"`\n3. **Read abstract**: `web_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fabs\u002FID\"])`\n4. **Read full paper**: `web_extract(urls=[\"https:\u002F\u002Farxiv.org\u002Fpdf\u002FID\"])`\n5. **Find related work**: `curl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fpaper\u002FarXiv:ID\u002Freferences?fields=title,citationCount&limit=20\"`\n6. **Get recommendations**: POST to Semantic Scholar recommendations endpoint\n7. **Track authors**: `curl -s \"https:\u002F\u002Fapi.semanticscholar.org\u002Fgraph\u002Fv1\u002Fauthor\u002Fsearch?query=NAME\"`\n\n## Rate Limits\n\n| API | Rate | Auth |\n|-----|------|------|\n| arXiv | ~1 req \u002F 3 seconds | None needed |\n| Semantic Scholar | 1 req \u002F second | None (100\u002Fsec with API key) |\n\n## Notes\n\n- arXiv returns Atom XML — use the helper script or parsing snippet for clean output\n- Semantic Scholar returns JSON — pipe through `python3 -m json.tool` for readability\n- arXiv IDs: old format (`hep-th\u002F0601001`) vs new (`2402.03300`)\n- PDF: `https:\u002F\u002Farxiv.org\u002Fpdf\u002F{id}` — Abstract: `https:\u002F\u002Farxiv.org\u002Fabs\u002F{id}`\n- HTML (when available): `https:\u002F\u002Farxiv.org\u002Fhtml\u002F{id}`\n- For local PDF processing, see the `ocr-and-documents` skill\n\n## ID Versioning\n\n- `arxiv.org\u002Fabs\u002F1706.03762` always resolves to the **latest** version\n- `arxiv.org\u002Fabs\u002F1706.03762v1` points to a **specific** immutable version\n- When generating citations, preserve the version suffix you actually read to prevent citation drift (a later version may substantially change content)\n- The API `\u003Cid>` field returns the versioned URL (e.g., `http:\u002F\u002Farxiv.org\u002Fabs\u002F1706.03762v7`)\n\n## Withdrawn Papers\n\nPapers can be withdrawn after submission. When this happens:\n- The `\u003Csummary>` field contains a withdrawal notice (look for \"withdrawn\" or \"retracted\")\n- Metadata fields may be incomplete\n- Always check the summary before treating a result as a valid paper\n",{"name":5,"author":54,"license":15,"version":55,"metadata":56,"description":7},"Hermes Agent","1.0.0",{"hermes":57},{"tags":58,"related_skills":65},[59,60,61,62,63,64],"Research","Arxiv","Papers","Academic","Science","API",[66],"ocr-and-documents","master","9a4b2db21fc4b217136ae4a0e6faad42d179ca03","lit-review\u002Farxiv",36,"https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills","https:\u002F\u002Fgithub.com\u002Ffranklee16","https:\u002F\u002Fsites.google.com\u002Fview\u002Ffrankweikaili\u002Fhome","Associate Professor of Finance at City University of Hong Kong - empirical asset pricing, behavioral finance, ESG. I build AI tools for research and teaching","2026-09-18 20:12:00",{"source":8,"skillName":5,"commands":77,"prompt":87,"zipAvailable":88},[78,81,84],{"tool":79,"command":80},"npx","npx skills add franklee16\u002Facademic-research-skills --skill arxiv",{"tool":82,"command":83},"bunx","bunx skills add franklee16\u002Facademic-research-skills --skill arxiv",{"tool":85,"command":86},"pnpm","pnpm dlx skills add franklee16\u002Facademic-research-skills --skill arxiv","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Flit-review\u002Farxiv\u002FSKILL.md",true,[90],{"path":91,"resourceType":92,"resourceTypeDesc":93,"sizeBytes":94,"sourceHtmlUrl":95},"scripts\u002Fsearch_arxiv.py","SCRIPT","脚本",4272,"https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Flit-review\u002Farxiv\u002Fscripts\u002Fsearch_arxiv.py",[97,133,162,187,212,233],{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":101,"sourceHtmlUrl":102,"categories":103,"keywords":112,"publishedAt":49},"01M71G52NMZZKJ7BRCJDNVXECV","thu-digitizer","Extract and validate numeric data from chart images, PDF figures, and official source-data files locally and reproducibly, with calibrated axes, compact-scatter recovery plus residual audits, grouped\u002Fstacked bars, visible-label pie\u002Fdonut validation, original-pixel aligned lattice composites such as UpSet plots, PDF vector inspection, line tracing, histograms, boxplots, error bars, CSV\u002FJSON evidence, source-data cross-validation, and regression evaluation. Use when a user asks to recover or recreate chart data, extract scatter points, bars, printed pie\u002Fdonut labels, or aligned memberships, check a PDF chart, assess digitization accuracy, validate against source data, or improve a chart-digitization workflow from corrected examples.","https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Fvisualization\u002Fthu-digitizer-main\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Fvisualization\u002Fthu-digitizer-main\u002FSKILL.md",[104,107],{"categoryNo":105,"categoryName":106,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",{"categoryNo":108,"categoryName":109,"taxonomyType":110,"taxonomyTypeDesc":111},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132],"thu digitizer","cross-validation","line","Evaluation","workflow","data","inspection","regression","official","labels","pixel","improve","files","PDF","error","images","vector","chart","compact","when",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":143,"publishedAt":49},"01M71G4XJWMJST9K8X244GXH71","scientific-visualization","Meta-skill for publication-ready figures. Use when creating journal submission figures requiring multi-panel layouts, significance annotations, error bars, colorblind-safe palettes, and specific journal formatting (Nature, Science, Cell). Orchestrates matplotlib\u002Fseaborn\u002Fplotly with publication styles. For quick exploration use seaborn or plotly directly.","https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Fvisualization\u002Fscientific-visualization\u002FSKILL.md",[139,142],{"categoryNo":140,"categoryName":141,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[144,145,146,147,148,149,150,132,151,152,153,154,155,156,127,157,158,159,160,161],"scientific visualization","scientific","visualization","Meta","plotly","safe","journal submission","journal","meta-skill","exploration","quick","nature","ready","panel","figures","Publication","formatting","annotations",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":166,"sourceHtmlUrl":167,"categories":168,"keywords":171,"publishedAt":49},"01M71G3P8C430F3J0XX152ZJ4F","theoretical-economics-claude-skill","Human-in-the-loop theoretical economics research pipeline: from economic intuition to manuscript skeleton in 10 structured stages with quality gates.","https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Ftheory-skills\u002FpAI-Econ-claude-main\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Ftheory-skills\u002FpAI-Econ-claude-main\u002FSKILL.md",[169,170],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":21,"taxonomyTypeDesc":22},[172,173,174,175,176,35,177,38,178,179,180,181,182,183,184,185,186],"theoretical economics claude skill","economics","claude skill","human","quality","quality gates","gates","true","human-in-the-loop","manuscript","research pipeline","structured","loop","skeleton","pipeline",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":191,"sourceHtmlUrl":192,"categories":193,"keywords":204,"publishedAt":49},"01M71FZF5ZB0384VC60EKQ885N","interview-guide-design","把一个研究题目、研究思路或研究问题，落成一份能用于学术研究、案例研究、学位论文、课题调研的质性访谈提纲时，使用此 skill。触发信号很宽：用户说\"做\u002F设计访谈提纲\"\"访谈大纲怎么设计才规范\"\"结构性访谈提纲\"\"把研究问题\u002F题目变成访谈问题\"\"帮我弄份访谈提纲去问问他们\"\"怎么访谈才能挖到深层的东西\"\"interview guide \u002F interview protocol \u002F key informant \u002F elite interview\"，无论措辞多口语、有没有提方法论，都应触发。典型情形：要去访谈领导 \u002F 干部 \u002F 管理者 \u002F 专家 \u002F 科室主任 \u002F 一线员工或老师 \u002F 关键知情人，了解某个现象、做法或机制；半结构化 \u002F 结构化 \u002F 关键知情人 \u002F 精英访谈皆可；中英双语；社科 \u002F 管理 \u002F 教育 \u002F 公共政策 \u002F 医疗等领域；也常与案例研究、或与一份配套问卷的混合方法调研一起出现。它把研究问题按 Castillo-Montoya 的 IPR 框架与 Yin\u002FStake 的案例研究规范，拆成\"主问题—追问—探测\"，保障与研究问题对齐、可信度（trustworthiness）与三角验证就绪，标注方法论依据与权威出处，产出研究者版 + 现场详版\u002F简版。不要用于：量化问卷 \u002F 量表设计（走 questionnaire-design）、求职面试、以传播或叙事为目的的人物访谈（媒体\u002F播客\u002F记者深度报道\u002F纪录片\u002F口述史，非以回答研究问题为目的）、访谈录音转写、焦点小组\u002F座谈会提纲（群体互动动态与主持伦理不同，本 skill 不覆盖）、以及访谈完成后的编码与主题分析。","https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Frunning-surveys-experiments\u002Fmixed-methods-instrument-design-main\u002Freferences\u002Finterview-guide-design\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Frunning-surveys-experiments\u002Fmixed-methods-instrument-design-main\u002Freferences\u002Finterview-guide-design\u002FSKILL.md",[194,197,198,201],{"categoryNo":195,"categoryName":196,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":199,"categoryName":200,"taxonomyType":110,"taxonomyTypeDesc":111},"01JBSEEDCAT000000000000032","设计师",{"categoryNo":202,"categoryName":203,"taxonomyType":110,"taxonomyTypeDesc":111},"01JBSEEDCAT000000000000038","人力资源",[205,206,207,208,209,210,211],"interview guide design","interview","interview guide","design","guide","questionnaire","protocol",{"skillNo":213,"name":214,"nameZh":6,"description":215,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":216,"sourceHtmlUrl":217,"categories":218,"keywords":223,"publishedAt":49},"01M71FZBQ29K2JPYZD1HWWTZC9","mixed-methods-instrument-design","基于同一项研究的研究目的、研究问题、理论框架与人群设计，协同产出彼此对齐的量化问卷\u002F调查表和质性访谈提纲时使用；也可在用户明确要求时把经审核的问卷创建为问卷星未发布草稿并继续管理。触发信号包括“问卷和访谈一起设计”“根据研究思路同步出调查问卷与访谈提纲”“混合方法研究工具”“不同人群分别做问卷和访谈”“推送到问卷星”“创建在线问卷”“survey + interview guide”“convergent \u002F explanatory sequential \u002F exploratory sequential mixed methods instruments”。适用于社会科学、管理、教育、公共政策、医疗及其他经验研究；允许量化与质性部分使用相同或不同样本。产出研究设计判定、中央映射矩阵、问卷与变量字典、完整访谈三版、联合展示模板和预测试方案；默认用户成品仍是一份完整 Word。不要用于只设计单一访谈提纲（走 interview-guide-design）、只设计单一问卷、把现成工具做成网页、访谈转写、正式数据分析，或在没有研究问题的情况下机械拼接两套题目。","https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Frunning-surveys-experiments\u002Fmixed-methods-instrument-design-main\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Frunning-surveys-experiments\u002Fmixed-methods-instrument-design-main\u002FSKILL.md",[219,220,221,222],{"categoryNo":140,"categoryName":141,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":195,"categoryName":196,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":199,"categoryName":200,"taxonomyType":110,"taxonomyTypeDesc":111},[224,225,208,226,227,228,229,206,230,209,231,232,207],"methods","mixed methods instrument design","instrument","testing","数据","Word","survey","data analysis","工具",{"skillNo":234,"name":235,"nameZh":6,"description":236,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":237,"categories":238,"keywords":241,"publishedAt":49},"01M71FYX67NTZH9C05DSD325PD","scientific-critical-thinking","Evaluate scientific claims and evidence quality. Use for assessing experimental design validity, identifying biases and confounders, applying evidence grading frameworks (GRADE, Cochrane Risk of Bias), or teaching critical analysis. Best for understanding evidence quality, identifying flaws. For formal peer review writing use peer-review.","https:\u002F\u002Fgithub.com\u002Ffranklee16\u002Facademic-research-skills\u002Fblob\u002Fmaster\u002Freview-revise\u002Fscientific-critical-thinking\u002FSKILL.md",[239,240],{"categoryNo":195,"categoryName":196,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":199,"categoryName":200,"taxonomyType":110,"taxonomyTypeDesc":111},[242,145,243,244,245,246,247,248,249,250,251,42,252,253,254,255,256,257,258,208],"critical","scientific critical thinking","thinking","write","frameworks","for","risk","evidence","grading","edit","peer review","claims","review","analysis","teaching","Bash","writing"]