Communitygithub.com

m1nga/skills

25 praktische Agenten-Fähigkeiten für Codex, Claude Code und Cursor: Produkte planen, Projekte wiederherstellen, Prompts testen, Stimme bewahren und KI-Arbeit verifizieren.

Was ist skills?

Dieses Skills-Paket bietet 25 sofort einsetzbare Fähigkeiten (Skills) für KI-Entwicklungsagenten wie Codex, Claude Code und Cursor. Es deckt die wichtigsten Aufgaben im Software-Engineering ab: von der Produktplanung über die Projektwiederherstellung bis hin zur Prüfung von KI-generierten Ergebnissen. Jeder Skill ist als ausführbare Markdown-Datei mit einer klaren Aufgabenbeschreibung, einem konkreten Auslösesignal und einer Schritt-für-Schritt-Anleitung konzipiert. Entwickler können diese Skills direkt in ihre Agenten-Konfiguration einbinden und so die Konsistenz und Qualität der KI-Interaktionen verbessern. Das Paket ist erweiterbar und ermöglicht es, neue Fähigkeiten hinzuzufügen oder bestehende an die eigenen Workflows anzupassen. Es ist ideal für Teams, die ihre KI-Agenten standardisieren und wiederholbare, qualitätsgesicherte Arbeitsabläufe schaffen möchten.

Funktioniert mit✓Claude Code✓Codex CLI✓Cursor
npx skills add m1nga/skills

In Ihrer bevorzugten KI fragen

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

Dokumentation

Mixtape · 亲手做的歌单

Jeder hat eine Bibliothek voller Playlists von Fremden und Algorithmen. Eine Mixtape ist anders: Sie ist verfasst. Der Nutzer bringt den Geschmack; Sie sind die Hände, die die Stunden des Suchens, Vergleichens und Arrangierens übernehmen, für die er nie Zeit hat. Alles unten Dienende dient diesem einen Gefühl – „Diese Playlist ist MEINE“ – also füllen Sie niemals mit generischen Chart-Hits auf, wenn die Anfrage Spezifität impliziert, und können Sie immer begründen, warum ein Titel seinen Platz verdient hat.

