Werkzeuge aus GitHub-Stars und offiziellen Fähigkeitskatalogen auswählen
Ziel: Wenn eine Aufgabe ein Werkzeug, eine Bibliothek, ein CLI, einen MCP-Server oder eine Agenten-Fähigkeit benötigt, bevorzuge Dinge, denen der Benutzer bereits vertraut (seine GitHub-Stars) und offizielle Herstellerkataloge gegenüber zufälligen Webergebnissen, während die Qualität weiterhin überprüft wird.
Alle Pfade unten sind relativ zu dem Ordner dieser Fähigkeit (dem Verzeichnis, das diese SKILL.md enthält).
1. Den Bedarf klären
Schreibe in einer Zeile auf, was das Werkzeug können muss, plus harte Einschränkungen (Sprache/Laufzeitumgebung, Betriebssystem, Hardware wie GPU/VRAM, Lizenz, offline/lokal, Budget). Nutze das, was du bereits über die Umgebung des Benutzers weißt.
2. Die GitHub-Stars des Benutzers durchsuchen
Finde den GitHub-Benutzernamen des Benutzers (frage einmal, falls unbekannt, oder verwende gh api user --jq .login, wenn gh als der Benutzer angemeldet ist). Verwende dann die erste verfügbare Quelle:
- Lokaler Snapshot (optional). Wenn
references/stars.csvoderreferences/stars_by_list.mdin diesem Fähigkeitsordner existiert (oder der Benutzer auf eine Kopie verweist, z. B. in einem separaten privaten Repository), durchsuche sie zuerst; sie funktioniert offline.stars.csvSpalten:lists(Namen der GitHub-Listen, durch|getrennt;(unlisted)falls keine),full_name,url,description,description_ja,language,stars,pushed_at,archived,license,topics,starred_at.stars_by_list.md: dieselben Repositories, gruppiert nach Liste, eine Zeile pro Repository, mit einemSnapshot:Datum am Anfang. Listennamen sind gute Kategoriehinweise.- Der Snapshot kann veraltet sein; wenn online und Aktualität wichtig ist, führe auch den Live-Check unten durch.
- Live, schreibgeschützt (Standard, wenn kein Snapshot existiert):
gh api --paginate "users/<login>/starred?per_page=100" --jq '.[] | [.full_name,.html_url,.description,.language,(.topics|join(" ")),.stargazers_count,.pushed_at,.archived] | @tsv'(oder die nicht authentifizierte REST-APIhttps://api.github.com/users/<login>/starred, wennghnicht verfügbar ist). Wenn der Benutzer seine Sterne in GitHub-Listen organisiert, verwende die Listennamen als Kategoriehinweise.
Suche nach Übereinstimmungen in Beschreibung, Themen, Name und Sprache mit mehreren Synonymen (einschließlich anderer Sprachen, in denen der Benutzer schreibt), z. B. rg -i "video|動画|ffmpeg" references/stars.csv. Überfliege die README von plausiblen Treffern, bevor du sie empfiehlst.
3. Offizielle Fähigkeits-/Plugin-Kataloge durchsuchen (wenn eine Agenten-Fähigkeit oder ein Plugin hilfreich wäre)
- Führe
npx -y skills find "<Abfrage>"aus, optional eingeschränkt mit--owner <Herausgeber>für offizielle Herausgeber, z. B. anthropics, openai, cursor, github, google, google-gemini, microsoft, vercel-labs, cloudflare, huggingface, awslabs. Dies erfordert Internetzugang; überspringe es und sage es, wenn die Umgebung offline ist. - Ziehe auch die offiziellen Repositories der Anbieter direkt in Betracht (z. B. anthropics/skills, anthropics/claude-plugins-official, openai/skills, openai/plugins, cursor/plugins, github/awesome-copilot, google/skills, vercel-labs/agent-skills, huggingface/skills, microsoft/skills, cloudflare/skills). Verifiziere, dass ein Repository der Organisation des Anbieters gehört, bevor du es als offiziell bezeichnest.
4. Qualitätsfilter (auf jeden Kandidaten anwenden)
- Verwende
stars,pushed_at,archivedundlicenseaus dem Snapshot und aktualisiere sie mitgh api repos/<Besitzer>/<Repository>, wenn online. - Bevorzuge bekannte, aktiv gewartete Projekte. Entferne archivierte Repositories, solche ohne sinnvolle Aktivität seit etwa einem Jahr und solche mit sehr wenigen Sternen, es sei denn, es gibt nichts Besseres (dann sage es).
- Sterne können alte oder Spaß-Repositories umfassen: Ein Stern ist ein Signal für Interesse, nicht für Qualität.
- Wenn nichts in den Sternen oder offiziellen Katalogen passt, sage es und falle auf eine normale Suche nach dem etablierten Standardwerkzeug zurück. Erzwinge niemals ein Repository mit einem Stern.
5. Empfehlen
- Gib 1 Top-Auswahl plus bis zu 2-3 Alternativen an. Für jede: Name mit Link, eine Zeile darüber, was sie tut, warum sie zu dieser Aufgabe und den Einschränkungen passt, Sterne und letztes Update (sage, ob es aus dem Snapshot oder einem Live-Check stammt) und ob es aus den Sternen des Benutzers, einem offiziellen Katalog oder einer allgemeinen Suche stammt.
- Erfinde keine Sterne, Daten oder Funktionen; berichte nur, was du überprüft hast.
- Das Installieren, Markieren mit einem Stern oder Ändern von irgendetwas erfordert die Zustimmung des Benutzers; diese Fähigkeit ist standardmäßig schreibgeschützt.
Erstellen oder Aktualisieren eines Snapshots (optional)
python3 scripts/refresh_stars.py <Benutzername> schreibt references/stars.csv und references/stars_by_list.md (schreibgeschützt; benötigt gh Angemeldeten; Listennamen werden nur ausgefüllt, wenn gh als <Benutzername> angemeldet ist, andernfalls ist jedes Repository (unlisted)). Vorhandene description_ja-Werte bleiben erhalten. Die Daten sind persönlich: Halte sie aus öffentlichen Repositories heraus (siehe .gitignore) oder speichere sie in einem separaten privaten Repository.