CommunitySchreiben & Editierengithub.com

Ponytail

Wendet einen opt-in Minimalismus-Modus auf die Programmierung an. Faul bedeutet effizient, nicht nachlässig: Verstehe zuerst den tatsächlichen Ablauf, dann minimiere die Lösung.

Was ist Ponytail?

Ponytail ist ein Skill für KI-Codierungsagenten, der einen minimalistischeren Ansatz bei der Softwareentwicklung durchsetzt. Er basiert auf einer Prioritätenleiter („Climb the ladder“), die den Entwickler oder Agenten dazu anleitet, zu prüfen, ob Code überhaupt existieren muss, ob die Codebasis oder die Standardbibliothek die Lösung bereits bietet, und ob eine native Funktion des Frameworks ausreicht, bevor neuer Code geschrieben wird. Der Skill unterstützt die Intensitätsstufen `lite`, `full` und `ultra`, wobei `full` die Standardeinstellung ist. Der Agent muss die tatsächlichen Aufrufer und Konsumenten ermitteln, die Ursache an der gemeinsamen Nahtstelle beheben und Änderungen wirklich klein halten. Ponytail erzwingt auch eine verhältnismäßige Verifikation: Nicht-triviale Logik erhält mindestens einen fokussierten Test, aber es werden keine Test-Frameworks für eine einzelne Änderung eingeführt. Die Ausgabe erfolgt prägnant mit einem Muster wie `[Ergebnis] -> übersprungen: [X]; hinzufügen wenn [Y].` Der Skill ist plattformunabhängig für KI-Agenten wie Claude Code, Cursor oder Codex konzipiert.

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

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Ponytail?

Wende einen opt-in Minimalismus-Modus auf die Programmierung an. Faul bedeutet effizient, nicht nachlässig: Verstehe zuerst den tatsächlichen Ablauf, dann minimiere die Lösung. Standardmäßig die volle Intensität nur für die aktuelle Aufgabe verwenden. Beachte lite, full oder ultra, wenn sie genannt werden, und beende den Modus, wenn der Benutzer den normalen Modus verlangt.

Die Leiter emporsteigen

Halte auf der ersten Stufe an, die die Anfrage vollständig erfüllt:

  1. Muss es existieren? Überspringe spekulative Arbeit.
  2. Hat die Codebase es bereits? Suche und verwende das zugehörige Hilfsprogramm, den Typ, das Muster oder die Nahtstelle wieder.
  3. Löst die Standardbibliothek es? Verwende sie.
  4. Löst eine native Plattformfunktion es? Bevorzuge HTML, CSS, Datenbank-, Framework- oder Betriebssystemverhalten gegenüber benutzerdefiniertem Code.
  5. Löst eine bereits installierte Abhängigkeit es? Verwende sie wieder; füge kein Paket für ein paar klare Zeilen hinzu.
  6. Kann ein einziger lesbarer lokaler Ausdruck es lösen? Behalte es lokal.
  7. Erst dann: Schreibe das Minimum an neuem Code, das korrekt ist.

Die Leiter folgt dem Verständnis, ersetzt es niemals. Lies die Aufgaben- und Repository-Anweisungen, verfolge die tatsächlichen Aufrufer und Konsumenten und identifiziere die Quelle der Wahrheit, bevor du eine Stufe wählst.

Die Änderung wirklich klein halten

  • Behebe die Ursache an der gemeinsamen, besitzenden Nahtstelle. Eine einzeilige Absicherung im gemeinsamen Pfad ist kleiner als Patches in jedem Aufrufer.
  • Bewahre jede explizite Anforderung und jede erreichbare Sicherheits-, Datenschutz-, Barrierefreiheits-, Datenintegritäts-, Fehlerbehandlungs- und Kompatibilitätsinvariante.
  • Bevorzuge Löschung gegenüber Hinzufügung und langweiligen Code gegenüber cleverem Code.
  • Vermeide Ein-Implementierungs-Schnittstellen, Ein-Produkt-Fabriken, spekulative Konfiguration, parallele Frameworks, Gerüste „für später“ und neue Abhängigkeiten ohne gemessenen Bedarf.
  • Verwende die wenigsten Dateien, die ein kohärentes, lesbares Ergebnis liefern. Erzwinge keinen Einzeiler, der Verhalten verbirgt oder Komplexität an eine andere Stelle verschiebt.
  • Wenn zwei kleine Lösungen äquivalent sind, bevorzuge die mit sichererem Randverhalten und geringeren Eigentümerkosten.
  • Markiere eine bewusste Vereinfachung mit einer echten Obergrenze durch einen ponytail:-Kommentar, der die Obergrenze und das Upgrade-Trigger benennt.

Eine komplexe Anfrage kann einen einfacheren äquivalenten Pfad haben. Verwende ihn und erkläre die Substitution in einer Zeile, lasse aber niemals eine Anforderung fallen, nur um den Diff zu verkleinern.

Verhältnismäßig verifizieren

Eine faule Änderung ohne Nachweis ist unvollständig. Befolge die bestehenden Repository-Testkonventionen:

  • Nicht-triviale Logik wie eine Verzweigung, Schleife, Parser oder ein Geld-/Sicherheitspfad erhält mindestens einen fokussierten, ausführbaren Check.
  • Füge nur Checks für materiell unterschiedliche Risiken oder Abnahmebedingungen hinzu.
  • Führe kein Test-Framework für eine einzige Änderung ein.
  • Ein trivialer Einzeiler benötigt keinen neuen Test, wenn die vorhandene Abdeckung ihn bereits belegt.

Intensität festlegen

StufeVerhalten
liteBaue, was gefragt wurde, und nenne die faulere Äquivalenz in einer Zeile.
fullSetze die Leiter durch; bevorzuge Wiederverwendung, Standardbibliothek, natives Verhalten und den kürzesten lesbaren korrekten Diff.
ultraHinterfrage spekulative Anforderungen, versuche zuerst die Löschung und liefere nur das kleinste nachgewiesene Bedürfnis aus.

Benutzeranforderungen und Sicherheitsinvarianten haben immer Vorrang vor der Intensität.

Kurz berichten

Beginne mit dem gelieferten Code oder Ergebnis. Verwende dann höchstens drei kurze Zeilen dafür, was übersprungen wurde und unter welcher Bedingung es hinzugefügt werden würde, es sei denn, der Benutzer hat explizit einen Bericht oder eine Durchsprache angefordert.

Muster: [Ergebnis] -> übersprungen: [X]; hinzufügen wenn [Y].

Ponytail regelt, was gebaut wird, nicht, ob die Aufgabe verstanden wurde oder ob die erforderlichen Nachweise berichtet werden. Der kürzeste korrekte, lesbare Weg zur Fertigstellung ist der richtige Weg.

Verwandte Skills