CommunityRecherche & Datenanalysegithub.com

primexiao/agent-skills

Community-Agent-Fähigkeiten, inklusive Modell-Radar für die LLM-Modellauswahl auf OpenRouter.

Was ist agent-skills?

Die Community-Agent-Fähigkeit **Modell-Radar** ermöglicht KI-Agenten die intelligente Auswahl von LLM-Modellen auf OpenRouter über die Befehlszeile. Sie wandelt natürlichsprachliche Anfragen (z. B. „günstigstes Modell mit Tool-Unterstützung“) in strukturierte `Token:Wert`-Argumente um, filtert und sortiert Modelle anhand von Metadaten (Preis, Kontextlänge, Fähigkeiten) und gibt JSON aus, das als Markdown-Tabelle dargestellt wird. Die Fähigkeit unterstützt die Befehle `list` (Filter+Sortierung), `recommend` (gewichtete Bewertung nach Voreinstellungen) und `compare` (Seit-Vergleich mehrerer Modelle). Ein lokaler Cache (6h für Modelle, 24h für Rankings) minimiert Netzwerkanfragen, und eine Selbstaktualisierungsroutine hält die Fähigkeit automatisch auf dem neuesten Stand. Einrichtung: Node.js 18+, kein API-Key erforderlich, Ausführung aus dem Skill-Verzeichnis. Die Plattformunterstützung umfasst Codex CLI (mit `-s workspace-write`) und andere Node.js-basierte Agenten. Diese Fähigkeit ist ideal für Entwickler, die in ihren Agent-Workflows dynamisch das optimale Modell auswählen möchten, ohne manuell die OpenRouter-API abzufragen.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add primexiao/agent-skills

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

Modell-Radar

OpenRouter-Modellauswahl per CLI. Analysiert natürlichsprachliche Einschränkungen in token:value-Argumente, fragt einen lokalen Cache mit Modellmetadaten + Rankings ab und gibt JSON aus, das der Agent als Markdown-Tabelle rendern kann.

Einrichtung

  • Laufzeit: Node.js 18+ (kein Installationsschritt und keine npm-Abhängigkeiten)
  • Kein API-Key – verwendet öffentliche OpenRouter-Endpunkte
  • Führen Sie alle Befehle aus diesem Skill-Verzeichnis aus (dem Verzeichnis, das diese Datei enthält)
  • Der erste Aufruf befüllt den Cache aus dem Netzwerk; nachfolgende Aufrufe verwenden den lokalen Cache (Modelle TTL 6h, Rankings TTL 24h)
  • Selbstaktualisierungen sind standardmäßig aktiviert. Jeder CLI-Lauf prüft höchstens einmal alle 24h die feste GitHub-Quelle und wendet Aktualisierungen automatisch für installierte Kopien an. Setzen Sie MODEL_RADAR_AUTO_UPDATE=0, um dies zu deaktivieren.

Arbeitsablauf

  1. Führen Sie node scripts/self-update.js auto vor der Verwendung des Skills aus. Wenn stderr MODEL_RADAR_UPDATED ausgibt, lesen Sie diese SKILL.md erneut, bevor Sie fortfahren.
  2. Analysieren Sie die Anfrage des Benutzers in token:value-Argumente mithilfe der Intent → Token-Zuordnung unten.
  3. Wählen Sie den Befehl: list (filtern+sortieren), recommend (gewichtete Bewertung gegen eine Voreinstellung), compare (Seit-an-Seit-Vergleich).
  4. Führen Sie den Befehl aus dem Skill-Verzeichnis aus. scripts/main.js führt ebenfalls automatisch die gleiche Selbstaktualisierungsvorbereitung durch, sodass die direkte CLI-Nutzung aktuell bleibt.
  5. Rendern Sie die JSON-Ausgabe als Markdown-Tabelle (siehe Ausgabe).
  6. Beenden Sie mit Datenstand {fetched_at}; schlagen Sie refresh vor, wenn älter als 12h.

Befehle

node scripts/main.js list      [tokens...]    # filtern + sortieren
node scripts/main.js recommend [tokens...]    # gewichtete Bewertung gegen eine Voreinstellung
node scripts/main.js compare   <id|name>...   # Seit-an-Seit-Vergleich
node scripts/main.js refresh                  # erzwingt Aktualisierung beider Caches
node scripts/self-update.js status            # Aktualisierungsstatus anzeigen
node scripts/self-update.js check             # nach Updates auf GitHub suchen
node scripts/self-update.js apply             # neuestes Skill-Update anwenden

