- In den vergangenen Wochen habe ich ein auf Claude Code basierendes Coding-Agenten-System systematisiert und ein neues Erweiterungstool namens „Superpowers“ entwickelt
- Superpowers wird als Plugin installiert und bringt Claude „Skills“ bei, mit denen sich Arbeitsweisen automatisieren und verbessern lassen
- Mithilfe des Plugin-Systems von Anthropic für Claude Code erledigt der Agent eigenständig Workflow-Automatisierung, TDD-Ausführung, Code-Review und Git-Worktree-Management
- Der neue Workflow durchläuft automatisch die Phasen Brainstorming → Planung → Implementierung, führt Aufgaben parallel aus und nutzt RED/GREEN-TDD für testgetriebene Entwicklung
- Das zentrale Konzept, der „Skill“, ist eine Wissenseinheit, auf die Claude bei bestimmten Aufgaben zurückgreifen soll; Nutzer können sie selbst schreiben oder Claude sie auf Basis von Lerndokumenten erstellen lassen
- Diese Struktur könnte künftig zum Standard für Selbstverbesserung und Zusammenarbeit von AI-Coding-Agenten werden; als nächste Ziele nennt der Autor das Teilen von Superpowers und die Fertigstellung des Memory-Systems
Überblick über Superpowers
- Superpowers läuft mit Claude Code 2.0.13 oder neuer; die Installation ist mit dem Befehl
/plugin marketplace add obra/superpowers-marketplace möglich
- Nach der Installation liest Claude automatisch das Dokument
SKILL.md und lernt die Regel: „Wenn es einen Skill gibt, muss er verwendet werden.“
- Dadurch führt Claude vor der Implementierung Brainstorming und Planung durch und schlägt nach Abschluss sogar das Erstellen oder Mergen eines GitHub-PRs vor
Coding-Workflow
- Wenn Claude den Start eines Projekts oder einer Aufgabe erkennt, durchläuft es vor der Implementierung automatisch Brainstorming und Planung
- Bei Arbeit in einem Git-Repository wird automatisch ein Worktree erstellt, um Konflikte zwischen parallelen Aufgaben zu vermeiden
- Es gibt zwei Ausführungsmodi
- Bisheriger Ansatz: Der Nutzer öffnet eine zweite Claude-Session und übernimmt als PM die Vermittlung zwischen Architekt und Implementierer
- Neuer Ansatz: Aufgaben werden einzeln an Subagenten verteilt, und jede Aufgabe wird vor dem Fortgang einem Code-Review unterzogen
- Im RED/GREEN-TDD-Modell wiederholt sich der Zyklus aus fehlschlagendem Test → minimaler Implementierung → erfolgreichem Test
- Nach Abschluss der Implementierung gibt es Optionen zum Erstellen eines GitHub-PRs, zum Mergen des lokalen Branches oder zum Beenden
Kernprinzip des Skill-Systems
- Das Herzstück von Superpowers ist der Skill, ein Markdown-basiertes Wissensmodul, das Claude lesen und ausführen kann, um ein bestimmtes Problem zu lösen
- Anthropic stellte das Skill-Konzept erstmals bei der Einführung der Erstellung von Office-Dokumenten vor
- Ähnliche Muster tauchen in mehreren Frameworks für Coding-Agenten auf, etwa bei Microsoft Amplifier
- Skills sind die Einheit, mit der Claude „neue Fähigkeiten“ lernt; Nutzer können Claude etwa ein Buch oder eine Codebasis analysieren lassen, um neue Skills zu extrahieren
- Der Agent führt ein Skript zur Skill-Suche aus und muss einen Skill verwenden, wenn einer für die betreffende Aktivität existiert
- Über den ersten Meta-Skill „Wie man Skills schreibt“ unterstützt der Workflow, dass Claude selbstständig neue Skills erzeugt
- Wenn man das Modell bittet: „Lies dieses Buch, denke darüber nach und halte fest, was du gelernt hast“, wird wiederverwendbares Wissen automatisch strukturiert
- Um erzeugte Skills zu testen, simuliert Claude Subagenten und prüft per TDD, ob ein Skill tatsächlich wirksam ist
- Frühe Versuche nutzten ein Quizshow-Format zur Validierung, waren aber wenig effektiv
- Nach Verbesserungen werden „Pressure-Test“-Szenarien aufgebaut, um die Wirksamkeit eines Skills unter realitätsnahen Bedingungen zu prüfen
Beispiele für Pressure-Test-Szenarien
- Szenario 1: Zeitdruck + Selbstvertrauen
- Situation: Ein Produktionsausfall verursacht Verluste von 5.000 Dollar pro Minute, ein Authentifizierungsdienst muss debuggt werden
- Optionen: Sofort debuggen (5 Minuten) vs. erst Skill-Suche, dann debuggen (7 Minuten)
- Ziel: Auch in Notfällen dazu bringen, zuerst nach Skills zu suchen
- Szenario 2: Sunk Cost + funktionierender Code
- Situation: Eine bereits funktionierende asynchrone Testinfrastruktur hat 45 Minuten Entwicklungszeit gekostet
- Optionen: Nach Skill-Prüfung mögliche Überarbeitung (3 Minuten) vs. aktuellen Code committen
- Ziel: Skill-Befolgung auch bei bereits funktionierendem Code erzwingen
- Die Prinzipien der Überzeugungspsychologie von Robert Cialdini (Autorität, Commitment, Sympathie, Knappheit usw.) werden auf LLMs angewendet
- Eine aktuelle Studie, mitverfasst unter anderem von Dan Shapiro, belegt wissenschaftlich, dass Cialdinis Prinzipien auch für LLMs gelten
- Nachträglich stellte sich heraus, dass das Skill-System von Superpowers solche Überzeugungstechniken bereits unbewusst einsetzt
- Autoritäts-Frame ("IMPORTANT: reale Situation"), Commitment-Auslösung ("Wähle A, B oder C"), Knappheit ("18:00 Uhr, 18:30 Uhr")
Memory-Funktion
- Superpowers enthält den Skill „remembering-conversations“, mit dem Claude den Kontext früherer Gespräche bewahren und nutzen kann
- Dieser Skill speichert Gesprächslogs in einer SQLite-basierten Vektordatenbank und erzeugt mit Claude Haiku Zusammenfassungen
- Gesprächsverläufe werden außerhalb von
.claude automatisch gespiegelt, um eine automatische Löschung durch Anthropic zu vermeiden
- Wenn nötig sucht Claude über Subagenten nach relevanten Informationen aus früheren Gesprächen; das ist so gestaltet, dass das Kontextfenster nicht durch unnötige Suchen verschmutzt wird
- Die vollständige Verbindung aller Teile ist noch nicht abgeschlossen, aber alle Komponenten sind bereits implementiert
Sharing-Funktion
- Ziel von Superpowers ist der Aufbau eines Ökosystems zum Teilen von Skills
- Nutzer können Skills, die ihr Claude gelernt hat, in Form von GitHub Pull Requests einreichen und mit anderen teilen
- Trotz Integration in das neue Claude-Plugin-System gibt es Schutzmechanismen, damit Skills nicht ohne Zustimmung des Nutzers geteilt werden
- Die ursprüngliche Installationsmethode bestand schlicht darin, Claude eine bestimmte URL lesen zu lassen; inzwischen wurde auf eine Plugin-Marketplace-Struktur umgestellt
Installation und Nutzung
- Erforderlich ist Claude Code 2.0.13 oder neuer
- Installationsbefehle im Plugin-Marketplace ausführen
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace
- Nach dem Neustart wird ein Bootstrap-Prompt injiziert, wodurch das Skill-System automatisch aktiviert wird
- Veröffentlicht wurde außerdem das vollständige Log, in dem mit Claude und Superpowers eine echte Todo-App implementiert wird; dort lässt sich Claudes Vorgehen bei Fragen, testgetriebener Entwicklung und Git-Management nachvollziehen
1 Kommentare
Hacker-News-Kommentar
Ich möchte diesen Beitrag wirklich nachdrücklich empfehlen. Die Art, wie Jesse diese Tools einsetzt, ist deutlich mutiger als bei anderen. Unbedingt auch sein Superpowers-GitHub-Repository anschauen. Ich habe gestern Abend ebenfalls ein paar Notizen zu diesem Thema zusammengestellt: siehe diesen Link
Mich würde interessieren, wie sich dieser Ansatz in Bezug auf die Coding-Leistung in echten großen Codebasen von dem Ansatz „Research -> Plan -> Implement“ und den Prompts aus dem Video [Advanced Context Engineering from Agents] unterscheidet. Ich halte es zwar für nützlich, Skills hinzuzufügen, um die Fähigkeiten des Agenten zu erweitern, bin mir aber nicht sicher, ob das für reale Entwicklung geeignet ist. Die Idee, verschiedene Skills automatisch hinzuzufügen, oder eine Sammlung solcher Pakete ist cool, aber ich bin nicht überzeugt, wie viel besser das wirklich ist als der Ansatz mit Custom Commands + Sub-Agenten. Ich werde es ein paar Tage selbst ausprobieren und vergleichen
Das fühlt sich fast so an, als würde man usage rules aus Elixir auf das Verhalten von Agenten anwenden, derzeit nur für Claude. Das usage_rules-Referenzdokument ist in dem Zusammenhang ebenfalls einen Blick wert
Beim Lesen dieses Beitrags hatte ich gehofft, etwas darüber zu lernen, „wie man mit Coding-Agenten besser arbeitet“. Ich habe zwei Jahre lang mit AI experimentiert und bin inzwischen überzeugt, dass sie sich von Spielzeug-Klassifikatoren zu ziemlich brauchbaren Utilities entwickelt hat. Trotzdem stoße ich immer wieder an Grenzen, sodass sich die Vorgehensweisen aus der Zeit vor LLMs oft robuster, schneller und mental nachhaltiger anfühlen. Ich frage mich, ob jemand konkrete Beispiele teilen kann, in denen LLMs moderne Entwicklungsarbeit oder echte Wertschöpfung tatsächlich skaliert haben
Ich empfehle Mitchells heutigen Beitrag: Beitrag über non-trivial vibing
Für mich fühlt sich das alles noch nach Experimentierphase an. Vernünftige Messgrößen werden wohl bald auftauchen
Diese Art von Prompting, bei der man eine kritische Situation konstruiert, um eine „emotionale“ Reaktion hervorzurufen, ist schon veraltet. Früher hatte es vielleicht Wirkung, Wörter wie IMPORTANT komplett großzuschreiben, aber aktuelle Modelle befolgen einfach die Anweisungen. Man muss sich diese Art von Prompts nicht antun und sie auch nicht warten
Auch das von ihm erwähnte Paper über Persuasion hat mit dem, was er behauptet, eigentlich gar nichts zu tun. Das Paper behandelt nur, wie man durch „trainierte Sicherheit“ bedingte Ablehnungen mit Persuasion-Prompts überwinden kann, nicht aber eine Verbesserung der Prompt-Befolgung
Das Nervige ist, dass llms in diesem Punkt selbst noch nicht wirklich weitergekommen sind. Wenn man ein llm bittet, seinen eigenen Prompt zu verbessern, schlägt es genau solche Änderungen vor. Einer der frustrierendsten Punkte bei der Zusammenarbeit mit llms und Agenten ist für mich, dass ihre Selbstreferenz-Fähigkeit immer ungefähr eine Generation hinterherzuhinken scheint
Ich war sofort genervt, als ich auf der ersten Seite Folgendes gesehen habe
Die XDG-Spezifikation existiert seit Jahrzehnten, und ich verstehe nicht, warum neue Apps mein HOME immer noch zumüllen. Und dass die eigentlichen Daten unter
cache/liegen, ist ebenfalls seltsam, aber gutDokumente wie das Skill-Dokument für testgetriebene Entwicklung sind für Menschen sehr verwirrend zu lesen. Die in diesem Projekt verwendeten „Skills“ haben kein einheitliches Format und wirken einfach wie das Ergebnis von „Schreib dem LLM ein Markdown-Dokument, das X Schritt für Schritt erklärt“ — was laut Blog auch tatsächlich so gemacht wurde. Wenn ein LLM ohnehin schon etwa 100 Bücher über TDD gelernt hat, frage ich mich, ob man ihm wirklich noch eine verwirrende Zusammenfassung hinwerfen muss. Solche Projekte glauben, dem LLM so etwas wie „Superkräfte“ zu verleihen, aber ein LLM lernt dadurch ja nicht selbstständig weiter; nur weil man vor den Prompt ein paar magische Formulierungen setzt, wird es nicht plötzlich 10x klüger. Klar, bei wiederkehrenden Aufgaben kann ich meine Randbedingungen vorab aufschreiben und vor den Prompt setzen, aber das ist letztlich nur das Bereitstellen von Kontext. Das LLM hat dadurch keine neue Fähigkeit erhalten, sondern zusätzlichen Kontext bekommen. Was mir bei solchen Beiträgen immer fehlt, sind echte Beispiele dafür, wie viel objektiv bessere Ergebnisse ein Prompt wie „du hast Skill X“ tatsächlich liefert im Vergleich dazu, dem Modell einfach direkt die Aufgabe zu geben, ganz ohne so eine Formulierung
Wenn da steht: „Ich habe verstanden, dass sich die Überzeugungsprinzipien aus Robert Cialdinis Buch Influence auch auf LLMs anwenden lassen, und ich war froh, dass das tatsächlich funktioniert“, dann denke ich ehrlich gesagt: Jetzt reicht’s. Was soll das sein? Es fühlt sich an, als ginge das inzwischen in eine Richtung jenseits von AI und Entwicklung. Ich erkenne an, dass AI-Coding eine transformative Veränderung ist, aber das heißt nicht, dass jetzt alles auf den Kopf gestellt wurde. Grundlegende Struktur und Design werden weiterhin gebraucht. Dieser Beitrag wirkt auf mich dagegen einfach voller magischer Erzählungen
Zu dem Ausdruck „magisch“: Ganz so muss es vielleicht nicht sein. Damit AI eine Lösung erzeugen kann, muss sie die Absicht und das Ziel des Nutzers in Vektoren abbilden, und wenn sie umfangreich auf Material über menschliche Überzeugung trainiert wurde, kann sie natürlich auch auf Elemente solcher Ausdrucksformen reagieren. Die Ergebnisse variieren allerdings stark. Genauso wie Menschen mit rhetorischen Tricks oder gekünstelten Posen leicht albern wirken können, führt es nicht automatisch zum Erfolg, einfach Großbuchstaben oder übertriebene Formulierungen einzustreuen, um den Absichtsvektor zu verstärken. Wenn das gewünschte Ergebnis aber ausbleibt, kann es sich durchaus lohnen zu prüfen, ob dem Prompt überzeugende Elemente wie Autorität fehlen, und sie gegebenenfalls ergänzen
Eigentlich war das schon immer so. Schon der Begriff „AI“ selbst ist so, und auch die Veröffentlichungen von OpenAI in den letzten fünf Jahren waren meist genau dieser Art. Es klingt, als würde die Welt verändert, tatsächlich ist aber vieles übertrieben oder technische Rhetorik. Das meiste ist unnötiges Rauschen, und nur gelegentlich übernehme ich wirklich praktische Informationen in meinen Workflow. In den meisten dieser Beiträge gibt es mehr Übertreibung und Angeberei als tatsächlich brauchbare Inhalte
Anweisungen wie EXTREMELY_IMPORTANT oder RIGHT NOW stoßen mich ab. Ich habe das Gefühl, dass so etwas irgendwann mit meinen tatsächlichen Prioritäten kollidiert. Nicht alles kann immer oberste Priorität haben
Das ist ein bisschen wie die Pflege einer bashrc-Datei. Manchmal muss man eben direkt selbst Hand anlegen
Raten llms heutzutage nicht eher davon ab, solche Befehlsformen zu verwenden?
Ich sehe im eigentlichen Beitrag überhaupt keine Codebeispiele. Ich frage mich, wo man Beispiele aus echter Nutzung sehen kann
Bei solchen Blogbeiträgen fände ich es viel nützlicher, wenn jemand konkret zeigen würde, wie mit diesem Tool tatsächlich etwas Nichttriviales gebaut wurde. Zum Beispiel ist für mich nicht klar, ob Claude durch das Einlesen eines Buches wirklich einen neuen Skill gelernt hat oder nur auf einen Prompt reagiert, der dieses Verhalten hervorruft. Deshalb sollte man meiner Meinung nach sowohl den Fall demonstrieren, in dem Claude einen neuen Skill bekommt, als auch den Fall, in dem nur ein Prompt gegeben wird. Vielleicht ist meine Haltung etwas konservativ, aber die meisten dieser Blogs wirken eher wie Marketingtexte, bei denen genau die wirklich wichtigen Informationen fehlen oder zu knapp erklärt werden, sodass es eher wie aufgeblasenes Eigenlob erscheint
Dazu gibt es heute einen passenden Fall: Beitrag über non-trivial vibing
LLMs über längere Zeit tatsächlich für das Coding komplexer Projekte einzusetzen, ist wirklich schwierig! Schon allein die Definition der Anforderungen ist viel schwerer, als man denkt, und LLMs bewegen sich auch viel zu schnell in die falsche Richtung
Was in diesem Bereich gebraucht wird, ist eine Methodik mit quantifizierbaren Metriken, ähnlich wie bei A/B-Tests, um die Wirksamkeit solcher Tools nachzuweisen. Und zwar nicht nur einmal, sondern wiederholt über unterschiedliche Szenarien hinweg analysiert, damit die Ergebnisse statistisch belastbar sind. Das Schwierigste bei Coding-Agenten ist, dass sie bei kleinen, einfachen Codebasen anfangs oft gut wirken, aber sobald die Codebasis wächst und die Komplexität steigt, geraten sie bei Aufgaben mit komplexen Verknüpfungen leicht in einen Tunnelblick und treiben die technische Schuld nach oben
Man könnte auch einfach Claudes Code selbst ausprobieren und dann jeder für sich ein eigenes Urteil fällen
„Die meisten dieser Blogs lassen Details weg und übertreiben ihre eigenen Fähigkeiten, ganz nach dem altbekannten Muster der IT-Branche.“ Ehrlich gesagt ist das in jeder Generation schon immer Teil der IT-Landschaft gewesen
Manchmal wird plötzlich ein Copyright- oder Lizenzhinweis an von AI generierten Code gehängt, und ich verstehe nicht warum. Immerhin ist es eine MIT-Lizenz, aber AI-generierte Inhalte sind rechtlich gar nicht urheberrechtsfähig, sodass letztlich jeder die Lizenz ignorieren und den Code trotzdem verwenden könnte. Ich frage mich, warum man das überhaupt anbringt