CommunityRecherche & Datenanalysegithub.com

0x-Shashi/grok-skill-converter

Bringe deine Claude-Fähigkeiten zu Grok.

Was ist grok-skill-converter?

Dieses Skill-Dokument beschreibt eine umfassende Lösung zur Recherche und zum Abruf akademischer Arbeiten über die arXiv-API sowie ergänzend über die Semantic Scholar API. Es ist ideal für Entwickler und Forscher, die wissenschaftliche Literatur durchsuchen, Metadaten extrahieren, Volltexte lesen und Zitationsanalysen durchführen möchten. Die Fähigkeit erfordert keine API-Schlüssel, keine zusätzlichen Abhängigkeiten (nur curl und Python-Standardbibliothek) und unterstützt sowohl die Befehlszeile als auch die Integration in KI-Agenten wie Claude oder Grok. Der Workflow umfasst die Suche, Bewertung der Einflussnahme, das Lesen von Abstracts und Volltexten sowie die Verfolgung von Autoren und Empfehlungen. Die Rate-Limits sind niedrig (arXiv: ~1 req/3s, Semantic Scholar: 1 req/s), bieten aber eine zuverlässige kostenlose Nutzung.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add 0x-Shashi/grok-skill-converter

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

arXiv Research

Durchsuche und rufe akademische Arbeiten von arXiv über die kostenlose REST-API ab. Kein API-Schlüssel, keine Abhängigkeiten – nur curl.

Kurzreferenz

AktionBefehl
Arbeiten suchencurl "https://export.arxiv.org/api/query?search_query=all:QUERY&max_results=5"
Bestimmte Arbeit abrufencurl "https://export.arxiv.org/api/query?id_list=2402.03300"
Abstract lesen (Web)web_extract(urls=["https://arxiv.org/abs/2402.03300"])
Volltext lesen (PDF)web_extract(urls=["https://arxiv.org/pdf/2402.03300"])

Arbeiten durchsuchen

Die API gibt Atom-XML zurück. Analysiere mit grep/sed oder leite durch python für saubere Ausgabe.

Einfache Suche

curl -s "https://export.arxiv.org/api/query?search_query=all:GRPO+reinforcement+learning&max_results=5"

Saubere Ausgabe (XML in lesbares Format parsen)

curl -s "https://export.arxiv.org/api/query?search_query=all:GRPO+reinforcement+learning&max_results=5&sortBy=submittedDate&sortOrder=descending" | python -c "
import sys, xml.etree.ElementTree as ET
ns = {'a': 'http://www.w3.org/2005/Atom'}
root = ET.parse(sys.stdin).getroot()
for i, entry in enumerate(root.findall('a:entry', ns)):
    title = entry.find('a:title', ns).text.strip().replace('\n', ' ')
    arxiv_id = entry.find('a:id', ns).text.strip().split('/abs/')[-1]
    published = entry.find('a:published', ns).text[:10]
    authors = ', '.join(a.find('a:name', ns).text for a in entry.findall('a:author', ns))
    summary = entry.find('a:summary', ns).text.strip()[:200]
    cats = ', '.join(c.get('term') for c in entry.findall('a:category', ns))
    print(f'{i+1}. [{arxiv_id}] {title}')
    print(f'   Autoren: {authors}')
    print(f'   Veröffentlicht: {published} | Kategorien: {cats}')
    print(f'   Zusammenfassung: {summary}...')
    print(f'   PDF: https://arxiv.org/pdf/{arxiv_id}')
    print()
"

Abfragesyntax

PräfixSucht inBeispiel
all:Alle Felderall:transformer+attention
ti:Titelti:large+language+models
au:Autorau:vaswani
abs:Abstractabs:reinforcement+learning
cat:Kategoriecat:cs.AI
co:Kommentarco:accepted+NeurIPS

Boolesche Operatoren

# UND (Standard bei Verwendung von +)
search_query=all:transformer+attention

# ODER
search_query=all:GPT+OR+all:BERT

# UND NICHT
search_query=all:language+model+ANDNOT+all:vision

# Exakter Ausdruck
search_query=ti:"chain+of+thought"

# Kombiniert
search_query=au:hinton+AND+cat:cs.LG

Sortieren und Paginierung