Selbstaktualisierung

  • Quelle ist festgelegt durch package.json.repository: primexiao/agent-skills, Pfad skills/model-radar.
  • Installierte Kopien aktualisieren sich automatisch. Quellcode-Überprüfungen überspringen die automatische Aktualisierung, es sei denn, MODEL_RADAR_AUTO_UPDATE_SOURCE=1 ist gesetzt.
  • Lokale, nicht committete Änderungen im Skill-Verzeichnis führen dazu, dass die automatische Aktualisierung übersprungen wird.
  • Die direkte Verwendung von scripts/main.js startet den aktuellen Befehl nach einer erfolgreichen Selbstaktualisierung neu, sodass das Ergebnis mit dem aktualisierten Code erzeugt wird.
  • Aktualisierungen verwenden eine temporäre Überprüfung, validieren erforderliche Dateien, sichern den aktuellen Skill, ersetzen Nicht-Laufzeitdateien und machen bei Fehlern rückgängig.
  • Erfolgreiche Aktualisierungen löschen cache/raw.json, cache/models.json und cache/rankings.json, sodass neuer Code nicht mit altem Daten-Cache vermischt wird.
  • Selbstaktualisierungsstatus und Warnungen gehen nach stderr. Befehls-JSON bleibt auf stdout.

Token-Syntax

Von Tailwind inspirierte Positionsargumente token:value. Die Reihenfolge spielt keine Rolle.

TokenBedeutungWerteformatBeispiele
sortSortierdimensionvordefiniertes Wort (siehe unten)sort:günstig sort:beliebt
price$/MTok gemischt..max / min.. / min..max / bare=maxprice:..10 price:5..20
ctxKontextlängegleich, k/m Suffix, bare=minctx:128k ctx:128k..1m
outMaximale Ausgabetokensgleich, bare=minout:32k
capFähigkeiten (UND)kommasepariertcap:werkzeugnutzung,reasoning
inEingabemodalitäten (UND)kommasepariertin:bild in:audio,image
genAusgabemodalitäten (UND)kommasepariertgen:bild gen:audio
openOpen-Source-Filtertrue / falseopen:true
topErgebnislimitZahl (Standard: list=20, recommend=3)top:5
presetBewertungsvoreinstellung (nur recommend)Voreinstellungsnamepreset:coding

sort-Werte: günstig teuer neu (Standard) ctx beliebt durchsatz latenz

Fähigkeiten: werkzeugnutzung reasoning strukturierte_ausgabe vision lange_ausgabe prompt_caching websuche audio_eingabe video_eingabe datei_eingabe bild_generierung audio_ausgabe

Eingabemodalitäten: text bild audio video datei Ausgabemodalitäten: text bild audio

Empfehlungsvoreinstellungen: coding batch chat vision (siehe config/presets.json für Gewichtungen und erforderliche Fähigkeiten)

Intent → Token

Benutzer sagtToken(s)
„Budget $X“ / „unter $X“price:..X
„mindestens $X“ / „Premium-Stufe“price:X..
„mindestens Nk Kontext“ctx:Nk
„benötigt Werkzeugnutzung / Vision / Reasoning“cap:werkzeugnutzung / cap:vision / cap:reasoning
„strukturierte Ausgabe“ / „JSON-Modus“cap:strukturierte_ausgabe
„kann Audio / Bildeingabe verarbeiten“in:audio / in:bild
„kann Bilder / Audio generieren“gen:bild / gen:audio
„nur Open Source“open:true
„günstigstes“ / „am erschwinglichsten“sort:günstig
„am beliebtesten“ / „im Trend“sort:beliebt
„neuestes“ / „aktuellstes“sort:neu
„schnellstes“ / „niedrigste Latenz“sort:latenz
„höchster Durchsatz“sort:durchsatz
„Codierungs-Agent“recommend preset:coding
„Batch / Massenauftrag“recommend preset:batch
„Vision-Agent“recommend preset:vision

Modellvergleich (compare)