Antworten Sie in der Sprache des Nutzers. Playlist-Titel sollten klingen, wie der Nutzer sie nennen würde, nicht wie ein Algorithmus („周五晚·华语摇滚快车“, nicht „Chinese Rock Mix #1“).

Status: ~/.mixtape/

Der dauerhafte Speicher befindet sich außerhalb dieses Pakets in ~/.mixtape/ (bei erster Nutzung erstellen Sie das Verzeichnis und die Dateien):

DateiEnthältAktualisieren, wenn …
taste.mdPlattformstandard · Harte Präferenzen (Sprache/Ära/Stil) · Genauere Entdeckungen (Produktion/Stimme/Energie) · Lieblingssongs und -künstler · No-GosVor JEDER Generierung lesen; nach Profilanalyse oder Feedback aktualisieren
history.mdEin Abschnitt pro Mixtape: Datum, Titel, Modus, Plattform, Tracklist, FeedbackNach jeder Auslieferung anhängen
misses.mdTracks, die auf einer Plattform nicht gefunden wurden: - Songtitel — Künstler (Plattform, Datum)Vor der Generierung lesen (Wiederholungen vermeiden); anhängen, wenn der Nutzer fehlende Songs meldet

Das Profil macht den Agenten mit der Zeit klüger. Eine einzeilige Aktualisierung nach jeder Sitzung ist besser als ein perfektes Schema. Zwei Regeln sorgen für Ehrlichkeit: Was der Nutzer jetzt sagt, hat immer Vorrang vor dem, was die Dateien speichern (aktualisieren Sie die Datei, diskutieren Sie nicht), und eine einzelne Szenen-Reihenfolge ist kein Geschmacksbeweis – eine erste „City Pop zum Kochen“ zeichnet den Plattformstandard auf, nicht „mag City Pop“.

Wählen Sie den Modus

Signal in der AnfrageModus
Eine Szene/Stimmung/ein Genre wird in Worten beschrieben („Fitnessrock“, „Code schreiben bis spät in die Nacht“)Schnellbestellung – direkt generieren
Beispiele von Songs werden genannt, möglicherweise gruppiert („Meine Lieblings-Punk-Songs sind diese, meine Britpop-Songs diese“)Samenerweiterung – an den Beispielen verankern
Nutzer teilt vorhandene Playlists oder fragt nach 分析我的口味 / „Was mag ich eigentlich?“Geschmacksprofil – zuerst analysieren, dann zusammenstellen

Die Modi stapeln sich: Eine Schnellbestellung eines Nutzers mit vorhandenem Geschmacksprofil sollte trotzdem durch dieses Profil gefiltert werden.

Schnellbestellung. Analysieren Sie Genre, Szene, Stimmung, Ära, Sprache, Anzahl, Plattform. Standard 25 Tracks. Stellen Sie höchstens eine klärende Frage, und nur, wenn die Antwort die Songs tatsächlich ändern würde; ansonsten entscheiden und loslegen – die Imports-Seite ist selbst eine Vorschau, also kostet eine falsche Vermutung einen Klick, kein Gespräch.

Samenerweiterung. Die Beispiele sind Beweise dafür, was der Nutzer tatsächlich mit einem Genre-Begriff meint. Geben Sie für jede Gruppe in einer Zeile an, was Sie als gemeinsamen Nenner der Samen vermuten (Ära? Produktion? Gesangsstil? Energie?) – das zeigt Ihre Argumentation und ermöglicht dem Nutzer eine kostengünstige Korrektur. Generieren Sie dann Nachbarn pro Gruppe, wobei die Proportionen der Gruppen erhalten bleiben. Schließen Sie die Samen selbst ein, es sei denn, es werden ausschließlich neue Songs gewünscht; eine gewünschte Anzahl ist die Gesamtzahl einschließlich der Samen. Samen-Künstler dürfen wiederkehren, aber bleiben Sie unter etwa einem Drittel der Liste – die Erweiterung sollte den Kreis vergrößern, nicht schleifen. Weben Sie die Gruppen zu einem Bogen, statt sie als zusammenhängende Blöcke zu belassen, es sei denn, der Nutzer wünscht getrennte Kapitel.

Geschmacksprofil. Nehmen Sie alles auf, was der Nutzer geben kann: eingefügte Tracklisten, eine exportierte Datei, eine öffentliche Playlist-URL (abrufen) oder führen Sie ihn durch Soundiiz‘ Export als Text. Schauen Sie über das eigene Etikett des Nutzers hinaus – er mag „抒情“ sagen, aber was die Tracks tatsächlich gemeinsam haben, könnte „90er Jahre HK/TW-Produktion + männlicher Falsett + Piano-Intros“ sein. Schreiben Sie die Erkenntnisse in taste.md und stellen Sie dann Playlists zusammen, die bereits gehörte Lieblinge (~40%) mit ungehörten, aber verwandten Entdeckungen (~60%) mischen – das Verhältnis ist anpassbar, und kennzeichnen Sie beim Präsentieren, was was ist, damit der Nutzer sowohl Komfort als auch Entdeckung sieht.

Generierungsregeln

  • Nur echte Songs. Jeder Track muss eine echte, veröffentlichte Aufnahme sein. Der Maßstab für „sicher“: Sie könnten das Album oder die Ära nennen, aus der er stammt. Darunter: Überprüfen Sie mit einer Websuche – ein erfundener Song wird beim Import stillschweigend zum falschen Treffer, was schlimmer ist als ein Track weniger.
  • Kanonische Form trifft am besten: Haupttitel + der tatsächliche Künstlername. Behalten Sie zusammenarbeitende Künstler als separate Werte im artists-Array; entfernen Sie „feat.“, „(Live)“ und „(Remix)“-Zusätze, es sei denn, der Nutzer wünscht diese spezielle Version. Für nicht-lateinische Kataloge verwenden Sie die Form, die Streaming-Plattformen überwiegend führen (japanische/chinesische Titel bleiben normalerweise in der Originalschrift).
  • Überprüfen Sie misses.md; empfehlen Sie keinen Track erneut, der auf der Zielplattform bereits fehlgeschlagen ist.
  • Die Reihenfolge ist Autorschaft. Ordnen Sie einen Bogen an, der zur Szene passt: Workout steigt an, späte Nacht sinkt, Pendeln bleibt gleichmäßig. Eine gemischte Liste ist ein Suchergebnis, keine Mixtape.
  • ≤200 Tracks pro Link (API-Limit). Mehr → aufteilen in Volumes (Vol.1, Vol.2), jeweils ein Link, das Rate-Limit von 10 Anfragen/Minute beachten.

Auslieferung

  1. Zeigen Sie die nummerierte Tracklist im Chat an (mit bereits gehört/neu-Tags im Profil-Modus und den einzeiligen Gruppen-Inferenzen im Samen-Modus).
  2. Schreiben Sie die Nutzlast in eine JSON-Datei im Sitzungs-Scratchpad (oder einem beliebigen tmp-Verzeichnis):
    {"title": "...", "description": "...", "sourceName": "Mixtape",
     "destination": "youtube",
     "tracklist": [{"title": "...", "artists": ["...", "..."]}]}
    
  3. Vor dem Posten kanonisieren: python3 <skill-dir>/scripts/canonicalize.py payload.json --country <Storefront>. Das Skript überprüft Titel und Künstler, lehnt falsche Künstler und unerwünschte Versionen ab, schreibt bestätigte Tracks in die angezeigten Metadaten des Apple-Katalogs um und erstellt einen Nachweisbericht. Es beendet sich mit einem Fehler, wenn ein Track nicht bestätigt ist; ersetzen Sie diese Tracks und führen Sie es erneut aus. Verwenden Sie das Storefront-Land des Nutzers (in taste.md festhalten, z.B. GB). Wenn eine Freitextsuche einen Song nicht findet, aber eine offizielle Apple Music Song-Seite seine Existenz belegt, fügen Sie seine numerische URL-ID als "appleMusicId": 1702056850 zu diesem Track hinzu und führen Sie es erneut aus. Das Skript sucht diese ID im Ziel-Storefront und überprüft trotzdem Titel+Künstler; das ist ein Nachweis, niemals eine Umgehung.
  4. POSTen Sie nur die signierte kanonische Datei: bash <skill-dir>/scripts/post_playlist.sh payload.canonical.json. Der Poster lehnt ungeprüfte oder nach der Prüfung bearbeitete Änderungen ab, entfernt interne Nachweis-Metadaten und sendet Soundiiz sein dokumentiertes artists-Feld. Senden Sie niemals artist (Singular): Soundiiz akzeptiert die Anfrage, ignoriert dieses Feld aber und gleicht dann nur anhand des Titels ab. Das Skript gibt bei Erfolg den Import-Link und das Ablaufdatum aus.
  5. Übergeben Sie den Link mit: Gültigkeit 24 Stunden; öffnen → Zielplattform bestätigen → importieren. Dieser Bestätigungsklick dient gleichzeitig als Vorschau-/Veto-Schritt des Nutzers – versuchen Sie nicht, ihn zu automatisieren.
  6. Führen Sie für eine Iteration die plattformseitige Abgleichung unten erst durch, nachdem der Import erfolgreich war. Ein neuer Import-Link ist ein Implementierungsdetail, keine Erlaubnis, doppelte oder versionierte Playlists in der Bibliothek des Nutzers zu hinterlassen.

Zielvorauswahl (destination-Feld): Verifizierte Corenames spotify, ytmusic (YouTube Music), youtube (einfache YouTube-Video-Playlist – ytmusic bevorzugen, wenn der Nutzer „YouTube“ sagt, aber Musik meint), deezer, tidal. Apple Music hat keinen Corename für die Vorauswahl – lassen Sie das Feld weg und sagen Sie dem Nutzer, dass er auf der Import-Seite Apple Music auswählen soll (ein Tipp; sein Soundiiz-Konto enthält die Plattform-Autorisierung). Merken Sie sich die Plattform des Nutzers in taste.md und fragen Sie nicht weiter.

Iteration: eine lebendige Playlist mit stabiler Identität

Eine Überarbeitung ist nie ein Patch, ein Neustart oder ein zweites Produkt. Beginnen Sie mit der vorherigen Tracklist in history.md, behalten Sie jeden Track, den der Nutzer nicht abgelehnt hat, und wenden Sie Austausch, Verhältnisänderungen oder Erweiterungen auf die vollständige Liste an. Die vom Nutzer bestätigten Lieblingstracks sind der aufgebaute Wert.

Behalten Sie den akzeptierten, für den Nutzer sichtbaren Titel über die Revisionen hinweg stabil. Fügen Sie niemals v2/v3/v4, „修复版“ oder ähnliche Versionsverwaltung zum Titel in der Streaming-Bibliothek hinzu, es sei denn, der Nutzer verlangt dies ausdrücklich. Notieren Sie Revisionsnummern und Abstammung nur innerhalb von history.md. Wenn eine direkte In-Place-Bearbeitung nicht verfügbar ist und Soundiiz einen Ersatz erstellen muss, ist dieser Ersatz temporär, bis die Bibliothek abgeglichen ist: Der Nutzer sollte am Ende genau eine aktuelle Playlist unter dem stabilen Titel haben, keinen Stapel von Versionen und keine Patch-Playlist.

Nachdem der Ersatz-Import erfolgreich war:

  1. Lesen Sie die Plattform-Bibliothek und identifizieren Sie die beibehaltene Playlist sowie alle von Mixtape verwalteten Vorgänger anhand der exakten Plattform-ID, des aktuellen Namens und der Track-Anzahl.
  2. Bewahren Sie nicht verwandte Playlists auch dann, wenn ihre Namen ähnlich aussehen. Löschen Sie niemals durch eine unscharfe Titelsuche oder durch eine unaufgelöste Variable/glob.
  3. Überprüfen Sie, ob die beibehaltene Playlist die erwartete vollständige Track-Anzahl hat, benennen Sie sie in den stabilen Titel um und löschen Sie nur die explizit aufgelösten Vorgänger-IDs.
  4. Lesen Sie die Bibliothek erneut. Der Abschluss erfordert eine Playlist mit dem stabilen Titel, der erwarteten Track-Anzahl und keinen Vorgänger-IDs. Protokollieren Sie diese Quittung in history.md; beanspruchen Sie den Erfolg nicht allein aus dem Mutationsaufruf.

Verwenden Sie auf macOS Apple Music den geschützten Helfer anstelle von handgeschriebenem, destruktivem AppleScript:

python3 <skill-dir>/scripts/reconcile_apple_music.py inventory
python3 <skill-dir>/scripts/reconcile_apple_music.py reconcile manifest.json
python3 <skill-dir>/scripts/reconcile_apple_music.py reconcile manifest.json --apply

Manifest-Form:

{"stableTitle":"Laufen",
 "keep":{"id":"6073","expectedName":"Traumgefühl starten v4","expectedTrackCount":33},
 "delete":[{"id":"6059","expectedName":"Traumgefühl starten v3","expectedTrackCount":8}],
 "protect":[{"id":"5334","expectedName":"Ich frage mich, ob du es weißt","expectedTrackCount":1}]}

Es benennt den stabilen Titel, die beibehaltene ID/Name/Anzahl und die exakten Vorgänger-IDs/Namen/Anzahlen. Fügen Sie unveränderliche Playlists zum optionalen protect hinzu; sie werden vor dem Plan geprüft und in der endgültigen Quittung als unverändert gemeldet. Der Abgleich erfolgt standardmäßig als Trockenlauf; --apply lehnt veraltete Namen, falsche Anzahlen, nicht verwaltete Titelkonflikte oder eine ID in widersprüchlichen Rollen ab und gibt dann eine verifizierte Rücklese-Quittung aus. Verwenden Sie für andere Dienste eine andere autorisierte Plattform-API/Connector mit dem gleichen Preflight→Mutate→Read-Back-Vertrag. Wenn keine autorisierte Schreiboberfläche existiert, sagen Sie dies klar und lassen Sie den abgeglichenen Zustand unbeansprucht, anstatt dem Nutzer zu sagen, ein Duplikat sei „die neue Version“.

Nach dem Import (leichtgewichtig, niemals aufdringlich)

Eine Zeile bei der Auslieferung: Wenn nach dem Import Songs nicht gefunden wurden oder enttäuscht haben, sagen Sie Bescheid. Wenn der Nutzer meldet:

  • Fehlende Songs → an misses.md anhängen; den Matcher reparieren oder die Fehlschläge in der nächsten vollständigen Iteration ersetzen. Ein Ergänzungs-Link ist nur erlaubt, wenn der Nutzer ausdrücklich darum bittet, einen Patch separat zu verwalten.
  • Enttäuschende Songs → im taste.md-Bereich 雷区 (No-Gos) mit dem Grund festhalten, falls angegeben (zu laut? falsche Ära?).
  • Protokollieren Sie die Mixtape in history.md.

Wenn etwas schief geht

  • Tracks werden trotz kanonischer Namen beim Import noch nicht gefunden → behandeln Sie es als fehlgeschlagene Auslieferung, nicht als Benutzer-Aufräumaktion. Überprüfen Sie den Ziel-Storefront, ersetzen Sie die nicht aufgelösten Katalog-IDs oder fixen Sie sie, generieren Sie die vollständige signierte Playlist neu und gleichen Sie sie dann wieder mit der stabilen Plattform-Identität ab. Greifen Sie nicht standardmäßig zu einem Ergänzungs-Fragment.
  • Too many requests → 60s warten, einmal wiederholen.
  • API-Fehler oder Formatänderung → lassen Sie den Nutzer nicht im Stich: Liefern Sie die Tracklist als Klartext plus manuellem Pfad (soundiiz.com → Import playlist → text einfügen) und notieren Sie das API-Problem, damit der Skill aktualisiert werden kann.
  • Kostenloses Soundiiz konvertiert eine Playlist (≤200 Tracks) pro Übertragung – normale private Nutzung erreicht dies nie; erwähnen Sie Limits nur, wenn der Nutzer es tut.

Verwandte Skills