ParameterOptionen
sortByrelevance, lastUpdatedDate, submittedDate
sortOrderascending, descending
startErgebnis-Offset (0-basiert)
max_resultsAnzahl der Ergebnisse (Standard 10, max 30000)
# Neueste 10 Arbeiten in cs.AI
curl -s "https://export.arxiv.org/api/query?search_query=cat:cs.AI&sortBy=submittedDate&sortOrder=descending&max_results=10"

Bestimmte Arbeiten abrufen

# Nach arXiv-ID
curl -s "https://export.arxiv.org/api/query?id_list=2402.03300"

# Mehrere Arbeiten
curl -s "https://export.arxiv.org/api/query?id_list=2402.03300,2401.12345,2403.00001"

BibTeX-Generierung

Nach dem Abruf der Metadaten einer Arbeit einen BibTeX-Eintrag generieren:

{% raw %}

curl -s "https://export.arxiv.org/api/query?id_list=1706.03762" | python -c "
import sys, xml.etree.ElementTree as ET
ns = {'a': 'http://www.w3.org/2005/Atom', 'arxiv': 'http://arxiv.org/schemas/atom'}
root = ET.parse(sys.stdin).getroot()
entry = root.find('a:entry', ns)
if entry is None: sys.exit('Paper nicht gefunden')
title = entry.find('a:title', ns).text.strip().replace('\n', ' ')
authors = ' and '.join(a.find('a:name', ns).text for a in entry.findall('a:author', ns))
year = entry.find('a:published', ns).text[:4]
raw_id = entry.find('a:id', ns).text.strip().split('/abs/')[-1]
cat = entry.find('arxiv:primary_category', ns)
primary = cat.get('term') if cat is not None else 'cs.LG'
last_name = entry.find('a:author', ns).find('a:name', ns).text.split()[-1]
print(f'@article{{{last_name}{year}_{raw_id.replace(\".\", \"\")},')
print(f'  title     = {{{title}}},')
print(f'  author    = {{{authors}}},')
print(f'  year      = {{{year}}},')
print(f'  eprint    = {{{raw_id}}},')
print(f'  archivePrefix = {{arXiv}},')
print(f'  primaryClass  = {{{primary}}},')
print(f'  url       = {{https://arxiv.org/abs/{raw_id}}}')
print('}')
"

{% endraw %}

Arbeitstext lesen

Nachdem du eine Arbeit gefunden hast, lese sie:

# Abstract-Seite (schnell, Metadaten + Abstract)
web_extract(urls=["https://arxiv.org/abs/2402.03300"])

# Volltext (PDF → Markdown via Firecrawl)
web_extract(urls=["https://arxiv.org/pdf/2402.03300"])

Für die lokale PDF-Verarbeitung siehe das Skill ocr-and-documents.

Häufige Kategorien

KategorieBereich
cs.AIKünstliche Intelligenz
cs.CLComputerlinguistik (NLP)
cs.CVComputersehen (Computer Vision)
cs.LGMaschinelles Lernen
cs.CRKryptografie und Sicherheit
stat.MLMaschinelles Lernen (Statistik)
math.OCOptimierung und Steuerung
physics.comp-phComputerphysik

Vollständige Liste: https://arxiv.org/category_taxonomy

Hilfsskript

Das Skript scripts/search_arxiv.py übernimmt die XML-Analyse und liefert saubere Ausgabe:

python scripts/search_arxiv.py "GRPO reinforcement learning"
python scripts/search_arxiv.py "transformer attention" --max 10 --sort date
python scripts/search_arxiv.py --author "Yann LeCun" --max 5
python scripts/search_arxiv.py --category cs.AI --sort date
python scripts/search_arxiv.py --id 2402.03300
python scripts/search_arxiv.py --id 2402.03300,2401.12345

Keine Abhängigkeiten – verwendet nur die Python-Standardbibliothek.


Semantic Scholar (Zitate, verwandte Arbeiten, Autorenprofile)

arXiv liefert keine Zitierdaten oder Empfehlungen. Verwende dafür die Semantic Scholar API – kostenlos, kein Schlüssel für die Basisnutzung erforderlich (1 req/s), gibt JSON zurück.

Arbeitsdetails + Zitate abrufen

# Nach arXiv-ID
curl -s "https://api.semanticscholar.org/graph/v1/paper/arXiv:2402.03300?fields=title,authors,citationCount,referenceCount,influentialCitationCount,year,abstract" | python -m json.tool