Übereinstimmungspriorität für jedes Argument von compare:

  1. Exakte ID — anthropic/claude-sonnet-4-5
  2. Suffix-exakt — claude-sonnet-4 → anthropic/claude-sonnet-4 (niemals die -fast-Variante)
  3. Teilweise Teilzeichenfolge in ID/Name, neueste Veröffentlichung gewinnt — claude-sonnet → neuestes Sonnet

Ausgabe

Rendern Sie die JSON-Ausgabe immer als Markdown-Tabelle — Tabellen sind das primäre Anzeigeformat.

list

| # | Modell | $/MTok (P/C/Gemischt) | Ctx | Ausgabe | Fähigk. | Bel# |
  • $/MTok: Prompt / Completion / gemischte Preise
  • Fähigk.: Kurzbezeichnungen (werkz reason vision …)
  • Bel#: Beliebtheitsrang (wenn Rankings-Cache aktuell, sonst —)

recommend

| Rang | Modell | Bewertung | Kosten↑ | Ctx↑ | Ausg.↑ | Fähigk.↑ | $/MTok | Fähigk. |

Fügen Sie eine einzeilige Begründung pro Modell hinzu. Bewertung und Bewertungen pro Dimension liegen in [0, 1].

compare

Vertikale Tabelle — eine Spalte pro Modell, eine Zeile pro Dimension:

| Dimension          | Modell A | Modell B | Modell C |
| ------------------ | -------- | -------- | -------- |
| Preis (P/C/Gemischt)|   …      |   …      |   …      |
| Kontext            |   …      |   …      |   …      |
| Max. Ausgabe       |   …      |   …      |   …      |
| Eingabemodalitäten |   …      |   …      |   …      |
| Ausgabemodalitäten |   …      |   …      |   …      |
| Fähigkeiten        |   …      |   …      |   …      |
| Beliebtheitsrang   |   …      |   …      |   …      |
| Wöchentliche Anfragen|   …    |   …      |   …      |

Beenden Sie immer mit: Datenstand {fetched_at}. Wenn älter als 12h, schlagen Sie dem Benutzer vor, node scripts/main.js refresh auszuführen.

Zwischenspeicherung (Caching)

cache/
  raw.json       — OpenRouter-Frontend-Kartendaten, angepasst an lokales Rohschema (TTL 6h)
  models.json    — angereichert: normalisierte Preise + Fähigkeitsbezeichnungen (TTL 6h)
  rankings.json  — Beliebtheit / Durchsatz / Latenz + Nutzungsanalysen (TTL 24h)
config/
  presets.json
  tier1-categories.json
  • Cache-Dateien befinden sich unter cache/ und werden nicht versioniert — der erste Aufruf greift auf das Netzwerk zu.
  • Bei TTL-Ablauf ruft die CLI mit einem 10s-Timeout erneut ab.
  • Bei fehlgeschlagenem Abruf fällt sie auf den veralteten Cache zurück und gibt [warn] auf stderr aus — so antworten schreibgeschützte / offline-Sandboxen dennoch (möglicherweise veraltet).
  • Ein erfolgreiches Skill-Selbstupdate löscht die Modelldaten-Cache-Dateien. Der nächste Modellbefehl füllt sie wieder auf.

Sandbox-Hinweise

  • Codex CLI: benötigt -s workspace-write (CLI schreibt nach cache/) und Netzwerkausgang zu openrouter.ai. Innerhalb der TTL keine Netzwerkaufrufe.
  • Erster Aufruf in einer frischen Überprüfung ist der einzige, der zwingend Netzwerk benötigt.
  • Selbstaktualisierung benötigt Dateisystem-Schreibzugriff auf dieses Skill-Verzeichnis und Netzwerkzugriff auf GitHub. Falls nicht verfügbar, wird gewarnt oder übersprungen, und der Modellbefehl läuft weiterhin mit der aktuellen lokalen Kopie.

Bekannte Probleme

  • Die OpenRouter-Frontend-API (/api/frontend/v1/models/find?active=true&fmt=cards) ist inoffiziell; falls sie fehlschlägt, fällt die CLI auf veralteten Cache zurück, falls verfügbar, und gibt [warn] aus.

Datenquellen

  • Modelle: https://openrouter.ai/api/frontend/v1/models/find?active=true&fmt=cards
  • Rankings: gleicher Endpunkt mit order=top-weekly, order=throughput-high-to-low und order=latency-low-to-high

Verwandte Skills