# Nach Semantic Scholar Paper-ID oder DOI
curl -s "https://api.semanticscholar.org/graph/v1/paper/DOI:10.1234/example?fields=title,citationCount"

Zitate EINER Arbeit abrufen (wer hat sie zitiert)

curl -s "https://api.semanticscholar.org/graph/v1/paper/arXiv:2402.03300/citations?fields=title,authors,year,citationCount&limit=10" | python -m json.tool

Referenzen AUS einer Arbeit abrufen (was sie zitiert)

curl -s "https://api.semanticscholar.org/graph/v1/paper/arXiv:2402.03300/references?fields=title,authors,year,citationCount&limit=10" | python -m json.tool

Arbeiten suchen (Alternative zur arXiv-Suche, gibt JSON zurück)

curl -s "https://api.semanticscholar.org/graph/v1/paper/search?query=GRPO+reinforcement+learning&limit=5&fields=title,authors,year,citationCount,externalIds" | python -m json.tool

Empfehlungen für Arbeiten abrufen

curl -s -X POST "https://api.semanticscholar.org/recommendations/v1/papers/" \
  -H "Content-Type: application/json" \
  -d '{"positivePaperIds": ["arXiv:2402.03300"], "negativePaperIds": []}' | python -m json.tool

Autorenprofil

curl -s "https://api.semanticscholar.org/graph/v1/author/search?query=Yann+LeCun&fields=name,hIndex,citationCount,paperCount" | python -m json.tool

Nützliche Semantic Scholar Felder

title, authors, year, abstract, citationCount, referenceCount, influentialCitationCount, isOpenAccess, openAccessPdf, fieldsOfStudy, publicationVenue, externalIds (enthält arXiv-ID, DOI, etc.)


Vollständiger Forschungs-Workflow

  1. Entdecken: python scripts/search_arxiv.py "dein Thema" --sort date --max 10
  2. Einfluss bewerten: curl -s "https://api.semanticscholar.org/graph/v1/paper/arXiv:ID?fields=citationCount,influentialCitationCount"
  3. Abstract lesen: web_extract(urls=["https://arxiv.org/abs/ID"])
  4. Volltext lesen: web_extract(urls=["https://arxiv.org/pdf/ID"])
  5. Verwandte Arbeiten finden: curl -s "https://api.semanticscholar.org/graph/v1/paper/arXiv:ID/references?fields=title,citationCount&limit=20"
  6. Empfehlungen erhalten: POST an den Semantic Scholar Empfehlungsendpunkt
  7. Autoren verfolgen: curl -s "https://api.semanticscholar.org/graph/v1/author/search?query=NAME"

Ratenbegrenzungen

APIRateAuth
arXiv~1 req / 3 SekundenKeine erforderlich
Semantic Scholar1 req / SekundeKeine (100/s mit API-Schlüssel)

Hinweise

  • arXiv gibt Atom-XML zurück – verwende das Hilfsskript oder das Parsing-Snippet für saubere Ausgabe
  • Semantic Scholar gibt JSON zurück – leite durch python -m json.tool für Lesbarkeit
  • arXiv-IDs: altes Format (hep-th/0601001) vs. neues (2402.03300)
  • PDF: https://arxiv.org/pdf/{id} – Abstract: https://arxiv.org/abs/{id}
  • HTML (sofern verfügbar): https://arxiv.org/html/{id}
  • Für lokale PDF-Verarbeitung siehe das Skill ocr-and-documents

ID-Versionierung

  • arxiv.org/abs/1706.03762 löst immer zur aktuellsten Version auf
  • arxiv.org/abs/1706.03762v1 zeigt auf eine bestimmte, unveränderliche Version
  • Beim Erstellen von Zitationen die tatsächlich gelesene Version beibehalten, um Zitierdrift zu vermeiden (eine spätere Version kann den Inhalt wesentlich ändern)
  • Das API-<id>-Feld gibt die versionierte URL zurück (z.B. http://arxiv.org/abs/1706.03762v7)

Zurückgezogene Arbeiten

Arbeiten können nach der Einreichung zurückgezogen werden. In diesem Fall:

  • Das <summary>-Feld enthält einen Rückzugshinweis (suche nach "withdrawn" oder "retracted")
  • Metadatenfelder können unvollständig sein
  • Überprüfe immer die Zusammenfassung, bevor du ein Ergebnis als gültige Arbeit behandelst

Verwandte Skills